diff options
author | camthesaxman <cameronghall@cox.net> | 2017-11-08 17:25:26 -0600 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-11-08 17:25:26 -0600 |
commit | fc11078cef11edc9deedd08c6175fb5e6628504c (patch) | |
tree | 62823b5dc1335a4d8659104dc4156713674ce757 | |
parent | ba06c424c974f18f9c4af85eb0ffe8adc6056941 (diff) | |
parent | 8832b766facd48c85c1b99ac6dad555f1e2aa1c7 (diff) |
fix merge conflicts
1303 files changed, 50319 insertions, 82193 deletions
@@ -40,9 +40,9 @@ VERSIONS := ruby sapphire ruby_rev1 sapphire_rev1 ruby_rev2 sapphire_rev2 ruby_d $(VERSIONS) $(VERSIONS:%=compare_%) -$(shell mkdir -p build/ $(VERSIONS:%=build/%/{,src,asm,data})) +$(shell mkdir -p build/ $(VERSIONS:%=build/%/{,asm,data,src{,/battle,/field,/debug,/scene,/pokemon,/engine,/libs}})) -C_SRCS := $(wildcard src/*.c) +C_SRCS := $(wildcard src/*/*.c) $(wildcard src/*.c) ASM_SRCS := $(wildcard asm/*.s) DATA_ASM_SRCS := $(wildcard data/*.s) @@ -83,6 +83,7 @@ include override.mk %.4bpp: %.png ; $(GFX) $< $@ %.8bpp: %.png ; $(GFX) $< $@ %.gbapal: %.pal ; $(GFX) $< $@ +%.gbapal: %.png ; $(GFX) $< $@ %.lz: % ; $(GFX) $< $@ %.rl: % ; $(GFX) $< $@ sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress @@ -90,17 +91,17 @@ sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(A sound/songs/%.s: sound/songs/%.mid cd $(@D) && ../../$(MID) $(<F) -%src/libc.o: CC1 := tools/agbcc/bin/old_agbcc -%src/libc.o: CFLAGS := -O2 +%src/libs/libc.o: CC1 := tools/agbcc/bin/old_agbcc +%src/libs/libc.o: CFLAGS := -O2 -%src/siirtc.o: CFLAGS := -mthumb-interwork +%src/libs/siirtc.o: CFLAGS := -mthumb-interwork -%src/agb_flash.o: CFLAGS := -O -mthumb-interwork -%src/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork -%src/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork +%src/libs/agb_flash.o: CFLAGS := -O -mthumb-interwork +%src/libs/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork +%src/libs/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork -%src/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc -%src/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc +%src/libs/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc +%src/libs/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc $(SONG_OBJS): %.o: %.s $(AS) $(ASFLAGS) -I sound -o $@ $< @@ -113,7 +114,8 @@ $1_ASM_OBJS := $$(ASM_SRCS:%.s=build/$1/%.o) $1_DATA_ASM_OBJS := $$(DATA_ASM_SRCS:%.s=build/$1/%.o) ifeq ($$(NODEP),) -build/$1/src/%.o: c_dep = $$(shell $$(SCANINC) src/$$(*F).c) +build/$1/src/%.o: c_path = $$(*D)/$$(*F).c +build/$1/src/%.o: c_dep = $$(shell $$(SCANINC) -I include $$(wildcard $$(c_path:build/$1/=))) build/$1/asm/%.o: asm_dep = $$(shell $$(SCANINC) asm/$$(*F).s) build/$1/data/%.o: asm_dep = $$(shell $$(SCANINC) data/$$(*F).s) endif diff --git a/asm-de/contest_link_80C2020.s b/asm-de/contest_link_80C2020.s index 646851c2d..65bbf0f22 100644 --- a/asm-de/contest_link_80C2020.s +++ b/asm-de/contest_link_80C2020.s @@ -1361,7 +1361,7 @@ _080C2B14: adds r0, r6, 0 ldr r1, [sp, 0xC] adds r2, r4, 0 - bl sub_80409C8 + bl GetMonSpritePalStructFromOtIdPersonality adds r4, r0, 0 bl LoadCompressedObjectPalette adds r0, r6, 0 @@ -1601,7 +1601,7 @@ _080C2D42: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl GetNationalPokedexFlag + bl GetSetPokedexFlag adds r5, 0x40 subs r4, 0x1 cmp r4, 0 diff --git a/asm-de/easy_chat.s b/asm-de/easy_chat.s index 2f6c28fdb..1d93e36b4 100644 --- a/asm-de/easy_chat.s +++ b/asm-de/easy_chat.s @@ -9984,7 +9984,7 @@ _080EAE50: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl GetNationalPokedexFlag + bl GetSetPokedexFlag b _080EAE7C _080EAE62: ldr r0, _080EAE74 @ =gUnknown_083DB694 diff --git a/asm/battle_2.s b/asm/battle_2.s index 7868f8492..f252e5716 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -1514,8 +1514,8 @@ _08012FE8: .4byte gUnknown_02024A76 _08012FEC: .4byte gTurnOrder thumb_func_end sub_8012FBC - thumb_func_start b_first_side -b_first_side: @ 8012FF0 + thumb_func_start GetWhoStrikesFirst +GetWhoStrikesFirst: @ 8012FF0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2003,7 +2003,7 @@ _080133B6: pop {r4-r7} pop {r1} bx r1 - thumb_func_end b_first_side + thumb_func_end GetWhoStrikesFirst thumb_func_start sub_80133C8 sub_80133C8: @ 80133C8 @@ -2285,7 +2285,7 @@ _080135D0: beq _0801360C adds r0, r3, 0 movs r2, 0 - bl b_first_side + bl GetWhoStrikesFirst lsls r0, 24 cmp r0, 0 beq _0801360C diff --git a/asm/battle_9.s b/asm/battle_9.s index 9f4beef55..e92c2db33 100644 --- a/asm/battle_9.s +++ b/asm/battle_9.s @@ -6,8 +6,8 @@ .text - thumb_func_start ai_switch_perish_song -ai_switch_perish_song: @ 8035FEC + thumb_func_start AI_SwitchIfPerishSong +AI_SwitchIfPerishSong: @ 8035FEC push {lr} ldr r1, _08036038 @ =gStatuses3 ldr r0, _0803603C @ =gActiveBank @@ -55,10 +55,10 @@ _0803604C: _0803604E: pop {r1} bx r1 - thumb_func_end ai_switch_perish_song + thumb_func_end AI_SwitchIfPerishSong - thumb_func_start sub_8036054 -sub_8036054: @ 8036054 + thumb_func_start AI_SwitchIfWonderguard +AI_SwitchIfWonderguard: @ 8036054 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -250,7 +250,7 @@ _080361D8: .4byte gBattleMons _080361DC: .4byte gActiveBank _080361E0: .4byte gEnemyParty _080361E4: .4byte gBattlePartyID - thumb_func_end sub_8036054 + thumb_func_end AI_SwitchIfWonderguard thumb_func_start sub_80361E8 sub_80361E8: @ 80361E8 @@ -521,8 +521,8 @@ _08036402: bx r1 thumb_func_end sub_80361E8 - thumb_func_start ai_switchout_natural_cure -ai_switchout_natural_cure: @ 8036410 + thumb_func_start AI_SwitchIfNaturalCure +AI_SwitchIfNaturalCure: @ 8036410 push {r4,r5,lr} ldr r3, _08036468 @ =gBattleMons ldr r5, _0803646C @ =gActiveBank @@ -645,7 +645,7 @@ _08036500: _08036508: .4byte gActiveBank _0803650C: .4byte 0x02000000 _08036510: .4byte 0x000160c8 - thumb_func_end ai_switchout_natural_cure + thumb_func_end AI_SwitchIfNaturalCure thumb_func_start ai_has_super_effective_move_on_field ai_has_super_effective_move_on_field: @ 8036514 @@ -808,8 +808,8 @@ _08036654: .4byte gBattleMons _08036658: .4byte gActiveBank thumb_func_end ai_has_super_effective_move_on_field - thumb_func_start ai_is_too_invested_in_stat_buffs -ai_is_too_invested_in_stat_buffs: @ 803665C + thumb_func_start AI_AreStatsRaised +AI_AreStatsRaised: @ 803665C push {r4,lr} movs r4, 0 ldr r1, _0803669C @ =gBattleMons @@ -848,7 +848,7 @@ _08036696: .align 2, 0 _0803669C: .4byte gBattleMons _080366A0: .4byte gActiveBank - thumb_func_end ai_is_too_invested_in_stat_buffs + thumb_func_end AI_AreStatsRaised thumb_func_start sub_80366A4 sub_80366A4: @ 80366A4 @@ -1140,8 +1140,8 @@ _080368FC: .4byte gBattleMons _08036900: .4byte gEnemyParty thumb_func_end sub_80366A4 - thumb_func_start sub_8036904 -sub_8036904: @ 8036904 + thumb_func_start AI_ShouldSwitch +AI_ShouldSwitch: @ 8036904 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1331,11 +1331,11 @@ _08036A7E: mov r2, r8 cmp r2, 0 beq _08036AFC - bl ai_switch_perish_song + bl AI_SwitchIfPerishSong lsls r0, 24 cmp r0, 0 bne _08036AE4 - bl sub_8036054 + bl AI_SwitchIfWonderguard lsls r0, 24 cmp r0, 0 bne _08036AE4 @@ -1343,7 +1343,7 @@ _08036A7E: lsls r0, 24 cmp r0, 0 bne _08036AE4 - bl ai_switchout_natural_cure + bl AI_SwitchIfNaturalCure lsls r0, 24 cmp r0, 0 bne _08036AE4 @@ -1352,7 +1352,7 @@ _08036A7E: lsls r0, 24 cmp r0, 0 bne _08036AFC - bl ai_is_too_invested_in_stat_buffs + bl AI_AreStatsRaised lsls r0, 24 cmp r0, 0 bne _08036AFC @@ -1386,7 +1386,7 @@ _08036AFE: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_8036904 + thumb_func_end AI_ShouldSwitch thumb_func_start sub_8036B0C sub_8036B0C: @ 8036B0C @@ -1399,7 +1399,7 @@ sub_8036B0C: @ 8036B0C bne _08036B1C b _08036C2E _08036B1C: - bl sub_8036904 + bl AI_ShouldSwitch lsls r0, 24 cmp r0, 0 bne _08036B28 @@ -1521,7 +1521,7 @@ _08036C18: .4byte 0x00016068 _08036C1C: .4byte gActiveBank _08036C20: .4byte 0x000160c8 _08036C24: - bl sub_803708C + bl AI_ShouldUseItem lsls r0, 24 cmp r0, 0 bne _08036C40 @@ -2083,8 +2083,8 @@ _08037086: bx r1 thumb_func_end ai_identify_item_effect - thumb_func_start sub_803708C -sub_803708C: @ 803708C + thumb_func_start AI_ShouldUseItem +AI_ShouldUseItem: @ 803708C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2665,6 +2665,6 @@ _080374FA: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_803708C + thumb_func_end AI_ShouldUseItem .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s index fd5b9fb88..92ad421bb 100644 --- a/asm/battle_anim_80CA710.s +++ b/asm/battle_anim_80CA710.s @@ -23,7 +23,7 @@ sub_80CA710: @ 80CA710 strh r0, [r4, 0x2E] ldrh r0, [r5, 0x6] strh r0, [r4, 0x30] - ldr r0, _080CA748 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CA748 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -34,7 +34,7 @@ sub_80CA710: @ 80CA710 b _080CA74E .align 2, 0 _080CA744: .4byte gBattleAnimArgs -_080CA748: .4byte gBattleAnimPlayerMonIndex +_080CA748: .4byte gBattleAnimBankAttacker _080CA74C: ldrh r0, [r5, 0x8] _080CA74E: @@ -101,7 +101,7 @@ sub_80CA7B0: @ 80CA7B0 ldr r0, _080CA7F0 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] - ldr r5, _080CA7F4 @ =gBattleAnimPlayerMonIndex + ldr r5, _080CA7F4 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -118,13 +118,13 @@ sub_80CA7B0: @ 80CA7B0 str r0, [r4, 0x1C] ldr r1, _080CA7FC @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080CA7F0: .4byte gBattleAnimArgs -_080CA7F4: .4byte gBattleAnimPlayerMonIndex +_080CA7F4: .4byte gBattleAnimBankAttacker _080CA7F8: .4byte sub_8078B34 _080CA7FC: .4byte move_anim_8074EE0 thumb_func_end sub_80CA7B0 @@ -141,7 +141,7 @@ sub_80CA800: @ 80CA800 bl StartSpriteAnim ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r5, _080CA84C @ =gBattleAnimEnemyMonIndex + ldr r5, _080CA84C @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -158,13 +158,13 @@ sub_80CA800: @ 80CA800 str r0, [r4, 0x1C] ldr r1, _080CA854 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080CA848: .4byte gBattleAnimArgs -_080CA84C: .4byte gBattleAnimEnemyMonIndex +_080CA84C: .4byte gBattleAnimBankTarget _080CA850: .4byte sub_8078B34 _080CA854: .4byte move_anim_8072740 thumb_func_end sub_80CA800 @@ -180,7 +180,7 @@ sub_80CA858: @ 80CA858 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, _080CA8AC @ =gBattleAnimEnemyMonIndex + ldr r5, _080CA8AC @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -208,7 +208,7 @@ sub_80CA858: @ 80CA858 bx r0 .align 2, 0 _080CA8A8: .4byte gBattleAnimArgs -_080CA8AC: .4byte gBattleAnimEnemyMonIndex +_080CA8AC: .4byte gBattleAnimBankTarget _080CA8B0: .4byte sub_80CA8B4 thumb_func_end sub_80CA858 @@ -228,15 +228,15 @@ _080CA8CA: ldrsh r0, [r4, r1] cmp r0, 0x7F ble _080CA8E4 - ldr r0, _080CA8E0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CA8E0 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 adds r0, 0x1 b _080CA8EE .align 2, 0 -_080CA8E0: .4byte gBattleAnimEnemyMonIndex +_080CA8E0: .4byte gBattleAnimBankTarget _080CA8E4: - ldr r0, _080CA924 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CA924 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 adds r0, 0x6 @@ -268,7 +268,7 @@ _080CA91E: pop {r0} bx r0 .align 2, 0 -_080CA924: .4byte gBattleAnimEnemyMonIndex +_080CA924: .4byte gBattleAnimBankTarget thumb_func_end sub_80CA8B4 thumb_func_start sub_80CA928 @@ -305,7 +305,7 @@ sub_80CA928: @ 80CA928 strh r0, [r1, 0x4] strh r2, [r1, 0x6] ldr r4, _080CA9A0 @ =gSpriteTemplate_83D631C - ldr r0, _080CA9A4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CA9A4 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 adds r3, r0, 0 @@ -331,7 +331,7 @@ _080CA990: _080CA998: .4byte gTasks _080CA99C: .4byte gBattleAnimArgs _080CA9A0: .4byte gSpriteTemplate_83D631C -_080CA9A4: .4byte gBattleAnimEnemyMonIndex +_080CA9A4: .4byte gBattleAnimBankTarget thumb_func_end sub_80CA928 thumb_func_start sub_80CA9A8 @@ -343,7 +343,7 @@ sub_80CA9A8: @ 80CA9A8 ldr r6, _080CA9EC @ =gBattleAnimArgs ldrh r0, [r6, 0x6] strh r0, [r4, 0x2E] - ldr r5, _080CA9F0 @ =gBattleAnimPlayerMonIndex + ldr r5, _080CA9F0 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -367,7 +367,7 @@ sub_80CA9A8: @ 80CA9A8 bx r0 .align 2, 0 _080CA9EC: .4byte gBattleAnimArgs -_080CA9F0: .4byte gBattleAnimPlayerMonIndex +_080CA9F0: .4byte gBattleAnimBankAttacker _080CA9F4: .4byte sub_80CA9F8 thumb_func_end sub_80CA9A8 @@ -399,7 +399,7 @@ sub_80CAA14: @ 80CAA14 ands r1, r0 adds r0, r5, 0 bl StartSpriteAnim - ldr r4, _080CAA5C @ =gBattleAnimPlayerMonIndex + ldr r4, _080CAA5C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -421,7 +421,7 @@ sub_80CAA14: @ 80CAA14 subs r0, 0x14 b _080CAA64 .align 2, 0 -_080CAA5C: .4byte gBattleAnimPlayerMonIndex +_080CAA5C: .4byte gBattleAnimBankAttacker _080CAA60: ldrh r0, [r5, 0x20] adds r0, 0x14 @@ -436,7 +436,7 @@ _080CAA64: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080CAAC4 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CAAC4 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -469,7 +469,7 @@ _080CAA64: pop {r0} bx r0 .align 2, 0 -_080CAAC4: .4byte gBattleAnimEnemyMonIndex +_080CAAC4: .4byte gBattleAnimBankTarget _080CAAC8: .4byte sub_80CAACC thumb_func_end sub_80CAA14 @@ -522,7 +522,7 @@ sub_80CAB18: @ 80CAB18 adds r6, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080CAB78 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CAB78 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -536,7 +536,7 @@ _080CAB38: ldr r4, _080CAB7C @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _080CAB80 @ =gBattleAnimEnemyMonIndex + ldr r5, _080CAB80 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -563,9 +563,9 @@ _080CAB38: pop {r0} bx r0 .align 2, 0 -_080CAB78: .4byte gBattleAnimPlayerMonIndex +_080CAB78: .4byte gBattleAnimBankAttacker _080CAB7C: .4byte gBattleAnimArgs -_080CAB80: .4byte gBattleAnimEnemyMonIndex +_080CAB80: .4byte gBattleAnimBankTarget _080CAB84: .4byte sub_80CAB88 thumb_func_end sub_80CAB18 @@ -589,7 +589,7 @@ sub_80CAB88: @ 80CAB88 str r0, [r4, 0x1C] ldr r1, _080CABBC @ =sub_80CABC0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080CABB2: pop {r4} pop {r0} @@ -619,7 +619,7 @@ sub_80CABC0: @ 80CABC0 str r0, [r4, 0x1C] ldr r1, _080CABF4 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -693,7 +693,7 @@ sub_80CAC44: @ 80CAC44 lsrs r0, 16 cmp r0, 0x7F bhi _080CAC98 - ldr r0, _080CAC94 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CAC94 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -706,9 +706,9 @@ sub_80CAC44: @ 80CAC44 orrs r0, r1 b _080CACBC .align 2, 0 -_080CAC94: .4byte gBattleAnimEnemyMonIndex +_080CAC94: .4byte gBattleAnimBankTarget _080CAC98: - ldr r0, _080CACE8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CACE8 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 adds r0, 0x1 @@ -749,7 +749,7 @@ _080CACE0: pop {r0} bx r0 .align 2, 0 -_080CACE8: .4byte gBattleAnimEnemyMonIndex +_080CACE8: .4byte gBattleAnimBankTarget thumb_func_end sub_80CAC44 thumb_func_start sub_80CACEC @@ -757,7 +757,7 @@ sub_80CACEC: @ 80CACEC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080CAD06 @@ -770,7 +770,7 @@ _080CAD06: bl DestroyAnimVisualTask b _080CAD4A _080CAD0E: - ldr r0, _080CAD2C @ =gBattleAnimEnemyMonIndex + ldr r0, _080CAD2C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -784,7 +784,7 @@ _080CAD0E: strb r1, [r0] b _080CAD44 .align 2, 0 -_080CAD2C: .4byte gBattleAnimEnemyMonIndex +_080CAD2C: .4byte gBattleAnimBankTarget _080CAD30: .4byte REG_BG2CNT _080CAD34: ldr r2, _080CAD50 @ =REG_BG1CNT @@ -820,7 +820,7 @@ sub_80CAD54: @ 80CAD54 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, _080CADA0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CADA0 @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -842,7 +842,7 @@ sub_80CAD54: @ 80CAD54 bx r0 .align 2, 0 _080CAD9C: .4byte gBattleAnimArgs -_080CADA0: .4byte gBattleAnimPlayerMonIndex +_080CADA0: .4byte gBattleAnimBankAttacker _080CADA4: .4byte sub_80CADA8 thumb_func_end sub_80CAD54 @@ -875,15 +875,15 @@ sub_80CADA8: @ 80CADA8 lsrs r0, 16 cmp r0, 0x7F bhi _080CADF4 - ldr r0, _080CADF0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CADF0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 subs r0, 0x1 b _080CADFE .align 2, 0 -_080CADF0: .4byte gBattleAnimPlayerMonIndex +_080CADF0: .4byte gBattleAnimBankAttacker _080CADF4: - ldr r0, _080CAE10 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CAE10 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 adds r0, 0x1 @@ -898,7 +898,7 @@ _080CADFE: strh r0, [r4, 0x38] b _080CAE1A .align 2, 0 -_080CAE10: .4byte gBattleAnimPlayerMonIndex +_080CAE10: .4byte gBattleAnimBankAttacker _080CAE14: adds r0, r4, 0 bl move_anim_8072740 @@ -922,7 +922,7 @@ sub_80CAE20: @ 80CAE20 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, _080CAE6C @ =gBattleAnimPlayerMonIndex + ldr r0, _080CAE6C @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -944,7 +944,7 @@ sub_80CAE20: @ 80CAE20 bx r0 .align 2, 0 _080CAE68: .4byte gBattleAnimArgs -_080CAE6C: .4byte gBattleAnimPlayerMonIndex +_080CAE6C: .4byte gBattleAnimBankAttacker _080CAE70: .4byte sub_80CAE74 thumb_func_end sub_80CAE20 @@ -1007,7 +1007,7 @@ _080CAED2: sub_80CAED8: @ 80CAED8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080CAF14 @ =gBattleAnimPlayerMonIndex + ldr r5, _080CAF14 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -1033,7 +1033,7 @@ sub_80CAED8: @ 80CAED8 pop {r0} bx r0 .align 2, 0 -_080CAF14: .4byte gBattleAnimPlayerMonIndex +_080CAF14: .4byte gBattleAnimBankAttacker _080CAF18: .4byte gBattleAnimArgs _080CAF1C: .4byte sub_80CAF20 thumb_func_end sub_80CAED8 @@ -1087,7 +1087,7 @@ _080CAF68: sub_80CAF6C: @ 80CAF6C push {r4,lr} adds r4, r0, 0 - ldr r0, _080CAF8C @ =gBattleAnimPlayerMonIndex + ldr r0, _080CAF8C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -1100,7 +1100,7 @@ sub_80CAF6C: @ 80CAF6C negs r0, r0 b _080CAF9A .align 2, 0 -_080CAF8C: .4byte gBattleAnimPlayerMonIndex +_080CAF8C: .4byte gBattleAnimBankAttacker _080CAF90: movs r1, 0x2E ldrsh r0, [r4, r1] @@ -1142,7 +1142,7 @@ sub_80CAFD0: @ 80CAFD0 adds r5, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080CB024 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CB024 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -1160,7 +1160,7 @@ _080CAFF0: ldrsh r0, [r6, r1] cmp r0, 0 bne _080CB030 - ldr r4, _080CB02C @ =gBattleAnimEnemyMonIndex + ldr r4, _080CB02C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -1178,11 +1178,11 @@ _080CAFF0: adds r0, r6 b _080CB050 .align 2, 0 -_080CB024: .4byte gBattleAnimPlayerMonIndex +_080CB024: .4byte gBattleAnimBankAttacker _080CB028: .4byte gBattleAnimArgs -_080CB02C: .4byte gBattleAnimEnemyMonIndex +_080CB02C: .4byte gBattleAnimBankTarget _080CB030: - ldr r0, _080CB07C @ =gBattleAnimEnemyMonIndex + ldr r0, _080CB07C @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -1204,11 +1204,11 @@ _080CB050: strh r0, [r5, 0x38] adds r0, r5, 0 bl sub_80786EC - ldr r0, _080CB084 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CB084 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide adds r4, r0, 0 - ldr r0, _080CB07C @ =gBattleAnimEnemyMonIndex + ldr r0, _080CB07C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r4, 24 @@ -1218,9 +1218,9 @@ _080CB050: movs r0, 0x1 b _080CB08A .align 2, 0 -_080CB07C: .4byte gBattleAnimEnemyMonIndex +_080CB07C: .4byte gBattleAnimBankTarget _080CB080: .4byte gBattleAnimArgs -_080CB084: .4byte gBattleAnimPlayerMonIndex +_080CB084: .4byte gBattleAnimBankAttacker _080CB088: movs r0, 0 _080CB08A: @@ -1329,7 +1329,7 @@ _080CB13C: sub_80CB144: @ 80CB144 push {r4,lr} adds r4, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080CB170 @@ -1338,7 +1338,7 @@ sub_80CB144: @ 80CB144 lsrs r0, 24 cmp r0, 0x1 bne _080CB170 - ldr r0, _080CB198 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CB198 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -1367,7 +1367,7 @@ _080CB170: pop {r0} bx r0 .align 2, 0 -_080CB198: .4byte gBattleAnimEnemyMonIndex +_080CB198: .4byte gBattleAnimBankTarget _080CB19C: .4byte gBattleAnimArgs _080CB1A0: .4byte sub_80CB1A4 thumb_func_end sub_80CB144 @@ -1426,7 +1426,7 @@ _080CB1E0: ldrsh r0, [r4, r1] cmp r0, 0x7F bgt _080CB220 - ldr r0, _080CB21C @ =gBattleAnimEnemyMonIndex + ldr r0, _080CB21C @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 lsls r0, 24 @@ -1434,9 +1434,9 @@ _080CB1E0: subs r0, 0x1 b _080CB22E .align 2, 0 -_080CB21C: .4byte gBattleAnimEnemyMonIndex +_080CB21C: .4byte gBattleAnimBankTarget _080CB220: - ldr r0, _080CB258 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CB258 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 lsls r0, 24 @@ -1465,7 +1465,7 @@ _080CB252: pop {r0} bx r0 .align 2, 0 -_080CB258: .4byte gBattleAnimEnemyMonIndex +_080CB258: .4byte gBattleAnimBankTarget thumb_func_end sub_80CB1A4 thumb_func_start sub_80CB25C @@ -1514,7 +1514,7 @@ sub_80CB298: @ 80CB298 ands r0, r1 strb r0, [r2] movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId movs r0, 0x80 lsls r0, 1 strh r0, [r4, 0x2E] @@ -1535,7 +1535,7 @@ sub_80CB2D4: @ 80CB2D4 push {r4,lr} adds r4, r0, 0 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 @@ -1596,7 +1596,7 @@ sub_80CB340: @ 80CB340 lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r2, r0, 24 ldr r1, _080CB36C @ =gSprites @@ -1650,7 +1650,7 @@ sub_80CB3A8: @ 80CB3A8 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 @@ -1671,7 +1671,7 @@ sub_80CB3A8: @ 80CB3A8 lsls r1, 16 asrs r1, 24 strh r1, [r5, 0x24] - ldr r0, _080CB430 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CB430 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -1709,7 +1709,7 @@ _080CB420: .align 2, 0 _080CB428: .4byte gTasks _080CB42C: .4byte gSprites -_080CB430: .4byte gBattleAnimEnemyMonIndex +_080CB430: .4byte gBattleAnimBankTarget _080CB434: .4byte sub_80CB438 thumb_func_end sub_80CB3A8 @@ -1734,7 +1734,7 @@ sub_80CB438: @ 80CB438 cmp r5, 0 bne _080CB4A8 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1800,7 +1800,7 @@ sub_80CB4CC: @ 80CB4CC beq _080CB538 b _080CB58A _080CB4DE: - ldr r6, _080CB530 @ =gBattleAnimEnemyMonIndex + ldr r6, _080CB530 @ =gBattleAnimBankTarget ldrb r0, [r6] bl GetBankSide lsls r0, 24 @@ -1840,7 +1840,7 @@ _080CB4F6: strh r0, [r5, 0x2E] b _080CB58A .align 2, 0 -_080CB530: .4byte gBattleAnimEnemyMonIndex +_080CB530: .4byte gBattleAnimBankTarget _080CB534: .4byte gBattleAnimArgs _080CB538: adds r2, r5, 0 @@ -1862,7 +1862,7 @@ _080CB538: bl ChangeSpriteAffineAnim movs r0, 0x19 strh r0, [r5, 0x2E] - ldr r4, _080CB590 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CB590 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -1879,13 +1879,13 @@ _080CB538: str r0, [r5, 0x1C] ldr r1, _080CB598 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080CB58A: pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080CB590: .4byte gBattleAnimPlayerMonIndex +_080CB590: .4byte gBattleAnimBankAttacker _080CB594: .4byte sub_8078CC0 _080CB598: .4byte move_anim_8072740 thumb_func_end sub_80CB4CC @@ -1898,7 +1898,7 @@ sub_80CB59C: @ 80CB59C ldrsh r0, [r5, r1] cmp r0, 0 bne _080CB608 - ldr r4, _080CB614 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CB614 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -1950,7 +1950,7 @@ _080CB608: pop {r0} bx r0 .align 2, 0 -_080CB614: .4byte gBattleAnimPlayerMonIndex +_080CB614: .4byte gBattleAnimBankAttacker _080CB618: .4byte gBattleAnimArgs _080CB61C: .4byte sub_80CB710 thumb_func_end sub_80CB59C @@ -1964,7 +1964,7 @@ sub_80CB620: @ 80CB620 push {r4-r6} sub sp, 0x4 mov r9, r0 - ldr r4, _080CB6FC @ =gBattleAnimPlayerMonIndex + ldr r4, _080CB6FC @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -1979,7 +1979,7 @@ sub_80CB620: @ 80CB620 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r6, _080CB700 @ =gBattleAnimEnemyMonIndex + ldr r6, _080CB700 @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -2060,8 +2060,8 @@ sub_80CB620: @ 80CB620 pop {r0} bx r0 .align 2, 0 -_080CB6FC: .4byte gBattleAnimPlayerMonIndex -_080CB700: .4byte gBattleAnimEnemyMonIndex +_080CB6FC: .4byte gBattleAnimBankAttacker +_080CB700: .4byte gBattleAnimBankTarget _080CB704: .4byte gBattleAnimArgs _080CB708: .4byte sub_80CB710 _080CB70C: .4byte gUnknown_03000728 @@ -2123,7 +2123,7 @@ sub_80CB768: @ 80CB768 ldrsh r0, [r6, r1] cmp r0, 0 bne _080CB7A8 - ldr r5, _080CB7E4 @ =gBattleAnimPlayerMonIndex + ldr r5, _080CB7E4 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -2178,7 +2178,7 @@ _080CB7DE: pop {r0} bx r0 .align 2, 0 -_080CB7E4: .4byte gBattleAnimPlayerMonIndex +_080CB7E4: .4byte gBattleAnimBankAttacker _080CB7E8: .4byte gBattleAnimArgs thumb_func_end sub_80CB768 @@ -2380,7 +2380,7 @@ sub_80CB94C: @ 80CB94C adds r5, r0, 0 movs r1, 0 bl sub_80787B0 - ldr r4, _080CB994 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CB994 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -2391,7 +2391,7 @@ sub_80CB94C: @ 80CB94C bl sub_8077ABC lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080CB998 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CB998 @ =gBattleAnimBankAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2408,8 +2408,8 @@ sub_80CB94C: @ 80CB94C movs r0, 0x1 b _080CB9AE .align 2, 0 -_080CB994: .4byte gBattleAnimEnemyMonIndex -_080CB998: .4byte gBattleAnimPlayerMonIndex +_080CB994: .4byte gBattleAnimBankTarget +_080CB998: .4byte gBattleAnimBankAttacker _080CB99C: strh r6, [r5, 0x3A] adds r0, r2, 0 @@ -2487,7 +2487,7 @@ _080CBA20: sub_80CBA28: @ 80CBA28 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, _080CBA64 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CBA64 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x1 bl sub_8077ABC @@ -2513,7 +2513,7 @@ sub_80CBA28: @ 80CBA28 ldr r0, _080CBA68 @ =sub_80CB8E8 b _080CBA96 .align 2, 0 -_080CBA64: .4byte gBattleAnimEnemyMonIndex +_080CBA64: .4byte gBattleAnimBankTarget _080CBA68: .4byte sub_80CB8E8 _080CBA6C: movs r0, 0xFF @@ -2521,7 +2521,7 @@ _080CBA6C: adds r0, r6, 0 adds r0, 0xA strh r0, [r5, 0x3C] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CBA84 @@ -2589,7 +2589,7 @@ sub_80CBAE8: @ 80CBAE8 adds r5, r0, 0 movs r1, 0 bl sub_8078764 - ldr r4, _080CBB30 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CBB30 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -2600,7 +2600,7 @@ sub_80CBAE8: @ 80CBAE8 bl sub_8077ABC lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080CBB34 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CBB34 @ =gBattleAnimBankTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2617,8 +2617,8 @@ sub_80CBAE8: @ 80CBAE8 movs r0, 0x1 b _080CBB4A .align 2, 0 -_080CBB30: .4byte gBattleAnimPlayerMonIndex -_080CBB34: .4byte gBattleAnimEnemyMonIndex +_080CBB30: .4byte gBattleAnimBankAttacker +_080CBB34: .4byte gBattleAnimBankTarget _080CBB38: strh r6, [r5, 0x3A] adds r0, r2, 0 @@ -2721,7 +2721,7 @@ sub_80CBBF0: @ 80CBBF0 ldrsh r0, [r4, r1] cmp r0, 0 bne _080CBC84 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080CBC18 @@ -2917,7 +2917,7 @@ _080CBD44: movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x30] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080CBD92 @@ -3002,7 +3002,7 @@ sub_80CBDF4: @ 80CBDF4 lsls r0, 3 ldr r1, _080CBF48 @ =gTasks adds r5, r0, r1 - ldr r4, _080CBF4C @ =gBattleAnimEnemyMonIndex + ldr r4, _080CBF4C @ =gBattleAnimBankTarget ldrb r0, [r4] bl sub_8079E90 lsls r0, 24 @@ -3156,7 +3156,7 @@ _080CBE94: bx r0 .align 2, 0 _080CBF48: .4byte gTasks -_080CBF4C: .4byte gBattleAnimEnemyMonIndex +_080CBF4C: .4byte gBattleAnimBankTarget _080CBF50: .4byte gSpriteTemplate_83D6884 _080CBF54: .4byte gSprites _080CBF58: .4byte sub_80CBF5C @@ -3832,13 +3832,13 @@ sub_80CC474: @ 80CC474 ldrsh r0, [r0, r1] cmp r0, 0 bne _080CC490 - ldr r0, _080CC48C @ =gBattleAnimPlayerMonIndex + ldr r0, _080CC48C @ =gBattleAnimBankAttacker b _080CC492 .align 2, 0 _080CC488: .4byte gBattleAnimArgs -_080CC48C: .4byte gBattleAnimPlayerMonIndex +_080CC48C: .4byte gBattleAnimBankAttacker _080CC490: - ldr r0, _080CC4B0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CC4B0 @ =gBattleAnimBankTarget _080CC492: ldrb r6, [r0] adds r0, r6, 0 @@ -3854,7 +3854,7 @@ _080CC492: ldr r0, _080CC4B8 @ =0x0000fff0 b _080CC4CC .align 2, 0 -_080CC4B0: .4byte gBattleAnimEnemyMonIndex +_080CC4B0: .4byte gBattleAnimBankTarget _080CC4B4: .4byte gBattleAnimArgs _080CC4B8: .4byte 0x0000fff0 _080CC4BC: @@ -3923,7 +3923,7 @@ _080CC518: strb r0, [r4, 0x5] b _080CC56C _080CC534: - ldr r0, _080CC578 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CC578 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -3933,7 +3933,7 @@ _080CC534: adds r0, r7 strh r0, [r4, 0x22] movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId _080CC54E: adds r0, r6, 0 bl sub_8079ED4 @@ -3956,7 +3956,7 @@ _080CC56C: pop {r0} bx r0 .align 2, 0 -_080CC578: .4byte gBattleAnimEnemyMonIndex +_080CC578: .4byte gBattleAnimBankTarget _080CC57C: .4byte sub_80CC580 thumb_func_end sub_80CC474 @@ -4149,12 +4149,12 @@ _080CC6E8: ldrsh r0, [r1, r3] cmp r0, 0 bne _080CC6F8 - ldr r4, _080CC6F4 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CC6F4 @ =gBattleAnimBankAttacker b _080CC6FA .align 2, 0 -_080CC6F4: .4byte gBattleAnimPlayerMonIndex +_080CC6F4: .4byte gBattleAnimBankAttacker _080CC6F8: - ldr r4, _080CC734 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CC734 @ =gBattleAnimBankTarget _080CC6FA: ldrb r0, [r4] movs r1, 0x2 @@ -4184,7 +4184,7 @@ _080CC6FA: strh r2, [r6, 0x3A] b _080CC74C .align 2, 0 -_080CC734: .4byte gBattleAnimEnemyMonIndex +_080CC734: .4byte gBattleAnimBankTarget _080CC738: .4byte gBattleAnimArgs _080CC73C: strh r5, [r6, 0x20] @@ -4233,7 +4233,7 @@ _080CC74C: bl sub_80790F0 lsls r0, 16 lsrs r4, r0, 16 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CC7AE @@ -4317,7 +4317,7 @@ _080CC826: sub_80CC82C: @ 80CC82C push {r4,lr} adds r4, r0, 0 - ldr r0, _080CC84C @ =gBattleAnimPlayerMonIndex + ldr r0, _080CC84C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4331,7 +4331,7 @@ sub_80CC82C: @ 80CC82C ldrh r0, [r2, 0x2] b _080CC860 .align 2, 0 -_080CC84C: .4byte gBattleAnimPlayerMonIndex +_080CC84C: .4byte gBattleAnimBankAttacker _080CC850: .4byte gBattleAnimArgs _080CC854: ldr r0, _080CC878 @ =gBattleAnimArgs @@ -4348,7 +4348,7 @@ _080CC860: str r0, [r4, 0x1C] ldr r1, _080CC880 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -4362,7 +4362,7 @@ _080CC880: .4byte move_anim_8072740 sub_80CC884: @ 80CC884 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080CC8BC @ =gBattleAnimPlayerMonIndex + ldr r0, _080CC8BC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4387,7 +4387,7 @@ _080CC89E: pop {r0} bx r0 .align 2, 0 -_080CC8BC: .4byte gBattleAnimPlayerMonIndex +_080CC8BC: .4byte gBattleAnimBankAttacker _080CC8C0: .4byte sub_80CC810 _080CC8C4: .4byte gBattleAnimArgs thumb_func_end sub_80CC884 @@ -4418,7 +4418,7 @@ sub_80CC8C8: @ 80CC8C8 bl StartSpriteAffineAnim ldr r1, _080CC90C @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CC910 @ =sub_8078504 str r0, [r4, 0x1C] pop {r4} @@ -4434,7 +4434,7 @@ _080CC910: .4byte sub_8078504 sub_80CC914: @ 80CC914 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080CC964 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CC964 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -4470,7 +4470,7 @@ _080CC948: strh r0, [r5, 0x20] b _080CC984 .align 2, 0 -_080CC964: .4byte gBattleAnimEnemyMonIndex +_080CC964: .4byte gBattleAnimBankTarget _080CC968: .4byte sub_80CCB00 _080CC96C: .4byte gBattleAnimArgs _080CC970: @@ -4535,7 +4535,7 @@ sub_80CC9BC: @ 80CC9BC .align 2, 0 _080CC9D8: .4byte gBattleAnimArgs _080CC9DC: - ldr r5, _080CC9F8 @ =gBattleAnimEnemyMonIndex + ldr r5, _080CC9F8 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 @@ -4548,9 +4548,9 @@ _080CC9DC: adds r0, r4, 0 b _080CCA68 .align 2, 0 -_080CC9F8: .4byte gBattleAnimEnemyMonIndex +_080CC9F8: .4byte gBattleAnimBankTarget _080CC9FC: - ldr r5, _080CCA54 @ =gBattleAnimEnemyMonIndex + ldr r5, _080CCA54 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -4566,7 +4566,7 @@ _080CC9FC: mov r8, r2 mov r1, r8 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080CCA72 @@ -4590,9 +4590,9 @@ _080CC9FC: lsrs r4, r0, 1 b _080CCA72 .align 2, 0 -_080CCA54: .4byte gBattleAnimEnemyMonIndex +_080CCA54: .4byte gBattleAnimBankTarget _080CCA58: - ldr r4, _080CCAA4 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CCAA4 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -4607,7 +4607,7 @@ _080CCA68: _080CCA72: strh r7, [r6, 0x20] strh r4, [r6, 0x22] - ldr r0, _080CCAA4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CCAA4 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4631,7 +4631,7 @@ _080CCA8A: strh r0, [r6, 0x20] b _080CCAC4 .align 2, 0 -_080CCAA4: .4byte gBattleAnimEnemyMonIndex +_080CCAA4: .4byte gBattleAnimBankTarget _080CCAA8: .4byte sub_80CCB00 _080CCAAC: .4byte gBattleAnimArgs _080CCAB0: @@ -4723,7 +4723,7 @@ _080CCB26: bne _080CCB5C ldr r1, _080CCB64 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 movs r0, 0x3 strh r0, [r4, 0x2E] ldr r0, _080CCB68 @ =sub_80782D8 @@ -4861,7 +4861,7 @@ sub_80CCC50: @ 80CCC50 ldr r4, _080CCC70 @ =gBattleAnimArgs ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r0, _080CCC74 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CCC74 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4873,7 +4873,7 @@ sub_80CCC50: @ 80CCC50 b _080CCC7E .align 2, 0 _080CCC70: .4byte gBattleAnimArgs -_080CCC74: .4byte gBattleAnimPlayerMonIndex +_080CCC74: .4byte gBattleAnimBankAttacker _080CCC78: ldrh r0, [r4] ldrh r1, [r5, 0x20] @@ -4968,7 +4968,7 @@ _080CCD1C: sub_80CCD24: @ 80CCD24 push {r4-r6,lr} adds r5, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CCD3A @@ -4977,7 +4977,7 @@ sub_80CCD24: @ 80CCD24 adds r0, 0x8 strh r0, [r1, 0x2] _080CCD3A: - ldr r6, _080CCD9C @ =gBattleAnimPlayerMonIndex + ldr r6, _080CCD9C @ =gBattleAnimBankAttacker ldrb r0, [r6] movs r1, 0 bl sub_8077EE4 @@ -5000,7 +5000,7 @@ _080CCD3A: lsls r0, 24 cmp r0, 0 beq _080CCD78 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CCDA0 @@ -5022,7 +5022,7 @@ _080CCD78: b _080CCDB8 .align 2, 0 _080CCD98: .4byte gBattleAnimArgs -_080CCD9C: .4byte gBattleAnimPlayerMonIndex +_080CCD9C: .4byte gBattleAnimBankAttacker _080CCDA0: ldrb r0, [r6] bl sub_8079ED4 @@ -5207,7 +5207,7 @@ _080CCF00: .4byte sub_807861C sub_80CCF04: @ 80CCF04 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080CCF5C @ =gBattleAnimEnemyMonIndex + ldr r6, _080CCF5C @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -5248,7 +5248,7 @@ sub_80CCF04: @ 80CCF04 pop {r0} bx r0 .align 2, 0 -_080CCF5C: .4byte gBattleAnimEnemyMonIndex +_080CCF5C: .4byte gBattleAnimBankTarget _080CCF60: .4byte 0x0000ffe8 _080CCF64: .4byte REG_BLDCNT _080CCF68: .4byte REG_BLDALPHA @@ -5531,7 +5531,7 @@ _080CD154: strh r0, [r4, 0x32] ldr r1, _080CD188 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CD18C @ =sub_8078394 str r0, [r4, 0x1C] pop {r4,r5} @@ -5552,13 +5552,13 @@ sub_80CD190: @ 80CD190 ldrsh r0, [r0, r1] cmp r0, 0 bne _080CD1AC - ldr r0, _080CD1A8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CD1A8 @ =gBattleAnimBankAttacker b _080CD1AE .align 2, 0 _080CD1A4: .4byte gBattleAnimArgs -_080CD1A8: .4byte gBattleAnimPlayerMonIndex +_080CD1A8: .4byte gBattleAnimBankAttacker _080CD1AC: - ldr r0, _080CD1F0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CD1F0 @ =gBattleAnimBankTarget _080CD1AE: ldrb r6, [r0] bl IsDoubleBattle @@ -5568,7 +5568,7 @@ _080CD1AE: movs r1, 0x2 adds r0, r6, 0 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080CD1F8 @@ -5590,7 +5590,7 @@ _080CD1AE: strh r0, [r5, 0x22] b _080CD248 .align 2, 0 -_080CD1F0: .4byte gBattleAnimEnemyMonIndex +_080CD1F0: .4byte gBattleAnimBankTarget _080CD1F4: .4byte gBattleAnimArgs _080CD1F8: ldr r4, _080CD218 @ =gBattleAnimArgs @@ -5640,7 +5640,7 @@ _080CD248: strh r0, [r5, 0x32] ldr r1, _080CD26C @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CD270 @ =sub_8078394 str r0, [r5, 0x1C] pop {r4-r6} @@ -5657,7 +5657,7 @@ sub_80CD274: @ 80CD274 push {r4,lr} adds r4, r0, 0 bl sub_8078650 - ldr r0, _080CD2A0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CD2A0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -5674,7 +5674,7 @@ sub_80CD274: @ 80CD274 strh r0, [r4, 0x22] b _080CD2C2 .align 2, 0 -_080CD2A0: .4byte gBattleAnimPlayerMonIndex +_080CD2A0: .4byte gBattleAnimBankAttacker _080CD2A4: .4byte gBattleAnimArgs _080CD2A8: ldr r2, _080CD2CC @ =gBattleAnimArgs @@ -5749,7 +5749,7 @@ sub_80CD328: @ 80CD328 push {r4,lr} adds r4, r0, 0 bl sub_8078650 - ldr r0, _080CD358 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CD358 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -5768,7 +5768,7 @@ sub_80CD328: @ 80CD328 strh r0, [r4, 0x34] b _080CD37E .align 2, 0 -_080CD358: .4byte gBattleAnimPlayerMonIndex +_080CD358: .4byte gBattleAnimBankAttacker _080CD35C: .4byte gBattleAnimArgs _080CD360: ldr r2, _080CD388 @ =gBattleAnimArgs @@ -5850,7 +5850,7 @@ sub_80CD3E0: @ 80CD3E0 ldr r1, _080CD400 @ =sub_80782D8 str r1, [r0, 0x1C] ldr r1, _080CD404 @ =sub_80CD408 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -5877,7 +5877,7 @@ _080CD41E: str r0, [r5, 0x1C] ldr r1, _080CD434 @ =sub_80CD408 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 b _080CD49E .align 2, 0 _080CD430: .4byte sub_80782D8 @@ -5917,7 +5917,7 @@ _080CD438: str r0, [r5, 0x1C] ldr r1, _080CD4B4 @ =sub_80CD4B8 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 movs r1, 0x80 lsls r1, 1 adds r0, r1, 0 @@ -5960,7 +5960,7 @@ sub_80CD4B8: @ 80CD4B8 str r0, [r2, 0x1C] ldr r1, _080CD4DC @ =sub_80CD4EC adds r0, r2, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 b _080CD4E4 .align 2, 0 _080CD4D8: .4byte sub_80782D8 @@ -5990,7 +5990,7 @@ sub_80CD4EC: @ 80CD4EC str r0, [r5, 0x1C] ldr r1, _080CD510 @ =sub_80CD5A8 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 b _080CD594 .align 2, 0 _080CD50C: .4byte sub_80782D8 @@ -6043,7 +6043,7 @@ _080CD54C: strh r1, [r5, 0x24] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, _080CD59C @ =gBattleAnimEnemyMonIndex + ldr r4, _080CD59C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -6062,13 +6062,13 @@ _080CD54C: str r0, [r5, 0x1C] ldr r1, _080CD5A4 @ =sub_80CD654 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080CD594: pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080CD59C: .4byte gBattleAnimEnemyMonIndex +_080CD59C: .4byte gBattleAnimBankTarget _080CD5A0: .4byte sub_8078B34 _080CD5A4: .4byte sub_80CD654 thumb_func_end sub_80CD4EC @@ -6376,7 +6376,7 @@ sub_80CD7CC: @ 80CD7CC adds r4, r0, 0 movs r0, 0x6 strh r0, [r4, 0x2E] - ldr r5, _080CD80C @ =gBattleAnimPlayerMonIndex + ldr r5, _080CD80C @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide lsls r0, 24 @@ -6397,14 +6397,14 @@ _080CD7EA: strh r0, [r4, 0x34] ldr r1, _080CD814 @ =sub_80CD81C adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CD818 @ =sub_8078458 str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080CD80C: .4byte gBattleAnimPlayerMonIndex +_080CD80C: .4byte gBattleAnimBankAttacker _080CD810: .4byte gObjectBankIDs _080CD814: .4byte sub_80CD81C _080CD818: .4byte sub_8078458 @@ -6419,7 +6419,7 @@ sub_80CD81C: @ 80CD81C cmp r6, 0 bne _080CD858 ldr r1, _080CD898 @ =gObjectBankIDs - ldr r4, _080CD89C @ =gBattleAnimPlayerMonIndex + ldr r4, _080CD89C @ =gBattleAnimBankAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -6475,7 +6475,7 @@ _080CD892: bx r0 .align 2, 0 _080CD898: .4byte gObjectBankIDs -_080CD89C: .4byte gBattleAnimPlayerMonIndex +_080CD89C: .4byte gBattleAnimBankAttacker _080CD8A0: .4byte 0xfffffd00 _080CD8A4: .4byte sub_80CD9B8 thumb_func_end sub_80CD81C @@ -6486,7 +6486,7 @@ sub_80CD8A8: @ 80CD8A8 adds r4, r0, 0 movs r0, 0x4 strh r0, [r4, 0x2E] - ldr r5, _080CD8E8 @ =gBattleAnimPlayerMonIndex + ldr r5, _080CD8E8 @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide lsls r0, 24 @@ -6507,14 +6507,14 @@ _080CD8C6: strh r0, [r4, 0x34] ldr r1, _080CD8F0 @ =sub_80CD9B8 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CD8F4 @ =sub_8078458 str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080CD8E8: .4byte gBattleAnimPlayerMonIndex +_080CD8E8: .4byte gBattleAnimBankAttacker _080CD8EC: .4byte gObjectBankIDs _080CD8F0: .4byte sub_80CD9B8 _080CD8F4: .4byte sub_8078458 @@ -6551,7 +6551,7 @@ sub_80CD91C: @ 80CD91C cmp r0, 0 bne _080CD96C ldr r1, _080CD958 @ =gObjectBankIDs - ldr r4, _080CD95C @ =gBattleAnimPlayerMonIndex + ldr r4, _080CD95C @ =gBattleAnimBankAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -6574,7 +6574,7 @@ sub_80CD91C: @ 80CD91C b _080CD96A .align 2, 0 _080CD958: .4byte gObjectBankIDs -_080CD95C: .4byte gBattleAnimPlayerMonIndex +_080CD95C: .4byte gBattleAnimBankAttacker _080CD960: movs r0, 0x80 lsls r0, 3 @@ -6660,7 +6660,7 @@ _080CD9EA: _080CD9F0: strh r5, [r4, 0x30] ldr r1, _080CDA74 @ =gObjectBankIDs - ldr r2, _080CDA78 @ =gBattleAnimPlayerMonIndex + ldr r2, _080CDA78 @ =gBattleAnimBankAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -6724,7 +6724,7 @@ _080CDA2E: b _080CDAC2 .align 2, 0 _080CDA74: .4byte gObjectBankIDs -_080CDA78: .4byte gBattleAnimPlayerMonIndex +_080CDA78: .4byte gBattleAnimBankAttacker _080CDA7C: .4byte 0xfffffe00 _080CDA80: ldrh r0, [r4, 0x36] @@ -6773,7 +6773,7 @@ sub_80CDAC8: @ 80CDAC8 lsls r0, 3 adds r5, r0, r1 ldr r1, _080CDB10 @ =gObjectBankIDs - ldr r2, _080CDB14 @ =gBattleAnimPlayerMonIndex + ldr r2, _080CDB14 @ =gBattleAnimBankAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -6798,7 +6798,7 @@ sub_80CDAC8: @ 80CDAC8 .align 2, 0 _080CDB0C: .4byte gTasks _080CDB10: .4byte gObjectBankIDs -_080CDB14: .4byte gBattleAnimPlayerMonIndex +_080CDB14: .4byte gBattleAnimBankAttacker _080CDB18: .4byte gBattleAnimArgs _080CDB1C: strh r1, [r5, 0xC] @@ -7134,13 +7134,13 @@ sub_80CDD74: @ 80CDD74 ldrsh r0, [r6, r1] cmp r0, 0 bne _080CDD90 - ldr r4, _080CDD8C @ =gBattleAnimPlayerMonIndex + ldr r4, _080CDD8C @ =gBattleAnimBankAttacker b _080CDD92 .align 2, 0 _080CDD88: .4byte gBattleAnimArgs -_080CDD8C: .4byte gBattleAnimPlayerMonIndex +_080CDD8C: .4byte gBattleAnimBankAttacker _080CDD90: - ldr r4, _080CDDD0 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CDDD0 @ =gBattleAnimBankTarget _080CDD92: ldrb r0, [r4] movs r1, 0x2 @@ -7163,14 +7163,14 @@ _080CDD92: strh r0, [r5, 0x30] ldr r1, _080CDDD4 @ =sub_80CDEC0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CDDD8 @ =sub_8078600 str r0, [r5, 0x1C] pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080CDDD0: .4byte gBattleAnimEnemyMonIndex +_080CDDD0: .4byte gBattleAnimBankTarget _080CDDD4: .4byte sub_80CDEC0 _080CDDD8: .4byte sub_8078600 thumb_func_end sub_80CDD74 @@ -7179,7 +7179,7 @@ _080CDDD8: .4byte sub_8078600 sub_80CDDDC: @ 80CDDDC push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080CDE14 @ =gBattleAnimEnemyMonIndex + ldr r5, _080CDE14 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -7196,14 +7196,14 @@ sub_80CDDDC: @ 80CDDDC strh r0, [r4, 0x22] ldr r1, _080CDE1C @ =sub_80CDE78 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CDE20 @ =sub_8078600 str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080CDE14: .4byte gBattleAnimEnemyMonIndex +_080CDE14: .4byte gBattleAnimBankTarget _080CDE18: .4byte 0x0000ffd0 _080CDE1C: .4byte sub_80CDE78 _080CDE20: .4byte sub_8078600 @@ -7213,7 +7213,7 @@ _080CDE20: .4byte sub_8078600 sub_80CDE24: @ 80CDE24 push {r4-r6,lr} adds r4, r0, 0 - ldr r5, _080CDE68 @ =gBattleAnimEnemyMonIndex + ldr r5, _080CDE68 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -7243,7 +7243,7 @@ sub_80CDE24: @ 80CDE24 pop {r0} bx r0 .align 2, 0 -_080CDE68: .4byte gBattleAnimEnemyMonIndex +_080CDE68: .4byte gBattleAnimBankTarget _080CDE6C: .4byte gBattleAnimArgs _080CDE70: .4byte 0x0000ffd0 _080CDE74: .4byte sub_80CDEC0 @@ -7268,7 +7268,7 @@ sub_80CDE78: @ 80CDE78 strh r0, [r4, 0x32] ldr r1, _080CDEA8 @ =sub_80CDEB0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CDEAC @ =sub_8078364 str r0, [r4, 0x1C] _080CDEA2: @@ -7343,13 +7343,13 @@ sub_80CDF0C: @ 80CDF0C ldrsh r0, [r6, r1] cmp r0, 0 bne _080CDF28 - ldr r4, _080CDF24 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CDF24 @ =gBattleAnimBankAttacker b _080CDF2A .align 2, 0 _080CDF20: .4byte gBattleAnimArgs -_080CDF24: .4byte gBattleAnimPlayerMonIndex +_080CDF24: .4byte gBattleAnimBankAttacker _080CDF28: - ldr r4, _080CDF64 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CDF64 @ =gBattleAnimBankTarget _080CDF2A: ldrb r0, [r4] movs r1, 0 @@ -7378,7 +7378,7 @@ _080CDF2A: pop {r0} bx r0 .align 2, 0 -_080CDF64: .4byte gBattleAnimEnemyMonIndex +_080CDF64: .4byte gBattleAnimBankTarget _080CDF68: .4byte gBattleAnimArgs _080CDF6C: .4byte sub_80CDF70 thumb_func_end sub_80CDF0C @@ -7424,7 +7424,7 @@ _080CDFAC: sub_80CDFB0: @ 80CDFB0 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080CDFF8 @ =gBattleAnimPlayerMonIndex + ldr r6, _080CDFF8 @ =gBattleAnimBankAttacker ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -7456,7 +7456,7 @@ sub_80CDFB0: @ 80CDFB0 pop {r0} bx r0 .align 2, 0 -_080CDFF8: .4byte gBattleAnimPlayerMonIndex +_080CDFF8: .4byte gBattleAnimBankAttacker _080CDFFC: .4byte sub_80CE000 thumb_func_end sub_80CDFB0 @@ -7551,7 +7551,7 @@ sub_80CE09C: @ 80CE09C ldrsh r0, [r6, r1] cmp r0, 0 bne _080CE0E6 - ldr r4, _080CE0FC @ =gBattleAnimPlayerMonIndex + ldr r4, _080CE0FC @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -7569,7 +7569,7 @@ sub_80CE09C: @ 80CE09C ldrh r5, [r5, 0x2] adds r0, r5 strh r0, [r6, 0x22] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CE0E0 @@ -7593,7 +7593,7 @@ _080CE0F6: pop {r0} bx r0 .align 2, 0 -_080CE0FC: .4byte gBattleAnimPlayerMonIndex +_080CE0FC: .4byte gBattleAnimBankAttacker _080CE100: .4byte gBattleAnimArgs _080CE104: .4byte 0x0000ffff thumb_func_end sub_80CE09C @@ -7708,7 +7708,7 @@ _080CE1C0: strb r0, [r2] movs r0, 0x1E strh r0, [r5, 0x2E] - ldr r4, _080CE204 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CE204 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -7725,13 +7725,13 @@ _080CE1C0: str r0, [r5, 0x1C] ldr r1, _080CE20C @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080CE1FC: pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080CE204: .4byte gBattleAnimPlayerMonIndex +_080CE204: .4byte gBattleAnimBankAttacker _080CE208: .4byte sub_8078B34 _080CE20C: .4byte move_anim_8072740 thumb_func_end sub_80CE1AC @@ -7872,7 +7872,7 @@ _080CE308: .4byte gNoOfAllBanks sub_80CE30C: @ 80CE30C push {r4,lr} adds r4, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CE322 @@ -7926,7 +7926,7 @@ _080CE366: sub_80CE36C: @ 80CE36C push {r4,lr} adds r4, r0, 0 - ldr r0, _080CE3A4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CE3A4 @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r1, 0x2 bl sub_8077ABC @@ -7951,7 +7951,7 @@ sub_80CE36C: @ 80CE36C pop {r0} bx r0 .align 2, 0 -_080CE3A4: .4byte gBattleAnimPlayerMonIndex +_080CE3A4: .4byte gBattleAnimBankAttacker _080CE3A8: .4byte gBattleAnimArgs _080CE3AC: .4byte sub_80CE3B0 thumb_func_end sub_80CE36C @@ -8339,7 +8339,7 @@ _080CE68E: strh r0, [r5, 0x2E] ldrh r0, [r6, 0x4] strh r0, [r5, 0x30] - ldr r4, _080CE6F8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CE6F8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -8359,7 +8359,7 @@ _080CE68E: ldrh r1, [r5, 0x20] strh r1, [r5, 0x3A] strh r0, [r5, 0x3C] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CE700 @@ -8384,10 +8384,10 @@ _080CE68E: b _080CE726 .align 2, 0 _080CE6F4: .4byte gBattleAnimArgs -_080CE6F8: .4byte gBattleAnimEnemyMonIndex +_080CE6F8: .4byte gBattleAnimBankTarget _080CE6FC: .4byte 0xffffec00 _080CE700: - ldr r0, _080CE740 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CE740 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -8417,7 +8417,7 @@ _080CE726: strh r0, [r5, 0x38] b _080CE784 .align 2, 0 -_080CE740: .4byte gBattleAnimPlayerMonIndex +_080CE740: .4byte gBattleAnimBankAttacker _080CE744: .4byte 0xfffff600 _080CE748: ldrh r0, [r5, 0x20] @@ -8515,7 +8515,7 @@ sub_80CE7E0: @ 80CE7E0 ldr r1, _080CE870 @ =gTasks adds r6, r0, r1 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x8] @@ -8615,7 +8615,7 @@ _080CE8B4: _080CE8C6: ldr r0, _080CE8E8 @ =sub_80CE910 str r0, [r6] - ldr r0, _080CE8EC @ =gBattleAnimPlayerMonIndex + ldr r0, _080CE8EC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -8630,7 +8630,7 @@ _080CE8C6: .align 2, 0 _080CE8E4: .4byte sub_80CE974 _080CE8E8: .4byte sub_80CE910 -_080CE8EC: .4byte gBattleAnimPlayerMonIndex +_080CE8EC: .4byte gBattleAnimBankAttacker _080CE8F0: .4byte 0x0000fdff _080CE8F4: movs r2, 0x80 @@ -8664,7 +8664,7 @@ sub_80CE910: @ 80CE910 ldrsh r0, [r0, r1] cmp r0, 0 bne _080CE968 - ldr r0, _080CE948 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CE948 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -8679,7 +8679,7 @@ sub_80CE910: @ 80CE910 b _080CE956 .align 2, 0 _080CE944: .4byte gTasks -_080CE948: .4byte gBattleAnimPlayerMonIndex +_080CE948: .4byte gBattleAnimBankAttacker _080CE94C: movs r0, 0x80 lsls r0, 19 @@ -8782,7 +8782,7 @@ sub_80CEA04: @ 80CEA04 push {r4,lr} adds r4, r0, 0 ldr r1, _080CEA18 @ =move_anim_8072740 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CEA1C @ =sub_8078600 str r0, [r4, 0x1C] pop {r4} @@ -8953,7 +8953,7 @@ _080CEB48: strh r1, [r5, 0x32] ldrh r0, [r4, 0x4] strh r0, [r5, 0x34] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CEB6C @@ -8964,7 +8964,7 @@ _080CEB48: _080CEB64: .4byte gBattleAnimArgs _080CEB68: .4byte gUnknown_083D712C _080CEB6C: - ldr r4, _080CEBBC @ =gBattleAnimEnemyMonIndex + ldr r4, _080CEBBC @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -9002,7 +9002,7 @@ _080CEB86: pop {r0} bx r0 .align 2, 0 -_080CEBBC: .4byte gBattleAnimEnemyMonIndex +_080CEBBC: .4byte gBattleAnimBankTarget _080CEBC0: .4byte sub_80CEC1C thumb_func_end sub_80CEB0C @@ -9165,7 +9165,7 @@ _080CECE4: .4byte gUnknown_083D712C sub_80CECE8: @ 80CECE8 push {r4-r7,lr} adds r6, r0, 0 - ldr r7, _080CED6C @ =gBattleAnimPlayerMonIndex + ldr r7, _080CED6C @ =gBattleAnimBankAttacker ldrb r0, [r7] bl GetBankSide lsls r0, 24 @@ -9225,7 +9225,7 @@ _080CED06: pop {r0} bx r0 .align 2, 0 -_080CED6C: .4byte gBattleAnimPlayerMonIndex +_080CED6C: .4byte gBattleAnimBankAttacker _080CED70: .4byte gBattleAnimArgs _080CED74: .4byte sub_80CED78 thumb_func_end sub_80CECE8 @@ -9316,7 +9316,7 @@ _080CEE10: .4byte gBattleAnimArgs _080CEE14: ldr r6, _080CEE50 @ =0x0000fff0 _080CEE16: - ldr r4, _080CEE54 @ =gBattleAnimPlayerMonIndex + ldr r4, _080CEE54 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -9337,13 +9337,13 @@ _080CEE16: str r0, [r5, 0x1C] ldr r1, _080CEE5C @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080CEE50: .4byte 0x0000fff0 -_080CEE54: .4byte gBattleAnimPlayerMonIndex +_080CEE54: .4byte gBattleAnimBankAttacker _080CEE58: .4byte sub_80782D8 _080CEE5C: .4byte move_anim_8072740 thumb_func_end sub_80CEDF0 @@ -9519,13 +9519,13 @@ sub_80CEF9C: @ 80CEF9C ldrsh r0, [r0, r1] cmp r0, 0 bne _080CEFB8 - ldr r0, _080CEFB4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CEFB4 @ =gBattleAnimBankAttacker b _080CEFBA .align 2, 0 _080CEFB0: .4byte gBattleAnimArgs -_080CEFB4: .4byte gBattleAnimPlayerMonIndex +_080CEFB4: .4byte gBattleAnimBankAttacker _080CEFB8: - ldr r0, _080CEFF8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CEFF8 @ =gBattleAnimBankTarget _080CEFBA: ldrb r4, [r0] adds r0, r4, 0 @@ -9547,14 +9547,14 @@ _080CEFBA: bl StartSpriteAnim ldr r1, _080CF000 @ =sub_80CF008 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CF004 @ =sub_8078600 str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080CEFF8: .4byte gBattleAnimEnemyMonIndex +_080CEFF8: .4byte gBattleAnimBankTarget _080CEFFC: .4byte gBattleAnimArgs _080CF000: .4byte sub_80CF008 _080CF004: .4byte sub_8078600 @@ -9572,7 +9572,7 @@ sub_80CF008: @ 80CF008 bne _080CF030 ldr r1, _080CF038 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldrh r1, [r4, 0x30] lsls r1, 24 lsrs r1, 24 @@ -9598,13 +9598,13 @@ sub_80CF040: @ 80CF040 ldrsh r0, [r0, r1] cmp r0, 0 bne _080CF05C - ldr r0, _080CF058 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF058 @ =gBattleAnimBankAttacker b _080CF05E .align 2, 0 _080CF054: .4byte gBattleAnimArgs -_080CF058: .4byte gBattleAnimPlayerMonIndex +_080CF058: .4byte gBattleAnimBankAttacker _080CF05C: - ldr r0, _080CF07C @ =gBattleAnimEnemyMonIndex + ldr r0, _080CF07C @ =gBattleAnimBankTarget _080CF05E: ldrb r0, [r0] adds r1, r4, 0 @@ -9613,14 +9613,14 @@ _080CF05E: strh r0, [r4, 0x2E] ldr r1, _080CF080 @ =sub_80CF088 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CF084 @ =sub_80785E4 str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .align 2, 0 -_080CF07C: .4byte gBattleAnimEnemyMonIndex +_080CF07C: .4byte gBattleAnimBankTarget _080CF080: .4byte sub_80CF088 _080CF084: .4byte sub_80785E4 thumb_func_end sub_80CF040 @@ -9641,7 +9641,7 @@ sub_80CF088: @ 80CF088 bl StartSpriteAffineAnim ldr r1, _080CF0B4 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CF0B8 @ =sub_80785E4 str r0, [r4, 0x1C] _080CF0AE: @@ -9662,13 +9662,13 @@ sub_80CF0BC: @ 80CF0BC ldrsh r0, [r0, r1] cmp r0, 0 bne _080CF0D8 - ldr r0, _080CF0D4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF0D4 @ =gBattleAnimBankAttacker b _080CF0DA .align 2, 0 _080CF0D0: .4byte gBattleAnimArgs -_080CF0D4: .4byte gBattleAnimPlayerMonIndex +_080CF0D4: .4byte gBattleAnimBankAttacker _080CF0D8: - ldr r0, _080CF12C @ =gBattleAnimEnemyMonIndex + ldr r0, _080CF12C @ =gBattleAnimBankTarget _080CF0DA: ldrb r5, [r0] adds r0, r5, 0 @@ -9702,14 +9702,14 @@ _080CF102: strh r6, [r4, 0x36] ldr r1, _080CF130 @ =sub_80CF138 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CF134 @ =sub_80785E4 str r0, [r4, 0x1C] pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080CF12C: .4byte gBattleAnimEnemyMonIndex +_080CF12C: .4byte gBattleAnimBankTarget _080CF130: .4byte sub_80CF138 _080CF134: .4byte sub_80785E4 thumb_func_end sub_80CF0BC @@ -9808,13 +9808,13 @@ sub_80CF1C8: @ 80CF1C8 ldrsh r0, [r0, r1] cmp r0, 0 bne _080CF1E4 - ldr r0, _080CF1E0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF1E0 @ =gBattleAnimBankAttacker b _080CF1E6 .align 2, 0 _080CF1DC: .4byte gBattleAnimArgs -_080CF1E0: .4byte gBattleAnimPlayerMonIndex +_080CF1E0: .4byte gBattleAnimBankAttacker _080CF1E4: - ldr r0, _080CF208 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CF208 @ =gBattleAnimBankTarget _080CF1E6: ldrb r4, [r0] adds r0, r4, 0 @@ -9831,7 +9831,7 @@ _080CF1E6: movs r0, 0x2 b _080CF216 .align 2, 0 -_080CF208: .4byte gBattleAnimEnemyMonIndex +_080CF208: .4byte gBattleAnimBankTarget _080CF20C: adds r0, r5, 0 movs r1, 0x1 @@ -9868,7 +9868,7 @@ sub_80CF228: @ 80CF228 bl StartSpriteAnim ldr r1, _080CF25C @ =sub_80CF264 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080CF260 @ =sub_8078600 str r0, [r4, 0x1C] _080CF256: @@ -9922,7 +9922,7 @@ sub_80CF280: @ 80CF280 strh r0, [r4, 0x36] ldr r1, _080CF2C8 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _080CF2CC @ =sub_8078278 str r1, [r4, 0x1C] adds r0, r4, 0 @@ -9945,13 +9945,13 @@ sub_80CF2D0: @ 80CF2D0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080CF2EC - ldr r0, _080CF2E8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF2E8 @ =gBattleAnimBankAttacker b _080CF2EE .align 2, 0 _080CF2E4: .4byte gBattleAnimArgs -_080CF2E8: .4byte gBattleAnimPlayerMonIndex +_080CF2E8: .4byte gBattleAnimBankAttacker _080CF2EC: - ldr r0, _080CF308 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CF308 @ =gBattleAnimBankTarget _080CF2EE: ldrb r0, [r0] adds r1, r4, 0 @@ -9965,7 +9965,7 @@ _080CF2EE: pop {r0} bx r0 .align 2, 0 -_080CF308: .4byte gBattleAnimEnemyMonIndex +_080CF308: .4byte gBattleAnimBankTarget _080CF30C: .4byte sub_80CF310 thumb_func_end sub_80CF2D0 @@ -10075,7 +10075,7 @@ _080CF3C0: .4byte gSprites sub_80CF3C4: @ 80CF3C4 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, _080CF40C @ =gBattleAnimPlayerMonIndex + ldr r4, _080CF40C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -10089,7 +10089,7 @@ sub_80CF3C4: @ 80CF3C4 lsrs r0, 24 strh r0, [r5, 0x22] ldr r1, _080CF410 @ =gObjectBankIDs - ldr r0, _080CF414 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CF414 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] @@ -10106,9 +10106,9 @@ sub_80CF3C4: @ 80CF3C4 adds r1, r0, 0 b _080CF426 .align 2, 0 -_080CF40C: .4byte gBattleAnimPlayerMonIndex +_080CF40C: .4byte gBattleAnimBankAttacker _080CF410: .4byte gObjectBankIDs -_080CF414: .4byte gBattleAnimEnemyMonIndex +_080CF414: .4byte gBattleAnimBankTarget _080CF418: .4byte gBattleAnimArgs _080CF41C: ldr r1, _080CF450 @ =gBattleAnimArgs @@ -10159,7 +10159,7 @@ sub_80CF458: @ 80CF458 str r0, [r4, 0x1C] ldr r1, _080CF48C @ =sub_80CF490 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -10182,7 +10182,7 @@ sub_80CF490: @ 80CF490 ldr r1, _080CF4B0 @ =sub_8078B34 str r1, [r0, 0x1C] ldr r1, _080CF4B4 @ =sub_80CF4B8 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -10217,7 +10217,7 @@ sub_80CF4D8: @ 80CF4D8 lsls r4, 24 lsrs r4, 24 ldr r1, _080CF504 @ =gObjectBankIDs - ldr r0, _080CF508 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF508 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -10235,7 +10235,7 @@ sub_80CF4D8: @ 80CF4D8 bx r0 .align 2, 0 _080CF504: .4byte gObjectBankIDs -_080CF508: .4byte gBattleAnimPlayerMonIndex +_080CF508: .4byte gBattleAnimBankAttacker _080CF50C: .4byte gTasks _080CF510: .4byte sub_80CF514 thumb_func_end sub_80CF4D8 @@ -10246,7 +10246,7 @@ sub_80CF514: @ 80CF514 lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080CF544 @ =gObjectBankIDs - ldr r0, _080CF548 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF548 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r1, r0, r1 ldrb r4, [r1] @@ -10267,7 +10267,7 @@ sub_80CF514: @ 80CF514 b _080CF55E .align 2, 0 _080CF544: .4byte gObjectBankIDs -_080CF548: .4byte gBattleAnimPlayerMonIndex +_080CF548: .4byte gBattleAnimBankAttacker _080CF54C: .4byte gTasks _080CF550: ldr r2, _080CF590 @ =gTasks @@ -10382,7 +10382,7 @@ sub_80CF610: @ 80CF610 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, _080CF65C @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF65C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -10404,7 +10404,7 @@ sub_80CF610: @ 80CF610 b _080CF674 .align 2, 0 _080CF658: .4byte gBattleAnimArgs -_080CF65C: .4byte gBattleAnimPlayerMonIndex +_080CF65C: .4byte gBattleAnimBankAttacker _080CF660: movs r1, 0x4 ldrsh r0, [r5, r1] @@ -10421,7 +10421,7 @@ _080CF674: str r0, [r4, 0x1C] ldr r1, _080CF68C @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -10440,7 +10440,7 @@ sub_80CF690: @ 80CF690 str r0, [r4, 0x1C] ldr r1, _080CF6B0 @ =sub_80CF6B4 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -10462,7 +10462,7 @@ sub_80CF6B4: @ 80CF6B4 ldr r1, _080CF6D4 @ =sub_8078B34 str r1, [r0, 0x1C] ldr r1, _080CF6D8 @ =move_anim_8072740 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -10477,7 +10477,7 @@ sub_80CF6DC: @ 80CF6DC push {r7} sub sp, 0x4 adds r5, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CF700 @@ -10489,7 +10489,7 @@ sub_80CF6DC: @ 80CF6DC .align 2, 0 _080CF6FC: .4byte gBattleAnimArgs _080CF700: - ldr r0, _080CF7C8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CF7C8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -10509,7 +10509,7 @@ _080CF722: adds r0, r5, 0 movs r1, 0x1 bl sub_80787B0 - ldr r4, _080CF7D0 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CF7D0 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -10550,7 +10550,7 @@ _080CF722: lsls r1, 24 adds r0, r1 lsrs r4, r0, 16 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080CF794 @@ -10575,7 +10575,7 @@ _080CF794: str r0, [r5, 0x1C] ldr r1, _080CF7DC @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 add sp, 0x4 pop {r3} mov r8, r3 @@ -10583,9 +10583,9 @@ _080CF794: pop {r0} bx r0 .align 2, 0 -_080CF7C8: .4byte gBattleAnimPlayerMonIndex +_080CF7C8: .4byte gBattleAnimBankAttacker _080CF7CC: .4byte gBattleAnimArgs -_080CF7D0: .4byte gBattleAnimEnemyMonIndex +_080CF7D0: .4byte gBattleAnimBankTarget _080CF7D4: .4byte 0xffffa000 _080CF7D8: .4byte sub_8078B34 _080CF7DC: .4byte move_anim_8072740 @@ -11031,7 +11031,7 @@ sub_80CFB04: @ 80CFB04 mov r4, sp adds r4, 0x2 strh r1, [r4] - bl IsContest + bl NotInBattle lsls r0, 24 mov r10, r4 cmp r0, 0 @@ -11068,7 +11068,7 @@ _080CFB68: b _080CFBCA _080CFB70: ldr r1, _080CFBB4 @ =gBanksBySide - ldr r0, _080CFBB8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CFBB8 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -11102,7 +11102,7 @@ _080CFB70: b _080CFBC8 .align 2, 0 _080CFBB4: .4byte gBanksBySide -_080CFBB8: .4byte gBattleAnimEnemyMonIndex +_080CFBB8: .4byte gBattleAnimBankTarget _080CFBBC: .4byte gTasks _080CFBC0: .4byte gBattleAnimArgs _080CFBC4: @@ -11111,7 +11111,7 @@ _080CFBC4: _080CFBC8: strh r0, [r2, 0x4] _080CFBCA: - ldr r5, _080CFC24 @ =gBattleAnimPlayerMonIndex + ldr r5, _080CFC24 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -11137,11 +11137,11 @@ _080CFBCA: ands r0, r1 cmp r0, 0 beq _080CFC34 - ldr r4, _080CFC30 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CFC30 @ =gBattleAnimBankTarget ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080CFC34 @@ -11152,13 +11152,13 @@ _080CFBCA: bl sub_807A3FC b _080CFC56 .align 2, 0 -_080CFC24: .4byte gBattleAnimPlayerMonIndex +_080CFC24: .4byte gBattleAnimBankAttacker _080CFC28: .4byte gTasks _080CFC2C: .4byte gBattleTypeFlags -_080CFC30: .4byte gBattleAnimEnemyMonIndex +_080CFC30: .4byte gBattleAnimBankTarget _080CFC34: mov r5, sp - ldr r4, _080CFC90 @ =gBattleAnimEnemyMonIndex + ldr r4, _080CFC90 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -11203,7 +11203,7 @@ _080CFC56: subs r0, r2, r1 b _080CFC9E .align 2, 0 -_080CFC90: .4byte gBattleAnimEnemyMonIndex +_080CFC90: .4byte gBattleAnimBankTarget _080CFC94: .4byte gTasks _080CFC98: .4byte gBattleAnimArgs _080CFC9C: @@ -11301,7 +11301,7 @@ _080CFD3C: asrs r0, 16 cmp r0, 0x3F ble _080CFDB4 - ldr r0, _080CFD84 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CFD84 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 lsls r0, 24 @@ -11315,14 +11315,14 @@ _080CFD3C: .align 2, 0 _080CFD7C: .4byte gTasks _080CFD80: .4byte gBattleAnimArgs -_080CFD84: .4byte gBattleAnimEnemyMonIndex +_080CFD84: .4byte gBattleAnimBankTarget _080CFD88: .4byte 0x0000ffc0 _080CFD8C: lsls r0, r1, 16 asrs r0, 16 cmp r0, 0x3F ble _080CFDB4 - ldr r0, _080CFDAC @ =gBattleAnimEnemyMonIndex + ldr r0, _080CFDAC @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 lsls r0, 24 @@ -11334,10 +11334,10 @@ _080CFD8C: adds r0, r1 b _080CFDC4 .align 2, 0 -_080CFDAC: .4byte gBattleAnimEnemyMonIndex +_080CFDAC: .4byte gBattleAnimBankTarget _080CFDB0: .4byte 0x0000ffc0 _080CFDB4: - ldr r0, _080CFDF0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080CFDF0 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 lsls r0, 24 @@ -11369,7 +11369,7 @@ _080CFDDC: pop {r0} bx r0 .align 2, 0 -_080CFDF0: .4byte gBattleAnimEnemyMonIndex +_080CFDF0: .4byte gBattleAnimBankTarget _080CFDF4: .4byte gTasks _080CFDF8: .4byte sub_80CFA20 thumb_func_end sub_80CFB04 @@ -11466,7 +11466,7 @@ sub_80CFE9C: @ 80CFE9C adds r5, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r4, _080CFF3C @ =gBattleAnimEnemyMonIndex + ldr r4, _080CFF3C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -11482,7 +11482,7 @@ sub_80CFE9C: @ 80CFE9C adds r0, r1 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, _080CFF44 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CFF44 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11530,15 +11530,15 @@ _080CFEE0: str r0, [r5, 0x1C] ldr r1, _080CFF4C @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 add sp, 0x4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080CFF3C: .4byte gBattleAnimEnemyMonIndex +_080CFF3C: .4byte gBattleAnimBankTarget _080CFF40: .4byte gBattleAnimArgs -_080CFF44: .4byte gBattleAnimPlayerMonIndex +_080CFF44: .4byte gBattleAnimBankAttacker _080CFF48: .4byte sub_8078C00 _080CFF4C: .4byte move_anim_8072740 thumb_func_end sub_80CFE9C @@ -11568,7 +11568,7 @@ sub_80CFF68: @ 80CFF68 lsls r0, 16 asrs r0, 24 strh r0, [r4, 0x24] - ldr r0, _080CFFD4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080CFFD4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11613,7 +11613,7 @@ _080CFFCC: pop {r0} bx r0 .align 2, 0 -_080CFFD4: .4byte gBattleAnimPlayerMonIndex +_080CFFD4: .4byte gBattleAnimBankAttacker thumb_func_end sub_80CFF68 thumb_func_start sub_80CFFD8 @@ -11624,7 +11624,7 @@ sub_80CFFD8: @ 80CFFD8 bl sub_80787B0 movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, _080D0024 @ =gBattleAnimEnemyMonIndex + ldr r5, _080D0024 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -11647,12 +11647,12 @@ sub_80CFFD8: @ 80CFFD8 strb r0, [r2] ldr r1, _080D002C @ =sub_80D0030 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080D0024: .4byte gBattleAnimEnemyMonIndex +_080D0024: .4byte gBattleAnimBankTarget _080D0028: .4byte sub_8078B34 _080D002C: .4byte sub_80D0030 thumb_func_end sub_80CFFD8 @@ -11781,7 +11781,7 @@ sub_80D0118: @ 80D0118 adds r4, r0, 0 movs r1, 0 bl sub_80787B0 - ldr r0, _080D0168 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D0168 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11806,7 +11806,7 @@ _080D0136: str r0, [r4, 0x1C] ldr r1, _080D0174 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, [r4, 0x1C] adds r0, r4, 0 bl _call_via_r1 @@ -11814,7 +11814,7 @@ _080D0136: pop {r0} bx r0 .align 2, 0 -_080D0168: .4byte gBattleAnimPlayerMonIndex +_080D0168: .4byte gBattleAnimBankAttacker _080D016C: .4byte gBattleAnimArgs _080D0170: .4byte sub_8078114 _080D0174: .4byte move_anim_8072740 @@ -11856,7 +11856,7 @@ _080D01A4: strh r0, [r5, 0x22] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, _080D0200 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D0200 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -11875,7 +11875,7 @@ _080D01A4: str r0, [r5, 0x1C] ldr r1, _080D0208 @ =sub_80D020C adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r3} mov r8, r3 pop {r4-r7} @@ -11885,7 +11885,7 @@ _080D01A4: _080D01F4: .4byte 0x0000ffe0 _080D01F8: .4byte 0x0000fff0 _080D01FC: .4byte gBattleAnimArgs -_080D0200: .4byte gBattleAnimEnemyMonIndex +_080D0200: .4byte gBattleAnimBankTarget _080D0204: .4byte sub_8078B34 _080D0208: .4byte sub_80D020C thumb_func_end sub_80D0178 @@ -11949,7 +11949,7 @@ _080D025C: movs r0, 0x6 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, _080D02C8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D02C8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -11984,7 +11984,7 @@ _080D025C: _080D02BC: .4byte 0x0000ffe0 _080D02C0: .4byte 0x0000fff0 _080D02C4: .4byte gBattleAnimArgs -_080D02C8: .4byte gBattleAnimEnemyMonIndex +_080D02C8: .4byte gBattleAnimBankTarget _080D02CC: .4byte sub_80D02D0 thumb_func_end sub_80D0228 @@ -12125,7 +12125,7 @@ sub_80D03C4: @ 80D03C4 lsls r5, 24 lsrs r5, 24 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -12185,7 +12185,7 @@ sub_80D0428: @ 80D0428 cmp r1, r0 bne _080D0478 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -12223,7 +12223,7 @@ sub_80D0488: @ 80D0488 ldr r0, _080D04D4 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -12238,7 +12238,7 @@ sub_80D0488: @ 80D0488 strh r0, [r4, 0x10] strh r5, [r4, 0x12] strh r5, [r4, 0x14] - ldr r0, _080D04D8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D04D8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 lsls r0, 24 @@ -12251,7 +12251,7 @@ sub_80D0488: @ 80D0488 bx r0 .align 2, 0 _080D04D4: .4byte gTasks -_080D04D8: .4byte gBattleAnimPlayerMonIndex +_080D04D8: .4byte gBattleAnimBankAttacker _080D04DC: .4byte sub_80D04E0 thumb_func_end sub_80D0488 @@ -12593,7 +12593,7 @@ _080D0770: .4byte gTasks _080D0774: .4byte gBattleAnimArgs _080D0778: ldrb r0, [r5] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12775,7 +12775,7 @@ sub_80D08C8: @ 80D08C8 ldr r0, _080D08F8 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12821,7 +12821,7 @@ _080D092C: .4byte gTasks sub_80D0930: @ 80D0930 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080D0960 @ =gBattleAnimPlayerMonIndex + ldr r5, _080D0960 @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide lsls r0, 24 @@ -12840,7 +12840,7 @@ sub_80D0930: @ 80D0930 movs r0, 0x40 b _080D097E .align 2, 0 -_080D0960: .4byte gBattleAnimPlayerMonIndex +_080D0960: .4byte gBattleAnimBankAttacker _080D0964: adds r0, r4, 0 movs r1, 0x1 @@ -12855,7 +12855,7 @@ _080D0964: ldr r0, _080D09B0 @ =0x0000ffc0 _080D097E: strh r0, [r4, 0x30] - ldr r0, _080D09B4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D09B4 @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -12870,7 +12870,7 @@ _080D097E: strh r1, [r4, 0x36] ldr r1, _080D09B8 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D09BC @ =sub_8078394 str r0, [r4, 0x1C] pop {r4,r5} @@ -12878,7 +12878,7 @@ _080D097E: bx r0 .align 2, 0 _080D09B0: .4byte 0x0000ffc0 -_080D09B4: .4byte gBattleAnimPlayerMonIndex +_080D09B4: .4byte gBattleAnimBankAttacker _080D09B8: .4byte move_anim_8072740 _080D09BC: .4byte sub_8078394 thumb_func_end sub_80D0930 @@ -12892,13 +12892,13 @@ sub_80D09C0: @ 80D09C0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D09DC - ldr r0, _080D09D8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D09D8 @ =gBattleAnimBankAttacker b _080D09DE .align 2, 0 _080D09D4: .4byte gBattleAnimArgs -_080D09D8: .4byte gBattleAnimPlayerMonIndex +_080D09D8: .4byte gBattleAnimBankAttacker _080D09DC: - ldr r0, _080D0A3C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D0A3C @ =gBattleAnimBankTarget _080D09DE: ldrb r5, [r0] adds r0, r5, 0 @@ -12939,14 +12939,14 @@ _080D09F8: _080D0A2A: ldr r1, _080D0A44 @ =move_anim_8074EE0 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D0A48 @ =sub_80785E4 str r0, [r6, 0x1C] pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080D0A3C: .4byte gBattleAnimEnemyMonIndex +_080D0A3C: .4byte gBattleAnimBankTarget _080D0A40: .4byte gBattleAnimArgs _080D0A44: .4byte move_anim_8074EE0 _080D0A48: .4byte sub_80785E4 @@ -12963,7 +12963,7 @@ sub_80D0A4C: @ 80D0A4C ldr r0, _080D0A80 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -13019,7 +13019,7 @@ sub_80D0AB8: @ 80D0AB8 ldr r0, _080D0B2C @ =gTasks adds r4, r1, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 movs r2, 0 @@ -13050,7 +13050,7 @@ sub_80D0AB8: @ 80D0AB8 strh r2, [r4, 0x18] movs r0, 0x2 strh r0, [r4, 0x1A] - ldr r0, _080D0B34 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D0B34 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -13070,7 +13070,7 @@ _080D0B22: .align 2, 0 _080D0B2C: .4byte gTasks _080D0B30: .4byte gSprites -_080D0B34: .4byte gBattleAnimPlayerMonIndex +_080D0B34: .4byte gBattleAnimBankAttacker _080D0B38: .4byte sub_80D0B3C thumb_func_end sub_80D0AB8 @@ -13260,7 +13260,7 @@ sub_80D0C88: @ 80D0C88 lsls r1, 3 ldr r0, _080D0CD8 @ =gTasks adds r5, r1, r0 - ldr r4, _080D0CDC @ =gBattleAnimEnemyMonIndex + ldr r4, _080D0CDC @ =gBattleAnimBankTarget ldrb r0, [r4] bl sub_8077FC0 lsls r0, 24 @@ -13290,7 +13290,7 @@ sub_80D0C88: @ 80D0C88 b _080D0CF0 .align 2, 0 _080D0CD8: .4byte gTasks -_080D0CDC: .4byte gBattleAnimEnemyMonIndex +_080D0CDC: .4byte gBattleAnimBankTarget _080D0CE0: .4byte gUnknown_030042C0 _080D0CE4: .4byte REG_BG1HOFS _080D0CE8: @@ -13472,7 +13472,7 @@ _080D0E2C: .4byte gUnknown_03004DC0 sub_80D0E30: @ 80D0E30 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080D0E84 @ =gBattleAnimEnemyMonIndex + ldr r6, _080D0E84 @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0 bl sub_8077ABC @@ -13509,7 +13509,7 @@ sub_80D0E30: @ 80D0E30 pop {r0} bx r0 .align 2, 0 -_080D0E84: .4byte gBattleAnimEnemyMonIndex +_080D0E84: .4byte gBattleAnimBankTarget _080D0E88: .4byte sub_80D0E8C thumb_func_end sub_80D0E30 @@ -13709,13 +13709,13 @@ sub_80D0FD8: @ 80D0FD8 adds r1, r0, 0 cmp r2, 0 bne _080D1004 - ldr r0, _080D1000 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D1000 @ =gBattleAnimBankAttacker b _080D1006 .align 2, 0 _080D0FFC: .4byte gBattleAnimArgs -_080D1000: .4byte gBattleAnimPlayerMonIndex +_080D1000: .4byte gBattleAnimBankAttacker _080D1004: - ldr r0, _080D1040 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D1040 @ =gBattleAnimBankTarget _080D1006: ldrb r5, [r0] ldrb r1, [r1, 0x6] @@ -13729,7 +13729,7 @@ _080D1006: movs r1, 0x2 adds r0, r5, 0 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D107E @@ -13744,7 +13744,7 @@ _080D1006: movs r1, 0 b _080D1048 .align 2, 0 -_080D1040: .4byte gBattleAnimEnemyMonIndex +_080D1040: .4byte gBattleAnimBankTarget _080D1044: adds r0, r5, 0 movs r1, 0x2 @@ -13826,18 +13826,18 @@ sub_80D10B8: @ 80D10B8 ldrsh r0, [r0, r2] cmp r0, 0 bne _080D10F0 - ldr r0, _080D10E8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D10E8 @ =gBattleAnimBankAttacker ldrb r7, [r0] - ldr r0, _080D10EC @ =gBattleAnimEnemyMonIndex + ldr r0, _080D10EC @ =gBattleAnimBankTarget b _080D10F6 .align 2, 0 _080D10E4: .4byte gBattleAnimArgs -_080D10E8: .4byte gBattleAnimPlayerMonIndex -_080D10EC: .4byte gBattleAnimEnemyMonIndex +_080D10E8: .4byte gBattleAnimBankAttacker +_080D10EC: .4byte gBattleAnimBankTarget _080D10F0: - ldr r0, _080D1110 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D1110 @ =gBattleAnimBankTarget ldrb r7, [r0] - ldr r0, _080D1114 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D1114 @ =gBattleAnimBankAttacker _080D10F6: ldrb r0, [r0] mov r8, r0 @@ -13852,8 +13852,8 @@ _080D10F6: str r1, [sp, 0x4] b _080D1124 .align 2, 0 -_080D1110: .4byte gBattleAnimEnemyMonIndex -_080D1114: .4byte gBattleAnimPlayerMonIndex +_080D1110: .4byte gBattleAnimBankTarget +_080D1114: .4byte gBattleAnimBankAttacker _080D1118: .4byte gBattleAnimArgs _080D111C: movs r2, 0x2 @@ -13881,7 +13881,7 @@ _080D1124: mov r4, r8 eors r4, r0 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D1170 @@ -13925,7 +13925,7 @@ _080D1180: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D1204 @@ -14002,7 +14002,7 @@ _080D121A: mov r0, r8 movs r1, 0x2 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D127C @@ -14139,7 +14139,7 @@ sub_80D1368: @ 80D1368 adds r4, r0, 0 movs r1, 0 bl sub_80787B0 - ldr r0, _080D139C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D139C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -14161,7 +14161,7 @@ _080D1384: pop {r0} bx r0 .align 2, 0 -_080D139C: .4byte gBattleAnimPlayerMonIndex +_080D139C: .4byte gBattleAnimBankAttacker _080D13A0: .4byte 0x0000ff60 _080D13A4: .4byte gBattleAnimArgs _080D13A8: .4byte sub_80D13AC @@ -14184,7 +14184,7 @@ sub_80D13AC: @ 80D13AC strh r0, [r4, 0x24] subs r2, 0x20 strh r2, [r4, 0x2E] - ldr r0, _080D1418 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D1418 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -14223,7 +14223,7 @@ _080D1410: pop {r0} bx r0 .align 2, 0 -_080D1418: .4byte gBattleAnimPlayerMonIndex +_080D1418: .4byte gBattleAnimBankAttacker _080D141C: .4byte 0x0000ff60 _080D1420: .4byte sub_80D1424 thumb_func_end sub_80D13AC @@ -14449,7 +14449,7 @@ sub_80D15A4: @ 80D15A4 ldr r0, _080D15D4 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -14531,7 +14531,7 @@ sub_80D1638: @ 80D1638 strh r0, [r4, 0xE] movs r0, 0x3 strh r0, [r4, 0x20] - ldr r0, _080D1670 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D1670 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -14543,7 +14543,7 @@ sub_80D1638: @ 80D1638 b _080D167E .align 2, 0 _080D166C: .4byte gTasks -_080D1670: .4byte gBattleAnimEnemyMonIndex +_080D1670: .4byte gBattleAnimBankTarget _080D1674: .4byte 0x0000ffff _080D1678: movs r0, 0x1 @@ -14552,7 +14552,7 @@ _080D1678: _080D167E: strh r0, [r4, 0x24] movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14745,7 +14745,7 @@ sub_80D17C4: @ 80D17C4 movs r0, 0x2 strh r0, [r4, 0x24] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14888,7 +14888,7 @@ sub_80D18D4: @ 80D18D4 strh r0, [r4, 0x16] strh r0, [r4, 0x18] strh r0, [r4, 0x22] - ldr r5, _080D1928 @ =gBattleAnimPlayerMonIndex + ldr r5, _080D1928 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -14908,7 +14908,7 @@ sub_80D18D4: @ 80D18D4 bx r0 .align 2, 0 _080D1924: .4byte gTasks -_080D1928: .4byte gBattleAnimPlayerMonIndex +_080D1928: .4byte gBattleAnimBankAttacker _080D192C: .4byte sub_80D1930 thumb_func_end sub_80D18D4 @@ -15162,7 +15162,7 @@ _080D1AF4: cmp r5, 0x4 ble _080D1AF4 ldr r4, _080D1B3C @ =gBattleAnimSpritePalette_206 - bl IsContest + bl NotInBattle lsls r0, 24 ldr r1, _080D1B40 @ =0x02018000 cmp r0, 0 @@ -15171,11 +15171,11 @@ _080D1AF4: adds r1, r0 _080D1B1C: adds r0, r4, 0 - bl sub_800D238 + bl LZDecompressWram movs r5, 0 _080D1B24: lsls r4, r5, 5 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D1B4C @@ -15293,7 +15293,7 @@ sub_80D1C08: @ 80D1C08 adds r5, r0, 0 movs r1, 0 bl sub_80787B0 - ldr r6, _080D1C70 @ =gBattleAnimPlayerMonIndex + ldr r6, _080D1C70 @ =gBattleAnimBankAttacker ldrb r0, [r6] bl GetBankSide lsls r0, 24 @@ -15327,7 +15327,7 @@ _080D1C28: str r0, [r5, 0x1C] ldr r1, _080D1C7C @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldrb r1, [r4, 0xA] ldrb r2, [r4, 0xC] adds r0, r5, 0 @@ -15336,7 +15336,7 @@ _080D1C28: pop {r0} bx r0 .align 2, 0 -_080D1C70: .4byte gBattleAnimPlayerMonIndex +_080D1C70: .4byte gBattleAnimBankAttacker _080D1C74: .4byte gBattleAnimArgs _080D1C78: .4byte sub_8078B34 _080D1C7C: .4byte move_anim_8072740 @@ -15390,7 +15390,7 @@ sub_80D1CD0: @ 80D1CD0 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 movs r2, 0xF0 cmp r0, 0 @@ -15569,7 +15569,7 @@ sub_80D1E38: @ 80D1E38 lsrs r0, 24 adds r6, r0, 0 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080D1E88 @ =gTasks @@ -15585,7 +15585,7 @@ sub_80D1E38: @ 80D1E38 cmp r0, 0x1 bne _080D1E94 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -15638,7 +15638,7 @@ sub_80D1EC8: @ 80D1EC8 lsrs r0, 24 adds r6, r0, 0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080D1F18 @ =gTasks @@ -15654,7 +15654,7 @@ sub_80D1EC8: @ 80D1EC8 cmp r0, 0x1 bne _080D1F24 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -15710,7 +15710,7 @@ sub_80D1F58: @ 80D1F58 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, _080D1F9C @ =gBattleAnimEnemyMonIndex + ldr r5, _080D1F9C @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -15733,7 +15733,7 @@ sub_80D1F58: @ 80D1F58 pop {r0} bx r0 .align 2, 0 -_080D1F9C: .4byte gBattleAnimEnemyMonIndex +_080D1F9C: .4byte gBattleAnimBankTarget _080D1FA0: .4byte sub_80D1FA4 thumb_func_end sub_80D1F58 @@ -15853,7 +15853,7 @@ sub_80D2064: @ 80D2064 ldr r1, _080D208C @ =sub_80782D8 str r1, [r0, 0x1C] ldr r1, _080D2090 @ =sub_80D2094 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -15943,7 +15943,7 @@ sub_80D2100: @ 80D2100 movs r0, 0x3F ands r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D2144 @@ -15987,7 +15987,7 @@ _080D2144: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D21A4 @@ -16200,7 +16200,7 @@ _080D230E: ldr r1, _080D23A4 @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D235C @@ -16280,7 +16280,7 @@ sub_80D23B4: @ 80D23B4 movs r0, 0x3F ands r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D23FE @@ -16313,7 +16313,7 @@ _080D23FE: ldr r0, _080D2454 @ =0x85000400 str r0, [r1, 0x8] ldr r0, [r1, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D245C @@ -16330,7 +16330,7 @@ _080D2450: .4byte 0x040000d4 _080D2454: .4byte 0x85000400 _080D2458: .4byte gBattleAnimBackgroundTilemap_ScaryFaceContest _080D245C: - ldr r0, _080D2478 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D2478 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -16343,7 +16343,7 @@ _080D246E: bl LZDecompressVram b _080D2488 .align 2, 0 -_080D2478: .4byte gBattleAnimEnemyMonIndex +_080D2478: .4byte gBattleAnimBankTarget _080D247C: .4byte gBattleAnimBackgroundTilemap_ScaryFacePlayer _080D2480: ldr r0, _080D24CC @ =gBattleAnimBackgroundTilemap_ScaryFaceOpponent @@ -16359,7 +16359,7 @@ _080D2488: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D24B6 @@ -16564,7 +16564,7 @@ _080D25FE: ldr r1, _080D2694 @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D264C @@ -16621,7 +16621,7 @@ _080D26A0: .4byte REG_BLDCNT sub_80D26A4: @ 80D26A4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080D26F8 @ =gBattleAnimPlayerMonIndex + ldr r5, _080D26F8 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -16658,7 +16658,7 @@ sub_80D26A4: @ 80D26A4 pop {r0} bx r0 .align 2, 0 -_080D26F8: .4byte gBattleAnimPlayerMonIndex +_080D26F8: .4byte gBattleAnimBankAttacker _080D26FC: .4byte gBattleAnimArgs _080D2700: .4byte sub_80D2704 thumb_func_end sub_80D26A4 @@ -16779,7 +16779,7 @@ _080D27DC: .4byte 0x0000ffff sub_80D27E0: @ 80D27E0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080D2828 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D2828 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -16809,7 +16809,7 @@ sub_80D27E0: @ 80D27E0 pop {r0} bx r0 .align 2, 0 -_080D2828: .4byte gBattleAnimPlayerMonIndex +_080D2828: .4byte gBattleAnimBankAttacker _080D282C: .4byte gBattleAnimArgs _080D2830: .4byte sub_80D2834 thumb_func_end sub_80D27E0 @@ -16887,7 +16887,7 @@ _080D28A8: sub_80D28AC: @ 80D28AC push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080D28F8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D28F8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -16919,7 +16919,7 @@ sub_80D28AC: @ 80D28AC pop {r0} bx r0 .align 2, 0 -_080D28F8: .4byte gBattleAnimPlayerMonIndex +_080D28F8: .4byte gBattleAnimBankAttacker _080D28FC: .4byte gBattleAnimArgs _080D2900: .4byte sub_80D287C thumb_func_end sub_80D28AC @@ -17179,7 +17179,7 @@ sub_80D2ABC: @ 80D2ABC adds r0, r4, 0 movs r1, 0 bl StartSpriteAnim - ldr r0, _080D2BBC @ =gBattleAnimEnemyMonIndex + ldr r0, _080D2BBC @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079E90 subs r0, 0x1 @@ -17291,7 +17291,7 @@ _080D2B80: b _080D2BD2 .align 2, 0 _080D2BB8: .4byte gBattleAnimArgs -_080D2BBC: .4byte gBattleAnimEnemyMonIndex +_080D2BBC: .4byte gBattleAnimBankTarget _080D2BC0: .4byte 0x0000ffff _080D2BC4: adds r2, r4, 0 @@ -17375,12 +17375,12 @@ _080D2C54: ldrsh r0, [r1, r2] cmp r0, 0 bne _080D2C64 - ldr r4, _080D2C60 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D2C60 @ =gBattleAnimBankAttacker b _080D2C66 .align 2, 0 -_080D2C60: .4byte gBattleAnimPlayerMonIndex +_080D2C60: .4byte gBattleAnimBankAttacker _080D2C64: - ldr r4, _080D2C94 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D2C94 @ =gBattleAnimBankTarget _080D2C66: ldrb r0, [r4] movs r1, 0x2 @@ -17404,7 +17404,7 @@ _080D2C66: adds r0, 0x20 b _080D2CA0 .align 2, 0 -_080D2C94: .4byte gBattleAnimEnemyMonIndex +_080D2C94: .4byte gBattleAnimBankTarget _080D2C98: .4byte gBattleAnimArgs _080D2C9C: ldrh r0, [r5, 0x20] @@ -17467,7 +17467,7 @@ sub_80D2CF8: @ 80D2CF8 lsrs r5, 24 ldr r0, _080D2D2C @ =gBattleAnimArgs ldrb r0, [r0] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -17524,13 +17524,13 @@ sub_80D2D68: @ 80D2D68 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D2D84 - ldr r0, _080D2D80 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D2D80 @ =gBattleAnimBankAttacker b _080D2D86 .align 2, 0 _080D2D7C: .4byte gBattleAnimArgs -_080D2D80: .4byte gBattleAnimPlayerMonIndex +_080D2D80: .4byte gBattleAnimBankAttacker _080D2D84: - ldr r0, _080D2E1C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D2E1C @ =gBattleAnimBankTarget _080D2D86: ldrb r6, [r0] adds r0, r6, 0 @@ -17607,7 +17607,7 @@ _080D2DF0: pop {r0} bx r0 .align 2, 0 -_080D2E1C: .4byte gBattleAnimEnemyMonIndex +_080D2E1C: .4byte gBattleAnimBankTarget _080D2E20: .4byte gBattleAnimArgs _080D2E24: .4byte 0x000003ff _080D2E28: .4byte 0xfffffc00 @@ -17882,11 +17882,11 @@ sub_80D3014: @ 80D3014 ands r0, r1 cmp r0, 0 beq _080D3060 - ldr r4, _080D305C @ =gBattleAnimPlayerMonIndex + ldr r4, _080D305C @ =gBattleAnimBankAttacker ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D3060 @@ -17906,9 +17906,9 @@ sub_80D3014: @ 80D3014 b _080D3080 .align 2, 0 _080D3058: .4byte gBattleTypeFlags -_080D305C: .4byte gBattleAnimPlayerMonIndex +_080D305C: .4byte gBattleAnimBankAttacker _080D3060: - ldr r4, _080D30A0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D30A0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -17934,12 +17934,12 @@ _080D3080: str r0, [r5, 0x1C] ldr r1, _080D30A8 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080D30A0: .4byte gBattleAnimPlayerMonIndex +_080D30A0: .4byte gBattleAnimBankAttacker _080D30A4: .4byte sub_8078B34 _080D30A8: .4byte move_anim_8072740 thumb_func_end sub_80D3014 @@ -18099,7 +18099,7 @@ _080D31C2: sub_80D31C8: @ 80D31C8 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, _080D31F0 @ =gBattleAnimPlayerMonIndex + ldr r5, _080D31F0 @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide lsls r0, 24 @@ -18115,7 +18115,7 @@ sub_80D31C8: @ 80D31C8 subs r0, r1 b _080D320A .align 2, 0 -_080D31F0: .4byte gBattleAnimPlayerMonIndex +_080D31F0: .4byte gBattleAnimBankAttacker _080D31F4: .4byte gBattleAnimArgs _080D31F8: ldrb r0, [r5] @@ -18142,7 +18142,7 @@ _080D320A: movs r1, 0x40 orrs r0, r1 strb r0, [r2] - ldr r0, _080D32D4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D32D4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -18158,7 +18158,7 @@ _080D3240: strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r4, _080D32D8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D32D8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -18220,8 +18220,8 @@ _080D3240: bx r0 .align 2, 0 _080D32D0: .4byte gBattleAnimArgs -_080D32D4: .4byte gBattleAnimPlayerMonIndex -_080D32D8: .4byte gBattleAnimEnemyMonIndex +_080D32D4: .4byte gBattleAnimBankAttacker +_080D32D8: .4byte gBattleAnimBankTarget _080D32DC: .4byte SpriteCallbackDummy _080D32E0: .4byte gSprites _080D32E4: .4byte sub_80D32E8 @@ -18309,7 +18309,7 @@ sub_80D3370: @ 80D3370 ldr r1, _080D3390 @ =sub_8078600 str r1, [r0, 0x1C] ldr r1, _080D3394 @ =sub_80D3398 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -18325,7 +18325,7 @@ sub_80D3398: @ 80D3398 ldr r1, _080D33AC @ =sub_80782D8 str r1, [r0, 0x1C] ldr r1, _080D33B0 @ =move_anim_8074EE0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -18339,7 +18339,7 @@ sub_80D33B4: @ 80D33B4 adds r5, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080D33DC @ =gBattleAnimPlayerMonIndex + ldr r0, _080D33DC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -18353,7 +18353,7 @@ sub_80D33B4: @ 80D33B4 adds r7, r1, 0 b _080D33EA .align 2, 0 -_080D33DC: .4byte gBattleAnimPlayerMonIndex +_080D33DC: .4byte gBattleAnimBankAttacker _080D33E0: .4byte gBattleAnimArgs _080D33E4: ldr r0, _080D3440 @ =gBattleAnimArgs @@ -18364,7 +18364,7 @@ _080D33EA: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080D3444 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D3444 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -18400,7 +18400,7 @@ _080D33EA: bx r0 .align 2, 0 _080D3440: .4byte gBattleAnimArgs -_080D3444: .4byte gBattleAnimEnemyMonIndex +_080D3444: .4byte gBattleAnimBankTarget _080D3448: .4byte sub_80D344C thumb_func_end sub_80D33B4 @@ -18551,7 +18551,7 @@ sub_80D3554: @ 80D3554 strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080D35BC @ =gBattleAnimEnemyMonIndex + ldr r4, _080D35BC @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -18590,7 +18590,7 @@ sub_80D3554: @ 80D3554 strh r0, [r5, 0x3C] b _080D35C8 .align 2, 0 -_080D35BC: .4byte gBattleAnimEnemyMonIndex +_080D35BC: .4byte gBattleAnimBankTarget _080D35C0: .4byte gBattleAnimArgs _080D35C4: lsls r0, r1, 8 @@ -18711,7 +18711,7 @@ _080D3694: .4byte gTasks sub_80D3698: @ 80D3698 push {r4-r7,lr} adds r4, r0, 0 - ldr r7, _080D36E4 @ =gBattleAnimPlayerMonIndex + ldr r7, _080D36E4 @ =gBattleAnimBankAttacker ldrb r0, [r7] movs r1, 0 bl sub_8077ABC @@ -18730,7 +18730,7 @@ sub_80D3698: @ 80D3698 bl sub_8079E90 lsls r0, 24 lsrs r5, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D36F2 @@ -18743,7 +18743,7 @@ sub_80D3698: @ 80D3698 strh r0, [r4, 0x24] b _080D36F4 .align 2, 0 -_080D36E4: .4byte gBattleAnimPlayerMonIndex +_080D36E4: .4byte gBattleAnimBankAttacker _080D36E8: .4byte 0x0000fff6 _080D36EC: strh r6, [r4, 0x24] @@ -18787,11 +18787,11 @@ _080D3722: sub_80D3728: @ 80D3728 push {r4-r7,lr} adds r6, r0, 0 - ldr r5, _080D37E8 @ =gBattleAnimPlayerMonIndex + ldr r5, _080D37E8 @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide adds r4, r0, 0 - ldr r0, _080D37EC @ =gBattleAnimEnemyMonIndex + ldr r0, _080D37EC @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r4, 24 @@ -18839,7 +18839,7 @@ _080D3786: _080D3790: adds r0, r6, 0 bl sub_80787B0 - ldr r0, _080D37E8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D37E8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -18851,7 +18851,7 @@ _080D3790: _080D37AA: ldrh r0, [r5, 0x8] strh r0, [r6, 0x2E] - ldr r4, _080D37EC @ =gBattleAnimEnemyMonIndex + ldr r4, _080D37EC @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -18872,13 +18872,13 @@ _080D37AA: str r0, [r6, 0x1C] ldr r1, _080D37F8 @ =move_anim_8072740 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080D37E8: .4byte gBattleAnimPlayerMonIndex -_080D37EC: .4byte gBattleAnimEnemyMonIndex +_080D37E8: .4byte gBattleAnimBankAttacker +_080D37EC: .4byte gBattleAnimBankTarget _080D37F0: .4byte gBattleAnimArgs _080D37F4: .4byte sub_8078B34 _080D37F8: .4byte move_anim_8072740 @@ -18904,7 +18904,7 @@ sub_80D37FC: @ 80D37FC str r0, [r4, 0x1C] ldr r1, _080D3834 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -19068,7 +19068,7 @@ _080D3920: ldr r1, _080D399C @ =0x85000400 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D39B8 @@ -19080,7 +19080,7 @@ _080D3920: movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, _080D39A0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D39A0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -19095,7 +19095,7 @@ _080D3990: .4byte 0x00003f42 _080D3994: .4byte REG_BG1CNT _080D3998: .4byte 0x040000d4 _080D399C: .4byte 0x85000400 -_080D39A0: .4byte gBattleAnimPlayerMonIndex +_080D39A0: .4byte gBattleAnimBankAttacker _080D39A4: .4byte gUnknown_08E70968 _080D39A8: ldr r0, _080D39B4 @ =gUnknown_08E70C38 @@ -19174,7 +19174,7 @@ _080D3A0E: lsls r0, 5 strh r0, [r7, 0xA] strh r0, [r7, 0xC] - bl IsContest + bl NotInBattle lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -19203,7 +19203,7 @@ _080D3A88: .4byte gUnknown_030042C0 _080D3A8C: .4byte 0x0000ffd0 _080D3A90: .4byte gUnknown_030041B4 _080D3A94: - ldr r0, _080D3AC4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D3AC4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -19226,7 +19226,7 @@ _080D3A94: strh r1, [r7, 0xE] b _080D3AEE .align 2, 0 -_080D3AC4: .4byte gBattleAnimPlayerMonIndex +_080D3AC4: .4byte gBattleAnimBankAttacker _080D3AC8: .4byte 0x0000ff20 _080D3ACC: .4byte gUnknown_030042C0 _080D3AD0: .4byte gUnknown_030041B4 @@ -19502,7 +19502,7 @@ _080D3CAA: ldr r1, _080D3D58 @ =0x85000400 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D3D02 @@ -20048,7 +20048,7 @@ sub_80D40F4: @ 80D40F4 ldr r0, _080D4144 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -20374,7 +20374,7 @@ _080D438A: thumb_func_start sub_80D4394 sub_80D4394: @ 80D4394 push {r4,r5,lr} - ldr r4, _080D43B8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D43B8 @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -20390,7 +20390,7 @@ sub_80D4394: @ 80D4394 ldr r0, _080D43C0 @ =gPlayerParty b _080D43D8 .align 2, 0 -_080D43B8: .4byte gBattleAnimPlayerMonIndex +_080D43B8: .4byte gBattleAnimBankAttacker _080D43BC: .4byte gBattlePartyID _080D43C0: .4byte gPlayerParty _080D43C4: @@ -20451,7 +20451,7 @@ sub_80D4418: @ 80D4418 lsls r1, 24 lsrs r1, 24 str r1, [sp] - ldr r4, _080D4520 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D4520 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -20571,7 +20571,7 @@ _080D44EA: pop {r0} bx r0 .align 2, 0 -_080D4520: .4byte gBattleAnimPlayerMonIndex +_080D4520: .4byte gBattleAnimBankAttacker _080D4524: .4byte gSpriteTemplate_83D9378 _080D4528: .4byte gSprites thumb_func_end sub_80D4418 @@ -20681,7 +20681,7 @@ sub_80D45D8: @ 80D45D8 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xA] - ldr r0, _080D460C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D460C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -20693,7 +20693,7 @@ sub_80D45D8: @ 80D45D8 b _080D4616 .align 2, 0 _080D4608: .4byte gTasks -_080D460C: .4byte gBattleAnimPlayerMonIndex +_080D460C: .4byte gBattleAnimBankAttacker _080D4610: movs r0, 0x10 strh r0, [r4, 0x10] @@ -21079,7 +21079,7 @@ sub_80D48F4: @ 80D48F4 lsls r1, 3 ldr r0, _080D4978 @ =gTasks adds r5, r1, r0 - ldr r4, _080D497C @ =gBattleAnimPlayerMonIndex + ldr r4, _080D497C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -21104,7 +21104,7 @@ sub_80D48F4: @ 80D48F4 movs r1, 0x1 _080D4938: strh r1, [r5, 0x16] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D494C @@ -21136,7 +21136,7 @@ _080D494C: bx r0 .align 2, 0 _080D4978: .4byte gTasks -_080D497C: .4byte gBattleAnimPlayerMonIndex +_080D497C: .4byte gBattleAnimBankAttacker _080D4980: .4byte 0x0000ffe0 _080D4984: .4byte sub_80D4988 thumb_func_end sub_80D48F4 @@ -21556,7 +21556,7 @@ sub_80D4CA4: @ 80D4CA4 adds r4, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r5, _080D4CE0 @ =gBattleAnimEnemyMonIndex + ldr r5, _080D4CE0 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -21580,7 +21580,7 @@ sub_80D4CA4: @ 80D4CA4 pop {r0} bx r0 .align 2, 0 -_080D4CE0: .4byte gBattleAnimEnemyMonIndex +_080D4CE0: .4byte gBattleAnimBankTarget _080D4CE4: .4byte gBattleAnimArgs _080D4CE8: .4byte sub_80D4CEC thumb_func_end sub_80D4CA4 @@ -21734,7 +21734,7 @@ _080D4DF2: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, _080D4E3C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D4E3C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 subs r0, 0x1 @@ -21750,7 +21750,7 @@ _080D4DF2: .align 2, 0 _080D4E34: .4byte gSpriteTemplate_83D9420 _080D4E38: .4byte gSprites -_080D4E3C: .4byte gBattleAnimPlayerMonIndex +_080D4E3C: .4byte gBattleAnimBankAttacker _080D4E40: strh r7, [r4, 0x32] _080D4E42: @@ -21792,7 +21792,7 @@ _080D4E68: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, _080D4EB4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D4EB4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 subs r0, 0x1 @@ -21808,7 +21808,7 @@ _080D4E68: .align 2, 0 _080D4EAC: .4byte gSpriteTemplate_83D9420 _080D4EB0: .4byte gSprites -_080D4EB4: .4byte gBattleAnimPlayerMonIndex +_080D4EB4: .4byte gBattleAnimBankAttacker _080D4EB8: strh r7, [r4, 0x32] _080D4EBA: @@ -21847,7 +21847,7 @@ sub_80D4ED8: @ 80D4ED8 strh r0, [r4, 0x36] ldr r1, _080D4F10 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _080D4F14 @ =sub_8078174 str r1, [r4, 0x1C] adds r0, r4, 0 @@ -21884,7 +21884,7 @@ sub_80D4F18: @ 80D4F18 str r0, [r4, 0x1C] ldr r1, _080D4F58 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -21899,7 +21899,7 @@ sub_80D4F5C: @ 80D4F5C push {r4,lr} adds r4, r0, 0 bl sub_8078650 - ldr r0, _080D4F90 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D4F90 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -21920,7 +21920,7 @@ sub_80D4F5C: @ 80D4F5C adds r1, r2, 0 b _080D4FAE .align 2, 0 -_080D4F90: .4byte gBattleAnimPlayerMonIndex +_080D4F90: .4byte gBattleAnimBankAttacker _080D4F94: .4byte gBattleAnimArgs _080D4F98: ldr r1, _080D4FC4 @ =gBattleAnimArgs @@ -21955,7 +21955,7 @@ _080D4FC8: .4byte sub_80D5038 sub_80D4FCC: @ 80D4FCC push {r4,lr} adds r4, r0, 0 - ldr r0, _080D4FF8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D4FF8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -21975,7 +21975,7 @@ sub_80D4FCC: @ 80D4FCC adds r1, r2, 0 b _080D5018 .align 2, 0 -_080D4FF8: .4byte gBattleAnimPlayerMonIndex +_080D4FF8: .4byte gBattleAnimBankAttacker _080D4FFC: .4byte gBattleAnimArgs _080D5000: ldr r1, _080D5030 @ =gBattleAnimArgs @@ -22047,7 +22047,7 @@ sub_80D5074: @ 80D5074 push {r4,lr} adds r4, r0, 0 bl sub_8078650 - ldr r0, _080D5098 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D5098 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -22060,7 +22060,7 @@ sub_80D5074: @ 80D5074 strh r1, [r4, 0x20] b _080D50B2 .align 2, 0 -_080D5098: .4byte gBattleAnimPlayerMonIndex +_080D5098: .4byte gBattleAnimBankAttacker _080D509C: .4byte gBattleAnimArgs _080D50A0: ldr r0, _080D50E0 @ =gBattleAnimArgs @@ -22194,7 +22194,7 @@ sub_80D517C: @ 80D517C ldr r1, _080D51A0 @ =sub_8078B34 str r1, [r0, 0x1C] ldr r1, _080D51A4 @ =move_anim_8072740 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -22206,11 +22206,11 @@ _080D51A4: .4byte move_anim_8072740 sub_80D51A8: @ 80D51A8 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, _080D5200 @ =gBattleAnimPlayerMonIndex + ldr r5, _080D5200 @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide adds r4, r0, 0 - ldr r0, _080D5204 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D5204 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r4, 24 @@ -22245,8 +22245,8 @@ _080D51EE: pop {r0} bx r0 .align 2, 0 -_080D5200: .4byte gBattleAnimPlayerMonIndex -_080D5204: .4byte gBattleAnimEnemyMonIndex +_080D5200: .4byte gBattleAnimBankAttacker +_080D5204: .4byte gBattleAnimBankTarget _080D5208: .4byte gBattleAnimArgs _080D520C: .4byte sub_8079534 thumb_func_end sub_80D51A8 @@ -22305,7 +22305,7 @@ sub_80D5254: @ 80D5254 strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080D52A4 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D52A4 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -22329,7 +22329,7 @@ _080D529E: pop {r0} bx r0 .align 2, 0 -_080D52A4: .4byte gBattleAnimEnemyMonIndex +_080D52A4: .4byte gBattleAnimBankTarget _080D52A8: .4byte sub_80D52AC thumb_func_end sub_80D5254 @@ -22343,7 +22343,7 @@ sub_80D52AC: @ 80D52AC beq _080D52F4 movs r4, 0 strh r4, [r6, 0x2E] - ldr r5, _080D52EC @ =gBattleAnimEnemyMonIndex + ldr r5, _080D52EC @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -22364,7 +22364,7 @@ sub_80D52AC: @ 80D52AC bl _call_via_r1 b _080D531E .align 2, 0 -_080D52EC: .4byte gBattleAnimEnemyMonIndex +_080D52EC: .4byte gBattleAnimBankTarget _080D52F0: .4byte sub_80D5324 _080D52F4: movs r1, 0x3C @@ -22457,7 +22457,7 @@ sub_80D5374: @ 80D5374 strh r0, [r4, 0x32] ldr r1, _080D53AC @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D53B0 @ =sub_8078364 str r0, [r4, 0x1C] pop {r4} @@ -22490,7 +22490,7 @@ sub_80D53B4: @ 80D53B4 str r0, [r4, 0x1C] ldr r1, _080D53F0 @ =sub_80D53F4 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -22577,7 +22577,7 @@ sub_80D5470: @ 80D5470 ldr r0, _080D54D0 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -22595,7 +22595,7 @@ sub_80D5470: @ 80D5470 adds r0, r2 ldrh r0, [r0, 0x22] strh r0, [r4, 0x10] - ldr r0, _080D54D8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D54D8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -22615,7 +22615,7 @@ sub_80D5470: @ 80D5470 .align 2, 0 _080D54D0: .4byte gTasks _080D54D4: .4byte gSprites -_080D54D8: .4byte gBattleAnimPlayerMonIndex +_080D54D8: .4byte gBattleAnimBankAttacker _080D54DC: .4byte sub_80D54E0 thumb_func_end sub_80D5470 @@ -23021,7 +23021,7 @@ sub_80D57C4: @ 80D57C4 lsls r0, 2 adds r0, r1 ldrh r4, [r0, 0x20] - ldr r0, _080D5818 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D5818 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -23035,7 +23035,7 @@ sub_80D57C4: @ 80D57C4 b _080D5826 .align 2, 0 _080D5814: .4byte gSprites -_080D5818: .4byte gBattleAnimPlayerMonIndex +_080D5818: .4byte gBattleAnimBankAttacker _080D581C: adds r0, r4, 0 adds r0, 0x10 @@ -23203,7 +23203,7 @@ sub_80D5940: @ 80D5940 adds r0, r2 lsls r0, 16 lsrs r4, r0, 16 - ldr r0, _080D597C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D597C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -23215,7 +23215,7 @@ sub_80D5940: @ 80D5940 b _080D5986 .align 2, 0 _080D5978: .4byte gSprites -_080D597C: .4byte gBattleAnimPlayerMonIndex +_080D597C: .4byte gBattleAnimBankAttacker _080D5980: lsls r0, r4, 16 movs r1, 0xB0 @@ -23466,7 +23466,7 @@ _080D5B28: bl StartSpriteAnim ldrh r0, [r4, 0x4] strh r0, [r5, 0x3C] - ldr r0, _080D5B54 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D5B54 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -23476,12 +23476,12 @@ _080D5B28: b _080D5B5A .align 2, 0 _080D5B50: .4byte gBattleAnimArgs -_080D5B54: .4byte gBattleAnimPlayerMonIndex +_080D5B54: .4byte gBattleAnimBankAttacker _080D5B58: ldr r0, _080D5B78 @ =0x0000fffc _080D5B5A: strh r0, [r5, 0x36] - ldr r0, _080D5B7C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D5B7C @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -23496,12 +23496,12 @@ _080D5B5A: b _080D5BD6 .align 2, 0 _080D5B78: .4byte 0x0000fffc -_080D5B7C: .4byte gBattleAnimEnemyMonIndex +_080D5B7C: .4byte gBattleAnimBankTarget _080D5B80: ldrh r0, [r5, 0x30] adds r0, 0xC0 strh r0, [r5, 0x30] - ldr r0, _080D5BA0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D5BA0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -23513,7 +23513,7 @@ _080D5B80: negs r0, r0 b _080D5BAA .align 2, 0 -_080D5BA0: .4byte gBattleAnimPlayerMonIndex +_080D5BA0: .4byte gBattleAnimBankAttacker _080D5BA4: ldrh r0, [r5, 0x30] lsls r0, 16 @@ -23579,7 +23579,7 @@ _080D5BDE: lsls r0, 1 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, _080D5C54 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D5C54 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -23603,7 +23603,7 @@ _080D5C4E: pop {r0} bx r0 .align 2, 0 -_080D5C54: .4byte gBattleAnimEnemyMonIndex +_080D5C54: .4byte gBattleAnimBankTarget _080D5C58: .4byte sub_80D5C5C thumb_func_end sub_80D5B0C @@ -23715,7 +23715,7 @@ _080D5CD8: lsrs r0, 16 cmp r0, 0x83 bls _080D5D5C - ldr r0, _080D5D58 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D5D58 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -23732,9 +23732,9 @@ _080D5CD8: _080D5D4C: .4byte gBattleAnimArgs _080D5D50: .4byte gMain _080D5D54: .4byte 0x0000043d -_080D5D58: .4byte gBattleAnimEnemyMonIndex +_080D5D58: .4byte gBattleAnimBankTarget _080D5D5C: - ldr r0, _080D5D80 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D5D80 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 lsls r0, 24 @@ -23751,7 +23751,7 @@ _080D5D5C: strb r1, [r4, 0x5] b _080D5DA0 .align 2, 0 -_080D5D80: .4byte gBattleAnimEnemyMonIndex +_080D5D80: .4byte gBattleAnimBankTarget _080D5D84: adds r0, r2, 0 subs r0, 0x40 @@ -23813,7 +23813,7 @@ sub_80D5DDC: @ 80D5DDC lsls r1, 3 ldr r0, _080D5E3C @ =gTasks adds r4, r1, r0 - ldr r0, _080D5E40 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D5E40 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -23825,22 +23825,22 @@ sub_80D5DDC: @ 80D5DDC movs r1, 0x1 _080D5E02: strh r1, [r4, 0x20] - ldr r0, _080D5E44 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D5E44 @ =gBattleAnimBankTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 lsrs r0, 24 adds r0, 0x1 strh r0, [r4, 0x22] movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] movs r0, 0x3 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -23851,8 +23851,8 @@ _080D5E02: bx r0 .align 2, 0 _080D5E3C: .4byte gTasks -_080D5E40: .4byte gBattleAnimPlayerMonIndex -_080D5E44: .4byte gBattleAnimEnemyMonIndex +_080D5E40: .4byte gBattleAnimBankAttacker +_080D5E44: .4byte gBattleAnimBankTarget _080D5E48: .4byte sub_80D5E4C thumb_func_end sub_80D5DDC @@ -24222,7 +24222,7 @@ _080D60EA: adds r0, 0x1 strh r0, [r2, 0x8] ldr r1, _080D6114 @ =gObjectBankIDs - ldr r0, _080D6118 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D6118 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] @@ -24238,7 +24238,7 @@ _080D60EA: _080D610C: .4byte gTasks _080D6110: .4byte gBattleAnimArgs _080D6114: .4byte gObjectBankIDs -_080D6118: .4byte gBattleAnimEnemyMonIndex +_080D6118: .4byte gBattleAnimBankTarget _080D611C: .4byte gUnknown_083D9794 _080D6120: ldr r4, _080D616C @ =gUnknown_083D97A4 @@ -24331,7 +24331,7 @@ _080D61C4: .4byte gSprites sub_80D61C8: @ 80D61C8 push {r4,lr} adds r4, r0, 0 - ldr r0, _080D61E8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D61E8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -24344,7 +24344,7 @@ sub_80D61C8: @ 80D61C8 strh r1, [r4, 0x20] b _080D61FC .align 2, 0 -_080D61E8: .4byte gBattleAnimPlayerMonIndex +_080D61E8: .4byte gBattleAnimBankAttacker _080D61EC: .4byte gBattleAnimArgs _080D61F0: ldr r1, _080D6210 @ =gBattleAnimArgs @@ -24389,7 +24389,7 @@ _080D622E: sub_80D6234: @ 80D6234 push {r4,lr} adds r4, r0, 0 - ldr r0, _080D6254 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D6254 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -24402,7 +24402,7 @@ sub_80D6234: @ 80D6234 strh r1, [r4, 0x20] b _080D6266 .align 2, 0 -_080D6254: .4byte gBattleAnimPlayerMonIndex +_080D6254: .4byte gBattleAnimBankAttacker _080D6258: .4byte gBattleAnimArgs _080D625C: ldr r0, _080D6270 @ =gBattleAnimArgs @@ -24442,7 +24442,7 @@ _080D628E: sub_80D6294: @ 80D6294 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080D62D8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D62D8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -24455,7 +24455,7 @@ sub_80D6294: @ 80D6294 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080D62DC @ =gBattleAnimPlayerMonIndex + ldr r0, _080D62DC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -24472,8 +24472,8 @@ sub_80D6294: @ 80D6294 strh r0, [r5, 0x22] b _080D62F8 .align 2, 0 -_080D62D8: .4byte gBattleAnimEnemyMonIndex -_080D62DC: .4byte gBattleAnimPlayerMonIndex +_080D62D8: .4byte gBattleAnimBankTarget +_080D62DC: .4byte gBattleAnimBankAttacker _080D62E0: .4byte gBattleAnimArgs _080D62E4: ldr r0, _080D631C @ =gBattleAnimArgs @@ -24497,7 +24497,7 @@ _080D62F8: strh r0, [r5, 0x34] ldr r1, _080D6320 @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D6324 @ =sub_8078114 str r0, [r5, 0x1C] pop {r4,r5} @@ -24532,46 +24532,46 @@ _080D6344: beq _080D637C b _080D63A0 _080D634E: - ldr r0, _080D6354 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D6354 @ =gBattleAnimBankAttacker b _080D63A2 .align 2, 0 -_080D6354: .4byte gBattleAnimPlayerMonIndex +_080D6354: .4byte gBattleAnimBankAttacker _080D6358: - ldr r4, _080D6370 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D6370 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r6, 0x2 eors r0, r6 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 bne _080D6374 ldrb r4, [r4] b _080D63A4 .align 2, 0 -_080D6370: .4byte gBattleAnimPlayerMonIndex +_080D6370: .4byte gBattleAnimBankAttacker _080D6374: ldrb r0, [r4] adds r4, r6, 0 eors r4, r0 b _080D63A4 _080D637C: - ldr r0, _080D6398 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D6398 @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r4, 0x2 eors r0, r4 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D63A0 - ldr r0, _080D639C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D639C @ =gBattleAnimBankTarget ldrb r0, [r0] eors r4, r0 b _080D63A4 .align 2, 0 -_080D6398: .4byte gBattleAnimPlayerMonIndex -_080D639C: .4byte gBattleAnimEnemyMonIndex +_080D6398: .4byte gBattleAnimBankAttacker +_080D639C: .4byte gBattleAnimBankTarget _080D63A0: - ldr r0, _080D63C4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D63C4 @ =gBattleAnimBankTarget _080D63A2: ldrb r4, [r0] _080D63A4: @@ -24590,7 +24590,7 @@ _080D63A4: movs r1, 0x1 b _080D63DE .align 2, 0 -_080D63C4: .4byte gBattleAnimEnemyMonIndex +_080D63C4: .4byte gBattleAnimBankTarget _080D63C8: .4byte gBattleAnimArgs _080D63CC: adds r0, r4, 0 @@ -24698,7 +24698,7 @@ sub_80D648C: @ 80D648C strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r6, _080D6504 @ =gBattleAnimEnemyMonIndex + ldr r6, _080D6504 @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -24744,7 +24744,7 @@ sub_80D648C: @ 80D648C bx r0 .align 2, 0 _080D6500: .4byte gBattleAnimArgs -_080D6504: .4byte gBattleAnimEnemyMonIndex +_080D6504: .4byte gBattleAnimBankTarget _080D6508: .4byte 0x000003ff _080D650C: .4byte 0xfffffc00 _080D6510: .4byte sub_80D6514 @@ -24866,7 +24866,7 @@ sub_80D65DC: @ 80D65DC ands r0, r1 cmp r0, 0 beq _080D65FE - ldr r0, _080D664C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D664C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -24878,7 +24878,7 @@ _080D65FE: negs r0, r0 strh r0, [r1, 0x2] _080D6606: - ldr r5, _080D664C @ =gBattleAnimEnemyMonIndex + ldr r5, _080D664C @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -24909,7 +24909,7 @@ _080D6606: .align 2, 0 _080D6644: .4byte gMain _080D6648: .4byte 0x0000043d -_080D664C: .4byte gBattleAnimEnemyMonIndex +_080D664C: .4byte gBattleAnimBankTarget _080D6650: .4byte gBattleAnimArgs _080D6654: .4byte sub_80D658C thumb_func_end sub_80D65DC @@ -24928,13 +24928,13 @@ sub_80D6658: @ 80D6658 ands r0, r1 cmp r0, 0 beq _080D667C - ldr r0, _080D6678 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D6678 @ =gBattleAnimBankTarget b _080D667E .align 2, 0 _080D6674: .4byte gBattleAnimArgs -_080D6678: .4byte gBattleAnimEnemyMonIndex +_080D6678: .4byte gBattleAnimBankTarget _080D667C: - ldr r0, _080D670C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D670C @ =gBattleAnimBankAttacker _080D667E: ldrb r6, [r0] ldr r0, _080D6710 @ =gMain @@ -25005,7 +25005,7 @@ _080D66A4: pop {r0} bx r0 .align 2, 0 -_080D670C: .4byte gBattleAnimPlayerMonIndex +_080D670C: .4byte gBattleAnimBankAttacker _080D6710: .4byte gMain _080D6714: .4byte 0x0000043d _080D6718: .4byte gBattleAnimArgs @@ -25126,7 +25126,7 @@ _080D67F6: str r0, [r4, 0x1C] ldr r1, _080D6818 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -25142,7 +25142,7 @@ sub_80D681C: @ 80D681C adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, _080D6864 @ =gBattleAnimEnemyMonIndex + ldr r6, _080D6864 @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0 bl sub_8077ABC @@ -25173,7 +25173,7 @@ sub_80D681C: @ 80D681C pop {r0} bx r0 .align 2, 0 -_080D6864: .4byte gBattleAnimEnemyMonIndex +_080D6864: .4byte gBattleAnimBankTarget _080D6868: .4byte gTasks _080D686C: .4byte gBattleAnimArgs _080D6870: .4byte sub_80D6874 @@ -25556,14 +25556,14 @@ sub_80D6B3C: @ 80D6B3C ldrsh r0, [r0, r1] cmp r0, 0 bne _080D6B68 - ldr r4, _080D6B64 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D6B64 @ =gBattleAnimBankAttacker b _080D6B6A .align 2, 0 _080D6B5C: .4byte gTasks _080D6B60: .4byte gBattleAnimArgs -_080D6B64: .4byte gBattleAnimPlayerMonIndex +_080D6B64: .4byte gBattleAnimBankAttacker _080D6B68: - ldr r4, _080D6BAC @ =gBattleAnimEnemyMonIndex + ldr r4, _080D6BAC @ =gBattleAnimBankTarget _080D6B6A: ldrb r0, [r4] movs r1, 0x2 @@ -25596,7 +25596,7 @@ _080D6B6A: pop {r0} bx r0 .align 2, 0 -_080D6BAC: .4byte gBattleAnimEnemyMonIndex +_080D6BAC: .4byte gBattleAnimBankTarget _080D6BB0: .4byte gBattleAnimArgs _080D6BB4: .4byte sub_80D6BB8 thumb_func_end sub_80D6B3C @@ -25681,7 +25681,7 @@ sub_80D6BB8: @ 80D6BB8 bl obj_translate_based_on_private_1_2_3_4 ldr r1, _080D6CB0 @ =sub_80D6D00 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D6CB4 @ =sub_8078600 str r0, [r4, 0x1C] ldrh r0, [r5, 0x1A] @@ -25790,13 +25790,13 @@ sub_80D6D18: @ 80D6D18 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D6D34 - ldr r4, _080D6D30 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D6D30 @ =gBattleAnimBankAttacker b _080D6D36 .align 2, 0 _080D6D2C: .4byte gBattleAnimArgs -_080D6D30: .4byte gBattleAnimPlayerMonIndex +_080D6D30: .4byte gBattleAnimBankAttacker _080D6D34: - ldr r4, _080D6D64 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D6D64 @ =gBattleAnimBankTarget _080D6D36: ldrb r0, [r4] movs r1, 0x2 @@ -25812,14 +25812,14 @@ _080D6D36: strh r0, [r5, 0x22] ldr r1, _080D6D68 @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D6D6C @ =sub_80785E4 str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080D6D64: .4byte gBattleAnimEnemyMonIndex +_080D6D64: .4byte gBattleAnimBankTarget _080D6D68: .4byte move_anim_8074EE0 _080D6D6C: .4byte sub_80785E4 thumb_func_end sub_80D6D18 @@ -25833,13 +25833,13 @@ sub_80D6D70: @ 80D6D70 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D6D8C - ldr r4, _080D6D88 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D6D88 @ =gBattleAnimBankAttacker b _080D6D8E .align 2, 0 _080D6D84: .4byte gBattleAnimArgs -_080D6D88: .4byte gBattleAnimPlayerMonIndex +_080D6D88: .4byte gBattleAnimBankAttacker _080D6D8C: - ldr r4, _080D6DC8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D6DC8 @ =gBattleAnimBankTarget _080D6D8E: ldrb r0, [r4] movs r1, 0x2 @@ -25860,14 +25860,14 @@ _080D6D8E: strh r0, [r5, 0x26] ldr r1, _080D6DD0 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D6DD4 @ =sub_8078600 str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080D6DC8: .4byte gBattleAnimEnemyMonIndex +_080D6DC8: .4byte gBattleAnimBankTarget _080D6DCC: .4byte gBattleAnimArgs _080D6DD0: .4byte move_anim_8072740 _080D6DD4: .4byte sub_8078600 @@ -25879,7 +25879,7 @@ sub_80D6DD8: @ 80D6DD8 adds r5, r0, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r4, _080D6E30 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D6E30 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -25893,7 +25893,7 @@ sub_80D6DD8: @ 80D6DD8 lsrs r0, 24 strh r0, [r5, 0x22] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] @@ -25916,7 +25916,7 @@ _080D6E26: pop {r0} bx r0 .align 2, 0 -_080D6E30: .4byte gBattleAnimPlayerMonIndex +_080D6E30: .4byte gBattleAnimBankAttacker _080D6E34: .4byte sub_80D6E38 thumb_func_end sub_80D6DD8 @@ -26006,12 +26006,12 @@ _080D6ECE: b _080D7000 _080D6ED0: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x26] - ldr r4, _080D6F04 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D6F04 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -26028,7 +26028,7 @@ _080D6ED0: movs r0, 0x2 b _080D6F12 .align 2, 0 -_080D6F04: .4byte gBattleAnimPlayerMonIndex +_080D6F04: .4byte gBattleAnimBankAttacker _080D6F08: .4byte 0x0000ffe0 _080D6F0C: movs r0, 0x20 @@ -26193,7 +26193,7 @@ _080D7034: _080D703A: b _080D718E _080D703C: - ldr r4, _080D707C @ =gBattleAnimPlayerMonIndex + ldr r4, _080D707C @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -26225,7 +26225,7 @@ _080D7052: ldr r0, _080D7084 @ =0x0000fff0 b _080D70F0 .align 2, 0 -_080D707C: .4byte gBattleAnimPlayerMonIndex +_080D707C: .4byte gBattleAnimBankAttacker _080D7080: .4byte gBattleAnimArgs _080D7084: .4byte 0x0000fff0 _080D7088: @@ -26254,7 +26254,7 @@ _080D70B0: movs r0, 0x78 subs r0, r1 strh r0, [r5, 0xE] - ldr r4, _080D70E4 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D70E4 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x3 bl sub_8077ABC @@ -26273,7 +26273,7 @@ _080D70B0: strh r0, [r5, 0x10] b _080D7126 .align 2, 0 -_080D70E4: .4byte gBattleAnimEnemyMonIndex +_080D70E4: .4byte gBattleAnimBankTarget _080D70E8: ldr r0, _080D710C @ =0x0000fff0 strh r0, [r5, 0xE] @@ -26506,7 +26506,7 @@ sub_80D727C: @ 80D727C beq _080D72C0 b _080D72D4 _080D728E: - ldr r4, _080D72BC @ =gBattleAnimPlayerMonIndex + ldr r4, _080D72BC @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -26527,7 +26527,7 @@ _080D728E: strh r0, [r5, 0x2E] b _080D72D4 .align 2, 0 -_080D72BC: .4byte gBattleAnimPlayerMonIndex +_080D72BC: .4byte gBattleAnimBankAttacker _080D72C0: adds r0, r5, 0 adds r0, 0x3F @@ -26576,7 +26576,7 @@ _080D7308: .4byte _080D7444 .4byte _080D7454 _080D731C: - ldr r4, _080D73A0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D73A0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -26591,7 +26591,7 @@ _080D731C: strh r0, [r5, 0x16] movs r0, 0x4 strh r0, [r5, 0x18] - ldr r0, _080D73A4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D73A4 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x2 bl sub_8077ABC @@ -26636,8 +26636,8 @@ _080D731C: adds r0, 0x1 b _080D7466 .align 2, 0 -_080D73A0: .4byte gBattleAnimPlayerMonIndex -_080D73A4: .4byte gBattleAnimEnemyMonIndex +_080D73A0: .4byte gBattleAnimBankAttacker +_080D73A4: .4byte gBattleAnimBankTarget _080D73A8: .4byte 0x0000ffff _080D73AC: ldrh r0, [r5, 0xA] @@ -26934,7 +26934,7 @@ _080D75C4: beq _080D7640 b _080D764E _080D75CA: - ldr r0, _080D7614 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7614 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8077ABC @@ -26956,7 +26956,7 @@ _080D75E4: bgt _080D75E4 strh r1, [r5, 0x24] _080D75F4: - ldr r4, _080D7614 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D7614 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -26971,7 +26971,7 @@ _080D75F4: strh r0, [r5, 0x20] b _080D7638 .align 2, 0 -_080D7614: .4byte gBattleAnimEnemyMonIndex +_080D7614: .4byte gBattleAnimBankTarget _080D7618: ldrh r0, [r5, 0xA] adds r0, 0x1 @@ -27121,7 +27121,7 @@ sub_80D7704: @ 80D7704 ands r0, r2 orrs r0, r1 strh r0, [r5, 0x4] - ldr r4, _080D7814 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D7814 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -27134,7 +27134,7 @@ sub_80D7704: @ 80D7704 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r4, _080D7818 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D7818 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -27235,8 +27235,8 @@ _080D77DE: .align 2, 0 _080D780C: .4byte 0x000003ff _080D7810: .4byte 0xfffffc00 -_080D7814: .4byte gBattleAnimEnemyMonIndex -_080D7818: .4byte gBattleAnimPlayerMonIndex +_080D7814: .4byte gBattleAnimBankTarget +_080D7818: .4byte gBattleAnimBankAttacker _080D781C: .4byte gBattleAnimArgs _080D7820: lsls r1, r3, 16 @@ -27365,7 +27365,7 @@ sub_80D78EC: @ 80D78EC strh r0, [r4, 0x36] ldr r1, _080D7924 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _080D7928 @ =sub_8078174 str r1, [r4, 0x1C] adds r0, r4, 0 @@ -27385,14 +27385,14 @@ sub_80D792C: @ 80D792C adds r4, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080D7960 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7960 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x2 bl sub_8077ABC lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] - ldr r0, _080D7964 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7964 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -27405,8 +27405,8 @@ sub_80D792C: @ 80D792C strh r1, [r4, 0x32] b _080D7976 .align 2, 0 -_080D7960: .4byte gBattleAnimEnemyMonIndex -_080D7964: .4byte gBattleAnimPlayerMonIndex +_080D7960: .4byte gBattleAnimBankTarget +_080D7964: .4byte gBattleAnimBankAttacker _080D7968: .4byte gBattleAnimArgs _080D796C: ldr r0, _080D79A4 @ =gBattleAnimArgs @@ -27415,7 +27415,7 @@ _080D796C: adds r0, r1 strh r0, [r4, 0x32] _080D7976: - ldr r0, _080D79A8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D79A8 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -27429,7 +27429,7 @@ _080D7976: strh r0, [r4, 0x2E] ldr r1, _080D79AC @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D79B0 @ =sub_8078B34 str r0, [r4, 0x1C] pop {r4} @@ -27437,7 +27437,7 @@ _080D7976: bx r0 .align 2, 0 _080D79A4: .4byte gBattleAnimArgs -_080D79A8: .4byte gBattleAnimEnemyMonIndex +_080D79A8: .4byte gBattleAnimBankTarget _080D79AC: .4byte move_anim_8072740 _080D79B0: .4byte sub_8078B34 thumb_func_end sub_80D792C @@ -27458,7 +27458,7 @@ sub_80D79B4: @ 80D79B4 .align 2, 0 _080D79CC: .4byte gBattleAnimArgs _080D79D0: - ldr r0, _080D7A18 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7A18 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -27466,7 +27466,7 @@ _080D79D0: adds r3, 0x22 movs r1, 0x1 bl sub_807A3FC - ldr r0, _080D7A1C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7A1C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -27487,15 +27487,15 @@ _080D79F6: _080D7A06: ldr r1, _080D7A20 @ =sub_80D7A28 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D7A24 @ =sub_80785E4 str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080D7A18: .4byte gBattleAnimEnemyMonIndex -_080D7A1C: .4byte gBattleAnimPlayerMonIndex +_080D7A18: .4byte gBattleAnimBankTarget +_080D7A1C: .4byte gBattleAnimBankAttacker _080D7A20: .4byte sub_80D7A28 _080D7A24: .4byte sub_80785E4 thumb_func_end sub_80D79B4 @@ -27551,7 +27551,7 @@ sub_80D7A64: @ 80D7A64 ldrsh r0, [r6, r1] cmp r0, 0 bne _080D7AB4 - ldr r4, _080D7AB0 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D7AB0 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -27569,9 +27569,9 @@ sub_80D7A64: @ 80D7A64 b _080D7AC6 .align 2, 0 _080D7AAC: .4byte gBattleAnimArgs -_080D7AB0: .4byte gBattleAnimEnemyMonIndex +_080D7AB0: .4byte gBattleAnimBankTarget _080D7AB4: - ldr r0, _080D7AE0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7AE0 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -27580,7 +27580,7 @@ _080D7AB4: movs r1, 0x1 bl sub_807A3FC _080D7AC6: - ldr r0, _080D7AE4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7AE4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -27593,8 +27593,8 @@ _080D7AC6: strh r1, [r5, 0x32] b _080D7AF6 .align 2, 0 -_080D7AE0: .4byte gBattleAnimEnemyMonIndex -_080D7AE4: .4byte gBattleAnimPlayerMonIndex +_080D7AE0: .4byte gBattleAnimBankTarget +_080D7AE4: .4byte gBattleAnimBankAttacker _080D7AE8: .4byte gBattleAnimArgs _080D7AEC: ldr r0, _080D7B94 @ =gBattleAnimArgs @@ -27678,7 +27678,7 @@ _080D7B76: bge _080D7B76 str r6, [r5, 0x1C] adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 add sp, 0x10 pop {r4-r7} pop {r0} @@ -27706,7 +27706,7 @@ sub_80D7BA0: @ 80D7BA0 strh r5, [r4, 0x24] movs r0, 0x80 strh r0, [r4, 0x2E] - ldr r0, _080D7BFC @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7BFC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -27735,7 +27735,7 @@ _080D7BD0: pop {r0} bx r0 .align 2, 0 -_080D7BFC: .4byte gBattleAnimPlayerMonIndex +_080D7BFC: .4byte gBattleAnimBankAttacker _080D7C00: .4byte 0x0000ffec _080D7C04: .4byte sub_80D7C08 thumb_func_end sub_80D7BA0 @@ -27744,7 +27744,7 @@ _080D7C04: .4byte sub_80D7C08 sub_80D7C08: @ 80D7C08 push {r4,lr} adds r4, r0, 0 - ldr r0, _080D7C5C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7C5C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -27782,7 +27782,7 @@ _080D7C1E: strh r0, [r4, 0x38] b _080D7C82 .align 2, 0 -_080D7C5C: .4byte gBattleAnimPlayerMonIndex +_080D7C5C: .4byte gBattleAnimBankAttacker _080D7C60: .4byte 0x0000ffec _080D7C64: ldrh r0, [r4, 0x24] @@ -27866,7 +27866,7 @@ sub_80D7CD4: @ 80D7CD4 ldrsh r0, [r1, r2] cmp r0, 0 bne _080D7D20 - ldr r4, _080D7D1C @ =gBattleAnimEnemyMonIndex + ldr r4, _080D7D1C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -27882,9 +27882,9 @@ sub_80D7CD4: @ 80D7CD4 b _080D7D32 .align 2, 0 _080D7D18: .4byte gBattleAnimArgs -_080D7D1C: .4byte gBattleAnimEnemyMonIndex +_080D7D1C: .4byte gBattleAnimBankTarget _080D7D20: - ldr r0, _080D7D50 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7D50 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -27893,7 +27893,7 @@ _080D7D20: movs r1, 0x1 bl sub_807A3FC _080D7D32: - ldr r0, _080D7D54 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7D54 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -27907,8 +27907,8 @@ _080D7D32: adds r1, r0, 0 b _080D7D66 .align 2, 0 -_080D7D50: .4byte gBattleAnimEnemyMonIndex -_080D7D54: .4byte gBattleAnimPlayerMonIndex +_080D7D50: .4byte gBattleAnimBankTarget +_080D7D54: .4byte gBattleAnimBankAttacker _080D7D58: .4byte gBattleAnimArgs _080D7D5C: ldr r1, _080D7E10 @ =gBattleAnimArgs @@ -28088,7 +28088,7 @@ sub_80D7E88: @ 80D7E88 .align 2, 0 _080D7EA8: .4byte gBattleAnimArgs _080D7EAC: - ldr r0, _080D7EEC @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7EEC @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -28096,7 +28096,7 @@ _080D7EAC: adds r3, 0x22 movs r1, 0 bl sub_807A3FC - ldr r0, _080D7EF0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7EF0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -28120,8 +28120,8 @@ _080D7EE2: strh r0, [r4, 0x2E] b _080D7F08 .align 2, 0 -_080D7EEC: .4byte gBattleAnimEnemyMonIndex -_080D7EF0: .4byte gBattleAnimPlayerMonIndex +_080D7EEC: .4byte gBattleAnimBankTarget +_080D7EF0: .4byte gBattleAnimBankAttacker _080D7EF4: adds r0, r4, 0 adds r0, 0x3F @@ -28158,7 +28158,7 @@ sub_80D7F10: @ 80D7F10 .align 2, 0 _080D7F30: .4byte gBattleAnimArgs _080D7F34: - ldr r4, _080D7F5C @ =gBattleAnimPlayerMonIndex + ldr r4, _080D7F5C @ =gBattleAnimBankAttacker ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -28176,7 +28176,7 @@ _080D7F34: subs r0, r1 b _080D7F66 .align 2, 0 -_080D7F5C: .4byte gBattleAnimPlayerMonIndex +_080D7F5C: .4byte gBattleAnimBankAttacker _080D7F60: ldrh r0, [r6] ldrh r1, [r5, 0x20] @@ -28189,11 +28189,11 @@ _080D7F66: adds r0, r1 strh r0, [r5, 0x22] _080D7F72: - ldr r0, _080D7F7C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D7F7C @ =gBattleAnimBankAttacker b _080D7FD0 .align 2, 0 _080D7F78: .4byte gBattleAnimArgs -_080D7F7C: .4byte gBattleAnimPlayerMonIndex +_080D7F7C: .4byte gBattleAnimBankAttacker _080D7F80: movs r1, 0xA ldrsh r0, [r6, r1] @@ -28204,7 +28204,7 @@ _080D7F80: bl sub_8078764 b _080D7FCE _080D7F92: - ldr r4, _080D7FB8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D7FB8 @ =gBattleAnimBankTarget ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -28222,7 +28222,7 @@ _080D7F92: subs r0, r1 b _080D7FC2 .align 2, 0 -_080D7FB8: .4byte gBattleAnimEnemyMonIndex +_080D7FB8: .4byte gBattleAnimBankTarget _080D7FBC: ldrh r0, [r6] ldrh r1, [r5, 0x20] @@ -28235,7 +28235,7 @@ _080D7FC2: adds r0, r1 strh r0, [r5, 0x22] _080D7FCE: - ldr r0, _080D7FF0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D7FF0 @ =gBattleAnimBankTarget _080D7FD0: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -28253,12 +28253,12 @@ _080D7FE8: b _080D7FF6 .align 2, 0 _080D7FEC: .4byte gBattleAnimArgs -_080D7FF0: .4byte gBattleAnimEnemyMonIndex +_080D7FF0: .4byte gBattleAnimBankTarget _080D7FF4: movs r0, 0x40 _080D7FF6: strh r0, [r5, 0x3A] - ldr r0, _080D803C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D803C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -28291,7 +28291,7 @@ _080D800C: pop {r0} bx r0 .align 2, 0 -_080D803C: .4byte gBattleAnimEnemyMonIndex +_080D803C: .4byte gBattleAnimBankTarget _080D8040: .4byte gBattleAnimArgs _080D8044: .4byte sub_80D8048 thumb_func_end sub_80D7F10 @@ -28400,7 +28400,7 @@ sub_80D80E0: @ 80D80E0 movs r0, 0x3F ands r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D812A @@ -28448,7 +28448,7 @@ _080D812A: lsls r1, 4 movs r2, 0x20 bl LoadPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D8190 @@ -28679,7 +28679,7 @@ _080D832A: ldr r1, _080D83C8 @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D8378 @@ -28742,7 +28742,7 @@ _080D83DC: .4byte REG_BLDCNT sub_80D83E0: @ 80D83E0 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080D840C @ =gBattleAnimPlayerMonIndex + ldr r5, _080D840C @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -28761,7 +28761,7 @@ sub_80D83E0: @ 80D83E0 pop {r0} bx r0 .align 2, 0 -_080D840C: .4byte gBattleAnimPlayerMonIndex +_080D840C: .4byte gBattleAnimBankAttacker _080D8410: .4byte sub_807941C thumb_func_end sub_80D83E0 @@ -28792,7 +28792,7 @@ sub_80D8414: @ 80D8414 movs r0, 0x3F ands r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D845E @@ -28840,7 +28840,7 @@ _080D845E: lsls r1, 4 movs r2, 0x20 bl LoadPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D84C4 @@ -29061,7 +29061,7 @@ _080D864A: ldr r1, _080D86E8 @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080D8698 @@ -29129,13 +29129,13 @@ sub_80D8700: @ 80D8700 ldr r6, _080D87E8 @ =gBattleAnimArgs ldrh r0, [r6] strh r0, [r5, 0x2E] - ldr r0, _080D87EC @ =gBattleAnimPlayerMonIndex + ldr r0, _080D87EC @ =gBattleAnimBankAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 bl sub_8077ABC adds r4, r0, 0 - ldr r7, _080D87F0 @ =gBattleAnimEnemyMonIndex + ldr r7, _080D87F0 @ =gBattleAnimBankTarget ldrb r0, [r7] movs r1, 0x2 bl sub_8077ABC @@ -29178,7 +29178,7 @@ _080D8734: cmp r0, 0 bne _080D8790 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _080D87F8 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -29196,7 +29196,7 @@ _080D8790: movs r0, 0x1 strh r0, [r5, 0x3A] _080D8794: - ldr r4, _080D87EC @ =gBattleAnimPlayerMonIndex + ldr r4, _080D87EC @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -29218,7 +29218,7 @@ _080D8794: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, _080D87F0 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D87F0 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -29236,8 +29236,8 @@ _080D8794: b _080D8824 .align 2, 0 _080D87E8: .4byte gBattleAnimArgs -_080D87EC: .4byte gBattleAnimPlayerMonIndex -_080D87F0: .4byte gBattleAnimEnemyMonIndex +_080D87EC: .4byte gBattleAnimBankAttacker +_080D87F0: .4byte gBattleAnimBankTarget _080D87F4: .4byte gBanksBySide _080D87F8: .4byte gSprites _080D87FC: @@ -29245,7 +29245,7 @@ _080D87FC: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, _080D886C @ =gBattleAnimEnemyMonIndex + ldr r4, _080D886C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -29274,7 +29274,7 @@ _080D8824: ldrh r1, [r5, 0x3C] orrs r0, r1 strh r0, [r5, 0x3C] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D8858 @@ -29295,7 +29295,7 @@ _080D8858: pop {r0} bx r0 .align 2, 0 -_080D886C: .4byte gBattleAnimEnemyMonIndex +_080D886C: .4byte gBattleAnimBankTarget _080D8870: .4byte sub_80D8874 thumb_func_end sub_80D8700 @@ -29357,7 +29357,7 @@ _080D88C8: _080D88D6: movs r5, 0x50 strh r5, [r4, 0x2E] - ldr r6, _080D8928 @ =gBattleAnimEnemyMonIndex + ldr r6, _080D8928 @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0 bl sub_8077ABC @@ -29396,7 +29396,7 @@ _080D88D6: strh r0, [r4, 0x38] b _080D893A .align 2, 0 -_080D8928: .4byte gBattleAnimEnemyMonIndex +_080D8928: .4byte gBattleAnimBankTarget _080D892C: .4byte gMain _080D8930: .4byte 0x0000043d _080D8934: .4byte gBanksBySide @@ -29545,7 +29545,7 @@ _080D8A12: cmp r0, 0 beq _080D8A78 ldr r1, _080D8A70 @ =gBanksBySide - ldr r0, _080D8A74 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D8A74 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -29560,7 +29560,7 @@ _080D8A12: _080D8A68: .4byte gMain _080D8A6C: .4byte 0x0000043d _080D8A70: .4byte gBanksBySide -_080D8A74: .4byte gBattleAnimEnemyMonIndex +_080D8A74: .4byte gBattleAnimBankTarget _080D8A78: ldr r0, _080D8A90 @ =0x0000fff0 _080D8A7A: @@ -29764,7 +29764,7 @@ sub_80D8BA8: @ 80D8BA8 lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D8C94 @@ -30089,7 +30089,7 @@ _080D8E6A: ldr r6, _080D8ED0 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r0, _080D8ED4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D8ED4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -30099,7 +30099,7 @@ _080D8E6A: negs r0, r0 strh r0, [r6, 0x4] _080D8E92: - ldr r4, _080D8ED8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D8ED8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -30128,8 +30128,8 @@ _080D8E92: .align 2, 0 _080D8ECC: .4byte gDisableStructMoveAnim _080D8ED0: .4byte gBattleAnimArgs -_080D8ED4: .4byte gBattleAnimPlayerMonIndex -_080D8ED8: .4byte gBattleAnimEnemyMonIndex +_080D8ED4: .4byte gBattleAnimBankAttacker +_080D8ED8: .4byte gBattleAnimBankTarget _080D8EDC: .4byte sub_80D8EE0 thumb_func_end unc_080B06FC @@ -30148,7 +30148,7 @@ sub_80D8EE0: @ 80D8EE0 str r0, [r4, 0x1C] ldr r1, _080D8F0C @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080D8F02: pop {r4} pop {r0} @@ -30296,7 +30296,7 @@ unc_080B08A0: @ 80D8FF0 str r0, [r4, 0x1C] ldr r1, _080D9028 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -30315,7 +30315,7 @@ sub_80D902C: @ 80D902C ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080D9054 - ldr r0, _080D9074 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9074 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -30341,14 +30341,14 @@ _080D9054: bx r0 .align 2, 0 _080D9070: .4byte gBattleAnimArgs -_080D9074: .4byte gBattleAnimPlayerMonIndex +_080D9074: .4byte gBattleAnimBankAttacker thumb_func_end sub_80D902C thumb_func_start sub_80D9078 sub_80D9078: @ 80D9078 push {r4,lr} adds r4, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D9094 @@ -30398,7 +30398,7 @@ _080D90D0: str r0, [r5, 0x1C] ldr r1, _080D90F0 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -30421,13 +30421,13 @@ sub_80D90F4: @ 80D90F4 mov r9, r0 cmp r1, 0 bne _080D9118 - ldr r0, _080D9114 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9114 @ =gBattleAnimBankAttacker b _080D911A .align 2, 0 _080D9110: .4byte gBattleAnimArgs -_080D9114: .4byte gBattleAnimPlayerMonIndex +_080D9114: .4byte gBattleAnimBankAttacker _080D9118: - ldr r0, _080D9260 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9260 @ =gBattleAnimBankTarget _080D911A: ldrb r0, [r0] mov r8, r0 @@ -30584,7 +30584,7 @@ _080D9250: pop {r0} bx r0 .align 2, 0 -_080D9260: .4byte gBattleAnimEnemyMonIndex +_080D9260: .4byte gBattleAnimBankTarget _080D9264: .4byte gBanksBySide _080D9268: .4byte 0xfff00000 _080D926C: .4byte gBattleAnimSpriteTemplate_83DB4A8 @@ -30675,7 +30675,7 @@ _080D9306: str r0, [r4, 0x1C] ldr r1, _080D9324 @ =sub_80D9328 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -30716,7 +30716,7 @@ sub_80D9328: @ 80D9328 str r0, [r5, 0x1C] ldr r1, _080D9374 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080D9368: pop {r4-r6} pop {r0} @@ -30730,10 +30730,10 @@ _080D9374: .4byte move_anim_8072740 sub_80D9378: @ 80D9378 push {r4-r6,lr} adds r6, r0, 0 - ldr r0, _080D93F4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D93F4 @ =gBattleAnimBankAttacker ldrb r1, [r0] movs r0, 0x2 - ldr r2, _080D93F8 @ =gBattleAnimEnemyMonIndex + ldr r2, _080D93F8 @ =gBattleAnimBankTarget eors r0, r1 ldrb r1, [r2] cmp r0, r1 @@ -30753,7 +30753,7 @@ _080D93A4: adds r0, r6, 0 movs r1, 0x1 bl sub_8078764 - ldr r0, _080D93F4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D93F4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -30789,8 +30789,8 @@ _080D93C2: pop {r0} bx r0 .align 2, 0 -_080D93F4: .4byte gBattleAnimPlayerMonIndex -_080D93F8: .4byte gBattleAnimEnemyMonIndex +_080D93F4: .4byte gBattleAnimBankAttacker +_080D93F8: .4byte gBattleAnimBankTarget _080D93FC: .4byte gBattleAnimArgs _080D9400: .4byte sub_80D9404 thumb_func_end sub_80D9378 @@ -30842,7 +30842,7 @@ sub_80D943C: @ 80D943C str r0, [r4, 0x1C] ldr r1, _080D9470 @ =sub_80D9474 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -30870,7 +30870,7 @@ sub_80D9474: @ 80D9474 str r0, [r4, 0x1C] ldr r1, _080D94A4 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -30913,7 +30913,7 @@ sub_80D94CC: @ 80D94CC bne _080D9510 movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, _080D9518 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D9518 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -30930,13 +30930,13 @@ sub_80D94CC: @ 80D94CC str r0, [r5, 0x1C] ldr r1, _080D9520 @ =sub_80D9524 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080D9510: pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080D9518: .4byte gBattleAnimEnemyMonIndex +_080D9518: .4byte gBattleAnimBankTarget _080D951C: .4byte sub_8078B34 _080D9520: .4byte sub_80D9524 thumb_func_end sub_80D94CC @@ -30949,7 +30949,7 @@ sub_80D9524: @ 80D9524 ldr r1, _080D9538 @ =sub_80782D8 str r1, [r0, 0x1C] ldr r1, _080D953C @ =move_anim_8072740 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 @@ -31040,13 +31040,13 @@ sub_80D95D0: @ 80D95D0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D95EC - ldr r4, _080D95E8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D95E8 @ =gBattleAnimBankAttacker b _080D95EE .align 2, 0 _080D95E4: .4byte gBattleAnimArgs -_080D95E8: .4byte gBattleAnimPlayerMonIndex +_080D95E8: .4byte gBattleAnimBankAttacker _080D95EC: - ldr r4, _080D9634 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D9634 @ =gBattleAnimBankTarget _080D95EE: ldrb r0, [r4] movs r1, 0 @@ -31082,7 +31082,7 @@ _080D95EE: pop {r0} bx r0 .align 2, 0 -_080D9634: .4byte gBattleAnimEnemyMonIndex +_080D9634: .4byte gBattleAnimBankTarget _080D9638: .4byte gBattleAnimArgs _080D963C: .4byte sub_80D9640 thumb_func_end sub_80D95D0 @@ -31165,7 +31165,7 @@ sub_80D96B8: @ 80D96B8 ldrsh r0, [r6, r1] cmp r0, 0 bne _080D96E4 - ldr r4, _080D96E0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D96E0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -31176,9 +31176,9 @@ sub_80D96B8: @ 80D96B8 b _080D96F6 .align 2, 0 _080D96DC: .4byte gBattleAnimArgs -_080D96E0: .4byte gBattleAnimPlayerMonIndex +_080D96E0: .4byte gBattleAnimBankAttacker _080D96E4: - ldr r4, _080D9740 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D9740 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -31224,7 +31224,7 @@ _080D96F6: beq _080D975A b _080D978A .align 2, 0 -_080D9740: .4byte gBattleAnimEnemyMonIndex +_080D9740: .4byte gBattleAnimBankTarget _080D9744: .4byte gBattleAnimArgs _080D9748: .4byte 0x000003ff _080D974C: .4byte 0xfffffc00 @@ -31322,7 +31322,7 @@ sub_80D97CC: @ 80D97CC lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080D9820 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9820 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -31334,15 +31334,15 @@ sub_80D97CC: @ 80D97CC ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, _080D9824 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9824 @ =gBattleAnimBankTarget b _080D9844 .align 2, 0 _080D9818: .4byte gBattleAnimArgs _080D981C: .4byte gBankAttacker -_080D9820: .4byte gBattleAnimPlayerMonIndex -_080D9824: .4byte gBattleAnimEnemyMonIndex +_080D9820: .4byte gBattleAnimBankAttacker +_080D9824: .4byte gBattleAnimBankTarget _080D9828: - ldr r0, _080D9860 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9860 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -31354,7 +31354,7 @@ _080D9828: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, _080D9864 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9864 @ =gBattleAnimBankAttacker _080D9844: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -31370,8 +31370,8 @@ _080D9844: pop {r0} bx r0 .align 2, 0 -_080D9860: .4byte gBattleAnimEnemyMonIndex -_080D9864: .4byte gBattleAnimPlayerMonIndex +_080D9860: .4byte gBattleAnimBankTarget +_080D9864: .4byte gBattleAnimBankAttacker _080D9868: .4byte sub_80D986C thumb_func_end sub_80D97CC @@ -31415,7 +31415,7 @@ sub_80D986C: @ 80D986C bl obj_translate_based_on_private_1_2_3_4 ldr r1, _080D98D0 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D98D4 @ =sub_8078BB8 str r0, [r4, 0x1C] _080D98C6: @@ -31515,7 +31515,7 @@ _080D997E: strh r0, [r7, 0x2E] b _080D99DC _080D9986: - ldr r4, _080D99E8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080D99E8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -31528,7 +31528,7 @@ _080D9986: adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r2, _080D99EC @ =gBattleAnimEnemyMonIndex + ldr r2, _080D99EC @ =gBattleAnimBankTarget mov r8, r2 ldrb r0, [r2] movs r1, 0x2 @@ -31561,8 +31561,8 @@ _080D99DC: pop {r0} bx r0 .align 2, 0 -_080D99E8: .4byte gBattleAnimPlayerMonIndex -_080D99EC: .4byte gBattleAnimEnemyMonIndex +_080D99E8: .4byte gBattleAnimBankAttacker +_080D99EC: .4byte gBattleAnimBankTarget _080D99F0: .4byte sub_80D99F4 thumb_func_end sub_80D9934 @@ -31627,19 +31627,19 @@ sub_80D9A38: @ 80D9A38 lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, _080D9A74 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9A74 @ =gBattleAnimBankTarget ldrb r4, [r0] - ldr r0, _080D9A78 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9A78 @ =gBattleAnimBankAttacker b _080D9A82 .align 2, 0 _080D9A6C: .4byte gBattleAnimArgs _080D9A70: .4byte gBankAttacker -_080D9A74: .4byte gBattleAnimEnemyMonIndex -_080D9A78: .4byte gBattleAnimPlayerMonIndex +_080D9A74: .4byte gBattleAnimBankTarget +_080D9A78: .4byte gBattleAnimBankAttacker _080D9A7C: - ldr r0, _080D9AB4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9AB4 @ =gBattleAnimBankAttacker ldrb r4, [r0] - ldr r0, _080D9AB8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9AB8 @ =gBattleAnimBankTarget _080D9A82: ldrb r0, [r0] bl sub_8079ED4 @@ -31652,7 +31652,7 @@ _080D9A82: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D9ABC @@ -31665,8 +31665,8 @@ _080D9A82: subs r0, 0x47 b _080D9AD6 .align 2, 0 -_080D9AB4: .4byte gBattleAnimPlayerMonIndex -_080D9AB8: .4byte gBattleAnimEnemyMonIndex +_080D9AB4: .4byte gBattleAnimBankAttacker +_080D9AB8: .4byte gBattleAnimBankTarget _080D9ABC: adds r0, r4, 0 bl GetBankSide @@ -31707,7 +31707,7 @@ _080D9ADC: bl obj_translate_based_on_private_1_2_3_4 ldr r1, _080D9B1C @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080D9B20 @ =sub_8078BB8 str r0, [r5, 0x1C] pop {r4,r5} @@ -31743,7 +31743,7 @@ _080D9B3A: sub_80D9B48: @ 80D9B48 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, _080D9BC4 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D9BC4 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -31802,7 +31802,7 @@ _080D9BA6: pop {r0} bx r0 .align 2, 0 -_080D9BC4: .4byte gBattleAnimEnemyMonIndex +_080D9BC4: .4byte gBattleAnimBankTarget _080D9BC8: .4byte gBattleAnimArgs _080D9BCC: .4byte gUnknown_0202F7C4 _080D9BD0: .4byte sub_80D9B24 @@ -31828,7 +31828,7 @@ _080D9BF0: movs r1, 0 bl sub_8078764 _080D9BF8: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080D9C0C @@ -31837,7 +31837,7 @@ _080D9BF8: bl StartSpriteAnim b _080D9C22 _080D9C0C: - ldr r0, _080D9C34 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9C34 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -31851,12 +31851,12 @@ _080D9C22: str r0, [r4, 0x1C] ldr r1, _080D9C3C @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 .align 2, 0 -_080D9C34: .4byte gBattleAnimPlayerMonIndex +_080D9C34: .4byte gBattleAnimBankAttacker _080D9C38: .4byte sub_8078600 _080D9C3C: .4byte move_anim_8072740 thumb_func_end sub_80D9BD4 @@ -31952,7 +31952,7 @@ _080D9CDE: ldrh r1, [r4, 0x1C] adds r0, r1 strh r0, [r4, 0x1C] - ldr r0, _080D9D0C @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9D0C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -31968,7 +31968,7 @@ _080D9CDE: adds r7, r1, 0 b _080D9D24 .align 2, 0 -_080D9D0C: .4byte gBattleAnimEnemyMonIndex +_080D9D0C: .4byte gBattleAnimBankTarget _080D9D10: .4byte gUnknown_030041B0 _080D9D14: ldr r2, _080D9D64 @ =gUnknown_030041B0 @@ -32034,7 +32034,7 @@ _080D9D86: bl sub_80787B0 ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r4, _080D9DC8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080D9DC8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -32058,7 +32058,7 @@ _080D9D86: bx r0 .align 2, 0 _080D9DC4: .4byte gBattleAnimArgs -_080D9DC8: .4byte gBattleAnimEnemyMonIndex +_080D9DC8: .4byte gBattleAnimBankTarget _080D9DCC: .4byte 0x0000ffe2 _080D9DD0: .4byte sub_80D9DD4 thumb_func_end sub_80D9D70 @@ -32096,7 +32096,7 @@ _080D9E08: adds r0, r4, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080D9E68 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9E68 @ =gBattleAnimBankTarget ldrb r0, [r0] mov r6, sp adds r6, 0x2 @@ -32104,7 +32104,7 @@ _080D9E08: mov r2, sp adds r3, r6, 0 bl sub_807A3FC - ldr r0, _080D9E6C @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9E6C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -32137,8 +32137,8 @@ _080D9E36: bx r0 .align 2, 0 _080D9E64: .4byte gBattleAnimArgs -_080D9E68: .4byte gBattleAnimEnemyMonIndex -_080D9E6C: .4byte gBattleAnimPlayerMonIndex +_080D9E68: .4byte gBattleAnimBankTarget +_080D9E6C: .4byte gBattleAnimBankAttacker _080D9E70: .4byte 0x0000ffe2 _080D9E74: .4byte sub_80D9E78 thumb_func_end sub_80D9DF0 @@ -32229,7 +32229,7 @@ _080D9F0E: sub_80D9F14: @ 80D9F14 push {r4,lr} adds r4, r0, 0 - ldr r0, _080D9F74 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9F74 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -32237,7 +32237,7 @@ sub_80D9F14: @ 80D9F14 adds r3, 0x22 movs r1, 0x1 bl sub_807A3FC - ldr r0, _080D9F78 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9F78 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -32268,13 +32268,13 @@ _080D9F40: str r0, [r4, 0x1C] ldr r1, _080D9F84 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 .align 2, 0 -_080D9F74: .4byte gBattleAnimEnemyMonIndex -_080D9F78: .4byte gBattleAnimPlayerMonIndex +_080D9F74: .4byte gBattleAnimBankTarget +_080D9F78: .4byte gBattleAnimBankAttacker _080D9F7C: .4byte gBattleAnimArgs _080D9F80: .4byte sub_8078B34 _080D9F84: .4byte move_anim_8072740 @@ -32296,7 +32296,7 @@ sub_80D9F88: @ 80D9F88 .align 2, 0 _080D9FA0: .4byte gBattleAnimArgs _080D9FA4: - ldr r0, _080D9FE4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080D9FE4 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -32304,7 +32304,7 @@ _080D9FA4: adds r3, 0x22 movs r1, 0x1 bl sub_807A3FC - ldr r0, _080D9FE8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080D9FE8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -32329,8 +32329,8 @@ _080D9FDA: pop {r0} bx r0 .align 2, 0 -_080D9FE4: .4byte gBattleAnimEnemyMonIndex -_080D9FE8: .4byte gBattleAnimPlayerMonIndex +_080D9FE4: .4byte gBattleAnimBankTarget +_080D9FE8: .4byte gBattleAnimBankAttacker _080D9FEC: .4byte sub_80D9FF0 thumb_func_end sub_80D9F88 @@ -32538,7 +32538,7 @@ sub_80DA16C: @ 80DA16C adds r6, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080DA1D8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DA1D8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -32554,7 +32554,7 @@ _080DA18C: strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r5, _080DA1E0 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DA1E0 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -32579,14 +32579,14 @@ _080DA18C: str r0, [r6, 0x1C] ldr r1, _080DA1E8 @ =sub_80DA1EC adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080DA1D8: .4byte gBattleAnimPlayerMonIndex +_080DA1D8: .4byte gBattleAnimBankAttacker _080DA1DC: .4byte gBattleAnimArgs -_080DA1E0: .4byte gBattleAnimEnemyMonIndex +_080DA1E0: .4byte gBattleAnimBankTarget _080DA1E4: .4byte sub_80785E4 _080DA1E8: .4byte sub_80DA1EC thumb_func_end sub_80DA16C @@ -32611,7 +32611,7 @@ _080DA200: sub_80DA208: @ 80DA208 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080DA2A4 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DA2A4 @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -32631,7 +32631,7 @@ sub_80DA208: @ 80DA208 negs r0, r0 strh r0, [r1, 0x6] _080DA234: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DA24C @@ -32668,7 +32668,7 @@ _080DA24C: ldrsh r0, [r2, r3] cmp r0, 0 bne _080DA2B0 - ldr r4, _080DA2AC @ =gBattleAnimEnemyMonIndex + ldr r4, _080DA2AC @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -32683,11 +32683,11 @@ _080DA24C: strh r0, [r5, 0x36] b _080DA2C2 .align 2, 0 -_080DA2A4: .4byte gBattleAnimPlayerMonIndex +_080DA2A4: .4byte gBattleAnimBankAttacker _080DA2A8: .4byte gBattleAnimArgs -_080DA2AC: .4byte gBattleAnimEnemyMonIndex +_080DA2AC: .4byte gBattleAnimBankTarget _080DA2B0: - ldr r0, _080DA2F0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DA2F0 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -32709,7 +32709,7 @@ _080DA2C2: str r0, [r5, 0x1C] ldr r1, _080DA2FC @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldrb r1, [r4, 0xA] adds r0, r5, 0 bl SeekSpriteAnim @@ -32717,7 +32717,7 @@ _080DA2C2: pop {r0} bx r0 .align 2, 0 -_080DA2F0: .4byte gBattleAnimEnemyMonIndex +_080DA2F0: .4byte gBattleAnimBankTarget _080DA2F4: .4byte gBattleAnimArgs _080DA2F8: .4byte sub_8078B34 _080DA2FC: .4byte move_anim_8072740 @@ -32737,7 +32737,7 @@ sub_80DA300: @ 80DA300 ldr r0, _080DA340 @ =sub_80DA348 str r0, [r4, 0x1C] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _080DA344 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -32802,7 +32802,7 @@ _080DA386: sub_80DA38C: @ 80DA38C push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _080DA3B4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DA3B4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -32818,7 +32818,7 @@ sub_80DA38C: @ 80DA38C bl StartSpriteAffineAnim b _080DA3C2 .align 2, 0 -_080DA3B4: .4byte gBattleAnimPlayerMonIndex +_080DA3B4: .4byte gBattleAnimBankAttacker _080DA3B8: .4byte 0x0000ffe0 _080DA3BC: ldr r0, _080DA400 @ =0x0000ffe0 @@ -32830,7 +32830,7 @@ _080DA3C2: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, _080DA408 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DA408 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -32855,7 +32855,7 @@ _080DA3C2: .align 2, 0 _080DA400: .4byte 0x0000ffe0 _080DA404: .4byte gBattleAnimArgs -_080DA408: .4byte gBattleAnimEnemyMonIndex +_080DA408: .4byte gBattleAnimBankTarget _080DA40C: .4byte sub_80DA410 thumb_func_end sub_80DA38C @@ -32900,7 +32900,7 @@ _080DA438: ble _080DA480 _080DA45A: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _080DA488 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -32980,13 +32980,13 @@ sub_80DA4D8: @ 80DA4D8 ands r0, r1 cmp r0, 0 beq _080DA500 - ldr r0, _080DA4FC @ =gBattleAnimPlayerMonIndex + ldr r0, _080DA4FC @ =gBattleAnimBankAttacker b _080DA502 .align 2, 0 _080DA4F8: .4byte gBattleAnimArgs -_080DA4FC: .4byte gBattleAnimPlayerMonIndex +_080DA4FC: .4byte gBattleAnimBankAttacker _080DA500: - ldr r0, _080DA5B0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DA5B0 @ =gBattleAnimBankTarget _080DA502: ldrb r6, [r0] adds r0, r6, 0 @@ -33073,7 +33073,7 @@ _080DA518: strb r1, [r7, 0x5] b _080DA5D8 .align 2, 0 -_080DA5B0: .4byte gBattleAnimEnemyMonIndex +_080DA5B0: .4byte gBattleAnimBankTarget _080DA5B4: .4byte gBattleAnimArgs _080DA5B8: .4byte gMain _080DA5BC: .4byte 0x0000043d @@ -34081,7 +34081,7 @@ _080DAD2C: .4byte sub_80DA48C sub_80DAD30: @ 80DAD30 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _080DAD78 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DAD78 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -34093,7 +34093,7 @@ sub_80DAD30: @ 80DAD30 ands r0, r2 orrs r0, r1 strb r0, [r4, 0x5] - ldr r5, _080DAD7C @ =gBattleAnimPlayerMonIndex + ldr r5, _080DAD7C @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -34112,8 +34112,8 @@ sub_80DAD30: @ 80DAD30 pop {r0} bx r0 .align 2, 0 -_080DAD78: .4byte gBattleAnimEnemyMonIndex -_080DAD7C: .4byte gBattleAnimPlayerMonIndex +_080DAD78: .4byte gBattleAnimBankTarget +_080DAD7C: .4byte gBattleAnimBankAttacker _080DAD80: .4byte sub_807941C thumb_func_end sub_80DAD30 @@ -34137,7 +34137,7 @@ sub_80DAD84: @ 80DAD84 cmp r0, 0 beq _080DAE44 ldr r0, _080DADD8 @ =gBanksBySide - ldr r1, _080DADDC @ =gBattleAnimEnemyMonIndex + ldr r1, _080DADDC @ =gBattleAnimBankTarget ldrb r2, [r1] adds r0, r2, r0 ldrb r1, [r0] @@ -34158,7 +34158,7 @@ _080DADCC: .4byte gBattleAnimArgs _080DADD0: .4byte gMain _080DADD4: .4byte 0x0000043d _080DADD8: .4byte gBanksBySide -_080DADDC: .4byte gBattleAnimEnemyMonIndex +_080DADDC: .4byte gBattleAnimBankTarget _080DADE0: adds r0, r2, 0 movs r1, 0x1 @@ -34173,7 +34173,7 @@ _080DADEE: ldrsh r0, [r0, r1] cmp r0, 0 beq _080DAE24 - ldr r0, _080DAE20 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DAE20 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 lsls r0, 24 @@ -34191,9 +34191,9 @@ _080DADEE: b _080DAE58 .align 2, 0 _080DAE1C: .4byte gBattleAnimArgs -_080DAE20: .4byte gBattleAnimEnemyMonIndex +_080DAE20: .4byte gBattleAnimBankTarget _080DAE24: - ldr r0, _080DAE40 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DAE40 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8079ED4 movs r1, 0x3 @@ -34207,9 +34207,9 @@ _080DAE24: strb r0, [r4, 0x5] b _080DAE58 .align 2, 0 -_080DAE40: .4byte gBattleAnimEnemyMonIndex +_080DAE40: .4byte gBattleAnimBankTarget _080DAE44: - ldr r0, _080DAEFC @ =gBattleAnimEnemyMonIndex + ldr r0, _080DAEFC @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8077ABC @@ -34303,7 +34303,7 @@ _080DAEF2: pop {r0} bx r0 .align 2, 0 -_080DAEFC: .4byte gBattleAnimEnemyMonIndex +_080DAEFC: .4byte gBattleAnimBankTarget _080DAF00: .4byte gSineTable _080DAF04: .4byte gOamMatrices _080DAF08: .4byte sub_80DAF0C @@ -34463,7 +34463,7 @@ _080DB024: ldrsh r0, [r4, r2] cmp r0, 0 bne _080DB03C - ldr r0, _080DB090 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DB090 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -34474,7 +34474,7 @@ _080DB03C: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080DB058 - ldr r0, _080DB094 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DB094 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -34512,8 +34512,8 @@ _080DB058: bx r0 .align 2, 0 _080DB08C: .4byte gBattleAnimArgs -_080DB090: .4byte gBattleAnimPlayerMonIndex -_080DB094: .4byte gBattleAnimEnemyMonIndex +_080DB090: .4byte gBattleAnimBankAttacker +_080DB094: .4byte gBattleAnimBankTarget _080DB098: .4byte 0x00000ccc _080DB09C: .4byte sub_80DB0A0 thumb_func_end sub_80DB000 @@ -34599,7 +34599,7 @@ sub_80DB0E8: @ 80DB0E8 strh r0, [r4, 0x6] ldr r0, _080DB18C @ =gBattleAnimSpriteTemplate_83DB538 mov r8, r0 - ldr r5, _080DB190 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DB190 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -34637,7 +34637,7 @@ _080DB180: .4byte gTasks _080DB184: .4byte gAnimVisualTaskCount _080DB188: .4byte gBattleAnimArgs _080DB18C: .4byte gBattleAnimSpriteTemplate_83DB538 -_080DB190: .4byte gBattleAnimEnemyMonIndex +_080DB190: .4byte gBattleAnimBankTarget thumb_func_end sub_80DB0E8 thumb_func_start sub_80DB194 @@ -34656,7 +34656,7 @@ _080DB1A6: movs r1, 0x1 bl sub_80787B0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _080DB1D4 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -34709,7 +34709,7 @@ _080DB20A: beq _080DB240 b _080DB27E _080DB210: - ldr r0, _080DB228 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DB228 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8077ABC @@ -34721,7 +34721,7 @@ _080DB210: strh r0, [r4, 0x26] b _080DB238 .align 2, 0 -_080DB228: .4byte gBattleAnimEnemyMonIndex +_080DB228: .4byte gBattleAnimBankTarget _080DB22C: ldrh r0, [r4, 0x26] adds r0, 0xA @@ -34748,7 +34748,7 @@ _080DB240: cmp r0, r1 bge _080DB27E movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _080DB284 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -34786,7 +34786,7 @@ sub_80DB288: @ 80DB288 ldr r0, _080DB2C8 @ =sub_80DB2D0 str r0, [r4, 0x1C] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _080DB2CC @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -34919,13 +34919,13 @@ _080DB388: ldrsh r0, [r0, r2] cmp r0, 0 bne _080DB3A0 - ldr r4, _080DB39C @ =gBattleAnimPlayerMonIndex + ldr r4, _080DB39C @ =gBattleAnimBankAttacker b _080DB3A2 .align 2, 0 _080DB398: .4byte gBattleAnimArgs -_080DB39C: .4byte gBattleAnimPlayerMonIndex +_080DB39C: .4byte gBattleAnimBankAttacker _080DB3A0: - ldr r4, _080DB3DC @ =gBattleAnimEnemyMonIndex + ldr r4, _080DB3DC @ =gBattleAnimBankTarget _080DB3A2: ldrb r0, [r4] movs r1, 0 @@ -34954,7 +34954,7 @@ _080DB3A2: strh r0, [r5, 0x2E] b _080DB44C .align 2, 0 -_080DB3DC: .4byte gBattleAnimEnemyMonIndex +_080DB3DC: .4byte gBattleAnimBankTarget _080DB3E0: movs r1, 0x32 ldrsh r0, [r5, r1] @@ -35079,13 +35079,13 @@ _080DB4C0: ldrsh r0, [r2, r1] cmp r0, 0 bne _080DB4D4 - ldr r4, _080DB4D0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DB4D0 @ =gBattleAnimBankAttacker b _080DB4D6 .align 2, 0 _080DB4CC: .4byte gBattleAnimArgs -_080DB4D0: .4byte gBattleAnimPlayerMonIndex +_080DB4D0: .4byte gBattleAnimBankAttacker _080DB4D4: - ldr r4, _080DB500 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DB500 @ =gBattleAnimBankTarget _080DB4D6: ldrb r0, [r4] movs r1, 0 @@ -35106,7 +35106,7 @@ _080DB4D6: pop {r0} bx r0 .align 2, 0 -_080DB500: .4byte gBattleAnimEnemyMonIndex +_080DB500: .4byte gBattleAnimBankTarget _080DB504: .4byte sub_80DB508 thumb_func_end sub_80DB458 @@ -35245,7 +35245,7 @@ sub_80DB5E4: @ 80DB5E4 mov r8, r0 ldrh r4, [r0, 0x20] ldrh r5, [r0, 0x22] - ldr r6, _080DB698 @ =gBattleAnimPlayerMonIndex + ldr r6, _080DB698 @ =gBattleAnimBankAttacker ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -35321,7 +35321,7 @@ sub_80DB5E4: @ 80DB5E4 pop {r0} bx r0 .align 2, 0 -_080DB698: .4byte gBattleAnimPlayerMonIndex +_080DB698: .4byte gBattleAnimBankAttacker _080DB69C: .4byte sub_80DB6A0 thumb_func_end sub_80DB5E4 @@ -35375,7 +35375,7 @@ unref_sub_80DB6E4: @ 80DB6E4 cmp r0, 0 bne _080DB71C movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _080DB718 @ =gSprites @@ -35393,7 +35393,7 @@ _080DB714: .4byte gBattleAnimArgs _080DB718: .4byte gSprites _080DB71C: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _080DB748 @ =gSprites @@ -35421,13 +35421,13 @@ _080DB748: .4byte gSprites sub_80DB74C: @ 80DB74C push {r4-r7,lr} adds r6, r0, 0 - ldr r0, _080DB804 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DB804 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 cmp r0, 0 beq _080DB768 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DB77E @@ -35444,7 +35444,7 @@ _080DB768: movs r0, 0xC8 strb r0, [r1] _080DB77E: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DB7DA @@ -35463,7 +35463,7 @@ _080DB77E: orrs r1, r0 lsrs r5, r1, 31 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DB7BC @@ -35475,7 +35475,7 @@ _080DB7BC: adds r4, r0, 0 eors r4, r7 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DB7DA @@ -35485,7 +35485,7 @@ _080DB7BC: adds r1, r5, 0 bl sub_8076034 _080DB7DA: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DB810 @@ -35493,7 +35493,7 @@ _080DB7DA: lsls r0, 24 cmp r0, 0 beq _080DB810 - ldr r0, _080DB804 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DB804 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -35504,14 +35504,14 @@ _080DB7DA: movs r0, 0x50 b _080DB84A .align 2, 0 -_080DB804: .4byte gBattleAnimPlayerMonIndex +_080DB804: .4byte gBattleAnimBankAttacker _080DB808: movs r0, 0xB0 strh r0, [r6, 0x20] movs r0, 0x28 b _080DB84A _080DB810: - ldr r5, _080DB880 @ =gBattleAnimPlayerMonIndex + ldr r5, _080DB880 @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide lsls r0, 24 @@ -35540,7 +35540,7 @@ _080DB826: adds r0, r4 _080DB84A: strh r0, [r6, 0x22] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DB85C @@ -35565,7 +35565,7 @@ _080DB85C: pop {r0} bx r0 .align 2, 0 -_080DB880: .4byte gBattleAnimPlayerMonIndex +_080DB880: .4byte gBattleAnimBankAttacker _080DB884: .4byte gBattleAnimArgs _080DB888: .4byte sub_80DB88C thumb_func_end sub_80DB74C @@ -35679,7 +35679,7 @@ sub_80DB92C: @ 80DB92C negs r1, r1 cmp r0, r1 bne _080DB9CC - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DB9BC @@ -35689,7 +35689,7 @@ sub_80DB92C: @ 80DB92C lsrs r4, r0, 24 adds r6, r4, 0 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DB98E @@ -35712,7 +35712,7 @@ _080DB98E: adds r4, r0, 0 eors r4, r6 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DB9BC @@ -35754,7 +35754,7 @@ _080DB9E0: .4byte sub_80DB9E4 sub_80DB9E4: @ 80DB9E4 push {r4-r6,lr} adds r6, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DBA3C @@ -35772,7 +35772,7 @@ sub_80DB9E4: @ 80DB9E4 orrs r1, r0 lsrs r5, r1, 31 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DBA22 @@ -35782,7 +35782,7 @@ _080DBA22: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DBA3C @@ -35816,7 +35816,7 @@ sub_80DBA4C: @ 80DBA4C bne _080DBA66 movs r6, 0x1 _080DBA66: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DBAAE @@ -35824,7 +35824,7 @@ _080DBA66: lsls r0, 24 cmp r0, 0 beq _080DBAAE - ldr r0, _080DBA9C @ =gBattleAnimPlayerMonIndex + ldr r0, _080DBA9C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -35840,7 +35840,7 @@ _080DBA66: b _080DBAD0 .align 2, 0 _080DBA98: .4byte gBattleAnimArgs -_080DBA9C: .4byte gBattleAnimPlayerMonIndex +_080DBA9C: .4byte gBattleAnimBankAttacker _080DBAA0: ldrh r0, [r5] adds r0, 0xB0 @@ -35890,7 +35890,7 @@ _080DBAEC: sub_80DBAF4: @ 80DBAF4 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080DBB3C @ =gBattleAnimPlayerMonIndex + ldr r4, _080DBB3C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -35920,7 +35920,7 @@ sub_80DBAF4: @ 80DBAF4 ldr r0, _080DBB40 @ =0x0000ffff b _080DBB52 .align 2, 0 -_080DBB3C: .4byte gBattleAnimPlayerMonIndex +_080DBB3C: .4byte gBattleAnimBankAttacker _080DBB40: .4byte 0x0000ffff _080DBB44: ldrh r0, [r5, 0x20] @@ -35934,7 +35934,7 @@ _080DBB52: strh r0, [r5, 0x30] ldr r1, _080DBB68 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080DBB6C @ =sub_8078600 str r0, [r5, 0x1C] pop {r4,r5} @@ -35949,7 +35949,7 @@ _080DBB6C: .4byte sub_8078600 sub_80DBB70: @ 80DBB70 push {r4-r7,lr} adds r5, r0, 0 - ldr r6, _080DBBF4 @ =gBattleAnimPlayerMonIndex + ldr r6, _080DBBF4 @ =gBattleAnimBankAttacker ldrb r0, [r6] movs r1, 0x1 bl sub_807A100 @@ -36003,14 +36003,14 @@ _080DBBB6: _080DBBE2: ldr r1, _080DBBF8 @ =sub_80DBC00 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080DBBFC @ =sub_8078600 str r0, [r5, 0x1C] pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080DBBF4: .4byte gBattleAnimPlayerMonIndex +_080DBBF4: .4byte gBattleAnimBankAttacker _080DBBF8: .4byte sub_80DBC00 _080DBBFC: .4byte sub_8078600 thumb_func_end sub_80DBB70 @@ -36105,7 +36105,7 @@ sub_80DBC94: @ 80DBC94 ldr r0, _080DBCC4 @ =gTasks adds r4, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -36159,14 +36159,14 @@ sub_80DBCFC: @ 80DBCFC ldr r0, _080DBD48 @ =gTasks adds r4, r1, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 movs r1, 0 strh r0, [r4, 0x8] strh r1, [r4, 0xA] strh r1, [r4, 0xC] - ldr r0, _080DBD4C @ =gBattleAnimPlayerMonIndex + ldr r0, _080DBD4C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -36187,7 +36187,7 @@ _080DBD30: bx r0 .align 2, 0 _080DBD48: .4byte gTasks -_080DBD4C: .4byte gBattleAnimPlayerMonIndex +_080DBD4C: .4byte gBattleAnimBankAttacker _080DBD50: .4byte gUnknown_083DA8C4 _080DBD54: .4byte sub_80DBD58 thumb_func_end sub_80DBCFC @@ -36294,7 +36294,7 @@ sub_80DBE00: @ 80DBE00 movs r7, 0x10 strh r7, [r5, 0xE] strh r0, [r5, 0x10] - ldr r4, _080DBE88 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DBE88 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -36345,7 +36345,7 @@ _080DBE6A: bx r0 .align 2, 0 _080DBE84: .4byte gTasks -_080DBE88: .4byte gBattleAnimPlayerMonIndex +_080DBE88: .4byte gBattleAnimBankAttacker _080DBE8C: .4byte REG_BLDCNT _080DBE90: .4byte REG_BLDALPHA _080DBE94: .4byte sub_80DBE98 @@ -36614,7 +36614,7 @@ sub_80DC068: @ 80DC068 ldrsh r0, [r6, r1] cmp r0, 0 bne _080DC094 - ldr r4, _080DC0A8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DC0A8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -36637,7 +36637,7 @@ _080DC094: bx r0 .align 2, 0 _080DC0A4: .4byte gBattleAnimArgs -_080DC0A8: .4byte gBattleAnimPlayerMonIndex +_080DC0A8: .4byte gBattleAnimBankAttacker _080DC0AC: .4byte sub_80DC020 thumb_func_end sub_80DC068 @@ -36651,7 +36651,7 @@ sub_80DC0B0: @ 80DC0B0 lsls r1, 3 ldr r0, _080DC10C @ =gTasks adds r5, r1, r0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DC154 @@ -36662,7 +36662,7 @@ sub_80DC0B0: @ 80DC0B0 bne _080DC120 ldr r0, _080DC114 @ =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, _080DC118 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DC118 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x5 bl sub_807A100 @@ -36673,7 +36673,7 @@ sub_80DC0B0: @ 80DC0B0 bl sub_807A100 adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080DC11C @ =gBattleAnimPlayerMonIndex + ldr r4, _080DC11C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_807A100 @@ -36688,12 +36688,12 @@ sub_80DC0B0: @ 80DC0B0 _080DC10C: .4byte gTasks _080DC110: .4byte gBattleAnimArgs _080DC114: .4byte 0x0000fff6 -_080DC118: .4byte gBattleAnimEnemyMonIndex -_080DC11C: .4byte gBattleAnimPlayerMonIndex +_080DC118: .4byte gBattleAnimBankTarget +_080DC11C: .4byte gBattleAnimBankAttacker _080DC120: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, _080DC14C @ =gBattleAnimPlayerMonIndex + ldr r4, _080DC14C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_807A100 @@ -36704,15 +36704,15 @@ _080DC120: bl sub_807A100 subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080DC150 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DC150 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x4 bl sub_807A100 adds r0, 0x8 b _080DC1D2 .align 2, 0 -_080DC14C: .4byte gBattleAnimPlayerMonIndex -_080DC150: .4byte gBattleAnimEnemyMonIndex +_080DC14C: .4byte gBattleAnimBankAttacker +_080DC150: .4byte gBattleAnimBankTarget _080DC154: ldr r0, _080DC198 @ =gBattleAnimArgs movs r1, 0 @@ -36721,7 +36721,7 @@ _080DC154: bne _080DC1A8 ldr r0, _080DC19C @ =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, _080DC1A0 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DC1A0 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x4 bl sub_807A100 @@ -36732,7 +36732,7 @@ _080DC154: bl sub_807A100 adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080DC1A4 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DC1A4 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_807A100 @@ -36746,12 +36746,12 @@ _080DC154: .align 2, 0 _080DC198: .4byte gBattleAnimArgs _080DC19C: .4byte 0x0000fff6 -_080DC1A0: .4byte gBattleAnimEnemyMonIndex -_080DC1A4: .4byte gBattleAnimPlayerMonIndex +_080DC1A0: .4byte gBattleAnimBankTarget +_080DC1A4: .4byte gBattleAnimBankAttacker _080DC1A8: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, _080DC1F0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DC1F0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_807A100 @@ -36762,7 +36762,7 @@ _080DC1A8: bl sub_807A100 subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, _080DC1F4 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DC1F4 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x5 bl sub_807A100 @@ -36783,8 +36783,8 @@ _080DC1DE: pop {r0} bx r0 .align 2, 0 -_080DC1F0: .4byte gBattleAnimPlayerMonIndex -_080DC1F4: .4byte gBattleAnimEnemyMonIndex +_080DC1F0: .4byte gBattleAnimBankAttacker +_080DC1F4: .4byte gBattleAnimBankTarget _080DC1F8: .4byte sub_80DC1FC thumb_func_end sub_80DC0B0 @@ -36909,7 +36909,7 @@ sub_80DC2D4: @ 80DC2D4 lsls r1, 3 ldr r0, _080DC30C @ =gTasks adds r4, r1, r0 - ldr r0, _080DC310 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DC310 @ =gBattleAnimBankTarget ldrb r0, [r0] bl sub_8077FC0 lsls r0, 24 @@ -36929,7 +36929,7 @@ sub_80DC2D4: @ 80DC2D4 b _080DC346 .align 2, 0 _080DC30C: .4byte gTasks -_080DC310: .4byte gBattleAnimEnemyMonIndex +_080DC310: .4byte gBattleAnimBankTarget _080DC314: .4byte gBattleAnimArgs _080DC318: cmp r0, 0x2 @@ -36967,7 +36967,7 @@ _080DC346: movs r0, 0 strh r0, [r4, 0x24] _080DC352: - ldr r0, _080DC36C @ =gBattleAnimEnemyMonIndex + ldr r0, _080DC36C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -36980,7 +36980,7 @@ _080DC352: ldr r0, _080DC374 @ =REG_BG1HOFS b _080DC380 .align 2, 0 -_080DC36C: .4byte gBattleAnimEnemyMonIndex +_080DC36C: .4byte gBattleAnimBankTarget _080DC370: .4byte gUnknown_030042C0 _080DC374: .4byte REG_BG1HOFS _080DC378: @@ -37282,7 +37282,7 @@ _080DC554: bl CalcCenterToCornerVec ldr r1, _080DC5EC @ =gBattleAnimArgs ldrb r0, [r1] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] @@ -37461,7 +37461,7 @@ _080DC716: beq _080DC808 b _080DC818 _080DC720: - ldr r4, _080DC76C @ =gBattleAnimPlayerMonIndex + ldr r4, _080DC76C @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -37474,7 +37474,7 @@ _080DC720: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DC74E @@ -37498,7 +37498,7 @@ _080DC74E: strh r0, [r2] b _080DC7A2 .align 2, 0 -_080DC76C: .4byte gBattleAnimPlayerMonIndex +_080DC76C: .4byte gBattleAnimBankAttacker _080DC770: .4byte REG_BLDCNT _080DC774: .4byte REG_BLDALPHA _080DC778: @@ -37594,7 +37594,7 @@ _080DC820: .4byte REG_BLDCNT sub_80DC824: @ 80DC824 push {r4-r6,lr} adds r6, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DC850 @@ -37612,7 +37612,7 @@ sub_80DC824: @ 80DC824 .align 2, 0 _080DC84C: .4byte gBattleAnimArgs _080DC850: - ldr r0, _080DC8E4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DC8E4 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -37635,7 +37635,7 @@ _080DC850: negs r0, r0 strh r0, [r1] _080DC880: - ldr r5, _080DC8E4 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DC8E4 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077EE4 @@ -37675,12 +37675,12 @@ _080DC880: str r0, [r6, 0x1C] ldr r1, _080DC8F0 @ =move_anim_8072740 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080DC8E4: .4byte gBattleAnimEnemyMonIndex +_080DC8E4: .4byte gBattleAnimBankTarget _080DC8E8: .4byte gBattleAnimArgs _080DC8EC: .4byte sub_8078B34 _080DC8F0: .4byte move_anim_8072740 @@ -37690,7 +37690,7 @@ _080DC8F0: .4byte move_anim_8072740 sub_80DC8F4: @ 80DC8F4 push {r4-r6,lr} adds r6, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DC918 @@ -37705,7 +37705,7 @@ sub_80DC8F4: @ 80DC8F4 .align 2, 0 _080DC914: .4byte gBattleAnimArgs _080DC918: - ldr r0, _080DC990 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DC990 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -37719,7 +37719,7 @@ _080DC918: negs r1, r1 strh r1, [r0] _080DC934: - ldr r5, _080DC990 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DC990 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077EE4 @@ -37755,12 +37755,12 @@ _080DC934: str r0, [r6, 0x1C] ldr r1, _080DC99C @ =move_anim_8072740 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080DC990: .4byte gBattleAnimEnemyMonIndex +_080DC990: .4byte gBattleAnimBankTarget _080DC994: .4byte gBattleAnimArgs _080DC998: .4byte sub_8078B34 _080DC99C: .4byte move_anim_8072740 @@ -37770,7 +37770,7 @@ _080DC99C: .4byte move_anim_8072740 sub_80DC9A0: @ 80DC9A0 push {r4,r5,lr} adds r5, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DC9BC @@ -37796,7 +37796,7 @@ _080DC9BC: ldrsh r0, [r1, r2] cmp r0, 0 bne _080DCA04 - ldr r4, _080DCA00 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DCA00 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -37812,9 +37812,9 @@ _080DC9BC: b _080DCA16 .align 2, 0 _080DC9FC: .4byte gBattleAnimArgs -_080DCA00: .4byte gBattleAnimEnemyMonIndex +_080DCA00: .4byte gBattleAnimBankTarget _080DCA04: - ldr r0, _080DCA2C @ =gBattleAnimEnemyMonIndex + ldr r0, _080DCA2C @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -37834,7 +37834,7 @@ _080DCA16: pop {r0} bx r0 .align 2, 0 -_080DCA2C: .4byte gBattleAnimEnemyMonIndex +_080DCA2C: .4byte gBattleAnimBankTarget _080DCA30: .4byte gBattleAnimArgs _080DCA34: .4byte sub_80DCA38 thumb_func_end sub_80DC9A0 @@ -37874,7 +37874,7 @@ _080DCA6A: sub_80DCA70: @ 80DCA70 push {r4,lr} adds r4, r0, 0 - ldr r0, _080DCAA0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DCAA0 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -37882,7 +37882,7 @@ sub_80DCA70: @ 80DCA70 adds r3, 0x22 movs r1, 0 bl sub_807A3FC - ldr r0, _080DCAA4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DCAA4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -37895,8 +37895,8 @@ sub_80DCA70: @ 80DCA70 strh r1, [r4, 0x20] b _080DCAB8 .align 2, 0 -_080DCAA0: .4byte gBattleAnimEnemyMonIndex -_080DCAA4: .4byte gBattleAnimPlayerMonIndex +_080DCAA0: .4byte gBattleAnimBankTarget +_080DCAA4: .4byte gBattleAnimBankAttacker _080DCAA8: .4byte gBattleAnimArgs _080DCAAC: ldr r1, _080DCAE0 @ =gBattleAnimArgs @@ -37910,7 +37910,7 @@ _080DCAB8: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, _080DCAE4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DCAE4 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -37927,7 +37927,7 @@ _080DCAD4: bx r0 .align 2, 0 _080DCAE0: .4byte gBattleAnimArgs -_080DCAE4: .4byte gBattleAnimEnemyMonIndex +_080DCAE4: .4byte gBattleAnimBankTarget _080DCAE8: .4byte sub_80DCAEC thumb_func_end sub_80DCA70 @@ -38063,7 +38063,7 @@ sub_80DCBCC: @ 80DCBCC push {r4-r7,lr} sub sp, 0x4 adds r7, r0, 0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DCBEC @@ -38075,7 +38075,7 @@ sub_80DCBCC: @ 80DCBCC .align 2, 0 _080DCBE8: .4byte gBattleAnimArgs _080DCBEC: - ldr r0, _080DCCE8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DCCE8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -38092,15 +38092,15 @@ _080DCBEC: negs r0, r0 strh r0, [r1, 0x6] _080DCC0E: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DCC5E - ldr r0, _080DCCE8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DCCE8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide adds r4, r0, 0 - ldr r5, _080DCCF0 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DCCF0 @ =gBattleAnimBankTarget ldrb r0, [r5] bl GetBankSide lsls r4, 24 @@ -38132,7 +38132,7 @@ _080DCC5E: adds r0, r7, 0 movs r1, 0x1 bl sub_80787B0 - ldr r5, _080DCCF0 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DCCF0 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -38186,15 +38186,15 @@ _080DCC5E: str r0, [r7, 0x1C] ldr r1, _080DCCF8 @ =move_anim_8072740 adds r0, r7, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 add sp, 0x4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080DCCE8: .4byte gBattleAnimPlayerMonIndex +_080DCCE8: .4byte gBattleAnimBankAttacker _080DCCEC: .4byte gBattleAnimArgs -_080DCCF0: .4byte gBattleAnimEnemyMonIndex +_080DCCF0: .4byte gBattleAnimBankTarget _080DCCF4: .4byte sub_8078B34 _080DCCF8: .4byte move_anim_8072740 thumb_func_end sub_80DCBCC @@ -38205,7 +38205,7 @@ sub_80DCCFC: @ 80DCCFC adds r6, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080DCD68 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DCD68 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -38219,7 +38219,7 @@ _080DCD1C: ldr r4, _080DCD6C @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _080DCD70 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DCD70 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -38252,9 +38252,9 @@ _080DCD1C: pop {r0} bx r0 .align 2, 0 -_080DCD68: .4byte gBattleAnimPlayerMonIndex +_080DCD68: .4byte gBattleAnimBankAttacker _080DCD6C: .4byte gBattleAnimArgs -_080DCD70: .4byte gBattleAnimEnemyMonIndex +_080DCD70: .4byte gBattleAnimBankTarget _080DCD74: .4byte sub_80DCD78 thumb_func_end sub_80DCCFC @@ -38370,13 +38370,13 @@ sub_80DCE40: @ 80DCE40 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DCE5C - ldr r4, _080DCE58 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DCE58 @ =gBattleAnimBankAttacker b _080DCE5E .align 2, 0 _080DCE54: .4byte gBattleAnimArgs -_080DCE58: .4byte gBattleAnimPlayerMonIndex +_080DCE58: .4byte gBattleAnimBankAttacker _080DCE5C: - ldr r4, _080DCE90 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DCE90 @ =gBattleAnimBankTarget _080DCE5E: ldrb r0, [r4] movs r1, 0x2 @@ -38393,14 +38393,14 @@ _080DCE5E: strh r0, [r5, 0x22] ldr r1, _080DCE94 @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080DCE98 @ =sub_80785E4 str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080DCE90: .4byte gBattleAnimEnemyMonIndex +_080DCE90: .4byte gBattleAnimBankTarget _080DCE94: .4byte move_anim_8074EE0 _080DCE98: .4byte sub_80785E4 thumb_func_end sub_80DCE40 @@ -38414,7 +38414,7 @@ sub_80DCE9C: @ 80DCE9C ldrsh r0, [r6, r1] cmp r0, 0 beq _080DCEBC - ldr r0, _080DCF0C @ =gBattleAnimEnemyMonIndex + ldr r0, _080DCF0C @ =gBattleAnimBankTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x20 @@ -38448,7 +38448,7 @@ _080DCEBC: strh r0, [r5, 0x38] ldr r1, _080DCF14 @ =sub_80DCF1C adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _080DCF18 @ =sub_8078278 str r1, [r5, 0x1C] adds r0, r5, 0 @@ -38458,7 +38458,7 @@ _080DCEBC: bx r0 .align 2, 0 _080DCF08: .4byte gBattleAnimArgs -_080DCF0C: .4byte gBattleAnimEnemyMonIndex +_080DCF0C: .4byte gBattleAnimBankTarget _080DCF10: .4byte 0x0000ffba _080DCF14: .4byte sub_80DCF1C _080DCF18: .4byte sub_8078278 @@ -38483,7 +38483,7 @@ sub_80DCF1C: @ 80DCF1C strh r0, [r4, 0x36] ldr r1, _080DCF58 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _080DCF5C @ =sub_8078278 str r1, [r4, 0x1C] adds r0, r4, 0 @@ -38506,7 +38506,7 @@ sub_80DCF60: @ 80DCF60 bl StartSpriteAnim adds r0, r5, 0 bl AnimateSprite - ldr r0, _080DCF8C @ =gBattleAnimPlayerMonIndex + ldr r0, _080DCF8C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -38518,7 +38518,7 @@ sub_80DCF60: @ 80DCF60 b _080DCF96 .align 2, 0 _080DCF88: .4byte gBattleAnimArgs -_080DCF8C: .4byte gBattleAnimPlayerMonIndex +_080DCF8C: .4byte gBattleAnimBankAttacker _080DCF90: ldrh r0, [r4] ldrh r1, [r5, 0x20] @@ -38550,7 +38550,7 @@ _080DCF96: str r0, [r5, 0x1C] ldr r1, _080DCFE0 @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -38668,7 +38668,7 @@ do_boulder_dust: @ 80DD078 movs r0, 0x3F ands r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DD0C4 @@ -38710,7 +38710,7 @@ _080DD0C4: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DD120 @@ -38726,7 +38726,7 @@ _080DD120: ldrsh r0, [r0, r1] cmp r0, 0 beq _080DD13A - ldr r0, _080DD184 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DD184 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -38759,7 +38759,7 @@ _080DD174: .4byte gBattleAnimBackgroundTilemap_SandstormBrew _080DD178: .4byte gBattleAnimBackgroundImage_SandstormBrew _080DD17C: .4byte gBattleAnimSpritePalette_261 _080DD180: .4byte gBattleAnimArgs -_080DD184: .4byte gBattleAnimPlayerMonIndex +_080DD184: .4byte gBattleAnimBankAttacker _080DD188: .4byte gTasks _080DD18C: .4byte sub_80DD190 thumb_func_end do_boulder_dust @@ -38972,7 +38972,7 @@ _080DD2F6: ldr r1, _080DD394 @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080DD344 @@ -39044,7 +39044,7 @@ sub_80DD3AC: @ 80DD3AC ldrsh r0, [r4, r2] cmp r0, 0 beq _080DD3F8 - ldr r0, _080DD3F4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DD3F4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -39067,7 +39067,7 @@ sub_80DD3AC: @ 80DD3AC b _080DD3FC .align 2, 0 _080DD3F0: .4byte gBattleAnimArgs -_080DD3F4: .4byte gBattleAnimPlayerMonIndex +_080DD3F4: .4byte gBattleAnimBankAttacker _080DD3F8: ldr r0, _080DD41C @ =0x0000ffc0 strh r0, [r5, 0x20] @@ -39169,7 +39169,7 @@ sub_80DD490: @ 80DD490 str r0, [r4, 0x1C] ldr r1, _080DD4D0 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -39193,7 +39193,7 @@ sub_80DD4D4: @ 80DD4D4 lsls r1, 3 ldr r0, _080DD554 @ =gTasks adds r6, r1, r0 - ldr r5, _080DD558 @ =gBattleAnimPlayerMonIndex + ldr r5, _080DD558 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -39209,7 +39209,7 @@ sub_80DD4D4: @ 80DD4D4 lsls r1, 13 adds r0, r1 lsrs r7, r0, 16 - ldr r4, _080DD55C @ =gBattleAnimEnemyMonIndex + ldr r4, _080DD55C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -39243,8 +39243,8 @@ _080DD544: b _080DD566 .align 2, 0 _080DD554: .4byte gTasks -_080DD558: .4byte gBattleAnimPlayerMonIndex -_080DD55C: .4byte gBattleAnimEnemyMonIndex +_080DD558: .4byte gBattleAnimBankAttacker +_080DD55C: .4byte gBattleAnimBankTarget _080DD560: lsls r1, r5, 3 movs r0, 0x30 @@ -39308,7 +39308,7 @@ _080DD57E: strh r0, [r6, 0x24] strh r5, [r6, 0xA] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] @@ -39787,7 +39787,7 @@ _080DD972: sub_80DD978: @ 80DD978 push {r4,lr} adds r4, r0, 0 - ldr r0, _080DD9A0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DD9A0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -39804,14 +39804,14 @@ _080DD994: pop {r0} bx r0 .align 2, 0 -_080DD9A0: .4byte gBattleAnimPlayerMonIndex +_080DD9A0: .4byte gBattleAnimBankAttacker thumb_func_end sub_80DD978 thumb_func_start sub_80DD9A4 sub_80DD9A4: @ 80DD9A4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080DD9F0 @ =gBattleAnimEnemyMonIndex + ldr r5, _080DD9F0 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -39844,7 +39844,7 @@ sub_80DD9A4: @ 80DD9A4 pop {r0} bx r0 .align 2, 0 -_080DD9F0: .4byte gBattleAnimEnemyMonIndex +_080DD9F0: .4byte gBattleAnimBankTarget _080DD9F4: .4byte gBattleAnimArgs _080DD9F8: .4byte sub_80DD9FC thumb_func_end sub_80DD9A4 @@ -40049,7 +40049,7 @@ sub_80DDB6C: @ 80DDB6C strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, _080DDBCC @ =gBattleAnimEnemyMonIndex + ldr r5, _080DDBCC @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -40083,7 +40083,7 @@ sub_80DDB6C: @ 80DDB6C bx r0 .align 2, 0 _080DDBC8: .4byte gBattleAnimArgs -_080DDBCC: .4byte gBattleAnimEnemyMonIndex +_080DDBCC: .4byte gBattleAnimBankTarget _080DDBD0: .4byte sub_80DDBD8 _080DDBD4: .4byte REG_BLDCNT thumb_func_end sub_80DDB6C @@ -40389,7 +40389,7 @@ sub_80DDDF0: @ 80DDDF0 adds r0, r2, 0 strh r0, [r1] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -40506,7 +40506,7 @@ sub_80DDED0: @ 80DDED0 _080DDEF4: .4byte gTasks _080DDEF8: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r1, r0, 24 ldrh r0, [r4, 0x8] @@ -40551,7 +40551,7 @@ sub_80DDF40: @ 80DDF40 adds r4, r0, 0 ldrh r5, [r4, 0x20] ldrh r6, [r4, 0x22] - ldr r0, _080DDFDC @ =gBattleAnimPlayerMonIndex + ldr r0, _080DDFDC @ =gBattleAnimBankAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 @@ -40618,7 +40618,7 @@ sub_80DDF40: @ 80DDF40 pop {r0} bx r0 .align 2, 0 -_080DDFDC: .4byte gBattleAnimPlayerMonIndex +_080DDFDC: .4byte gBattleAnimBankAttacker _080DDFE0: .4byte gBattleAnimArgs _080DDFE4: .4byte sub_80DDFE8 thumb_func_end sub_80DDF40 @@ -40671,7 +40671,7 @@ _080DE032: lsls r0, 16 cmp r0, 0 bgt _080DE0F6 - ldr r4, _080DE098 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DE098 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -40712,7 +40712,7 @@ _080DE032: strh r0, [r5, 0x3C] b _080DE0E2 .align 2, 0 -_080DE098: .4byte gBattleAnimEnemyMonIndex +_080DE098: .4byte gBattleAnimBankTarget _080DE09C: ldrh r0, [r5, 0x3A] ldrh r1, [r5, 0x36] @@ -40734,7 +40734,7 @@ _080DE09C: lsls r0, 16 cmp r0, 0 bgt _080DE0F6 - ldr r4, _080DE0EC @ =gBattleAnimEnemyMonIndex + ldr r4, _080DE0EC @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -40753,7 +40753,7 @@ _080DE0E2: strh r0, [r5, 0x2E] b _080DE0F6 .align 2, 0 -_080DE0EC: .4byte gBattleAnimEnemyMonIndex +_080DE0EC: .4byte gBattleAnimBankTarget _080DE0F0: adds r0, r5, 0 bl move_anim_8074EE0 @@ -40917,7 +40917,7 @@ _080DE1E0: adds r0, r4 movs r1, 0x50 strh r1, [r0, 0x2E] - ldr r0, _080DE250 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DE250 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -40943,7 +40943,7 @@ _080DE1E0: _080DE244: .4byte REG_BLDCNT _080DE248: .4byte REG_BLDALPHA _080DE24C: .4byte gSprites -_080DE250: .4byte gBattleAnimEnemyMonIndex +_080DE250: .4byte gBattleAnimBankTarget _080DE254: .4byte 0x0000ff70 _080DE258: movs r2, 0x8 @@ -40986,7 +40986,7 @@ _080DE276: lsls r0, 2 adds r0, r4 ldr r1, _080DE2D0 @ =SpriteCallbackDummy - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 movs r0, 0x8 ldrsh r1, [r5, r0] lsls r0, r1, 4 @@ -41156,7 +41156,7 @@ sub_80DE3D4: @ 80DE3D4 lsls r0, 3 ldr r1, _080DE40C @ =gTasks adds r5, r0, r1 - ldr r0, _080DE410 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DE410 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -41174,7 +41174,7 @@ _080DE400: mov pc, r0 .align 2, 0 _080DE40C: .4byte gTasks -_080DE410: .4byte gBattleAnimEnemyMonIndex +_080DE410: .4byte gBattleAnimBankTarget _080DE414: .4byte _080DE418 .align 2, 0 _080DE418: @@ -41250,7 +41250,7 @@ _080DE464: movs r0, 0x10 strh r0, [r5, 0xE] movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -41516,7 +41516,7 @@ sub_80DE6B0: @ 80DE6B0 lsls r0, 3 ldr r1, _080DE6E0 @ =gTasks adds r4, r0, r1 - ldr r0, _080DE6E4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080DE6E4 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -41532,7 +41532,7 @@ sub_80DE6B0: @ 80DE6B0 b _080DE7AA .align 2, 0 _080DE6E0: .4byte gTasks -_080DE6E4: .4byte gBattleAnimEnemyMonIndex +_080DE6E4: .4byte gBattleAnimBankTarget _080DE6E8: cmp r0, 0x2 beq _080DE740 @@ -41542,7 +41542,7 @@ _080DE6EE: movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] @@ -41648,7 +41648,7 @@ sub_80DE7B8: @ 80DE7B8 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DE800 - ldr r4, _080DE7F8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DE7F8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -41663,14 +41663,14 @@ sub_80DE7B8: @ 80DE7B8 lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, _080DE7FC @ =gBattleAnimEnemyMonIndex + ldr r4, _080DE7FC @ =gBattleAnimBankTarget b _080DE824 .align 2, 0 _080DE7F4: .4byte gBattleAnimArgs -_080DE7F8: .4byte gBattleAnimPlayerMonIndex -_080DE7FC: .4byte gBattleAnimEnemyMonIndex +_080DE7F8: .4byte gBattleAnimBankAttacker +_080DE7FC: .4byte gBattleAnimBankTarget _080DE800: - ldr r4, _080DE8C8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DE8C8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -41685,7 +41685,7 @@ _080DE800: lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, _080DE8CC @ =gBattleAnimPlayerMonIndex + ldr r4, _080DE8CC @ =gBattleAnimBankAttacker _080DE824: ldrb r0, [r4] movs r1, 0 @@ -41765,8 +41765,8 @@ _080DE824: pop {r0} bx r0 .align 2, 0 -_080DE8C8: .4byte gBattleAnimEnemyMonIndex -_080DE8CC: .4byte gBattleAnimPlayerMonIndex +_080DE8C8: .4byte gBattleAnimBankTarget +_080DE8CC: .4byte gBattleAnimBankAttacker _080DE8D0: .4byte gBattleAnimArgs _080DE8D4: .4byte sub_80DE8D8 thumb_func_end sub_80DE7B8 @@ -41844,7 +41844,7 @@ sub_80DE918: @ 80DE918 ldr r2, _080DEA70 @ =gBattleAnimArgs ldrh r0, [r2] strh r0, [r1, 0x1C] - ldr r4, _080DEA74 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DEA74 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -41857,7 +41857,7 @@ sub_80DE918: @ 80DE918 lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DE988 @@ -41867,7 +41867,7 @@ _080DE988: _080DE98A: lsls r1, r4, 16 asrs r3, r1, 16 - ldr r0, _080DEA74 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DEA74 @ =gBattleAnimBankAttacker ldrb r2, [r0] str r1, [sp, 0x10] cmp r3, r2 @@ -41879,7 +41879,7 @@ _080DE98A: lsls r0, r4, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080DEA56 @@ -41975,7 +41975,7 @@ _080DEA56: _080DEA68: .4byte gTasks _080DEA6C: .4byte REG_BLDCNT _080DEA70: .4byte gBattleAnimArgs -_080DEA74: .4byte gBattleAnimPlayerMonIndex +_080DEA74: .4byte gBattleAnimBankAttacker _080DEA78: .4byte gSpriteTemplate_83DAF08 _080DEA7C: .4byte gSprites _080DEA80: .4byte gSprites + 0x1C @@ -42290,13 +42290,13 @@ sub_80DECB0: @ 80DECB0 adds r1, 0x4 movs r0, 0x10 strh r0, [r1] - ldr r0, _080DED08 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DED08 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 cmp r0, 0 bne _080DECF4 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080DED0C @@ -42308,7 +42308,7 @@ _080DECF8: .4byte gUnknown_030042C4 _080DECFC: .4byte gUnknown_03004240 _080DED00: .4byte REG_WININ _080DED04: .4byte 0x00003f3f -_080DED08: .4byte gBattleAnimPlayerMonIndex +_080DED08: .4byte gBattleAnimBankAttacker _080DED0C: movs r6, 0xC8 _080DED0E: @@ -42571,7 +42571,7 @@ sub_80DEF3C: @ 80DEF3C adds r4, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _080DEF68 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DEF68 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -42588,7 +42588,7 @@ sub_80DEF3C: @ 80DEF3C strb r1, [r4, 0x3] b _080DEF74 .align 2, 0 -_080DEF68: .4byte gBattleAnimPlayerMonIndex +_080DEF68: .4byte gBattleAnimBankAttacker _080DEF6C: .4byte 0x0000fffe _080DEF70: ldr r2, _080DEF90 @ =0x0000ffe8 @@ -42662,7 +42662,7 @@ _080DEFAA: str r0, [r3, 0x1C] ldr r1, _080DF008 @ =sub_80DF018 adds r0, r3, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 b _080DF010 .align 2, 0 _080DEFFC: .4byte 0x000003ff @@ -42775,7 +42775,7 @@ sub_80DF0B8: @ 80DF0B8 movs r1, 0xC bl Sin strh r0, [r4, 0x24] - ldr r0, _080DF120 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DF120 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -42819,7 +42819,7 @@ _080DF0DC: strh r0, [r1] b _080DF17E .align 2, 0 -_080DF120: .4byte gBattleAnimPlayerMonIndex +_080DF120: .4byte gBattleAnimBankAttacker _080DF124: .4byte 0x0000050b _080DF128: .4byte REG_BLDCNT _080DF12C: @@ -42908,7 +42908,7 @@ sub_80DF1A4: @ 80DF1A4 mov r8, r0 mov r2, r8 strh r2, [r4, 0xA] - ldr r5, _080DF240 @ =gBattleAnimPlayerMonIndex + ldr r5, _080DF240 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -42965,7 +42965,7 @@ sub_80DF1A4: @ 80DF1A4 bx r0 .align 2, 0 _080DF23C: .4byte gTasks -_080DF240: .4byte gBattleAnimPlayerMonIndex +_080DF240: .4byte gBattleAnimBankAttacker _080DF244: .4byte REG_BLDCNT _080DF248: .4byte sub_80DF24C thumb_func_end sub_80DF1A4 @@ -43022,7 +43022,7 @@ _080DF292: lsls r0, 2 adds r5, r0, r1 strh r7, [r5, 0x2E] - ldr r0, _080DF2FC @ =gBattleAnimPlayerMonIndex + ldr r0, _080DF2FC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide movs r1, 0 @@ -43056,7 +43056,7 @@ _080DF2E6: .align 2, 0 _080DF2F4: .4byte gSpriteTemplate_83DAF80 _080DF2F8: .4byte gSprites -_080DF2FC: .4byte gBattleAnimPlayerMonIndex +_080DF2FC: .4byte gBattleAnimBankAttacker _080DF300: ldrh r0, [r4, 0xA] adds r0, 0x1 @@ -43289,7 +43289,7 @@ sub_80DF49C: @ 80DF49C orrs r1, r2 strb r1, [r3] ldr r2, _080DF4E0 @ =gObjectBankIDs - ldr r1, _080DF4E4 @ =gBattleAnimPlayerMonIndex + ldr r1, _080DF4E4 @ =gBattleAnimBankAttacker ldrb r1, [r1] adds r1, r2 ldrb r1, [r1] @@ -43318,7 +43318,7 @@ sub_80DF49C: @ 80DF49C bx lr .align 2, 0 _080DF4E0: .4byte gObjectBankIDs -_080DF4E4: .4byte gBattleAnimPlayerMonIndex +_080DF4E4: .4byte gBattleAnimBankAttacker _080DF4E8: .4byte gBattleAnimArgs _080DF4EC: .4byte sub_80DF4F4 _080DF4F0: .4byte gSprites @@ -43415,7 +43415,7 @@ _080DF59C: .4byte move_anim_8074EE0 sub_80DF5A0: @ 80DF5A0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _080DF5E8 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DF5E8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -43447,7 +43447,7 @@ sub_80DF5A0: @ 80DF5A0 adds r1, r2, 0 b _080DF5FA .align 2, 0 -_080DF5E8: .4byte gBattleAnimPlayerMonIndex +_080DF5E8: .4byte gBattleAnimBankAttacker _080DF5EC: .4byte gBattleAnimArgs _080DF5F0: ldr r1, _080DF630 @ =gBattleAnimArgs @@ -43476,7 +43476,7 @@ _080DF5FA: strb r0, [r2] ldr r1, _080DF634 @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080DF638 @ =sub_8078504 str r0, [r5, 0x1C] pop {r4,r5} @@ -43493,7 +43493,7 @@ sub_80DF63C: @ 80DF63C push {r4,r5,lr} adds r5, r0, 0 bl sub_8078650 - ldr r4, _080DF694 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DF694 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -43506,7 +43506,7 @@ sub_80DF63C: @ 80DF63C lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _080DF698 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DF698 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -43530,8 +43530,8 @@ sub_80DF63C: @ 80DF63C strh r0, [r5, 0x36] b _080DF6CA .align 2, 0 -_080DF694: .4byte gBattleAnimEnemyMonIndex -_080DF698: .4byte gBattleAnimPlayerMonIndex +_080DF694: .4byte gBattleAnimBankTarget +_080DF698: .4byte gBattleAnimBankAttacker _080DF69C: .4byte gBattleAnimArgs _080DF6A0: ldr r1, _080DF6E4 @ =gBattleAnimArgs @@ -43562,7 +43562,7 @@ _080DF6CA: str r0, [r5, 0x1C] ldr r1, _080DF6EC @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -43581,13 +43581,13 @@ sub_80DF6F0: @ 80DF6F0 ldrsh r0, [r0, r1] cmp r0, 0 bne _080DF70C - ldr r4, _080DF708 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DF708 @ =gBattleAnimBankAttacker b _080DF70E .align 2, 0 _080DF704: .4byte gBattleAnimArgs -_080DF708: .4byte gBattleAnimPlayerMonIndex +_080DF708: .4byte gBattleAnimBankAttacker _080DF70C: - ldr r4, _080DF750 @ =gBattleAnimEnemyMonIndex + ldr r4, _080DF750 @ =gBattleAnimBankTarget _080DF70E: ldrb r0, [r4] movs r1, 0 @@ -43614,12 +43614,12 @@ _080DF70E: str r0, [r5, 0x1C] ldr r1, _080DF75C @ =move_anim_8074EE0 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_080DF750: .4byte gBattleAnimEnemyMonIndex +_080DF750: .4byte gBattleAnimBankTarget _080DF754: .4byte gBattleAnimArgs _080DF758: .4byte sub_8078600 _080DF75C: .4byte move_anim_8074EE0 @@ -43629,7 +43629,7 @@ _080DF75C: .4byte move_anim_8074EE0 sub_80DF760: @ 80DF760 push {r4,lr} adds r4, r0, 0 - ldr r0, _080DF788 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DF788 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -43645,14 +43645,14 @@ _080DF77A: pop {r0} bx r0 .align 2, 0 -_080DF788: .4byte gBattleAnimPlayerMonIndex +_080DF788: .4byte gBattleAnimBankAttacker thumb_func_end sub_80DF760 thumb_func_start sub_80DF78C sub_80DF78C: @ 80DF78C push {r4-r7,lr} adds r6, r0, 0 - ldr r4, _080DF7E0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080DF7E0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -43688,7 +43688,7 @@ sub_80DF78C: @ 80DF78C lsrs r0, r7, 17 b _080DF7EE .align 2, 0 -_080DF7E0: .4byte gBattleAnimPlayerMonIndex +_080DF7E0: .4byte gBattleAnimBankAttacker _080DF7E4: .4byte gBattleAnimArgs _080DF7E8: .4byte gBankAttacker _080DF7EC: @@ -43864,7 +43864,7 @@ sub_80DF924: @ 80DF924 lsls r1, 3 ldr r0, _080DF950 @ =gTasks adds r4, r1, r0 - ldr r0, _080DF954 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DF954 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -43877,7 +43877,7 @@ sub_80DF924: @ 80DF924 b _080DF966 .align 2, 0 _080DF950: .4byte gTasks -_080DF954: .4byte gBattleAnimPlayerMonIndex +_080DF954: .4byte gBattleAnimBankAttacker _080DF958: .4byte REG_BG1HOFS _080DF95C: .4byte gUnknown_030042C0 _080DF960: @@ -43895,7 +43895,7 @@ _080DF966: strb r0, [r1, 0x8] mov r0, sp strb r5, [r0, 0x9] - ldr r0, _080DF9E8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DF9E8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8077FC0 lsls r0, 24 @@ -43948,7 +43948,7 @@ _080DF9C4: _080DF9DC: .4byte REG_BG2HOFS _080DF9E0: .4byte gUnknown_03004288 _080DF9E4: .4byte 0xa2600001 -_080DF9E8: .4byte gBattleAnimPlayerMonIndex +_080DF9E8: .4byte gBattleAnimBankAttacker _080DF9EC: .4byte gUnknown_03004DE0 _080DF9F0: .4byte sub_80DF9F4 thumb_func_end sub_80DF924 @@ -44128,7 +44128,7 @@ sub_80DFB28: @ 80DFB28 movs r1, 0x5 bl __divsi3 adds r6, r0, 0 - ldr r1, _080DFBCC @ =gBattleAnimPlayerMonIndex + ldr r1, _080DFBCC @ =gBattleAnimBankAttacker mov r8, r1 ldrb r0, [r1] movs r1, 0x2 @@ -44194,7 +44194,7 @@ _080DFBB0: bx r0 .align 2, 0 _080DFBC8: .4byte gBattleAnimArgs -_080DFBCC: .4byte gBattleAnimPlayerMonIndex +_080DFBCC: .4byte gBattleAnimBankAttacker _080DFBD0: .4byte sub_80DFBD8 _080DFBD4: .4byte gUnknown_03000730 thumb_func_end sub_80DFB28 @@ -44251,7 +44251,7 @@ sub_80DFC24: @ 80DFC24 ldr r0, _080DFC5C @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r1, 0x8] - ldr r0, _080DFC60 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DFC60 @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r2, 0x10 strh r2, [r1, 0xA] @@ -44268,7 +44268,7 @@ sub_80DFC24: @ 80DFC24 .align 2, 0 _080DFC58: .4byte gTasks _080DFC5C: .4byte gBattleAnimArgs -_080DFC60: .4byte gBattleAnimPlayerMonIndex +_080DFC60: .4byte gBattleAnimBankAttacker _080DFC64: .4byte REG_BLDALPHA _080DFC68: .4byte REG_BLDCNT _080DFC6C: .4byte 0x00003f42 @@ -44331,7 +44331,7 @@ sub_80DFC9C: @ 80DFC9C bne _080DFD1E ldr r2, _080DFD0C @ =gSprites ldr r1, _080DFD10 @ =gObjectBankIDs - ldr r0, _080DFD14 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DFD14 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -44352,7 +44352,7 @@ _080DFD04: .4byte gTasks _080DFD08: .4byte REG_BLDALPHA _080DFD0C: .4byte gSprites _080DFD10: .4byte gObjectBankIDs -_080DFD14: .4byte gBattleAnimPlayerMonIndex +_080DFD14: .4byte gBattleAnimBankAttacker _080DFD18: ldrh r0, [r4, 0xC] adds r0, 0x1 @@ -44454,7 +44454,7 @@ sub_80DFDC0: @ 80DFDC0 lsls r2, 5 adds r0, r2, 0 strh r0, [r1] - ldr r0, _080DFDEC @ =gBattleAnimPlayerMonIndex + ldr r0, _080DFDEC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -44466,7 +44466,7 @@ sub_80DFDC0: @ 80DFDC0 b _080DFDFC .align 2, 0 _080DFDE8: .4byte REG_BLDALPHA -_080DFDEC: .4byte gBattleAnimPlayerMonIndex +_080DFDEC: .4byte gBattleAnimBankAttacker _080DFDF0: .4byte REG_BLDCNT _080DFDF4: .4byte 0x00003f42 _080DFDF8: @@ -44489,14 +44489,14 @@ _080DFE10: .4byte 0x00003f44 sub_80DFE14: @ 80DFE14 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, _080DFE80 @ =gBattleAnimEnemyMonIndex + ldr r6, _080DFE80 @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] - ldr r5, _080DFE84 @ =gBattleAnimPlayerMonIndex + ldr r5, _080DFE84 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -44535,8 +44535,8 @@ sub_80DFE14: @ 80DFE14 pop {r0} bx r0 .align 2, 0 -_080DFE80: .4byte gBattleAnimEnemyMonIndex -_080DFE84: .4byte gBattleAnimPlayerMonIndex +_080DFE80: .4byte gBattleAnimBankTarget +_080DFE84: .4byte gBattleAnimBankAttacker _080DFE88: .4byte 0x0000ffd8 _080DFE8C: .4byte sub_80DFE90 thumb_func_end sub_80DFE14 @@ -44724,13 +44724,13 @@ sub_80DFFD0: @ 80DFFD0 adds r3, r0, 0 cmp r1, 0 bne _080DFFEC - ldr r0, _080DFFE8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080DFFE8 @ =gBattleAnimBankAttacker b _080DFFEE .align 2, 0 _080DFFE4: .4byte gBattleAnimArgs -_080DFFE8: .4byte gBattleAnimPlayerMonIndex +_080DFFE8: .4byte gBattleAnimBankAttacker _080DFFEC: - ldr r0, _080E001C @ =gBattleAnimEnemyMonIndex + ldr r0, _080E001C @ =gBattleAnimBankTarget _080DFFEE: ldrb r5, [r0] movs r6, 0x14 @@ -44755,7 +44755,7 @@ _080DFFEE: beq _080E0032 b _080E00A0 .align 2, 0 -_080E001C: .4byte gBattleAnimEnemyMonIndex +_080E001C: .4byte gBattleAnimBankTarget _080E0020: .4byte 0x000003ff _080E0024: .4byte 0xfffffc00 _080E0028: @@ -44867,7 +44867,7 @@ sub_80E00EC: @ 80E00EC lsls r1, 3 ldr r0, _080E0150 @ =gTasks adds r5, r1, r0 - ldr r4, _080E0154 @ =gBattleAnimPlayerMonIndex + ldr r4, _080E0154 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x1 bl sub_8077ABC @@ -44906,13 +44906,13 @@ sub_80E00EC: @ 80E00EC b _080E015E .align 2, 0 _080E0150: .4byte gTasks -_080E0154: .4byte gBattleAnimPlayerMonIndex +_080E0154: .4byte gBattleAnimBankAttacker _080E0158: .4byte 0x0000fff4 _080E015C: ldr r0, _080E01A8 @ =0x0000ffc0 _080E015E: strh r0, [r5, 0x18] - ldr r0, _080E01AC @ =gBattleAnimPlayerMonIndex + ldr r0, _080E01AC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -44938,7 +44938,7 @@ _080E015E: ldr r0, _080E01BC @ =REG_BG1VOFS str r0, [sp] movs r7, 0x2 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E01F4 @@ -44946,7 +44946,7 @@ _080E015E: b _080E01EE .align 2, 0 _080E01A8: .4byte 0x0000ffc0 -_080E01AC: .4byte gBattleAnimPlayerMonIndex +_080E01AC: .4byte gBattleAnimBankAttacker _080E01B0: .4byte gUnknown_030041B4 _080E01B4: .4byte REG_BLDCNT _080E01B8: .4byte 0x00003f42 @@ -44967,7 +44967,7 @@ _080E01C4: ldr r0, _080E0284 @ =REG_BG2VOFS str r0, [sp] movs r7, 0x4 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E01F4 @@ -45235,7 +45235,7 @@ _080E03EC: .4byte _080E053C .4byte _080E05A4 _080E0400: - bl IsContest + bl NotInBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -45260,7 +45260,7 @@ _080E0430: .4byte gUnknown_03004240 _080E0434: .4byte REG_WININ _080E0438: .4byte 0x00003f3f _080E043C: - ldr r0, _080E045C @ =gBattleAnimEnemyMonIndex + ldr r0, _080E045C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -45275,7 +45275,7 @@ _080E043C: ldr r1, _080E0468 @ =gUnknown_03004288 b _080E0476 .align 2, 0 -_080E045C: .4byte gBattleAnimEnemyMonIndex +_080E045C: .4byte gBattleAnimBankTarget _080E0460: .4byte REG_BLDCNT _080E0464: .4byte 0x00003f42 _080E0468: .4byte gUnknown_03004288 @@ -45328,7 +45328,7 @@ _080E04C4: .align 2, 0 _080E04CC: .4byte gUnknown_03004280 _080E04D0: - ldr r4, _080E051C @ =gBattleAnimEnemyMonIndex + ldr r4, _080E051C @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x1 bl sub_8077ABC @@ -45363,7 +45363,7 @@ _080E04D0: ldr r0, _080E0520 @ =0x0000fff4 b _080E0526 .align 2, 0 -_080E051C: .4byte gBattleAnimEnemyMonIndex +_080E051C: .4byte gBattleAnimBankTarget _080E0520: .4byte 0x0000fff4 _080E0524: ldr r0, _080E0538 @ =0x0000ffc0 @@ -45865,7 +45865,7 @@ sub_80E08CC: @ 80E08CC _080E08E2: lsls r0, r4, 24 lsrs r0, 24 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -45901,7 +45901,7 @@ sub_80E0918: @ 80E0918 lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r6, _080E09B8 @ =gBattleAnimPlayerMonIndex + ldr r6, _080E09B8 @ =gBattleAnimBankAttacker ldrb r0, [r6] bl GetBankIdentity_permutated lsls r0, 24 @@ -45935,7 +45935,7 @@ sub_80E0918: @ 80E0918 ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080E09A2 @@ -45969,7 +45969,7 @@ _080E09A2: pop {r0} bx r0 .align 2, 0 -_080E09B8: .4byte gBattleAnimPlayerMonIndex +_080E09B8: .4byte gBattleAnimBankAttacker _080E09BC: .4byte gSprites _080E09C0: .4byte gObjectBankIDs thumb_func_end sub_80E0918 @@ -45979,7 +45979,7 @@ sub_80E09C4: @ 80E09C4 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, _080E0A0C @ =gBattleAnimPlayerMonIndex + ldr r4, _080E0A0C @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankIdentity_permutated lsls r0, 24 @@ -45994,7 +45994,7 @@ sub_80E09C4: @ 80E09C4 ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080E0A00 @@ -46009,7 +46009,7 @@ _080E0A00: pop {r0} bx r0 .align 2, 0 -_080E0A0C: .4byte gBattleAnimPlayerMonIndex +_080E0A0C: .4byte gBattleAnimBankAttacker thumb_func_end sub_80E09C4 thumb_func_start sub_80E0A10 @@ -46032,7 +46032,7 @@ sub_80E0A10: @ 80E0A10 str r0, [r4, 0x1C] ldr r1, _080E0A48 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4} pop {r0} bx r0 @@ -46092,7 +46092,7 @@ sub_80E0A4C: @ 80E0A4C movs r0, 0x3F ands r0, r1 strb r0, [r5, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E0AC4 @@ -46108,11 +46108,11 @@ _080E0AC4: lsls r0, 24 cmp r0, 0 beq _080E0B40 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E0B40 - ldr r4, _080E0B74 @ =gBattleAnimPlayerMonIndex + ldr r4, _080E0B74 @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankIdentity lsls r0, 24 @@ -46128,7 +46128,7 @@ _080E0AF4: ldrb r0, [r4] movs r6, 0x2 eors r0, r6 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -46163,7 +46163,7 @@ _080E0AF4: strb r0, [r5] movs r7, 0x1 _080E0B40: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E0B84 @@ -46180,12 +46180,12 @@ _080E0B64: .4byte REG_BLDCNT _080E0B68: .4byte 0x00003f42 _080E0B6C: .4byte 0x00000c08 _080E0B70: .4byte REG_BG1CNT -_080E0B74: .4byte gBattleAnimPlayerMonIndex +_080E0B74: .4byte gBattleAnimBankAttacker _080E0B78: .4byte gSprites _080E0B7C: .4byte gObjectBankIDs _080E0B80: .4byte 0x02019348 _080E0B84: - ldr r4, _080E0BA4 @ =gBattleAnimPlayerMonIndex + ldr r4, _080E0BA4 @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -46201,7 +46201,7 @@ _080E0B84: ldr r1, _080E0BAC @ =gEnemyParty b _080E0BC0 .align 2, 0 -_080E0BA4: .4byte gBattleAnimPlayerMonIndex +_080E0BA4: .4byte gBattleAnimBankAttacker _080E0BA8: .4byte gBattlePartyID _080E0BAC: .4byte gEnemyParty _080E0BB0: @@ -46221,11 +46221,11 @@ _080E0BC0: lsrs r5, r0, 16 _080E0BCC: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080E0C60 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E0C60 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r1, r4, 0 adds r2, r5, 0 @@ -46286,7 +46286,7 @@ _080E0BCC: .align 2, 0 _080E0C58: .4byte gBattlePartyID _080E0C5C: .4byte gPlayerParty -_080E0C60: .4byte gBattleAnimPlayerMonIndex +_080E0C60: .4byte gBattleAnimBankAttacker _080E0C64: .4byte 0x040000d4 _080E0C68: .4byte 0x85000400 _080E0C6C: .4byte gUnknown_08D1D574 @@ -46379,7 +46379,7 @@ sub_80E0CD0: @ 80E0CD0 strh r1, [r0] adds r0, 0x2 strh r1, [r0] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E0D40 @@ -46403,7 +46403,7 @@ _080E0D40: adds r0, 0x2 strh r5, [r0] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 ldr r6, _080E0E10 @ =gSprites @@ -46446,7 +46446,7 @@ _080E0D84: cmp r0, 0x1 bne _080E0DE2 ldr r2, _080E0E1C @ =gObjectBankIDs - ldr r0, _080E0E20 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E0E20 @ =gBattleAnimBankAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -46489,7 +46489,7 @@ _080E0E10: .4byte gSprites _080E0E14: .4byte 0x040000d4 _080E0E18: .4byte 0x85000200 _080E0E1C: .4byte gObjectBankIDs -_080E0E20: .4byte gBattleAnimPlayerMonIndex +_080E0E20: .4byte gBattleAnimBankAttacker thumb_func_end sub_80E0CD0 thumb_func_start sub_80E0E24 @@ -46524,7 +46524,7 @@ _080E0E4C: .4byte _080E0E84 _080E0E6C: ldrb r0, [r2] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r2, r0, 24 b _080E0E8A @@ -46552,7 +46552,7 @@ _080E0E90: lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080E0EB4 @@ -46622,7 +46622,7 @@ _080E0F18: .4byte gBattleAnimArgs sub_80E0F1C: @ 80E0F1C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _080E0F74 @ =gBattleAnimPlayerMonIndex + ldr r5, _080E0F74 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -46637,7 +46637,7 @@ sub_80E0F1C: @ 80E0F1C strh r0, [r4, 0x22] movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, _080E0F78 @ =gBattleAnimEnemyMonIndex + ldr r5, _080E0F78 @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -46660,8 +46660,8 @@ sub_80E0F1C: @ 80E0F1C pop {r0} bx r0 .align 2, 0 -_080E0F74: .4byte gBattleAnimPlayerMonIndex -_080E0F78: .4byte gBattleAnimEnemyMonIndex +_080E0F74: .4byte gBattleAnimBankAttacker +_080E0F78: .4byte gBattleAnimBankTarget _080E0F7C: .4byte 0x0000ffd8 _080E0F80: .4byte sub_80E0F84 thumb_func_end sub_80E0F1C @@ -46687,7 +46687,7 @@ sub_80E0F84: @ 80E0F84 strh r1, [r5, 0x24] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, _080E0FE0 @ =gBattleAnimPlayerMonIndex + ldr r4, _080E0FE0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -46711,7 +46711,7 @@ _080E0FD8: pop {r0} bx r0 .align 2, 0 -_080E0FE0: .4byte gBattleAnimPlayerMonIndex +_080E0FE0: .4byte gBattleAnimBankAttacker _080E0FE4: .4byte sub_80E0FE8 thumb_func_end sub_80E0F84 @@ -46737,7 +46737,7 @@ sub_80E1004: @ 80E1004 adds r6, r0, 0 movs r1, 0x1 bl sub_8078764 - ldr r0, _080E1064 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E1064 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -46751,7 +46751,7 @@ _080E1024: ldr r4, _080E1068 @ =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, _080E106C @ =gBattleAnimEnemyMonIndex + ldr r5, _080E106C @ =gBattleAnimBankTarget ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -46772,14 +46772,14 @@ _080E1024: str r0, [r6, 0x1C] ldr r1, _080E1074 @ =move_anim_8072740 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080E1064: .4byte gBattleAnimPlayerMonIndex +_080E1064: .4byte gBattleAnimBankAttacker _080E1068: .4byte gBattleAnimArgs -_080E106C: .4byte gBattleAnimEnemyMonIndex +_080E106C: .4byte gBattleAnimBankTarget _080E1070: .4byte sub_8078B34 _080E1074: .4byte move_anim_8072740 thumb_func_end sub_80E1004 @@ -46792,7 +46792,7 @@ sub_80E1078: @ 80E1078 adds r6, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r4, _080E10F8 @ =gBattleAnimEnemyMonIndex + ldr r4, _080E10F8 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077EE4 @@ -46839,14 +46839,14 @@ _080E10D0: str r0, [r6, 0x1C] ldr r1, _080E1104 @ =move_anim_8074EE0 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080E10F8: .4byte gBattleAnimEnemyMonIndex +_080E10F8: .4byte gBattleAnimBankTarget _080E10FC: .4byte gBattleAnimArgs _080E1100: .4byte sub_8078B34 _080E1104: .4byte move_anim_8074EE0 @@ -46872,7 +46872,7 @@ sub_80E1108: @ 80E1108 ldrsh r0, [r6, r1] cmp r0, 0 bne _080E117C - ldr r4, _080E1174 @ =gBattleAnimPlayerMonIndex + ldr r4, _080E1174 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -46905,7 +46905,7 @@ _080E1162: _080E1168: .4byte 0x000003ff _080E116C: .4byte 0xfffffc00 _080E1170: .4byte gBattleAnimArgs -_080E1174: .4byte gBattleAnimPlayerMonIndex +_080E1174: .4byte gBattleAnimBankAttacker _080E1178: .4byte sub_80E1198 _080E117C: ldrh r0, [r6, 0x2] @@ -47086,11 +47086,11 @@ _080E12B0: .4byte _080E1414 _080E12C4: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, _080E12EC @ =gBattleAnimPlayerMonIndex + ldr r0, _080E12EC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -47104,7 +47104,7 @@ _080E12C4: ldr r0, _080E12F4 @ =gUnknown_030041B4 b _080E1300 .align 2, 0 -_080E12EC: .4byte gBattleAnimPlayerMonIndex +_080E12EC: .4byte gBattleAnimBankAttacker _080E12F0: .4byte gUnknown_030042C0 _080E12F4: .4byte gUnknown_030041B4 _080E12F8: @@ -47115,7 +47115,7 @@ _080E12F8: _080E1300: ldrh r0, [r0] strh r0, [r4, 0x22] - ldr r0, _080E1344 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E1344 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8077FC0 lsls r0, 24 @@ -47146,7 +47146,7 @@ _080E1322: .align 2, 0 _080E133C: .4byte gUnknown_03004288 _080E1340: .4byte gUnknown_03004280 -_080E1344: .4byte gBattleAnimPlayerMonIndex +_080E1344: .4byte gBattleAnimBankAttacker _080E1348: .4byte gSprites _080E134C: ldrb r0, [r4, 0x1E] @@ -47281,7 +47281,7 @@ sub_80E143C: @ 80E143C lsls r0, 24 lsrs r5, r0, 24 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _080E147C @ =gSprites @@ -47298,7 +47298,7 @@ sub_80E143C: @ 80E143C movs r4, 0 strh r4, [r1, 0x24] strh r4, [r1, 0x26] - ldr r0, _080E1480 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E1480 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -47309,7 +47309,7 @@ sub_80E143C: @ 80E143C b _080E148A .align 2, 0 _080E147C: .4byte gSprites -_080E1480: .4byte gBattleAnimPlayerMonIndex +_080E1480: .4byte gBattleAnimBankAttacker _080E1484: .4byte gUnknown_030041B4 _080E1488: ldr r0, _080E1498 @ =gUnknown_03004280 @@ -47379,7 +47379,7 @@ sub_80E14DC: @ 80E14DC _080E14FC: .4byte gTasks _080E1500: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -47459,11 +47459,11 @@ _080E158C: .4byte _080E165C _080E15A0: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, _080E15C4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E15C4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -47474,14 +47474,14 @@ _080E15A0: ldr r0, _080E15C8 @ =gUnknown_030042C0 b _080E15CE .align 2, 0 -_080E15C4: .4byte gBattleAnimPlayerMonIndex +_080E15C4: .4byte gBattleAnimBankAttacker _080E15C8: .4byte gUnknown_030042C0 _080E15CC: ldr r0, _080E15EC @ =gUnknown_03004288 _080E15CE: ldrh r0, [r0] strh r0, [r4, 0x20] - ldr r0, _080E15F0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E15F0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8077FC0 lsls r0, 24 @@ -47494,7 +47494,7 @@ _080E15CE: b _080E164A .align 2, 0 _080E15EC: .4byte gUnknown_03004288 -_080E15F0: .4byte gBattleAnimPlayerMonIndex +_080E15F0: .4byte gBattleAnimBankAttacker _080E15F4: ldrb r0, [r4, 0x1E] movs r1, 0x26 @@ -47668,13 +47668,13 @@ sub_80E1728: @ 80E1728 adds r7, r0, 0 cmp r1, 0 bne _080E1744 - ldr r0, _080E1740 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E1740 @ =gBattleAnimBankAttacker b _080E1746 .align 2, 0 _080E173C: .4byte gBattleAnimArgs -_080E1740: .4byte gBattleAnimPlayerMonIndex +_080E1740: .4byte gBattleAnimBankAttacker _080E1744: - ldr r0, _080E17A8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E17A8 @ =gBattleAnimBankTarget _080E1746: ldrb r4, [r0] movs r6, 0x18 @@ -47723,7 +47723,7 @@ _080E1762: pop {r0} bx r0 .align 2, 0 -_080E17A8: .4byte gBattleAnimEnemyMonIndex +_080E17A8: .4byte gBattleAnimBankTarget _080E17AC: .4byte sub_80E17B0 thumb_func_end sub_80E1728 @@ -47752,13 +47752,13 @@ sub_80E17CC: @ 80E17CC ldrsh r0, [r0, r1] cmp r0, 0 bne _080E17E8 - ldr r0, _080E17E4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E17E4 @ =gBattleAnimBankAttacker b _080E17EA .align 2, 0 _080E17E0: .4byte gBattleAnimArgs -_080E17E4: .4byte gBattleAnimPlayerMonIndex +_080E17E4: .4byte gBattleAnimBankAttacker _080E17E8: - ldr r0, _080E1848 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E1848 @ =gBattleAnimBankTarget _080E17EA: ldrb r5, [r0] adds r0, r5, 0 @@ -47796,7 +47796,7 @@ _080E17EA: strh r0, [r6, 0x4] ldr r1, _080E185C @ =move_anim_8072740 adds r0, r6, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldrh r0, [r4, 0x4] strh r0, [r6, 0x2E] ldr r0, _080E1860 @ =sub_80782D8 @@ -47805,7 +47805,7 @@ _080E17EA: pop {r0} bx r0 .align 2, 0 -_080E1848: .4byte gBattleAnimEnemyMonIndex +_080E1848: .4byte gBattleAnimBankTarget _080E184C: .4byte 0x0000fff0 _080E1850: .4byte gBattleAnimArgs _080E1854: .4byte 0x000003ff @@ -47870,7 +47870,7 @@ _080E18C8: _080E18CE: lsls r0, r5, 24 lsrs r0, 24 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080E18F8 @@ -47899,7 +47899,7 @@ _080E18F8: _080E1904: .4byte gObjectBankIDs _080E1908: ldrb r0, [r6] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -48282,13 +48282,13 @@ sub_80E1BB0: @ 80E1BB0 adds r6, r2, 0 cmp r0, 0 beq _080E1BD0 - ldr r0, _080E1BCC @ =gBattleAnimEnemyMonIndex + ldr r0, _080E1BCC @ =gBattleAnimBankTarget b _080E1BD2 .align 2, 0 _080E1BC8: .4byte gBattleAnimArgs -_080E1BCC: .4byte gBattleAnimEnemyMonIndex +_080E1BCC: .4byte gBattleAnimBankTarget _080E1BD0: - ldr r0, _080E1C40 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E1C40 @ =gBattleAnimBankAttacker _080E1BD2: ldrb r0, [r0] adds r5, r0, 0 @@ -48343,7 +48343,7 @@ _080E1BE2: pop {r0} bx r0 .align 2, 0 -_080E1C40: .4byte gBattleAnimPlayerMonIndex +_080E1C40: .4byte gBattleAnimBankAttacker _080E1C44: .4byte sub_80E1C58 _080E1C48: .4byte gTasks _080E1C4C: .4byte 0x000001ff @@ -48412,7 +48412,7 @@ sub_80E1CB4: @ 80E1CB4 strh r0, [r4, 0x22] ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r0, _080E1CF0 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E1CF0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -48427,7 +48427,7 @@ sub_80E1CB4: @ 80E1CB4 b _080E1D02 .align 2, 0 _080E1CEC: .4byte gBattleAnimArgs -_080E1CF0: .4byte gBattleAnimPlayerMonIndex +_080E1CF0: .4byte gBattleAnimBankAttacker _080E1CF4: ldrh r0, [r5, 0x6] strh r0, [r4, 0x30] @@ -48763,7 +48763,7 @@ sub_80E1F3C: @ 80E1F3C strh r2, [r4, 0x38] ldr r1, _080E1F84 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _080E1F88 @ =sub_8078174 str r1, [r4, 0x1C] adds r0, r4, 0 @@ -49265,9 +49265,9 @@ sub_80E2324: @ 80E2324 lsrs r0, 24 mov r8, r0 movs r2, 0 - ldr r0, _080E239C @ =gBattleAnimPlayerMonIndex + ldr r0, _080E239C @ =gBattleAnimBankAttacker ldrb r6, [r0] - ldr r0, _080E23A0 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E23A0 @ =gBattleAnimBankTarget ldrb r7, [r0] ldr r4, _080E23A4 @ =gBattleAnimArgs ldrh r1, [r4] @@ -49317,8 +49317,8 @@ _080E2382: pop {r0} bx r0 .align 2, 0 -_080E239C: .4byte gBattleAnimPlayerMonIndex -_080E23A0: .4byte gBattleAnimEnemyMonIndex +_080E239C: .4byte gBattleAnimBankAttacker +_080E23A0: .4byte gBattleAnimBankTarget _080E23A4: .4byte gBattleAnimArgs thumb_func_end sub_80E2324 @@ -49361,10 +49361,10 @@ _080E23EA: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, _080E24A4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E24A4 @ =gBattleAnimBankAttacker ldrb r0, [r0] mov r9, r0 - ldr r0, _080E24A8 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E24A8 @ =gBattleAnimBankTarget ldrb r0, [r0] mov r10, r0 ldrh r1, [r4, 0xC] @@ -49451,8 +49451,8 @@ _080E248E: .align 2, 0 _080E249C: .4byte gTasks _080E24A0: .4byte gBattleAnimArgs -_080E24A4: .4byte gBattleAnimPlayerMonIndex -_080E24A8: .4byte gBattleAnimEnemyMonIndex +_080E24A4: .4byte gBattleAnimBankAttacker +_080E24A8: .4byte gBattleAnimBankTarget _080E24AC: .4byte 0x0000ffff _080E24B0: .4byte gSprites _080E24B4: .4byte gHealthboxIDs @@ -49506,14 +49506,14 @@ _080E2508: ldr r1, _080E2514 @ =gSpriteCoordOffsetX _080E250A: adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 b _080E2520 .align 2, 0 _080E2514: .4byte gSpriteCoordOffsetX _080E2518: ldr r1, _080E2550 @ =gSpriteCoordOffsetY adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _080E2520: movs r0, 0x3A ldrsh r1, [r4, r0] @@ -49643,7 +49643,7 @@ sub_80E260C: @ 80E260C push {r4-r6,lr} ldr r6, _080E2680 @ =gSprites ldr r4, _080E2684 @ =gObjectBankIDs - ldr r5, _080E2688 @ =gBattleAnimPlayerMonIndex + ldr r5, _080E2688 @ =gBattleAnimBankAttacker ldrb r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -49658,7 +49658,7 @@ sub_80E260C: @ 80E260C adds r0, r2, 0 ands r0, r3 strb r0, [r1] - ldr r3, _080E268C @ =gBattleAnimEnemyMonIndex + ldr r3, _080E268C @ =gBattleAnimBankTarget ldrb r0, [r3] adds r0, r4 ldrb r1, [r0] @@ -49700,8 +49700,8 @@ sub_80E260C: @ 80E260C .align 2, 0 _080E2680: .4byte gSprites _080E2684: .4byte gObjectBankIDs -_080E2688: .4byte gBattleAnimPlayerMonIndex -_080E268C: .4byte gBattleAnimEnemyMonIndex +_080E2688: .4byte gBattleAnimBankAttacker +_080E268C: .4byte gBattleAnimBankTarget _080E2690: .4byte gBattleAnimArgs _080E2694: cmp r0, 0 @@ -49874,7 +49874,7 @@ _080E27CC: str r0, [r5, 0x1C] ldr r1, _080E27E4 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -49912,7 +49912,7 @@ _080E2814: str r0, [r5, 0x1C] ldr r1, _080E2834 @ =sub_80DA48C adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -49926,13 +49926,13 @@ _080E2834: .4byte sub_80DA48C sub_80E2838: @ 80E2838 push {r4,lr} adds r4, r0, 0 - ldr r0, _080E2868 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E2868 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 cmp r0, 0 beq _080E285C - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E285C @@ -49947,7 +49947,7 @@ _080E285C: pop {r0} bx r0 .align 2, 0 -_080E2868: .4byte gBattleAnimPlayerMonIndex +_080E2868: .4byte gBattleAnimBankAttacker _080E286C: .4byte gBattleAnimArgs thumb_func_end sub_80E2838 @@ -50007,7 +50007,7 @@ _080E28B4: strh r0, [r4, 0x26] ldr r1, _080E2900 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080E2904 @ =sub_80785E4 str r0, [r4, 0x1C] pop {r4,r5} @@ -50026,7 +50026,7 @@ sub_80E2908: @ 80E2908 adds r4, r0, 0 ldr r5, _080E2968 @ =gBattleAnimArgs ldrb r0, [r5] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] @@ -50060,7 +50060,7 @@ sub_80E2908: @ 80E2908 bl StartSpriteAffineAnim ldr r1, _080E2970 @ =move_anim_8074EE0 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080E2974 @ =sub_80785E4 str r0, [r4, 0x1C] pop {r4,r5} @@ -50098,7 +50098,7 @@ _080E299C: strh r0, [r4, 0x2E] ldr r1, _080E29B8 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _080E29BC @ =sub_80782D8 str r0, [r4, 0x1C] pop {r4} @@ -50247,33 +50247,33 @@ _080E2AD0: movs r5, 0 _080E2AD2: mov r0, sp - ldr r1, _080E2AD8 @ =gBattleAnimPlayerMonIndex + ldr r1, _080E2AD8 @ =gBattleAnimBankAttacker b _080E2AE2 .align 2, 0 -_080E2AD8: .4byte gBattleAnimPlayerMonIndex +_080E2AD8: .4byte gBattleAnimBankAttacker _080E2ADC: movs r5, 0 _080E2ADE: mov r0, sp - ldr r1, _080E2AE8 @ =gBattleAnimEnemyMonIndex + ldr r1, _080E2AE8 @ =gBattleAnimBankTarget _080E2AE2: ldrb r1, [r1] strb r1, [r0] b _080E2B26 .align 2, 0 -_080E2AE8: .4byte gBattleAnimEnemyMonIndex +_080E2AE8: .4byte gBattleAnimBankTarget _080E2AEC: mov r1, sp - ldr r0, _080E2AFC @ =gBattleAnimPlayerMonIndex + ldr r0, _080E2AFC @ =gBattleAnimBankAttacker ldrb r0, [r0] strb r0, [r1] - ldr r0, _080E2B00 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E2B00 @ =gBattleAnimBankTarget ldrb r0, [r0] strb r0, [r1, 0x1] b _080E2B26 .align 2, 0 -_080E2AFC: .4byte gBattleAnimPlayerMonIndex -_080E2B00: .4byte gBattleAnimEnemyMonIndex +_080E2AFC: .4byte gBattleAnimBankAttacker +_080E2B00: .4byte gBattleAnimBankTarget _080E2B04: mov r1, sp movs r0, 0xFF @@ -50282,14 +50282,14 @@ _080E2B04: _080E2B0C: movs r5, 0 mov r2, sp - ldr r0, _080E2B14 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E2B14 @ =gBattleAnimBankAttacker b _080E2B1E .align 2, 0 -_080E2B14: .4byte gBattleAnimPlayerMonIndex +_080E2B14: .4byte gBattleAnimBankAttacker _080E2B18: movs r5, 0 mov r2, sp - ldr r0, _080E2B70 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E2B70 @ =gBattleAnimBankTarget _080E2B1E: ldrb r0, [r0] movs r1, 0x2 @@ -50306,7 +50306,7 @@ _080E2B2A: cmp r4, r0 beq _080E2B54 adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080E2B54 @@ -50332,7 +50332,7 @@ _080E2B54: pop {r0} bx r0 .align 2, 0 -_080E2B70: .4byte gBattleAnimEnemyMonIndex +_080E2B70: .4byte gBattleAnimBankTarget thumb_func_end sub_80E2A7C thumb_func_start sub_80E2B74 @@ -50880,7 +50880,7 @@ sub_80E2F2C: @ 80E2F2C movs r1, 0x20 orrs r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E2FAC @@ -50896,11 +50896,11 @@ _080E2FAC: lsls r0, 24 cmp r0, 0 beq _080E3028 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E3028 - ldr r5, _080E305C @ =gBattleAnimPlayerMonIndex + ldr r5, _080E305C @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankIdentity lsls r0, 24 @@ -50916,7 +50916,7 @@ _080E2FDC: ldrb r0, [r5] movs r6, 0x2 eors r0, r6 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -50951,7 +50951,7 @@ _080E2FDC: strb r0, [r4] movs r7, 0x1 _080E3028: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E306C @@ -50968,12 +50968,12 @@ _080E304C: .4byte REG_BLDCNT _080E3050: .4byte 0x00003f42 _080E3054: .4byte 0x00000c08 _080E3058: .4byte REG_BG1CNT -_080E305C: .4byte gBattleAnimPlayerMonIndex +_080E305C: .4byte gBattleAnimBankAttacker _080E3060: .4byte gSprites _080E3064: .4byte gObjectBankIDs _080E3068: .4byte 0x02019348 _080E306C: - ldr r4, _080E308C @ =gBattleAnimPlayerMonIndex + ldr r4, _080E308C @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -50989,7 +50989,7 @@ _080E306C: ldr r1, _080E3094 @ =gEnemyParty b _080E30A8 .align 2, 0 -_080E308C: .4byte gBattleAnimPlayerMonIndex +_080E308C: .4byte gBattleAnimBankAttacker _080E3090: .4byte gBattlePartyID _080E3094: .4byte gEnemyParty _080E3098: @@ -51009,10 +51009,10 @@ _080E30A8: lsrs r4, r0, 16 _080E30B4: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080E3168 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E3168 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r1, r5, 0 adds r2, r4, 0 @@ -51033,7 +51033,7 @@ _080E30B4: ldr r0, [r2, 0x8] ldr r0, _080E3174 @ =gUnknown_08D20A30 bl LZDecompressVram - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E3106 @@ -51089,7 +51089,7 @@ _080E3106: .align 2, 0 _080E3160: .4byte gBattlePartyID _080E3164: .4byte gPlayerParty -_080E3168: .4byte gBattleAnimPlayerMonIndex +_080E3168: .4byte gBattleAnimBankAttacker _080E316C: .4byte 0x040000d4 _080E3170: .4byte 0x85000400 _080E3174: .4byte gUnknown_08D20A30 @@ -51150,7 +51150,7 @@ sub_80E3194: @ 80E3194 strh r1, [r0] adds r0, 0x2 strh r1, [r0] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E3208 @@ -51174,7 +51174,7 @@ _080E3208: adds r0, 0x2 strh r5, [r0] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r0, _080E32CC @ =gSprites mov r8, r0 movs r2, 0x8 @@ -51200,7 +51200,7 @@ _080E3208: cmp r0, 0x1 bne _080E3288 ldr r2, _080E32D8 @ =gObjectBankIDs - ldr r0, _080E32DC @ =gBattleAnimPlayerMonIndex + ldr r0, _080E32DC @ =gBattleAnimBankAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -51253,7 +51253,7 @@ _080E32CC: .4byte gSprites _080E32D0: .4byte 0x040000d4 _080E32D4: .4byte 0x85000200 _080E32D8: .4byte gObjectBankIDs -_080E32DC: .4byte gBattleAnimPlayerMonIndex +_080E32DC: .4byte gBattleAnimBankAttacker thumb_func_end sub_80E3194 thumb_func_start sub_80E32E0 @@ -51344,13 +51344,13 @@ _080E336C: ldrsh r0, [r7, r1] cmp r0, 0 bne _080E3390 - ldr r0, _080E338C @ =gBattleAnimPlayerMonIndex + ldr r0, _080E338C @ =gBattleAnimBankAttacker b _080E3392 .align 2, 0 _080E3388: .4byte gTasks -_080E338C: .4byte gBattleAnimPlayerMonIndex +_080E338C: .4byte gBattleAnimBankAttacker _080E3390: - ldr r0, _080E34B4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E34B4 @ =gBattleAnimBankTarget _080E3392: ldrb r5, [r0] movs r0, 0x2 @@ -51358,7 +51358,7 @@ _080E3392: mov r2, r8 eors r2, r0 mov r8, r2 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E33BC @@ -51367,7 +51367,7 @@ _080E3392: cmp r0, 0 beq _080E33C0 mov r0, r8 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 bne _080E33C0 @@ -51420,7 +51420,7 @@ _080E33C0: movs r1, 0x20 orrs r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E3432 @@ -51453,7 +51453,7 @@ _080E3432: bne _080E34A4 _080E345E: mov r0, r8 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -51487,7 +51487,7 @@ _080E345E: movs r2, 0x1 str r2, [sp, 0x20] _080E34A4: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E34E4 @@ -51495,7 +51495,7 @@ _080E34A4: ldrh r4, [r0] b _080E3522 .align 2, 0 -_080E34B4: .4byte gBattleAnimEnemyMonIndex +_080E34B4: .4byte gBattleAnimBankTarget _080E34B8: .4byte gUnknown_030042C4 _080E34BC: .4byte gUnknown_03004240 _080E34C0: .4byte REG_WININ @@ -51581,7 +51581,7 @@ _080E3578: ldr r1, [sp, 0x4] bl LZDecompressVram _080E3580: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E3598 @@ -51884,7 +51884,7 @@ _080E378E: strh r1, [r0] adds r0, 0x2 strh r1, [r0] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E37E8 @@ -52181,7 +52181,7 @@ sub_80E3A08: @ 80E3A08 lsrs r6, r0, 24 movs r4, 0 movs r2, 0 - ldr r0, _080E3A50 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E3A50 @ =gBattleAnimBankAttacker ldrb r3, [r0] movs r5, 0x1 _080E3A18: @@ -52214,7 +52214,7 @@ _080E3A34: pop {r0} bx r0 .align 2, 0 -_080E3A50: .4byte gBattleAnimPlayerMonIndex +_080E3A50: .4byte gBattleAnimBankAttacker _080E3A54: .4byte gBattleAnimArgs thumb_func_end sub_80E3A08 @@ -52235,7 +52235,7 @@ sub_80E3A58: @ 80E3A58 ldrsh r0, [r4, r1] cmp r0, 0 beq _080E3A94 - ldr r0, _080E3AC8 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E3AC8 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -52271,7 +52271,7 @@ _080E3A94: .align 2, 0 _080E3AC0: .4byte sub_80E3AD0 _080E3AC4: .4byte gBattleAnimArgs -_080E3AC8: .4byte gBattleAnimPlayerMonIndex +_080E3AC8: .4byte gBattleAnimBankAttacker _080E3ACC: .4byte gTasks thumb_func_end sub_80E3A58 @@ -52343,7 +52343,7 @@ sub_80E3B4C: @ 80E3B4C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080E3B70 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E3B70 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide ldr r1, _080E3B74 @ =gBattleAnimArgs @@ -52356,7 +52356,7 @@ sub_80E3B4C: @ 80E3B4C pop {r0} bx r0 .align 2, 0 -_080E3B70: .4byte gBattleAnimPlayerMonIndex +_080E3B70: .4byte gBattleAnimBankAttacker _080E3B74: .4byte gBattleAnimArgs thumb_func_end sub_80E3B4C @@ -52366,7 +52366,7 @@ sub_80E3B78: @ 80E3B78 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080E3B9C @ =gBattleAnimEnemyMonIndex + ldr r0, _080E3B9C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide ldr r1, _080E3BA0 @ =gBattleAnimArgs @@ -52379,7 +52379,7 @@ sub_80E3B78: @ 80E3B78 pop {r0} bx r0 .align 2, 0 -_080E3B9C: .4byte gBattleAnimEnemyMonIndex +_080E3B9C: .4byte gBattleAnimBankTarget _080E3BA0: .4byte gBattleAnimArgs thumb_func_end sub_80E3B78 @@ -52390,10 +52390,10 @@ sub_80E3BA4: @ 80E3BA4 lsrs r3, r0, 24 ldr r5, _080E3BD0 @ =gBattleAnimArgs movs r4, 0 - ldr r0, _080E3BD4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E3BD4 @ =gBattleAnimBankAttacker ldrb r2, [r0] movs r0, 0x2 - ldr r1, _080E3BD8 @ =gBattleAnimEnemyMonIndex + ldr r1, _080E3BD8 @ =gBattleAnimBankTarget eors r0, r2 ldrb r1, [r1] cmp r0, r1 @@ -52408,8 +52408,8 @@ _080E3BC0: bx r0 .align 2, 0 _080E3BD0: .4byte gBattleAnimArgs -_080E3BD4: .4byte gBattleAnimPlayerMonIndex -_080E3BD8: .4byte gBattleAnimEnemyMonIndex +_080E3BD4: .4byte gBattleAnimBankAttacker +_080E3BD8: .4byte gBattleAnimBankTarget thumb_func_end sub_80E3BA4 thumb_func_start sub_80E3BDC @@ -52420,13 +52420,13 @@ sub_80E3BDC: @ 80E3BDC movs r4, 0 ldr r6, _080E3C3C @ =gSprites _080E3BE6: - ldr r0, _080E3C40 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E3C40 @ =gBattleAnimBankAttacker ldrb r0, [r0] cmp r4, r0 beq _080E3C24 lsls r0, r4, 24 lsrs r0, 24 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _080E3C24 @@ -52463,7 +52463,7 @@ _080E3C24: bx r0 .align 2, 0 _080E3C3C: .4byte gSprites -_080E3C40: .4byte gBattleAnimPlayerMonIndex +_080E3C40: .4byte gBattleAnimBankAttacker _080E3C44: .4byte gObjectBankIDs _080E3C48: .4byte gBattleAnimArgs thumb_func_end sub_80E3BDC @@ -52505,7 +52505,7 @@ sub_80E3C4C: @ 80E3C4C movs r0, 0x2 adds r6, r7, 0 eors r6, r0 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E3CAE @@ -52513,7 +52513,7 @@ sub_80E3C4C: @ 80E3C4C cmp r1, 0 beq _080E3CB2 adds r0, r6, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 bne _080E3CB2 @@ -52565,7 +52565,7 @@ _080E3CB2: movs r1, 0x20 orrs r0, r1 strb r0, [r4, 0x1] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E3D22 @@ -52577,7 +52577,7 @@ _080E3CB2: orrs r1, r0 strb r1, [r4] _080E3D22: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E3D58 @@ -52651,7 +52651,7 @@ _080E3DC0: ldr r1, [sp, 0x4] ldr r0, [sp, 0x50] bl LZDecompressVram - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E3DE6 @@ -52865,7 +52865,7 @@ _080E3F32: strh r1, [r0] adds r0, 0x2 strh r1, [r0] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _080E3F90 @@ -52986,14 +52986,14 @@ _080E4068: .4byte gBattleAnimArgs _080E406C: cmp r0, 0x1 bne _080E4078 - ldr r0, _080E4074 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E4074 @ =gBattleAnimBankAttacker b _080E407E .align 2, 0 -_080E4074: .4byte gBattleAnimPlayerMonIndex +_080E4074: .4byte gBattleAnimBankAttacker _080E4078: cmp r0, 0x2 bne _080E4084 - ldr r0, _080E409C @ =gBattleAnimEnemyMonIndex + ldr r0, _080E409C @ =gBattleAnimBankTarget _080E407E: ldrb r0, [r0] adds r4, r0, 0 @@ -53003,14 +53003,14 @@ _080E4084: movs r1, 0x2 ldrsh r0, [r0, r1] lsls r5, r0, 5 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E40A8 ldr r0, _080E40A4 @ =0x02014800 b _080E40AA .align 2, 0 -_080E409C: .4byte gBattleAnimEnemyMonIndex +_080E409C: .4byte gBattleAnimBankTarget _080E40A0: .4byte gBattleAnimArgs _080E40A4: .4byte 0x02014800 _080E40A8: @@ -53073,14 +53073,14 @@ _080E4110: .4byte gBattleAnimArgs _080E4114: cmp r0, 0x1 bne _080E4120 - ldr r0, _080E411C @ =gBattleAnimPlayerMonIndex + ldr r0, _080E411C @ =gBattleAnimBankAttacker b _080E4126 .align 2, 0 -_080E411C: .4byte gBattleAnimPlayerMonIndex +_080E411C: .4byte gBattleAnimBankAttacker _080E4120: cmp r0, 0x2 bne _080E412C - ldr r0, _080E4148 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E4148 @ =gBattleAnimBankTarget _080E4126: ldrb r0, [r0] adds r4, r0, 0 @@ -53093,14 +53093,14 @@ _080E412C: movs r1, 0x2 ldrsh r0, [r0, r1] lsls r4, r0, 5 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E4158 ldr r0, _080E4154 @ =0x02014800 b _080E415A .align 2, 0 -_080E4148: .4byte gBattleAnimEnemyMonIndex +_080E4148: .4byte gBattleAnimBankTarget _080E414C: .4byte gPlttBufferUnfaded _080E4150: .4byte gBattleAnimArgs _080E4154: .4byte 0x02014800 @@ -53160,14 +53160,14 @@ _080E41B8: .4byte gBattleAnimArgs _080E41BC: cmp r0, 0x1 bne _080E41C8 - ldr r0, _080E41C4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E41C4 @ =gBattleAnimBankAttacker b _080E41CE .align 2, 0 -_080E41C4: .4byte gBattleAnimPlayerMonIndex +_080E41C4: .4byte gBattleAnimBankAttacker _080E41C8: cmp r0, 0x2 bne _080E41D4 - ldr r0, _080E41F4 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E41F4 @ =gBattleAnimBankTarget _080E41CE: ldrb r0, [r0] adds r4, r0, 0 @@ -53187,7 +53187,7 @@ _080E41D4: pop {r0} bx r0 .align 2, 0 -_080E41F4: .4byte gBattleAnimEnemyMonIndex +_080E41F4: .4byte gBattleAnimBankTarget _080E41F8: .4byte gPlttBufferUnfaded _080E41FC: .4byte gPlttBufferFaded thumb_func_end sub_80E4178 @@ -53197,7 +53197,7 @@ sub_80E4200: @ 80E4200 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -53226,11 +53226,11 @@ sub_80E4234: @ 80E4234 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080E4254 @ =gBattleAnimPlayerMonIndex + ldr r2, _080E4254 @ =gBattleAnimBankAttacker ldr r1, _080E4258 @ =gBankTarget ldrb r1, [r1] strb r1, [r2] - ldr r2, _080E425C @ =gBattleAnimEnemyMonIndex + ldr r2, _080E425C @ =gBattleAnimBankTarget ldr r1, _080E4260 @ =gEffectBank ldrb r1, [r1] strb r1, [r2] @@ -53238,9 +53238,9 @@ sub_80E4234: @ 80E4234 pop {r0} bx r0 .align 2, 0 -_080E4254: .4byte gBattleAnimPlayerMonIndex +_080E4254: .4byte gBattleAnimBankAttacker _080E4258: .4byte gBankTarget -_080E425C: .4byte gBattleAnimEnemyMonIndex +_080E425C: .4byte gBattleAnimBankTarget _080E4260: .4byte gEffectBank thumb_func_end sub_80E4234 @@ -53249,11 +53249,11 @@ sub_80E4264: @ 80E4264 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080E428C @ =gBattleAnimPlayerMonIndex + ldr r0, _080E428C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide adds r4, r0, 0 - ldr r0, _080E4290 @ =gBattleAnimEnemyMonIndex + ldr r0, _080E4290 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r4, 24 @@ -53264,8 +53264,8 @@ sub_80E4264: @ 80E4264 movs r0, 0x1 b _080E429C .align 2, 0 -_080E428C: .4byte gBattleAnimPlayerMonIndex -_080E4290: .4byte gBattleAnimEnemyMonIndex +_080E428C: .4byte gBattleAnimBankAttacker +_080E4290: .4byte gBattleAnimBankTarget _080E4294: .4byte gBattleAnimArgs _080E4298: ldr r1, _080E42AC @ =gBattleAnimArgs @@ -53286,7 +53286,7 @@ sub_80E42B0: @ 80E42B0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080E42C8 @ =gBattleAnimEnemyMonIndex + ldr r2, _080E42C8 @ =gBattleAnimBankTarget ldr r1, _080E42CC @ =gBankTarget ldrb r1, [r1] strb r1, [r2] @@ -53294,7 +53294,7 @@ sub_80E42B0: @ 80E42B0 pop {r0} bx r0 .align 2, 0 -_080E42C8: .4byte gBattleAnimEnemyMonIndex +_080E42C8: .4byte gBattleAnimBankTarget _080E42CC: .4byte gBankTarget thumb_func_end sub_80E42B0 @@ -53303,11 +53303,11 @@ sub_80E42D0: @ 80E42D0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080E42F0 @ =gBattleAnimPlayerMonIndex + ldr r2, _080E42F0 @ =gBattleAnimBankAttacker ldr r1, _080E42F4 @ =gBankAttacker ldrb r1, [r1] strb r1, [r2] - ldr r2, _080E42F8 @ =gBattleAnimEnemyMonIndex + ldr r2, _080E42F8 @ =gBattleAnimBankTarget ldr r1, _080E42FC @ =gEffectBank ldrb r1, [r1] strb r1, [r2] @@ -53315,9 +53315,9 @@ sub_80E42D0: @ 80E42D0 pop {r0} bx r0 .align 2, 0 -_080E42F0: .4byte gBattleAnimPlayerMonIndex +_080E42F0: .4byte gBattleAnimBankAttacker _080E42F4: .4byte gBankAttacker -_080E42F8: .4byte gBattleAnimEnemyMonIndex +_080E42F8: .4byte gBattleAnimBankTarget _080E42FC: .4byte gEffectBank thumb_func_end sub_80E42D0 @@ -53326,7 +53326,7 @@ sub_80E4300: @ 80E4300 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _080E4318 @@ -53339,7 +53339,7 @@ _080E4318: adds r3, r4 lsls r3, 3 adds r3, r0 - ldr r1, _080E4358 @ =gBattleAnimPlayerMonIndex + ldr r1, _080E4358 @ =gBattleAnimBankAttacker ldrb r0, [r1] lsls r0, 2 ldr r2, _080E435C @ =0x02017800 @@ -53367,7 +53367,7 @@ _080E434E: bx r0 .align 2, 0 _080E4354: .4byte gTasks -_080E4358: .4byte gBattleAnimPlayerMonIndex +_080E4358: .4byte gBattleAnimBankAttacker _080E435C: .4byte 0x02017800 _080E4360: .4byte sub_80E4368 _080E4364: .4byte gAnimVisualTaskCount @@ -53385,7 +53385,7 @@ sub_80E4368: @ 80E4368 lsls r0, 5 cmp r1, r0 bne _080E43A8 - ldr r0, _080E43B4 @ =gBattleAnimPlayerMonIndex + ldr r0, _080E43B4 @ =gBattleAnimBankAttacker ldrb r3, [r0] lsls r3, 2 ldr r0, _080E43B8 @ =0x02017800 @@ -53412,7 +53412,7 @@ _080E43A8: bx r0 .align 2, 0 _080E43B0: .4byte gBattleAnimArgs -_080E43B4: .4byte gBattleAnimPlayerMonIndex +_080E43B4: .4byte gBattleAnimBankAttacker _080E43B8: .4byte 0x02017800 _080E43BC: .4byte gTasks thumb_func_end sub_80E4368 diff --git a/asm/battle_anim_81258BC.s b/asm/battle_anim_81258BC.s index 951c0e2fc..a42f7693e 100644 --- a/asm/battle_anim_81258BC.s +++ b/asm/battle_anim_81258BC.s @@ -377,7 +377,7 @@ sub_812B18C: @ 812B18C bl sub_8076F98 lsls r0, 24 lsrs r6, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812B1CC @@ -403,29 +403,29 @@ _0812B1CC: adds r2, r0, 0 cmp r1, 0 bne _0812B1E8 - ldr r0, _0812B1E4 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812B1E4 @ =gBattleAnimBankAttacker ldrb r4, [r0] b _0812B20E .align 2, 0 _0812B1E0: .4byte gBattleAnimArgs -_0812B1E4: .4byte gBattleAnimPlayerMonIndex +_0812B1E4: .4byte gBattleAnimBankAttacker _0812B1E8: cmp r1, 0x1 bne _0812B1F8 - ldr r0, _0812B1F4 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812B1F4 @ =gBattleAnimBankTarget ldrb r4, [r0] b _0812B20E .align 2, 0 -_0812B1F4: .4byte gBattleAnimEnemyMonIndex +_0812B1F4: .4byte gBattleAnimBankTarget _0812B1F8: cmp r1, 0x2 bne _0812B204 - ldr r0, _0812B200 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812B200 @ =gBattleAnimBankAttacker b _0812B206 .align 2, 0 -_0812B200: .4byte gBattleAnimPlayerMonIndex +_0812B200: .4byte gBattleAnimBankAttacker _0812B204: - ldr r0, _0812B230 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812B230 @ =gBattleAnimBankTarget _0812B206: ldrb r1, [r0] movs r0, 0x2 @@ -440,7 +440,7 @@ _0812B20E: bne _0812B234 _0812B21A: adds r0, r4, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 bne _0812B234 @@ -448,7 +448,7 @@ _0812B21A: bl DestroyAnimVisualTask b _0812B2B0 .align 2, 0 -_0812B230: .4byte gBattleAnimEnemyMonIndex +_0812B230: .4byte gBattleAnimBankTarget _0812B234: adds r0, r4, 0 bl GetBankSide @@ -524,7 +524,7 @@ sub_812B2B8: @ 812B2B8 bl sub_8076F98 lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812B2DC @@ -534,7 +534,7 @@ sub_812B2B8: @ 812B2B8 _0812B2D8: .4byte 0x02019348 _0812B2DC: ldr r1, _0812B304 @ =gUnknown_0202F7CA - ldr r0, _0812B308 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812B308 @ =gBattleAnimBankAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -554,7 +554,7 @@ _0812B2F6: bx r0 .align 2, 0 _0812B304: .4byte gUnknown_0202F7CA -_0812B308: .4byte gBattleAnimPlayerMonIndex +_0812B308: .4byte gBattleAnimBankAttacker thumb_func_end sub_812B2B8 thumb_func_start sub_812B30C diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s index bae3d9bc2..2ff8bc1ca 100644 --- a/asm/battle_anim_812C144.s +++ b/asm/battle_anim_812C144.s @@ -90,7 +90,7 @@ sub_812C1D0: @ 812C1D0 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, _0812C21C @ =gBattleAnimEnemyMonIndex + ldr r6, _0812C21C @ =gBattleAnimBankTarget ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -120,7 +120,7 @@ sub_812C1D0: @ 812C1D0 pop {r0} bx r0 .align 2, 0 -_0812C21C: .4byte gBattleAnimEnemyMonIndex +_0812C21C: .4byte gBattleAnimBankTarget thumb_func_end sub_812C1D0 thumb_func_start sub_812C220 @@ -135,7 +135,7 @@ sub_812C220: @ 812C220 strh r0, [r4, 0x30] ldr r1, _0812C25C @ =sub_812C268 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r1, _0812C260 @ =REG_BLDCNT movs r2, 0xFD lsls r2, 6 @@ -211,7 +211,7 @@ sub_812C2BC: @ 812C2BC push {r4-r7,lr} sub sp, 0x4 adds r5, r0, 0 - ldr r4, _0812C348 @ =gBattleAnimEnemyMonIndex + ldr r4, _0812C348 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -241,7 +241,7 @@ sub_812C2BC: @ 812C2BC lsls r1, 23 adds r0, r1 lsrs r4, r0, 16 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812C31A @@ -267,13 +267,13 @@ _0812C31A: str r0, [r5, 0x1C] ldr r1, _0812C354 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 add sp, 0x4 pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_0812C348: .4byte gBattleAnimEnemyMonIndex +_0812C348: .4byte gBattleAnimBankTarget _0812C34C: .4byte gBattleAnimArgs _0812C350: .4byte sub_8078B34 _0812C354: .4byte move_anim_8072740 @@ -797,7 +797,7 @@ sub_812C720: @ 812C720 adds r4, r0, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _0812C784 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812C784 @ =gBattleAnimBankTarget ldrb r0, [r0] mov r5, sp adds r5, 0x2 @@ -805,7 +805,7 @@ sub_812C720: @ 812C720 mov r2, sp adds r3, r5, 0 bl sub_807A3FC - ldr r0, _0812C788 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812C788 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -839,8 +839,8 @@ _0812C754: pop {r0} bx r0 .align 2, 0 -_0812C784: .4byte gBattleAnimEnemyMonIndex -_0812C788: .4byte gBattleAnimPlayerMonIndex +_0812C784: .4byte gBattleAnimBankTarget +_0812C788: .4byte gBattleAnimBankAttacker _0812C78C: .4byte gBattleAnimArgs _0812C790: .4byte 0x0000ffce _0812C794: .4byte sub_812C798 @@ -862,7 +862,7 @@ sub_812C798: @ 812C798 str r0, [r4, 0x1C] ldr r1, _0812C7C4 @ =sub_812C7C8 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 _0812C7BA: pop {r4} pop {r0} @@ -929,7 +929,7 @@ sub_812C80C: @ 812C80C str r0, [r4, 0x1C] ldr r1, _0812C844 @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 pop {r4,r5} pop {r0} bx r0 @@ -954,11 +954,11 @@ sub_812C848: @ 812C848 ldrsh r1, [r5, r2] adds r0, r4, 0 bl sub_807867C - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812C89C - ldr r0, _0812C888 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812C888 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -968,7 +968,7 @@ sub_812C848: @ 812C848 b _0812C8A2 .align 2, 0 _0812C884: .4byte gBattleAnimArgs -_0812C888: .4byte gBattleAnimPlayerMonIndex +_0812C888: .4byte gBattleAnimBankAttacker _0812C88C: movs r1, 0x4 ldrsh r0, [r5, r1] @@ -1058,7 +1058,7 @@ sub_812C924: @ 812C924 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0812C940 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812C940 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -1069,7 +1069,7 @@ sub_812C924: @ 812C924 movs r0, 0 b _0812C94C .align 2, 0 -_0812C940: .4byte gBattleAnimEnemyMonIndex +_0812C940: .4byte gBattleAnimBankTarget _0812C944: .4byte gBattleAnimArgs _0812C948: ldr r1, _0812C95C @ =gBattleAnimArgs @@ -1307,7 +1307,7 @@ sub_812CAFC: @ 812CAFC ldrsh r0, [r6, r1] cmp r0, 0 bne _0812CB28 - ldr r4, _0812CB74 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812CB74 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -1358,7 +1358,7 @@ _0812CB28: b _0812CB8A .align 2, 0 _0812CB70: .4byte gBattleAnimArgs -_0812CB74: .4byte gBattleAnimPlayerMonIndex +_0812CB74: .4byte gBattleAnimBankAttacker _0812CB78: .4byte 0x000003ff _0812CB7C: .4byte 0xfffffc00 _0812CB80: .4byte 0x0000fff4 @@ -1473,7 +1473,7 @@ sub_812CC44: @ 812CC44 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812CC7A @@ -1518,7 +1518,7 @@ sub_812CCA8: @ 812CCA8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812CCCA @@ -1553,13 +1553,13 @@ sub_812CCE8: @ 812CCE8 ldrsh r0, [r6, r1] cmp r0, 0 bne _0812CD04 - ldr r4, _0812CD00 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812CD00 @ =gBattleAnimBankAttacker b _0812CD06 .align 2, 0 _0812CCFC: .4byte gBattleAnimArgs -_0812CD00: .4byte gBattleAnimPlayerMonIndex +_0812CD00: .4byte gBattleAnimBankAttacker _0812CD04: - ldr r4, _0812CD58 @ =gBattleAnimEnemyMonIndex + ldr r4, _0812CD58 @ =gBattleAnimBankTarget _0812CD06: ldrb r0, [r4] movs r1, 0 @@ -1602,7 +1602,7 @@ _0812CD3E: pop {r0} bx r0 .align 2, 0 -_0812CD58: .4byte gBattleAnimEnemyMonIndex +_0812CD58: .4byte gBattleAnimBankTarget _0812CD5C: .4byte gBattleAnimArgs _0812CD60: .4byte sub_812CD64 thumb_func_end sub_812CCE8 @@ -1675,14 +1675,14 @@ sub_812CDC8: @ 812CDC8 ldrsh r0, [r0, r1] cmp r0, 0 bne _0812CDF4 - ldr r4, _0812CDF0 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812CDF0 @ =gBattleAnimBankAttacker b _0812CDF6 .align 2, 0 _0812CDE8: .4byte gTasks _0812CDEC: .4byte gBattleAnimArgs -_0812CDF0: .4byte gBattleAnimPlayerMonIndex +_0812CDF0: .4byte gBattleAnimBankAttacker _0812CDF4: - ldr r4, _0812CE3C @ =gBattleAnimEnemyMonIndex + ldr r4, _0812CE3C @ =gBattleAnimBankTarget _0812CDF6: ldrb r0, [r4] bl sub_8077FC0 @@ -1718,7 +1718,7 @@ _0812CE20: ldr r0, _0812CE44 @ =gUnknown_030042C0 b _0812CE4A .align 2, 0 -_0812CE3C: .4byte gBattleAnimEnemyMonIndex +_0812CE3C: .4byte gBattleAnimBankTarget _0812CE40: .4byte gBattleAnimArgs _0812CE44: .4byte gUnknown_030042C0 _0812CE48: @@ -1975,7 +1975,7 @@ sub_812D008: @ 812D008 movs r5, 0 strh r5, [r4, 0x8] strh r5, [r4, 0xA] - ldr r6, _0812D060 @ =gBattleAnimPlayerMonIndex + ldr r6, _0812D060 @ =gBattleAnimBankAttacker ldrb r0, [r6] movs r1, 0x2 bl sub_8077ABC @@ -1994,7 +1994,7 @@ sub_812D008: @ 812D008 strh r0, [r4, 0x12] strh r5, [r4, 0x14] movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -2005,7 +2005,7 @@ sub_812D008: @ 812D008 bx r0 .align 2, 0 _0812D05C: .4byte gTasks -_0812D060: .4byte gBattleAnimPlayerMonIndex +_0812D060: .4byte gBattleAnimBankAttacker _0812D064: .4byte 0x0000ffec _0812D068: .4byte sub_812D06C thumb_func_end sub_812D008 @@ -2350,7 +2350,7 @@ _0812D2F0: bne _0812D33C ldr r1, _0812D344 @ =move_anim_8072740 adds r0, r5, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldrh r0, [r5, 0x24] ldrh r2, [r5, 0x20] adds r0, r2 @@ -2364,7 +2364,7 @@ _0812D2F0: strh r1, [r5, 0x26] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, _0812D348 @ =gBattleAnimEnemyMonIndex + ldr r4, _0812D348 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -2385,7 +2385,7 @@ _0812D33C: bx r0 .align 2, 0 _0812D344: .4byte move_anim_8072740 -_0812D348: .4byte gBattleAnimEnemyMonIndex +_0812D348: .4byte gBattleAnimBankTarget _0812D34C: .4byte sub_8078B34 thumb_func_end sub_812D294 @@ -2410,7 +2410,7 @@ sub_812D350: @ 812D350 _0812D370: .4byte gTasks _0812D374: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2442,7 +2442,7 @@ sub_812D3AC: @ 812D3AC push {r4-r6,lr} adds r5, r0, 0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x2E @@ -2461,7 +2461,7 @@ _0812D3CC: beq _0812D490 b _0812D4AE _0812D3D6: - ldr r4, _0812D408 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812D408 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -2483,7 +2483,7 @@ _0812D3D6: strh r0, [r5, 0x32] b _0812D484 .align 2, 0 -_0812D408: .4byte gBattleAnimPlayerMonIndex +_0812D408: .4byte gBattleAnimBankAttacker _0812D40C: ldrh r0, [r5, 0x30] adds r0, 0x60 @@ -2575,7 +2575,7 @@ _0812D4AE: sub_812D4B4: @ 812D4B4 push {r4,lr} adds r4, r0, 0 - ldr r0, _0812D4CC @ =gBattleAnimPlayerMonIndex + ldr r0, _0812D4CC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -2584,7 +2584,7 @@ sub_812D4B4: @ 812D4B4 ldr r0, _0812D4D0 @ =0x0000fff0 b _0812D4D8 .align 2, 0 -_0812D4CC: .4byte gBattleAnimPlayerMonIndex +_0812D4CC: .4byte gBattleAnimBankAttacker _0812D4D0: .4byte 0x0000fff0 _0812D4D4: movs r0, 0x80 @@ -2609,7 +2609,7 @@ sub_812D4EC: @ 812D4EC ldrh r0, [r4, 0x2E] adds r0, 0x48 strh r0, [r4, 0x2E] - ldr r0, _0812D50C @ =gBattleAnimPlayerMonIndex + ldr r0, _0812D50C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -2620,7 +2620,7 @@ sub_812D4EC: @ 812D4EC asrs r0, 20 b _0812D518 .align 2, 0 -_0812D50C: .4byte gBattleAnimPlayerMonIndex +_0812D50C: .4byte gBattleAnimBankAttacker _0812D510: ldrh r0, [r4, 0x2E] lsls r0, 16 @@ -2830,7 +2830,7 @@ sub_812D674: @ 812D674 cmp r0, 0 bne _0812D6B4 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2874,7 +2874,7 @@ sub_812D6CC: @ 812D6CC cmp r0, 0 bne _0812D70C movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2920,7 +2920,7 @@ _0812D736: movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] - ldr r0, _0812D75C @ =gBattleAnimPlayerMonIndex + ldr r0, _0812D75C @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -2932,7 +2932,7 @@ _0812D736: strh r0, [r4, 0x2E] b _0812D788 .align 2, 0 -_0812D75C: .4byte gBattleAnimPlayerMonIndex +_0812D75C: .4byte gBattleAnimBankAttacker _0812D760: ldrh r2, [r4, 0x30] lsls r1, r2, 16 @@ -2975,7 +2975,7 @@ sub_812D790: @ 812D790 cmp r0, 0 bne _0812D7D0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3044,7 +3044,7 @@ _0812D834: ldr r1, _0812D850 @ =REG_MOSAIC movs r0, 0 strh r0, [r1] - ldr r0, _0812D854 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812D854 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -3055,7 +3055,7 @@ _0812D834: b _0812D85E .align 2, 0 _0812D850: .4byte REG_MOSAIC -_0812D854: .4byte gBattleAnimPlayerMonIndex +_0812D854: .4byte gBattleAnimBankAttacker _0812D858: .4byte REG_BG1CNT _0812D85C: ldr r0, _0812D87C @ =REG_BG2CNT @@ -3111,9 +3111,9 @@ _0812D8BC: .align 2, 0 _0812D8C0: .4byte REG_MOSAIC _0812D8C4: - ldr r5, _0812D8F4 @ =gBattleAnimPlayerMonIndex + ldr r5, _0812D8F4 @ =gBattleAnimBankAttacker ldrb r0, [r5] - ldr r1, _0812D8F8 @ =gBattleAnimEnemyMonIndex + ldr r1, _0812D8F8 @ =gBattleAnimBankTarget ldrb r1, [r1] mov r2, r8 lsls r4, r2, 2 @@ -3125,7 +3125,7 @@ _0812D8C4: ldrb r1, [r5] mov r0, sp bl sub_8078954 - bl IsContest + bl NotInBattle lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -3133,8 +3133,8 @@ _0812D8C4: movs r1, 0 b _0812D906 .align 2, 0 -_0812D8F4: .4byte gBattleAnimPlayerMonIndex -_0812D8F8: .4byte gBattleAnimEnemyMonIndex +_0812D8F4: .4byte gBattleAnimBankAttacker +_0812D8F8: .4byte gBattleAnimBankTarget _0812D8FC: ldrb r0, [r5] bl GetBankIdentity @@ -3145,7 +3145,7 @@ _0812D906: lsls r1, 2 adds r1, r0 ldr r2, _0812D9D0 @ =gBattleMonForms - ldr r0, _0812D9D4 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812D9D4 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r2 ldrb r0, [r0] @@ -3159,7 +3159,7 @@ _0812D906: ldr r1, _0812D9DC @ =0x84000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812DA20 @@ -3229,7 +3229,7 @@ _0812D9A2: beq _0812D9F0 ldr r3, _0812D9E4 @ =gSprites ldr r4, _0812D9E8 @ =gObjectBankIDs - ldr r2, _0812D9D4 @ =gBattleAnimPlayerMonIndex + ldr r2, _0812D9D4 @ =gBattleAnimBankAttacker ldrb r0, [r2] adds r0, r4 ldrb r1, [r0] @@ -3244,7 +3244,7 @@ _0812D9A2: .align 2, 0 _0812D9CC: .4byte gUnknown_081FAF4C _0812D9D0: .4byte gBattleMonForms -_0812D9D4: .4byte gBattleAnimPlayerMonIndex +_0812D9D4: .4byte gBattleAnimBankAttacker _0812D9D8: .4byte 0x040000d4 _0812D9DC: .4byte 0x84000200 _0812D9E0: .4byte 0x02019348 @@ -3254,7 +3254,7 @@ _0812D9EC: .4byte gSpriteAffineAnimTable_81E7C18 _0812D9F0: ldr r3, _0812DA34 @ =gSprites ldr r4, _0812DA38 @ =gObjectBankIDs - ldr r2, _0812DA3C @ =gBattleAnimPlayerMonIndex + ldr r2, _0812DA3C @ =gBattleAnimBankAttacker ldrb r0, [r2] adds r0, r4 ldrb r1, [r0] @@ -3290,7 +3290,7 @@ _0812DA2A: .align 2, 0 _0812DA34: .4byte gSprites _0812DA38: .4byte gObjectBankIDs -_0812DA3C: .4byte gBattleAnimPlayerMonIndex +_0812DA3C: .4byte gBattleAnimBankAttacker _0812DA40: .4byte gSpriteAffineAnimTable_81E7BEC _0812DA44: .4byte gTasks _0812DA48: @@ -3329,7 +3329,7 @@ _0812DA84: ldr r1, _0812DAA0 @ =REG_MOSAIC movs r0, 0 strh r0, [r1] - ldr r0, _0812DAA4 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812DAA4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -3340,7 +3340,7 @@ _0812DA84: b _0812DAAE .align 2, 0 _0812DAA0: .4byte REG_MOSAIC -_0812DAA4: .4byte gBattleAnimPlayerMonIndex +_0812DAA4: .4byte gBattleAnimBankAttacker _0812DAA8: .4byte REG_BG1CNT _0812DAAC: ldr r2, _0812DB08 @ =REG_BG2CNT @@ -3350,11 +3350,11 @@ _0812DAAE: negs r0, r0 ands r0, r1 strb r0, [r2] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812DAF4 - ldr r4, _0812DB0C @ =gBattleAnimPlayerMonIndex + ldr r4, _0812DB0C @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -3390,7 +3390,7 @@ _0812DAFA: bx r0 .align 2, 0 _0812DB08: .4byte REG_BG2CNT -_0812DB0C: .4byte gBattleAnimPlayerMonIndex +_0812DB0C: .4byte gBattleAnimBankAttacker _0812DB10: .4byte gTasks _0812DB14: .4byte 0x02017800 thumb_func_end sub_812D7E8 @@ -3403,7 +3403,7 @@ c3_80DFBE4: @ 812DB18 ldr r4, _0812DB48 @ =gBattleAnimArgs ldr r3, _0812DB4C @ =gSprites ldr r2, _0812DB50 @ =gObjectBankIDs - ldr r1, _0812DB54 @ =gBattleAnimPlayerMonIndex + ldr r1, _0812DB54 @ =gBattleAnimBankAttacker ldrb r1, [r1] adds r1, r2 ldrb r2, [r1] @@ -3424,7 +3424,7 @@ c3_80DFBE4: @ 812DB18 _0812DB48: .4byte gBattleAnimArgs _0812DB4C: .4byte gSprites _0812DB50: .4byte gObjectBankIDs -_0812DB54: .4byte gBattleAnimPlayerMonIndex +_0812DB54: .4byte gBattleAnimBankAttacker thumb_func_end c3_80DFBE4 thumb_func_start sub_812DB58 @@ -3433,9 +3433,9 @@ sub_812DB58: @ 812DB58 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0812DB7C @ =gBattleAnimPlayerMonIndex + ldr r0, _0812DB7C @ =gBattleAnimBankAttacker ldrb r0, [r0] - ldr r1, _0812DB80 @ =gBattleAnimEnemyMonIndex + ldr r1, _0812DB80 @ =gBattleAnimBankTarget ldrb r1, [r1] movs r2, 0x1 bl sub_8031FC4 @@ -3445,8 +3445,8 @@ sub_812DB58: @ 812DB58 pop {r0} bx r0 .align 2, 0 -_0812DB7C: .4byte gBattleAnimPlayerMonIndex -_0812DB80: .4byte gBattleAnimEnemyMonIndex +_0812DB7C: .4byte gBattleAnimBankAttacker +_0812DB80: .4byte gBattleAnimBankTarget thumb_func_end sub_812DB58 thumb_func_start sub_812DB84 @@ -3507,7 +3507,7 @@ _0812DBD0: movs r1, 0x1 orrs r0, r1 strb r0, [r4] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812DC12 @@ -3542,7 +3542,7 @@ _0812DC12: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812DC9C @@ -3572,7 +3572,7 @@ _0812DC90: .4byte gUnknown_030042C0 _0812DC94: .4byte 0x0000ffc8 _0812DC98: .4byte gUnknown_030041B4 _0812DC9C: - ldr r0, _0812DCB4 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812DCB4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -3583,7 +3583,7 @@ _0812DC9C: adds r0, r4, 0 b _0812DCC6 .align 2, 0 -_0812DCB4: .4byte gBattleAnimPlayerMonIndex +_0812DCB4: .4byte gBattleAnimBankAttacker _0812DCB8: .4byte gUnknown_030042C0 _0812DCBC: .4byte 0x0000ff79 _0812DCC0: @@ -3786,7 +3786,7 @@ _0812DE0C: ldr r1, _0812DE98 @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812DE5A @@ -3856,7 +3856,7 @@ sub_812DEAC: @ 812DEAC lsls r0, 16 lsrs r5, r0, 16 _0812DED6: - ldr r4, _0812DFD0 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812DFD0 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl sub_8077ABC @@ -3975,7 +3975,7 @@ _0812DED6: pop {r0} bx r0 .align 2, 0 -_0812DFD0: .4byte gBattleAnimPlayerMonIndex +_0812DFD0: .4byte gBattleAnimBankAttacker _0812DFD4: .4byte gBattleAnimArgs _0812DFD8: .4byte gBattleAnimSpriteTemplate_84025EC _0812DFDC: .4byte gSprites @@ -4226,7 +4226,7 @@ _0812E194: movs r1, 0x1 orrs r0, r1 strb r0, [r4] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812E1D4 @@ -4261,7 +4261,7 @@ _0812E1D4: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812E260 @@ -4292,7 +4292,7 @@ _0812E254: .4byte gUnknown_030042C0 _0812E258: .4byte 0x0000ffc8 _0812E25C: .4byte gUnknown_030041B4 _0812E260: - ldr r0, _0812E2A0 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812E2A0 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankIdentity lsls r0, 24 @@ -4326,7 +4326,7 @@ _0812E296: ldr r2, _0812E2B0 @ =0x0000ffec b _0812E2C8 .align 2, 0 -_0812E2A0: .4byte gBattleAnimEnemyMonIndex +_0812E2A0: .4byte gBattleAnimBankTarget _0812E2A4: .4byte gUnknown_030042C0 _0812E2A8: .4byte 0x0000ff65 _0812E2AC: .4byte 0x0000ff8d @@ -4377,7 +4377,7 @@ _0812E300: adds r5, r0, r1 movs r0, 0 strh r0, [r5, 0xE] - ldr r0, _0812E338 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812E338 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4397,7 +4397,7 @@ _0812E300: b _0812E356 .align 2, 0 _0812E334: .4byte gTasks -_0812E338: .4byte gBattleAnimEnemyMonIndex +_0812E338: .4byte gBattleAnimBankTarget _0812E33C: .4byte gUnknown_030042C0 _0812E340: .4byte gUnknown_08402604 _0812E344: @@ -4529,7 +4529,7 @@ _0812E420: ldr r0, _0812E484 @ =0x85000200 str r0, [r1, 0x8] ldr r0, [r1, 0x8] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812E450 @@ -4588,7 +4588,7 @@ sub_812E498: @ 812E498 cmp r0, 0 bne _0812E4D8 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4643,7 +4643,7 @@ _0812E50E: ldrh r0, [r4, 0x32] adds r0, 0x80 strh r0, [r4, 0x32] - ldr r0, _0812E53C @ =gBattleAnimPlayerMonIndex + ldr r0, _0812E53C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4655,7 +4655,7 @@ _0812E50E: negs r0, r0 b _0812E546 .align 2, 0 -_0812E53C: .4byte gBattleAnimPlayerMonIndex +_0812E53C: .4byte gBattleAnimBankAttacker _0812E540: ldrh r0, [r4, 0x30] lsls r0, 16 @@ -4740,7 +4740,7 @@ _0812E5AC: subs r0, 0x1 strh r0, [r4, 0x14] ldrb r0, [r5] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -4748,12 +4748,12 @@ _0812E5AC: ldrsh r0, [r5, r1] cmp r0, 0 bne _0812E5F8 - ldr r0, _0812E5F4 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812E5F4 @ =gBattleAnimBankAttacker b _0812E5FA .align 2, 0 -_0812E5F4: .4byte gBattleAnimPlayerMonIndex +_0812E5F4: .4byte gBattleAnimBankAttacker _0812E5F8: - ldr r0, _0812E630 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812E630 @ =gBattleAnimBankTarget _0812E5FA: ldrb r0, [r0] bl GetBankSide @@ -4782,7 +4782,7 @@ _0812E628: pop {r0} bx r0 .align 2, 0 -_0812E630: .4byte gBattleAnimEnemyMonIndex +_0812E630: .4byte gBattleAnimBankTarget _0812E634: .4byte sub_812E638 thumb_func_end sub_812E568 @@ -4971,7 +4971,7 @@ _0812E798: sub_812E7A0: @ 812E7A0 push {r4,lr} adds r4, r0, 0 - ldr r0, _0812E7BC @ =gBattleAnimPlayerMonIndex + ldr r0, _0812E7BC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4983,7 +4983,7 @@ sub_812E7A0: @ 812E7A0 ldrh r0, [r1] b _0812E7CE .align 2, 0 -_0812E7BC: .4byte gBattleAnimPlayerMonIndex +_0812E7BC: .4byte gBattleAnimBankAttacker _0812E7C0: .4byte gBattleAnimArgs _0812E7C4: movs r0, 0xF0 @@ -5015,7 +5015,7 @@ sub_812E7F0: @ 812E7F0 ldrh r0, [r4, 0x2E] adds r0, 0x3 strh r0, [r4, 0x2E] - ldr r0, _0812E830 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812E830 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -5041,7 +5041,7 @@ _0812E822: bl Sin b _0812E858 .align 2, 0 -_0812E830: .4byte gBattleAnimPlayerMonIndex +_0812E830: .4byte gBattleAnimBankAttacker _0812E834: ldrh r1, [r4, 0x20] subs r1, 0x5 @@ -5091,7 +5091,7 @@ sub_812E860: @ 812E860 strh r0, [r4, 0x24] ldr r0, _0812E8AC @ =gBattleAnimArgs ldrb r0, [r0] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -5330,7 +5330,7 @@ sub_812EA4C: @ 812EA4C ldrsh r0, [r6, r2] cmp r0, 0 bne _0812EA80 - ldr r4, _0812EAA8 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812EAA8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -5364,7 +5364,7 @@ _0812EA80: b _0812EB0A .align 2, 0 _0812EAA4: .4byte gBattleAnimArgs -_0812EAA8: .4byte gBattleAnimPlayerMonIndex +_0812EAA8: .4byte gBattleAnimBankAttacker _0812EAAC: ldrh r1, [r5, 0x30] lsls r0, r1, 16 @@ -5441,20 +5441,20 @@ sub_812EB10: @ 812EB10 mov r8, r0 cmp r1, 0 bne _0812EB4C - ldr r0, _0812EB48 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812EB48 @ =gBattleAnimBankAttacker b _0812EB4E .align 2, 0 _0812EB40: .4byte gTasks _0812EB44: .4byte gBattleAnimArgs -_0812EB48: .4byte gBattleAnimPlayerMonIndex +_0812EB48: .4byte gBattleAnimBankAttacker _0812EB4C: - ldr r0, _0812EB88 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812EB88 @ =gBattleAnimBankTarget _0812EB4E: ldrb r0, [r0] strh r0, [r2, 0x1E] mov r1, r8 ldrb r0, [r1] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r5, r0, 24 ldr r1, _0812EB8C @ =gTasks @@ -5478,7 +5478,7 @@ _0812EB4E: lsls r2, r5, 4 b _0812EBF8 .align 2, 0 -_0812EB88: .4byte gBattleAnimEnemyMonIndex +_0812EB88: .4byte gBattleAnimBankTarget _0812EB8C: .4byte gTasks _0812EB90: cmp r0, 0x2 @@ -5513,7 +5513,7 @@ _0812EBC2: bl obj_id_set_rotscale adds r0, r5, 0 bl sub_8079A64 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0812EBE8 @@ -5893,7 +5893,7 @@ _0812EEA0: .4byte 0x00003f3f sub_812EEA4: @ 812EEA4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, _0812EEE0 @ =gBattleAnimPlayerMonIndex + ldr r5, _0812EEE0 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x2 bl sub_8077ABC @@ -5919,7 +5919,7 @@ sub_812EEA4: @ 812EEA4 pop {r0} bx r0 .align 2, 0 -_0812EEE0: .4byte gBattleAnimPlayerMonIndex +_0812EEE0: .4byte gBattleAnimBankAttacker _0812EEE4: .4byte gBattleAnimArgs _0812EEE8: .4byte sub_812EEEC thumb_func_end sub_812EEA4 @@ -5954,15 +5954,15 @@ sub_812EEEC: @ 812EEEC cmp r0, 0xC3 ble _0812EF38 _0812EF26: - ldr r0, _0812EF34 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812EF34 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 subs r0, 0x1 b _0812EF42 .align 2, 0 -_0812EF34: .4byte gBattleAnimPlayerMonIndex +_0812EF34: .4byte gBattleAnimBankAttacker _0812EF38: - ldr r0, _0812EF84 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812EF84 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 adds r0, 0x1 @@ -6000,7 +6000,7 @@ _0812EF42: strh r0, [r4, 0x38] b _0812EFB8 .align 2, 0 -_0812EF84: .4byte gBattleAnimPlayerMonIndex +_0812EF84: .4byte gBattleAnimBankAttacker _0812EF88: cmp r2, 0x1 bne _0812EFB8 @@ -6046,8 +6046,8 @@ sub_812EFC8: @ 812EFC8 lsrs r0, 24 str r0, [sp, 0x10] movs r0, 0 - bl obj_id_for_side_relative_to_move - bl IsContest + bl GetAnimBankSpriteId + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _0812F004 @@ -6064,7 +6064,7 @@ sub_812EFC8: @ 812EFC8 .align 2, 0 _0812F000: .4byte 0x02019348 _0812F004: - ldr r0, _0812F070 @ =gBattleAnimPlayerMonIndex + ldr r0, _0812F070 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -6073,7 +6073,7 @@ _0812F004: movs r0, 0 str r0, [sp, 0x14] ldr r6, _0812F074 @ =gBattlePartyID - ldr r4, _0812F078 @ =gBattleAnimEnemyMonIndex + ldr r4, _0812F078 @ =gBattleAnimBankTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -6114,9 +6114,9 @@ _0812F004: adds r0, r7 b _0812F092 .align 2, 0 -_0812F070: .4byte gBattleAnimPlayerMonIndex +_0812F070: .4byte gBattleAnimBankAttacker _0812F074: .4byte gBattlePartyID -_0812F078: .4byte gBattleAnimEnemyMonIndex +_0812F078: .4byte gBattleAnimBankTarget _0812F07C: .4byte gPlayerParty _0812F080: .4byte 0x02017800 _0812F084: @@ -6145,7 +6145,7 @@ _0812F0AC: movs r2, 0x1 str r2, [sp, 0x14] ldr r6, _0812F10C @ =gBattlePartyID - ldr r4, _0812F110 @ =gBattleAnimEnemyMonIndex + ldr r4, _0812F110 @ =gBattleAnimBankTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -6188,7 +6188,7 @@ _0812F0AC: b _0812F12C .align 2, 0 _0812F10C: .4byte gBattlePartyID -_0812F110: .4byte gBattleAnimEnemyMonIndex +_0812F110: .4byte gBattleAnimBankTarget _0812F114: .4byte gEnemyParty _0812F118: .4byte 0x02017800 _0812F11C: .4byte gPlayerParty @@ -6212,12 +6212,12 @@ _0812F13A: _0812F13C: mov r10, r3 _0812F13E: - ldr r0, _0812F21C @ =gBattleAnimPlayerMonIndex + ldr r0, _0812F21C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079ED4 lsls r0, 24 lsrs r7, r0, 24 - ldr r5, _0812F21C @ =gBattleAnimPlayerMonIndex + ldr r5, _0812F21C @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -6318,7 +6318,7 @@ _0812F13E: bx r0 .align 2, 0 _0812F218: .4byte 0x0000ffec -_0812F21C: .4byte gBattleAnimPlayerMonIndex +_0812F21C: .4byte gBattleAnimBankAttacker _0812F220: .4byte gSprites _0812F224: .4byte 0x00007fff _0812F228: .4byte REG_BLDCNT @@ -6455,14 +6455,14 @@ sub_812F314: @ 812F314 ldrsh r0, [r0, r1] cmp r0, 0 bne _0812F340 - ldr r0, _0812F33C @ =gBattleAnimPlayerMonIndex + ldr r0, _0812F33C @ =gBattleAnimBankAttacker b _0812F342 .align 2, 0 _0812F334: .4byte gTasks _0812F338: .4byte gBattleAnimArgs -_0812F33C: .4byte gBattleAnimPlayerMonIndex +_0812F33C: .4byte gBattleAnimBankAttacker _0812F340: - ldr r0, _0812F3C0 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812F3C0 @ =gBattleAnimBankTarget _0812F342: ldrb r5, [r0] movs r6, 0 @@ -6504,7 +6504,7 @@ _0812F388: strh r0, [r4, 0x24] ldr r0, _0812F3C4 @ =gBattleAnimArgs ldrb r0, [r0] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -6525,7 +6525,7 @@ _0812F388: ldr r0, _0812F3D8 @ =gUnknown_030041B4 b _0812F3EE .align 2, 0 -_0812F3C0: .4byte gBattleAnimEnemyMonIndex +_0812F3C0: .4byte gBattleAnimBankTarget _0812F3C4: .4byte gBattleAnimArgs _0812F3C8: .4byte REG_BG1HOFS _0812F3CC: .4byte REG_BLDCNT @@ -6975,7 +6975,7 @@ sub_812F724: @ 812F724 strh r0, [r4, 0x8] ldr r0, _0812F760 @ =gBattleAnimArgs ldrb r0, [r0] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7250,7 +7250,7 @@ sub_812F948: @ 812F948 ldrb r1, [r6] adds r0, r5, 0 bl StartSpriteAffineAnim - ldr r0, _0812F9A4 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812F9A4 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -7260,7 +7260,7 @@ sub_812F948: @ 812F948 negs r0, r0 strh r0, [r6, 0x2] _0812F96E: - ldr r4, _0812F9A8 @ =gBattleAnimPlayerMonIndex + ldr r4, _0812F9A8 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -7284,8 +7284,8 @@ _0812F96E: bx r0 .align 2, 0 _0812F9A0: .4byte gBattleAnimArgs -_0812F9A4: .4byte gBattleAnimEnemyMonIndex -_0812F9A8: .4byte gBattleAnimPlayerMonIndex +_0812F9A4: .4byte gBattleAnimBankTarget +_0812F9A8: .4byte gBattleAnimBankAttacker _0812F9AC: .4byte sub_80DA48C thumb_func_end sub_812F948 @@ -7674,7 +7674,7 @@ sub_812FC68: @ 812FC68 mov r1, r8 adds r4, r0, r1 ldr r1, _0812FCCC @ =gObjectBankIDs - ldr r2, _0812FCD0 @ =gBattleAnimPlayerMonIndex + ldr r2, _0812FCD0 @ =gBattleAnimBankAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -7711,7 +7711,7 @@ _0812FCAC: .align 2, 0 _0812FCC8: .4byte gTasks _0812FCCC: .4byte gObjectBankIDs -_0812FCD0: .4byte gBattleAnimPlayerMonIndex +_0812FCD0: .4byte gBattleAnimBankAttacker _0812FCD4: .4byte gBattleAnimArgs _0812FCD8: .4byte 0xffff8000 _0812FCDC: @@ -7822,14 +7822,14 @@ _0812FD9C: ldrsh r0, [r4, r1] cmp r0, 0 bne _0812FDC0 - ldr r0, _0812FDBC @ =gBattleAnimPlayerMonIndex + ldr r0, _0812FDBC @ =gBattleAnimBankAttacker b _0812FDC2 .align 2, 0 _0812FDB4: .4byte gTasks _0812FDB8: .4byte gBattleAnimArgs -_0812FDBC: .4byte gBattleAnimPlayerMonIndex +_0812FDBC: .4byte gBattleAnimBankAttacker _0812FDC0: - ldr r0, _0812FE10 @ =gBattleAnimEnemyMonIndex + ldr r0, _0812FE10 @ =gBattleAnimBankTarget _0812FDC2: ldrb r4, [r0] adds r0, r4, 0 @@ -7851,7 +7851,7 @@ _0812FDC2: strh r0, [r5, 0x14] ldr r0, _0812FE14 @ =gBattleAnimArgs ldrb r0, [r0] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7865,7 +7865,7 @@ _0812FDC2: pop {r0} bx r0 .align 2, 0 -_0812FE10: .4byte gBattleAnimEnemyMonIndex +_0812FE10: .4byte gBattleAnimBankTarget _0812FE14: .4byte gBattleAnimArgs _0812FE18: .4byte gUnknown_084028AC _0812FE1C: .4byte sub_812FE20 @@ -8124,7 +8124,7 @@ sub_812FFE4: @ 812FFE4 ldrh r0, [r1, 0x2] strh r0, [r4, 0xA] ldrb r0, [r1] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, _08130034 @ =gSprites @@ -8215,7 +8215,7 @@ sub_81300A4: @ 81300A4 lsrs r0, 24 movs r2, 0xD0 lsls r2, 1 - ldr r1, _081300E0 @ =gBattleAnimPlayerMonIndex + ldr r1, _081300E0 @ =gBattleAnimBankAttacker ldrb r3, [r1] ldr r1, _081300E4 @ =gBattleAnimArgs ldrb r1, [r1] @@ -8238,7 +8238,7 @@ sub_81300A4: @ 81300A4 pop {r0} bx r0 .align 2, 0 -_081300E0: .4byte gBattleAnimPlayerMonIndex +_081300E0: .4byte gBattleAnimBankAttacker _081300E4: .4byte gBattleAnimArgs _081300E8: .4byte gUnknown_08D2E014 _081300EC: .4byte gUnknown_08D2E170 @@ -8249,7 +8249,7 @@ _081300F0: .4byte gUnknown_08D2E150 sub_81300F4: @ 81300F4 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _0813014C @ =gBattleAnimPlayerMonIndex + ldr r6, _0813014C @ =gBattleAnimBankAttacker ldrb r0, [r6] bl GetBankSide lsls r0, 24 @@ -8289,7 +8289,7 @@ _08130110: strh r0, [r5, 0x30] b _08130180 .align 2, 0 -_0813014C: .4byte gBattleAnimPlayerMonIndex +_0813014C: .4byte gBattleAnimBankAttacker _08130150: .4byte gBattleAnimArgs _08130154: .4byte 0x0000fd80 _08130158: @@ -8314,7 +8314,7 @@ _08130172: lsls r0, 2 strh r0, [r5, 0x2E] _08130180: - ldr r0, _081301AC @ =gBattleAnimPlayerMonIndex + ldr r0, _081301AC @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -8336,7 +8336,7 @@ _081301A0: pop {r0} bx r0 .align 2, 0 -_081301AC: .4byte gBattleAnimPlayerMonIndex +_081301AC: .4byte gBattleAnimBankAttacker _081301B0: .4byte sub_81301B4 thumb_func_end sub_81300F4 @@ -8382,7 +8382,7 @@ sub_81301EC: @ 81301EC lsls r1, 3 ldr r0, _08130218 @ =gTasks adds r6, r1, r0 - bl IsContest + bl NotInBattle lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -8403,7 +8403,7 @@ _0813021C: strh r0, [r6, 0x14] strh r1, [r6, 0x16] _08130226: - ldr r5, _0813025C @ =gBattleAnimPlayerMonIndex + ldr r5, _0813025C @ =gBattleAnimBankAttacker ldrb r0, [r5] bl GetBankSide lsls r0, 24 @@ -8428,7 +8428,7 @@ _08130254: adds r0, r4, r0 b _08130284 .align 2, 0 -_0813025C: .4byte gBattleAnimPlayerMonIndex +_0813025C: .4byte gBattleAnimBankAttacker _08130260: ldrb r0, [r5] movs r1, 0x2 @@ -8449,7 +8449,7 @@ _08130280: subs r0, r4, r0 _08130284: strh r0, [r6, 0x1E] - ldr r5, _081302D8 @ =gBattleAnimPlayerMonIndex + ldr r5, _081302D8 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0x3 bl sub_8077ABC @@ -8468,7 +8468,7 @@ _081302A8: asrs r0, 2 subs r0, r4, r0 strh r0, [r6, 0x20] - ldr r4, _081302DC @ =gBattleAnimEnemyMonIndex + ldr r4, _081302DC @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -8487,8 +8487,8 @@ _081302A8: pop {r0} bx r0 .align 2, 0 -_081302D8: .4byte gBattleAnimPlayerMonIndex -_081302DC: .4byte gBattleAnimEnemyMonIndex +_081302D8: .4byte gBattleAnimBankAttacker +_081302DC: .4byte gBattleAnimBankTarget _081302E0: .4byte sub_81302E4 thumb_func_end sub_81301EC @@ -8810,7 +8810,7 @@ sub_813051C: @ 813051C strh r0, [r4, 0x2E] ldr r1, _0813054C @ =move_anim_8072740 adds r0, r4, 0 - bl oamt_set_x3A_32 + bl StoreSpriteCallbackInData6 ldr r0, _08130550 @ =sub_8078CC0 str r0, [r4, 0x1C] pop {r4} @@ -8837,7 +8837,7 @@ sub_8130554: @ 8130554 lsls r0, 3 ldr r1, _08130674 @ =gTasks adds r7, r0, r1 - ldr r0, _08130678 @ =gBattleAnimPlayerMonIndex + ldr r0, _08130678 @ =gBattleAnimBankAttacker mov r10, r0 ldrb r0, [r0] movs r1, 0x2 @@ -8852,7 +8852,7 @@ sub_8130554: @ 8130554 lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x20] - ldr r0, _0813067C @ =gBattleAnimEnemyMonIndex + ldr r0, _0813067C @ =gBattleAnimBankTarget mov r8, r0 ldrb r0, [r0] movs r1, 0x2 @@ -8962,8 +8962,8 @@ _0813066E: b _08130696 .align 2, 0 _08130674: .4byte gTasks -_08130678: .4byte gBattleAnimPlayerMonIndex -_0813067C: .4byte gBattleAnimEnemyMonIndex +_08130678: .4byte gBattleAnimBankAttacker +_0813067C: .4byte gBattleAnimBankTarget _08130680: .4byte gSpriteTemplate_84029AC _08130684: .4byte gSprites _08130688: .4byte 0x0000ffe0 @@ -9129,13 +9129,13 @@ sub_81307B0: @ 81307B0 adds r6, r0, 0 cmp r1, 0 bne _081307CC - ldr r0, _081307C8 @ =gBattleAnimPlayerMonIndex + ldr r0, _081307C8 @ =gBattleAnimBankAttacker b _081307CE .align 2, 0 _081307C4: .4byte gBattleAnimArgs -_081307C8: .4byte gBattleAnimPlayerMonIndex +_081307C8: .4byte gBattleAnimBankAttacker _081307CC: - ldr r0, _08130834 @ =gBattleAnimEnemyMonIndex + ldr r0, _08130834 @ =gBattleAnimBankTarget _081307CE: ldrb r5, [r0] ldrh r2, [r4, 0x4] @@ -9188,7 +9188,7 @@ _081307FC: subs r0, 0x8 b _0813084A .align 2, 0 -_08130834: .4byte gBattleAnimEnemyMonIndex +_08130834: .4byte gBattleAnimBankTarget _08130838: .4byte 0x000003ff _0813083C: .4byte 0xfffffc00 _08130840: @@ -9337,7 +9337,7 @@ _08130934: ldrh r0, [r2, 0x2] strh r0, [r4, 0x8] ldrb r0, [r2] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -9461,13 +9461,13 @@ sub_8130A2C: @ 8130A2C ldrsh r0, [r0, r1] cmp r0, 0 bne _08130A48 - ldr r4, _08130A44 @ =gBattleAnimPlayerMonIndex + ldr r4, _08130A44 @ =gBattleAnimBankAttacker b _08130A4A .align 2, 0 _08130A40: .4byte gBattleAnimArgs -_08130A44: .4byte gBattleAnimPlayerMonIndex +_08130A44: .4byte gBattleAnimBankAttacker _08130A48: - ldr r4, _08130A88 @ =gBattleAnimEnemyMonIndex + ldr r4, _08130A88 @ =gBattleAnimBankTarget _08130A4A: ldrb r0, [r4] movs r1, 0x2 @@ -9500,7 +9500,7 @@ _08130A6E: pop {r0} bx r0 .align 2, 0 -_08130A88: .4byte gBattleAnimEnemyMonIndex +_08130A88: .4byte gBattleAnimBankTarget _08130A8C: .4byte gBattleAnimArgs _08130A90: .4byte sub_8130A94 thumb_func_end sub_8130A2C @@ -9859,11 +9859,11 @@ sub_8130D20: @ 8130D20 ldr r0, _08130D7C @ =gTasks adds r6, r1, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _08130DA8 @@ -9872,7 +9872,7 @@ sub_8130D20: @ 8130D20 lsrs r7, r0, 24 cmp r7, 0x1 bne _08130D8C - ldr r5, _08130D80 @ =gBattleAnimPlayerMonIndex + ldr r5, _08130D80 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -9892,14 +9892,14 @@ sub_8130D20: @ 8130D20 b _08130DAC .align 2, 0 _08130D7C: .4byte gTasks -_08130D80: .4byte gBattleAnimPlayerMonIndex +_08130D80: .4byte gBattleAnimBankAttacker _08130D84: ldr r0, _08130D88 @ =0x0000ffff b _08130DAA .align 2, 0 _08130D88: .4byte 0x0000ffff _08130D8C: - ldr r0, _08130DA0 @ =gBattleAnimPlayerMonIndex + ldr r0, _08130DA0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -9908,7 +9908,7 @@ _08130D8C: ldr r0, _08130DA4 @ =0x0000ffff b _08130DAA .align 2, 0 -_08130DA0: .4byte gBattleAnimPlayerMonIndex +_08130DA0: .4byte gBattleAnimBankAttacker _08130DA4: .4byte 0x0000ffff _08130DA8: movs r0, 0x1 @@ -10153,13 +10153,13 @@ sub_8130F5C: @ 8130F5C adds r0, r4, 0 movs r1, 0x1 bl sub_80787B0 - ldr r0, _08130F7C @ =gBattleAnimPlayerMonIndex + ldr r0, _08130F7C @ =gBattleAnimBankAttacker b _08130F82 .align 2, 0 _08130F78: .4byte gBattleAnimArgs -_08130F7C: .4byte gBattleAnimPlayerMonIndex +_08130F7C: .4byte gBattleAnimBankAttacker _08130F80: - ldr r0, _08130FD8 @ =gBattleAnimEnemyMonIndex + ldr r0, _08130FD8 @ =gBattleAnimBankTarget _08130F82: ldrb r0, [r0] strh r0, [r4, 0x3C] @@ -10204,7 +10204,7 @@ _08130FA6: pop {r0} bx r0 .align 2, 0 -_08130FD8: .4byte gBattleAnimEnemyMonIndex +_08130FD8: .4byte gBattleAnimBankTarget _08130FDC: .4byte sub_8130FE0 thumb_func_end sub_8130F5C @@ -10545,7 +10545,7 @@ _08131260: .4byte gSpriteTemplate_8402500 sub_8131264: @ 8131264 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _081312A0 @ =gBattleAnimEnemyMonIndex + ldr r4, _081312A0 @ =gBattleAnimBankTarget ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -10557,7 +10557,7 @@ sub_8131264: @ 8131264 lsls r0, 24 cmp r0, 0 beq _08131290 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _081312A8 @@ -10571,7 +10571,7 @@ _08131290: subs r1, r0 b _081312B6 .align 2, 0 -_081312A0: .4byte gBattleAnimEnemyMonIndex +_081312A0: .4byte gBattleAnimBankTarget _081312A4: .4byte gBattleAnimArgs _081312A8: ldr r2, _081312DC @ =gBattleAnimArgs @@ -10615,7 +10615,7 @@ sub_81312E4: @ 81312E4 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r5, r0, 24 adds r2, r5, 0 @@ -10686,11 +10686,11 @@ _08131378: .align 2, 0 _08131380: .4byte gSprites _08131384: - ldr r4, _081313F4 @ =gBattleAnimPlayerMonIndex + ldr r4, _081313F4 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0 bl refresh_graphics_maybe - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _081313C6 @@ -10743,7 +10743,7 @@ _081313E8: pop {r0} bx r0 .align 2, 0 -_081313F4: .4byte gBattleAnimPlayerMonIndex +_081313F4: .4byte gBattleAnimBankAttacker _081313F8: .4byte gSprites _081313FC: .4byte gObjectBankIDs _08131400: .4byte gSpriteAffineAnimTable_81E7C18 @@ -10756,7 +10756,7 @@ sub_8131408: @ 8131408 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r3, r0, 24 ldr r1, _08131434 @ =gTasks @@ -10932,7 +10932,7 @@ _08131560: .4byte gSprites sub_8131564: @ 8131564 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _08131588 @ =gBattleAnimEnemyMonIndex + ldr r4, _08131588 @ =gBattleAnimBankTarget ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -10947,7 +10947,7 @@ sub_8131564: @ 8131564 ldr r4, _0813158C @ =0x0000ff70 b _081315A0 .align 2, 0 -_08131588: .4byte gBattleAnimEnemyMonIndex +_08131588: .4byte gBattleAnimBankTarget _0813158C: .4byte 0x0000ff70 _08131590: ldrb r0, [r4] @@ -10958,7 +10958,7 @@ _08131590: strb r0, [r1] ldr r4, _081315BC @ =0x0000ffa0 _081315A0: - ldr r0, _081315C0 @ =gBattleAnimEnemyMonIndex + ldr r0, _081315C0 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x3 bl sub_8077ABC @@ -10973,7 +10973,7 @@ _081315A0: bx r0 .align 2, 0 _081315BC: .4byte 0x0000ffa0 -_081315C0: .4byte gBattleAnimEnemyMonIndex +_081315C0: .4byte gBattleAnimBankTarget _081315C4: .4byte sub_81315C8 thumb_func_end sub_8131564 @@ -11140,7 +11140,7 @@ sub_81316F8: @ 81316F8 lsls r0, 24 lsrs r4, r0, 24 mov r10, r4 - bl IsContest + bl NotInBattle lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -11474,7 +11474,7 @@ _0813197C: .4byte _08131DC4 _08131990: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, _081319DC @ =gTasks @@ -11489,7 +11489,7 @@ _08131990: ldrh r1, [r6, 0xA] adds r0, r1 strh r0, [r6, 0xA] - ldr r0, _081319E0 @ =gBattleAnimPlayerMonIndex + ldr r0, _081319E0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11510,7 +11510,7 @@ _08131990: b _08131A02 .align 2, 0 _081319DC: .4byte gTasks -_081319E0: .4byte gBattleAnimPlayerMonIndex +_081319E0: .4byte gBattleAnimBankAttacker _081319E4: .4byte gSprites _081319E8: ldr r3, _08131A3C @ =gSprites @@ -11560,7 +11560,7 @@ _08131A2E: _08131A3C: .4byte gSprites _08131A40: .4byte gTasks _08131A44: - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 beq _08131A74 @@ -11570,7 +11570,7 @@ _08131A44: ldr r3, [r0, 0xC] mov r9, r3 ldrh r5, [r0] - ldr r0, _08131A70 @ =gBattleAnimPlayerMonIndex + ldr r0, _08131A70 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl sub_8079E90 lsls r0, 24 @@ -11579,9 +11579,9 @@ _08131A44: b _08131B92 .align 2, 0 _08131A6C: .4byte 0x02019348 -_08131A70: .4byte gBattleAnimPlayerMonIndex +_08131A70: .4byte gBattleAnimBankAttacker _08131A74: - ldr r4, _08131AD4 @ =gBattleAnimPlayerMonIndex + ldr r4, _08131AD4 @ =gBattleAnimBankAttacker ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -11626,7 +11626,7 @@ _08131A74: lsrs r5, r0, 16 b _08131AE6 .align 2, 0 -_08131AD4: .4byte gBattleAnimPlayerMonIndex +_08131AD4: .4byte gBattleAnimBankAttacker _08131AD8: .4byte gBattlePartyID _08131ADC: .4byte gPlayerParty _08131AE0: .4byte 0x02017800 @@ -11634,7 +11634,7 @@ _08131AE4: ldrh r5, [r1, 0x2] _08131AE6: movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _08131B0C @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -11700,7 +11700,7 @@ _08131B70: ldrh r5, [r1, 0x2] _08131B72: movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _08131C04 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -11717,7 +11717,7 @@ _08131B72: _08131B92: ldr r6, _08131C08 @ =0x0000ffe0 _08131B94: - ldr r0, _08131C0C @ =gBattleAnimEnemyMonIndex + ldr r0, _08131C0C @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8077ABC @@ -11737,7 +11737,7 @@ _08131B94: bl sub_8079F44 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _08131C10 @ =gBattleAnimPlayerMonIndex + ldr r0, _08131C10 @ =gBattleAnimBankAttacker ldrb r0, [r0] lsls r0, 2 ldr r1, _08131C14 @ =0x02017800 @@ -11773,8 +11773,8 @@ _08131BF2: .align 2, 0 _08131C04: .4byte gSprites _08131C08: .4byte 0x0000ffe0 -_08131C0C: .4byte gBattleAnimEnemyMonIndex -_08131C10: .4byte gBattleAnimPlayerMonIndex +_08131C0C: .4byte gBattleAnimBankTarget +_08131C10: .4byte gBattleAnimBankAttacker _08131C14: .4byte 0x02017800 _08131C18: .4byte 0x00007fff _08131C1C: .4byte gTasks @@ -11794,7 +11794,7 @@ _08131C20: ldrh r2, [r6, 0xA] adds r0, r2 strh r0, [r6, 0xA] - ldr r0, _08131C70 @ =gBattleAnimPlayerMonIndex + ldr r0, _08131C70 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11817,7 +11817,7 @@ _08131C20: b _08131C8E .align 2, 0 _08131C6C: .4byte gTasks -_08131C70: .4byte gBattleAnimPlayerMonIndex +_08131C70: .4byte gBattleAnimBankAttacker _08131C74: .4byte gSprites _08131C78: ldr r2, _08131CDC @ =gSprites @@ -11851,7 +11851,7 @@ _08131C8E: ldrsh r0, [r6, r1] cmp r0, 0 bne _08131D0E - ldr r0, _08131CE4 @ =gBattleAnimPlayerMonIndex + ldr r0, _08131CE4 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11859,7 +11859,7 @@ _08131C8E: bne _08131CEC lsls r4, r5, 16 asrs r4, 16 - ldr r0, _08131CE8 @ =gBattleAnimEnemyMonIndex + ldr r0, _08131CE8 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0 bl sub_8077ABC @@ -11871,12 +11871,12 @@ _08131C8E: .align 2, 0 _08131CDC: .4byte gSprites _08131CE0: .4byte gTasks -_08131CE4: .4byte gBattleAnimPlayerMonIndex -_08131CE8: .4byte gBattleAnimEnemyMonIndex +_08131CE4: .4byte gBattleAnimBankAttacker +_08131CE8: .4byte gBattleAnimBankTarget _08131CEC: lsls r4, r5, 16 asrs r4, 16 - ldr r0, _08131D30 @ =gBattleAnimEnemyMonIndex + ldr r0, _08131D30 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0 bl sub_8077ABC @@ -11911,13 +11911,13 @@ _08131D20: strh r0, [r1, 0xA] b _08131DB6 .align 2, 0 -_08131D30: .4byte gBattleAnimEnemyMonIndex +_08131D30: .4byte gBattleAnimBankTarget _08131D34: .4byte gBattleAnimArgs _08131D38: .4byte 0x0000ffff _08131D3C: .4byte gTasks _08131D40: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, _08131D8C @ =gTasks @@ -11935,7 +11935,7 @@ _08131D40: ldr r5, _08131D90 @ =gSprites adds r0, r5 bl sub_807A0F4 - ldr r0, _08131D94 @ =gBattleAnimPlayerMonIndex + ldr r0, _08131D94 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -11954,7 +11954,7 @@ _08131D40: .align 2, 0 _08131D8C: .4byte gTasks _08131D90: .4byte gSprites -_08131D94: .4byte gBattleAnimPlayerMonIndex +_08131D94: .4byte gBattleAnimBankAttacker _08131D98: lsls r0, r7, 4 adds r0, r7 @@ -11981,7 +11981,7 @@ _08131DB6: _08131DC0: .4byte gTasks _08131DC4: movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, _08131E38 @ =gTasks @@ -11996,7 +11996,7 @@ _08131DC4: ldrh r3, [r2, 0xA] adds r0, r3 strh r0, [r2, 0xA] - ldr r0, _08131E3C @ =gBattleAnimPlayerMonIndex + ldr r0, _08131E3C @ =gBattleAnimBankAttacker mov r10, r0 ldrb r0, [r0] str r2, [sp, 0x10] @@ -12036,7 +12036,7 @@ _08131DC4: b _08131E7C .align 2, 0 _08131E38: .4byte gTasks -_08131E3C: .4byte gBattleAnimPlayerMonIndex +_08131E3C: .4byte gBattleAnimBankAttacker _08131E40: .4byte gSprites _08131E44: ldr r1, _08131EB0 @ =gSprites @@ -12124,7 +12124,7 @@ _08131ECA: asrs r1, 24 movs r0, 0x7A bl PlaySE12WithPanning - ldr r0, _08131F54 @ =gBattleAnimEnemyMonIndex + ldr r0, _08131F54 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0x1 bl sub_8077ABC @@ -12144,19 +12144,19 @@ _08131ECA: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, _08131F5C @ =gBattleAnimPlayerMonIndex + ldr r0, _08131F5C @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08131FF4 - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _08131FF4 movs r0, 0x1 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId ldr r2, _08131F60 @ =gSprites lsls r0, 24 lsrs r0, 24 @@ -12173,9 +12173,9 @@ _08131ECA: b _08131FF4 .align 2, 0 _08131F50: .4byte gBattleAnimArgs -_08131F54: .4byte gBattleAnimEnemyMonIndex +_08131F54: .4byte gBattleAnimBankTarget _08131F58: .4byte 0x0000ffe0 -_08131F5C: .4byte gBattleAnimPlayerMonIndex +_08131F5C: .4byte gBattleAnimBankAttacker _08131F60: .4byte gSprites _08131F64: adds r0, r4, 0 @@ -12218,7 +12218,7 @@ _08131FA6: ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] - ldr r0, _08131FD0 @ =gBattleAnimPlayerMonIndex + ldr r0, _08131FD0 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -12233,7 +12233,7 @@ _08131FA6: adds r1, r2, 0 b _08131FE0 .align 2, 0 -_08131FD0: .4byte gBattleAnimPlayerMonIndex +_08131FD0: .4byte gBattleAnimBankAttacker _08131FD4: ldrh r1, [r4, 0x32] lsls r0, r1, 16 @@ -12290,14 +12290,14 @@ _0813202C: .4byte _08132104 .4byte _0813216A _08132040: - ldr r0, _08132084 @ =gBattleAnimPlayerMonIndex + ldr r0, _08132084 @ =gBattleAnimBankAttacker ldrb r0, [r0] movs r1, 0 bl sub_8077ABC lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r0, _08132088 @ =gBattleAnimEnemyMonIndex + ldr r0, _08132088 @ =gBattleAnimBankTarget ldrb r0, [r0] movs r1, 0 bl sub_8077ABC @@ -12323,12 +12323,12 @@ _08132076: strh r0, [r1, 0x26] b _08132188 .align 2, 0 -_08132084: .4byte gBattleAnimPlayerMonIndex -_08132088: .4byte gBattleAnimEnemyMonIndex +_08132084: .4byte gBattleAnimBankAttacker +_08132088: .4byte gBattleAnimBankTarget _0813208C: .4byte gTasks _08132090: ldr r1, _081320CC @ =gObjectBankIDs - ldr r0, _081320D0 @ =gBattleAnimPlayerMonIndex + ldr r0, _081320D0 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -12359,7 +12359,7 @@ _08132090: b _0813215E .align 2, 0 _081320CC: .4byte gObjectBankIDs -_081320D0: .4byte gBattleAnimPlayerMonIndex +_081320D0: .4byte gBattleAnimBankAttacker _081320D4: .4byte gSprites _081320D8: movs r3, 0x20 @@ -12387,7 +12387,7 @@ _081320EC: b _08132188 _08132104: ldr r1, _08132144 @ =gObjectBankIDs - ldr r0, _08132148 @ =gBattleAnimPlayerMonIndex + ldr r0, _08132148 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -12420,7 +12420,7 @@ _08132104: b _08132162 .align 2, 0 _08132144: .4byte gObjectBankIDs -_08132148: .4byte gBattleAnimPlayerMonIndex +_08132148: .4byte gBattleAnimBankAttacker _0813214C: .4byte gSprites _08132150: movs r3, 0x20 @@ -12440,7 +12440,7 @@ _08132162: b _08132188 _0813216A: ldr r1, _08132190 @ =gObjectBankIDs - ldr r0, _08132194 @ =gBattleAnimPlayerMonIndex + ldr r0, _08132194 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -12459,7 +12459,7 @@ _08132188: bx r0 .align 2, 0 _08132190: .4byte gObjectBankIDs -_08132194: .4byte gBattleAnimPlayerMonIndex +_08132194: .4byte gBattleAnimBankAttacker _08132198: .4byte gSprites thumb_func_end sub_8131FFC @@ -12474,12 +12474,12 @@ sub_813219C: @ 813219C ldr r0, _08132204 @ =gTasks adds r4, r1, r0 movs r0, 0 - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0xE] - ldr r0, _08132208 @ =gBattleAnimPlayerMonIndex + ldr r0, _08132208 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -12518,7 +12518,7 @@ _081321D0: bx r0 .align 2, 0 _08132204: .4byte gTasks -_08132208: .4byte gBattleAnimPlayerMonIndex +_08132208: .4byte gBattleAnimBankAttacker _0813220C: .4byte gSprites _08132210: .4byte sub_8132214 thumb_func_end sub_813219C @@ -12662,7 +12662,7 @@ _08132312: sub_8132318: @ 8132318 push {r4,lr} adds r4, r0, 0 - ldr r0, _0813236C @ =gBattleAnimEnemyMonIndex + ldr r0, _0813236C @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -12699,14 +12699,14 @@ _0813235E: pop {r0} bx r0 .align 2, 0 -_0813236C: .4byte gBattleAnimEnemyMonIndex +_0813236C: .4byte gBattleAnimBankTarget thumb_func_end sub_8132318 thumb_func_start sub_8132370 sub_8132370: @ 8132370 push {r4,lr} adds r4, r0, 0 - ldr r0, _081323A8 @ =gBattleAnimEnemyMonIndex + ldr r0, _081323A8 @ =gBattleAnimBankTarget ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -12730,7 +12730,7 @@ sub_8132370: @ 8132370 bl StartSpriteAffineAnim b _081323CE .align 2, 0 -_081323A8: .4byte gBattleAnimEnemyMonIndex +_081323A8: .4byte gBattleAnimBankTarget _081323AC: .4byte gBattleAnimArgs _081323B0: .4byte 0x0000fff5 _081323B4: @@ -12762,7 +12762,7 @@ _081323DC: .4byte sub_8132318 sub_81323E0: @ 81323E0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _08132424 @ =gBattleAnimPlayerMonIndex + ldr r4, _08132424 @ =gBattleAnimBankAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_8077ABC @@ -12793,7 +12793,7 @@ _0813240A: pop {r0} bx r0 .align 2, 0 -_08132424: .4byte gBattleAnimPlayerMonIndex +_08132424: .4byte gBattleAnimBankAttacker _08132428: .4byte sub_8132430 _0813242C: .4byte REG_BLDALPHA thumb_func_end sub_81323E0 @@ -12997,7 +12997,7 @@ sub_813257C: @ 813257C strh r0, [r4, 0x8] ldr r0, _081325B8 @ =gBattleAnimArgs ldrb r0, [r0] - bl obj_id_for_side_relative_to_move + bl GetAnimBankSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s index a5ab2fb83..6fa77321f 100644 --- a/asm/battle_anim_813F0F4.s +++ b/asm/battle_anim_813F0F4.s @@ -17,7 +17,7 @@ unref_sub_813F0F4: @ 813F0F4 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x10] - ldr r0, _0813F2AC @ =gBattleAnimPlayerMonIndex + ldr r0, _0813F2AC @ =gBattleAnimBankAttacker ldrb r3, [r0] ldr r0, _0813F2B0 @ =gUnknown_030042C4 movs r1, 0 @@ -220,7 +220,7 @@ unref_sub_813F0F4: @ 813F0F4 pop {r0} bx r0 .align 2, 0 -_0813F2AC: .4byte gBattleAnimPlayerMonIndex +_0813F2AC: .4byte gBattleAnimBankAttacker _0813F2B0: .4byte gUnknown_030042C4 _0813F2B4: .4byte gUnknown_03004240 _0813F2B8: .4byte REG_WININ @@ -252,7 +252,7 @@ sub_813F300: @ 813F300 sub sp, 0x10 lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _0813F34C @ =gBattleAnimPlayerMonIndex + ldr r0, _0813F34C @ =gBattleAnimBankAttacker ldrb r0, [r0] mov r9, r0 ldr r1, _0813F350 @ =gTasks @@ -284,7 +284,7 @@ sub_813F300: @ 813F300 beq _0813F35E b _0813F4B2 .align 2, 0 -_0813F34C: .4byte gBattleAnimPlayerMonIndex +_0813F34C: .4byte gBattleAnimBankAttacker _0813F350: .4byte gTasks _0813F354: .4byte gUnknown_030041B4 _0813F358: @@ -368,7 +368,7 @@ _0813F3AC: strh r1, [r0] adds r0, 0x2 strh r1, [r0] - bl IsContest + bl NotInBattle lsls r0, 24 cmp r0, 0 bne _0813F406 @@ -495,7 +495,7 @@ sub_813F4EC: @ 813F4EC lsrs r0, 24 str r0, [sp] ldr r1, _0813F5D0 @ =gHealthboxIDs - ldr r0, _0813F5D4 @ =gBattleAnimPlayerMonIndex + ldr r0, _0813F5D4 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -595,7 +595,7 @@ sub_813F4EC: @ 813F4EC bx r0 .align 2, 0 _0813F5D0: .4byte gHealthboxIDs -_0813F5D4: .4byte gBattleAnimPlayerMonIndex +_0813F5D4: .4byte gBattleAnimBankAttacker _0813F5D8: .4byte gSprites _0813F5DC: .4byte 0x0000d709 _0813F5E0: .4byte 0x0000d70a @@ -614,7 +614,7 @@ sub_813F5E8: @ 813F5E8 lsrs r0, 24 mov r8, r0 ldr r1, _0813F684 @ =gHealthboxIDs - ldr r0, _0813F688 @ =gBattleAnimPlayerMonIndex + ldr r0, _0813F688 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -678,7 +678,7 @@ sub_813F5E8: @ 813F5E8 bx r0 .align 2, 0 _0813F684: .4byte gHealthboxIDs -_0813F688: .4byte gBattleAnimPlayerMonIndex +_0813F688: .4byte gBattleAnimBankAttacker _0813F68C: .4byte gSprites _0813F690: .4byte 0x0000d709 _0813F694: .4byte 0x0000d70a @@ -820,7 +820,7 @@ sub_813F798: @ 813F798 lsls r0, 24 lsrs r6, r0, 24 ldr r1, _0813F7C4 @ =gObjectBankIDs - ldr r0, _0813F7C8 @ =gBattleAnimPlayerMonIndex + ldr r0, _0813F7C8 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r5, [r0] @@ -840,7 +840,7 @@ sub_813F798: @ 813F798 b _0813F838 .align 2, 0 _0813F7C4: .4byte gObjectBankIDs -_0813F7C8: .4byte gBattleAnimPlayerMonIndex +_0813F7C8: .4byte gBattleAnimBankAttacker _0813F7CC: .4byte gTasks _0813F7D0: cmp r0, 0x2 @@ -911,7 +911,7 @@ sub_813F844: @ 813F844 lsls r0, 24 lsrs r5, r0, 24 ldr r1, _0813F87C @ =gObjectBankIDs - ldr r4, _0813F880 @ =gBattleAnimPlayerMonIndex + ldr r4, _0813F880 @ =gBattleAnimBankAttacker ldrb r0, [r4] adds r1, r0, r1 ldrb r1, [r1] @@ -931,7 +931,7 @@ sub_813F844: @ 813F844 b _0813F89C .align 2, 0 _0813F87C: .4byte gObjectBankIDs -_0813F880: .4byte gBattleAnimPlayerMonIndex +_0813F880: .4byte gBattleAnimBankAttacker _0813F884: .4byte gBattlePartyID _0813F888: .4byte gPlayerParty _0813F88C: @@ -970,7 +970,7 @@ _0813F8CC: .4byte gBattlePartyID _0813F8D0: .4byte gEnemyParty _0813F8D4: .4byte gTasks _0813F8D8: - ldr r5, _0813F950 @ =gBattleAnimPlayerMonIndex + ldr r5, _0813F950 @ =gBattleAnimBankAttacker ldrb r0, [r5] movs r1, 0 bl sub_8077ABC @@ -1025,7 +1025,7 @@ _0813F8D8: strh r0, [r6, 0x8] b _0813F982 .align 2, 0 -_0813F950: .4byte gBattleAnimPlayerMonIndex +_0813F950: .4byte gBattleAnimBankAttacker _0813F954: .4byte gSprites _0813F958: movs r1, 0x1C @@ -1235,7 +1235,7 @@ sub_813FA94: @ 813FA94 adds r6, r4, r1 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r2, _0813FB64 @ =gBattleAnimEnemyMonIndex + ldr r2, _0813FB64 @ =gBattleAnimBankTarget mov r8, r2 ldrb r0, [r2] movs r1, 0 @@ -1297,7 +1297,7 @@ sub_813FA94: @ 813FA94 _0813FB58: .4byte gLastUsedItem _0813FB5C: .4byte gBallSpriteTemplates _0813FB60: .4byte gSprites -_0813FB64: .4byte gBattleAnimEnemyMonIndex +_0813FB64: .4byte gBattleAnimBankTarget _0813FB68: .4byte sub_813FD90 _0813FB6C: .4byte 0x02017840 _0813FB70: .4byte gObjectBankIDs @@ -1397,7 +1397,7 @@ _0813FBE0: adds r6, r4, r0 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r1, _0813FCA8 @ =gBattleAnimEnemyMonIndex + ldr r1, _0813FCA8 @ =gBattleAnimBankTarget mov r8, r1 ldrb r0, [r1] movs r1, 0 @@ -1449,7 +1449,7 @@ _0813FBE0: _0813FC9C: .4byte gLastUsedItem _0813FCA0: .4byte gBallSpriteTemplates _0813FCA4: .4byte gSprites -_0813FCA8: .4byte gBattleAnimEnemyMonIndex +_0813FCA8: .4byte gBattleAnimBankTarget _0813FCAC: .4byte SpriteCallbackDummy _0813FCB0: .4byte gObjectBankIDs _0813FCB4: .4byte gTasks @@ -1652,7 +1652,7 @@ _0813FE10: movs r2, 0x1 movs r3, 0x1C bl sub_814086C - ldr r0, _0813FE6C @ =gBattleAnimEnemyMonIndex + ldr r0, _0813FE6C @ =gBattleAnimBankTarget ldrb r1, [r0] movs r0, 0 movs r2, 0xE @@ -1666,7 +1666,7 @@ _0813FE5A: .align 2, 0 _0813FE64: .4byte sub_813FE70 _0813FE68: .4byte gLastUsedItem -_0813FE6C: .4byte gBattleAnimEnemyMonIndex +_0813FE6C: .4byte gBattleAnimBankTarget thumb_func_end sub_813FDC0 thumb_func_start sub_813FE70 @@ -1690,7 +1690,7 @@ sub_813FE70: @ 813FE70 str r0, [r4, 0x1C] ldr r2, _0813FEBC @ =gSprites ldr r1, _0813FEC0 @ =gObjectBankIDs - ldr r0, _0813FEC4 @ =gBattleAnimEnemyMonIndex + ldr r0, _0813FEC4 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -1709,7 +1709,7 @@ _0813FEB4: .4byte TaskDummy _0813FEB8: .4byte sub_813FEC8 _0813FEBC: .4byte gSprites _0813FEC0: .4byte gObjectBankIDs -_0813FEC4: .4byte gBattleAnimEnemyMonIndex +_0813FEC4: .4byte gBattleAnimBankTarget thumb_func_end sub_813FE70 thumb_func_start sub_813FEC8 @@ -1717,7 +1717,7 @@ sub_813FEC8: @ 813FEC8 push {r4-r7,lr} adds r7, r0, 0 ldr r1, _0813FF0C @ =gObjectBankIDs - ldr r0, _0813FF10 @ =gBattleAnimEnemyMonIndex + ldr r0, _0813FF10 @ =gBattleAnimBankTarget ldrb r0, [r0] adds r0, r1 ldrb r4, [r0] @@ -1750,7 +1750,7 @@ _0813FEFA: b _0813FFDC .align 2, 0 _0813FF0C: .4byte gObjectBankIDs -_0813FF10: .4byte gBattleAnimEnemyMonIndex +_0813FF10: .4byte gBattleAnimBankTarget _0813FF14: .4byte gTasks _0813FF18: cmp r0, 0x2 @@ -2451,7 +2451,7 @@ _08140450: .4byte sub_8140454 sub_8140454: @ 8140454 push {r4-r7,lr} adds r6, r0, 0 - ldr r7, _08140484 @ =gBattleAnimEnemyMonIndex + ldr r7, _08140484 @ =gBattleAnimBankTarget ldrh r0, [r6, 0x36] adds r0, 0x1 strh r0, [r6, 0x36] @@ -2471,7 +2471,7 @@ sub_8140454: @ 8140454 bl PlaySE b _081404CC .align 2, 0 -_08140484: .4byte gBattleAnimEnemyMonIndex +_08140484: .4byte gBattleAnimBankTarget _08140488: .4byte gDoingBattleAnim _0814048C: .4byte 0x00000173 _08140490: @@ -2690,7 +2690,7 @@ sub_81405F4: @ 81405F4 movs r2, 0x1 movs r3, 0x1C bl sub_814086C - ldr r0, _081406B0 @ =gBattleAnimEnemyMonIndex + ldr r0, _081406B0 @ =gBattleAnimBankTarget ldrb r1, [r0] movs r0, 0x1 movs r2, 0xE @@ -2699,7 +2699,7 @@ sub_81405F4: @ 81405F4 _08140646: ldr r6, _081406B4 @ =gSprites ldr r5, _081406B8 @ =gObjectBankIDs - ldr r4, _081406B0 @ =gBattleAnimEnemyMonIndex + ldr r4, _081406B0 @ =gBattleAnimBankTarget ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -2747,7 +2747,7 @@ _08140646: .align 2, 0 _081406A8: .4byte sub_81406BC _081406AC: .4byte gLastUsedItem -_081406B0: .4byte gBattleAnimEnemyMonIndex +_081406B0: .4byte gBattleAnimBankTarget _081406B4: .4byte gSprites _081406B8: .4byte gObjectBankIDs thumb_func_end sub_81405F4 @@ -2772,7 +2772,7 @@ sub_81406BC: @ 81406BC _081406DA: ldr r4, _08140708 @ =gSprites ldr r3, _0814070C @ =gObjectBankIDs - ldr r2, _08140710 @ =gBattleAnimEnemyMonIndex + ldr r2, _08140710 @ =gBattleAnimBankTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -2794,7 +2794,7 @@ _081406DA: .align 2, 0 _08140708: .4byte gSprites _0814070C: .4byte gObjectBankIDs -_08140710: .4byte gBattleAnimEnemyMonIndex +_08140710: .4byte gBattleAnimBankTarget _08140714: ldr r6, _0814079C @ =0xfffffee0 adds r0, r6, 0 @@ -2824,7 +2824,7 @@ _08140734: beq _08140796 ldr r4, _081407A0 @ =gSprites ldr r3, _081407A4 @ =gObjectBankIDs - ldr r2, _081407A8 @ =gBattleAnimEnemyMonIndex + ldr r2, _081407A8 @ =gBattleAnimBankTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -2869,7 +2869,7 @@ _08140796: _0814079C: .4byte 0xfffffee0 _081407A0: .4byte gSprites _081407A4: .4byte gObjectBankIDs -_081407A8: .4byte gBattleAnimEnemyMonIndex +_081407A8: .4byte gBattleAnimBankTarget _081407AC: .4byte 0x02017840 _081407B0: .4byte sub_81405C8 _081407B4: .4byte gDoingBattleAnim @@ -4583,7 +4583,7 @@ sub_814151C: @ 814151C movs r0, 0 mov r8, r0 ldr r0, _08141550 @ =gObjectBankIDs - ldr r3, _08141554 @ =gBattleAnimPlayerMonIndex + ldr r3, _08141554 @ =gBattleAnimBankAttacker ldrb r2, [r3] adds r0, r2, r0 ldrb r6, [r0] @@ -4603,7 +4603,7 @@ sub_814151C: @ 814151C b _081416B6 .align 2, 0 _08141550: .4byte gObjectBankIDs -_08141554: .4byte gBattleAnimPlayerMonIndex +_08141554: .4byte gBattleAnimBankAttacker _08141558: .4byte gTasks _0814155C: cmp r0, 0x2 @@ -4738,7 +4738,7 @@ _08141654: adds r0, r1 ldrb r1, [r0, 0x8] strh r1, [r0, 0x8] - ldr r0, _08141690 @ =gBattleAnimPlayerMonIndex + ldr r0, _08141690 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankSide lsls r0, 24 @@ -4759,7 +4759,7 @@ _08141654: .align 2, 0 _08141688: .4byte gSprites _0814168C: .4byte gTasks -_08141690: .4byte gBattleAnimPlayerMonIndex +_08141690: .4byte gBattleAnimBankAttacker _08141694: ldr r0, _081416C0 @ =gSprites adds r1, r4, r6 @@ -4816,7 +4816,7 @@ _081416EC: beq _0814177C b _081417B8 _081416F2: - ldr r0, _08141708 @ =gBattleAnimPlayerMonIndex + ldr r0, _08141708 @ =gBattleAnimBankAttacker ldrb r0, [r0] bl GetBankIdentity_permutated lsls r0, 24 @@ -4827,7 +4827,7 @@ _081416F2: ldr r2, _08141710 @ =0x00003f42 b _08141718 .align 2, 0 -_08141708: .4byte gBattleAnimPlayerMonIndex +_08141708: .4byte gBattleAnimBankAttacker _0814170C: .4byte REG_BLDCNT _08141710: .4byte 0x00003f42 _08141714: @@ -4884,7 +4884,7 @@ _08141744: _08141778: .4byte REG_BLDALPHA _0814177C: ldr r1, _081417C0 @ =gObjectBankIDs - ldr r3, _081417C4 @ =gBattleAnimPlayerMonIndex + ldr r3, _081417C4 @ =gBattleAnimBankAttacker ldrb r0, [r3] adds r0, r1 ldrb r1, [r0] @@ -4918,7 +4918,7 @@ _081417B8: bx r0 .align 2, 0 _081417C0: .4byte gObjectBankIDs -_081417C4: .4byte gBattleAnimPlayerMonIndex +_081417C4: .4byte gBattleAnimBankAttacker _081417C8: .4byte gSprites _081417CC: .4byte 0x06010000 _081417D0: .4byte 0x040000d4 @@ -4931,7 +4931,7 @@ sub_81417D8: @ 81417D8 lsls r0, 24 lsrs r0, 24 ldr r3, _081417FC @ =gBattleAnimArgs - ldr r1, _08141800 @ =gBattleAnimPlayerMonIndex + ldr r1, _08141800 @ =gBattleAnimBankAttacker ldrb r1, [r1] lsls r1, 2 ldr r2, _08141804 @ =0x02017800 @@ -4945,7 +4945,7 @@ sub_81417D8: @ 81417D8 bx r0 .align 2, 0 _081417FC: .4byte gBattleAnimArgs -_08141800: .4byte gBattleAnimPlayerMonIndex +_08141800: .4byte gBattleAnimBankAttacker _08141804: .4byte 0x02017800 thumb_func_end sub_81417D8 @@ -4954,7 +4954,7 @@ sub_8141808: @ 8141808 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _08141820 @ =gBattleAnimEnemyMonIndex + ldr r2, _08141820 @ =gBattleAnimBankTarget ldr r1, _08141824 @ =gEffectBank ldrb r1, [r1] strb r1, [r2] @@ -4962,7 +4962,7 @@ sub_8141808: @ 8141808 pop {r0} bx r0 .align 2, 0 -_08141820: .4byte gBattleAnimEnemyMonIndex +_08141820: .4byte gBattleAnimBankTarget _08141824: .4byte gEffectBank thumb_func_end sub_8141808 @@ -4994,7 +4994,7 @@ sub_8141828: @ 8141828 bl GetMonData adds r4, r0, 0 adds r0, r6, 0 - bl b_side_obj__get_some_boolean + bl IsAnimBankSpriteVisible lsls r0, 24 cmp r0, 0 beq _081418FC @@ -5511,7 +5511,7 @@ sub_8141C30: @ 8141C30 adds r0, r4, 0 bl sub_80786EC ldr r1, _08141CAC @ =gObjectBankIDs - ldr r0, _08141CB0 @ =gBattleAnimPlayerMonIndex + ldr r0, _08141CB0 @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -5531,7 +5531,7 @@ sub_8141C30: @ 8141C30 _08141CA4: .4byte gBattleAnimArgs _08141CA8: .4byte 0x0000ffe0 _08141CAC: .4byte gObjectBankIDs -_08141CB0: .4byte gBattleAnimPlayerMonIndex +_08141CB0: .4byte gBattleAnimBankAttacker _08141CB4: .4byte gSprites _08141CB8: .4byte sub_8141CBC thumb_func_end sub_8141C30 @@ -5542,7 +5542,7 @@ sub_8141CBC: @ 8141CBC adds r3, r0, 0 ldr r2, _08141CE4 @ =gSprites ldr r1, _08141CE8 @ =gObjectBankIDs - ldr r0, _08141CEC @ =gBattleAnimPlayerMonIndex + ldr r0, _08141CEC @ =gBattleAnimBankAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -5562,7 +5562,7 @@ _08141CE0: .align 2, 0 _08141CE4: .4byte gSprites _08141CE8: .4byte gObjectBankIDs -_08141CEC: .4byte gBattleAnimPlayerMonIndex +_08141CEC: .4byte gBattleAnimBankAttacker _08141CF0: .4byte sub_8141CF4 thumb_func_end sub_8141CBC @@ -5598,7 +5598,7 @@ sub_8141D20: @ 8141D20 adds r4, r0, 0 ldr r5, _08141D70 @ =gSprites ldr r3, _08141D74 @ =gObjectBankIDs - ldr r2, _08141D78 @ =gBattleAnimPlayerMonIndex + ldr r2, _08141D78 @ =gBattleAnimBankAttacker ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -5635,7 +5635,7 @@ _08141D68: .align 2, 0 _08141D70: .4byte gSprites _08141D74: .4byte gObjectBankIDs -_08141D78: .4byte gBattleAnimPlayerMonIndex +_08141D78: .4byte gBattleAnimBankAttacker thumb_func_end sub_8141D20 thumb_func_start sub_8141D7C @@ -5646,11 +5646,11 @@ sub_8141D7C: @ 8141D7C lsrs r4, 24 movs r0, 0 bl GetBankByPlayerAI - ldr r1, _08141DA4 @ =gBattleAnimPlayerMonIndex + ldr r1, _08141DA4 @ =gBattleAnimBankAttacker strb r0, [r1] movs r0, 0x1 bl GetBankByPlayerAI - ldr r1, _08141DA8 @ =gBattleAnimEnemyMonIndex + ldr r1, _08141DA8 @ =gBattleAnimBankTarget strb r0, [r1] adds r0, r4, 0 bl DestroyAnimVisualTask @@ -5658,8 +5658,8 @@ sub_8141D7C: @ 8141D7C pop {r0} bx r0 .align 2, 0 -_08141DA4: .4byte gBattleAnimPlayerMonIndex -_08141DA8: .4byte gBattleAnimEnemyMonIndex +_08141DA4: .4byte gBattleAnimBankAttacker +_08141DA8: .4byte gBattleAnimBankTarget thumb_func_end sub_8141D7C thumb_func_start sub_8141DAC @@ -5721,20 +5721,20 @@ sub_8141E10: @ 8141E10 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _08141E2C @ =gBattleAnimPlayerMonIndex + ldr r2, _08141E2C @ =gBattleAnimBankAttacker ldr r1, _08141E30 @ =0x02017840 ldrh r1, [r1] strb r1, [r2] - ldr r2, _08141E34 @ =gBattleAnimEnemyMonIndex + ldr r2, _08141E34 @ =gBattleAnimBankTarget lsrs r1, 8 strb r1, [r2] bl DestroyAnimVisualTask pop {r0} bx r0 .align 2, 0 -_08141E2C: .4byte gBattleAnimPlayerMonIndex +_08141E2C: .4byte gBattleAnimBankAttacker _08141E30: .4byte 0x02017840 -_08141E34: .4byte gBattleAnimEnemyMonIndex +_08141E34: .4byte gBattleAnimBankTarget thumb_func_end sub_8141E10 .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_tower.s b/asm/battle_tower.s deleted file mode 100644 index 65fbd0c05..000000000 --- a/asm/battle_tower.s +++ /dev/null @@ -1,3663 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8134548 -sub_8134548: @ 8134548 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_0813454E: - ldr r0, _08134568 @ =gSaveBlock2 - ldr r1, _0813456C @ =0x00000556 - adds r0, r1 - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0x6 - bhi _08134590 - lsls r0, 2 - ldr r1, _08134570 @ =_08134574 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08134568: .4byte gSaveBlock2 -_0813456C: .4byte 0x00000556 -_08134570: .4byte _08134574 - .align 2, 0 -_08134574: - .4byte _08134590 - .4byte _081345A8 - .4byte _081345C8 - .4byte _081345D8 - .4byte _081345B8 - .4byte _081345C0 - .4byte _081345D8 -_08134590: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813461C - cmp r4, 0 - bne _081345D8 - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x5 - bl VarSet - b _081345D8 -_081345A8: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813461C - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x1 - b _081345CE -_081345B8: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x2 - b _081345CE -_081345C0: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x3 - b _081345CE -_081345C8: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x4 -_081345CE: - bl VarSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081345D8: - adds r5, 0x1 - cmp r5, 0x1 - ble _0813454E - ldr r1, _08134610 @ =gSaveBlock2 - ldr r2, _08134614 @ =0x00000556 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x3 - beq _081345EE - cmp r0, 0x6 - bne _08134606 -_081345EE: - ldr r2, _08134618 @ =0x00000557 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x3 - beq _081345FC - cmp r0, 0x6 - bne _08134606 -_081345FC: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0x5 - bl VarSet -_08134606: - bl sub_8135C44 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08134610: .4byte gSaveBlock2 -_08134614: .4byte 0x00000556 -_08134618: .4byte 0x00000557 - thumb_func_end sub_8134548 - - thumb_func_start sub_813461C -sub_813461C: @ 813461C - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08134644 @ =gSaveBlock2 - ldr r2, _08134648 @ =0x00000556 - adds r1, r3, r2 - adds r1, r0, r1 - movs r2, 0 - strb r2, [r1] - lsls r0, 1 - movs r2, 0xAB - lsls r2, 3 - adds r1, r3, r2 - adds r1, r0, r1 - movs r2, 0x1 - strh r2, [r1] - ldr r1, _0813464C @ =0x0000055c - adds r3, r1 - adds r0, r3 - strh r2, [r0] - bx lr - .align 2, 0 -_08134644: .4byte gSaveBlock2 -_08134648: .4byte 0x00000556 -_0813464C: .4byte 0x0000055c - thumb_func_end sub_813461C - - thumb_func_start sub_8134650 -sub_8134650: @ 8134650 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - add r4, sp, 0x28 - movs r0, 0 - strb r0, [r4] - bl sub_813601C - ldr r0, _08134684 @ =gScriptResult - ldrh r0, [r0] - adds r7, r4, 0 - cmp r0, 0 - bne _08134680 - ldr r1, _08134688 @ =gSaveBlock2 - ldr r2, _0813468C @ =0x0000049a - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, r6 - beq _08134690 -_08134680: - movs r0, 0 - b _081346E2 - .align 2, 0 -_08134684: .4byte gScriptResult -_08134688: .4byte gSaveBlock2 -_0813468C: .4byte 0x0000049a -_08134690: - movs r6, 0x32 - cmp r5, 0 - beq _08134698 - movs r6, 0x64 -_08134698: - movs r4, 0 - mov r8, r1 -_0813469C: - movs r0, 0x2C - muls r0, r4 - mov r3, r8 - adds r1, r0, r3 - movs r2, 0x9B - lsls r2, 3 - adds r0, r1, r2 - ldrb r2, [r0] - cmp r2, r6 - bne _08134680 - ldr r3, _081346F0 @ =0x000004cc - adds r0, r1, r3 - ldrh r0, [r0] - adds r3, 0x2 - adds r1, r3 - ldrh r1, [r1] - str r2, [sp] - add r2, sp, 0x10 - str r2, [sp, 0x4] - add r2, sp, 0x1C - str r2, [sp, 0x8] - str r7, [sp, 0xC] - movs r2, 0x1 - adds r3, r5, 0 - bl CheckMonBattleTowerBanlist - adds r4, 0x1 - cmp r4, 0x2 - ble _0813469C - movs r1, 0 - ldrb r0, [r7] - cmp r0, 0x3 - bne _081346E0 - movs r1, 0x1 -_081346E0: - adds r0, r1, 0 -_081346E2: - add sp, 0x2C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081346F0: .4byte 0x000004cc - thumb_func_end sub_8134650 - - thumb_func_start sub_81346F4 -sub_81346F4: @ 81346F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - movs r0, 0 - mov r9, r0 - ldr r4, _08134738 @ =gSaveBlock2 - ldr r1, _0813473C @ =0x00000554 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r7, r0, 31 - adds r0, r7, 0 - bl sub_8135D3C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r7, 0 - mov r1, r8 - bl sub_8134650 - lsls r0, 24 - adds r1, r4, 0 - cmp r0, 0 - beq _08134744 - ldr r2, _08134740 @ =0x00000564 - adds r1, r2 - movs r0, 0xC8 - strb r0, [r1] - b _081347DE - .align 2, 0 -_08134738: .4byte gSaveBlock2 -_0813473C: .4byte 0x00000554 -_08134740: .4byte 0x00000564 -_08134744: - movs r5, 0 - movs r3, 0xA4 - mov r12, r3 - mov r10, sp -_0813474C: - mov r0, r12 - muls r0, r5 - movs r4, 0 - movs r1, 0 - movs r2, 0 - adds r6, r5, 0x1 - str r6, [sp, 0x14] - ldr r6, _081347B4 @ =gSaveBlock2 + 0x14C - adds r3, r0, r6 -_0813475E: - ldm r3!, {r0} - orrs r4, r0 - adds r1, r0 - adds r2, 0x1 - cmp r2, 0x27 - bls _0813475E - mov r3, r12 - muls r3, r5 - ldr r0, _081347B8 @ =gSaveBlock2 - adds r2, r3, r0 - movs r6, 0xA7 - lsls r6, 1 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, r8 - bne _081347A4 - subs r6, 0x2 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, r7 - bne _081347A4 - cmp r4, 0 - beq _081347A4 - ldr r2, _081347BC @ =gSaveBlock2 + 0x1EC - adds r0, r3, r2 - ldr r0, [r0] - cmp r0, r1 - bne _081347A4 - mov r3, r10 - adds r3, 0x4 - mov r10, r3 - subs r3, 0x4 - stm r3!, {r5} - movs r6, 0x1 - add r9, r6 -_081347A4: - ldr r5, [sp, 0x14] - cmp r5, 0x4 - ble _0813474C - mov r0, r9 - cmp r0, 0 - bne _081347C0 - movs r0, 0 - b _081347E0 - .align 2, 0 -_081347B4: .4byte gSaveBlock2 + 0x14C -_081347B8: .4byte gSaveBlock2 -_081347BC: .4byte gSaveBlock2 + 0x1EC -_081347C0: - bl Random - ldr r4, _081347F0 @ =gSaveBlock2 - lsls r0, 16 - lsrs r0, 16 - mov r1, r9 - bl __modsi3 - lsls r0, 2 - add r0, sp - ldr r0, [r0] - adds r0, 0x64 - ldr r1, _081347F4 @ =0x00000564 - adds r4, r1 - strb r0, [r4] -_081347DE: - movs r0, 0x1 -_081347E0: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081347F0: .4byte gSaveBlock2 -_081347F4: .4byte 0x00000564 - thumb_func_end sub_81346F4 - - thumb_func_start sub_81347F8 -sub_81347F8: @ 81347F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r5, _08134838 @ =gSaveBlock2 - ldr r1, _0813483C @ =0x00000554 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r6, r0, 31 - bl sub_81346F4 - lsls r0, 24 - cmp r0, 0 - beq _08134848 - ldr r2, _08134840 @ =0x00000564 - adds r4, r5, r2 - ldrb r0, [r4] - bl sub_81349FC - lsls r0, r6, 1 - movs r3, 0xAB - lsls r3, 3 - adds r1, r5, r3 - adds r0, r1 - ldrh r0, [r0] - adds r0, r5, r0 - ldr r1, _08134844 @ =0x00000569 - adds r0, r1 - ldrb r1, [r4] - b _081349DC - .align 2, 0 -_08134838: .4byte gSaveBlock2 -_0813483C: .4byte 0x00000554 -_08134840: .4byte 0x00000564 -_08134844: .4byte 0x00000569 -_08134848: - lsls r0, r6, 1 - ldr r2, _081348D8 @ =0x0000055c - adds r1, r5, r2 - adds r1, r0, r1 - ldrh r1, [r1] - adds r7, r0, 0 - cmp r1, 0x7 - bls _0813485A - b _0813495C -_0813485A: - movs r3, 0xAB - lsls r3, 3 - adds r0, r5, r3 - adds r1, r7, r0 - ldrh r0, [r1] - cmp r0, 0x7 - bne _081348E4 - adds r6, r5, 0 - mov r9, r7 - adds r5, r1, 0 - ldr r0, _081348DC @ =0x0000056a - adds r0, r6 - mov r10, r0 - mov r8, r5 -_08134876: - bl Random - movs r1, 0xFF - ands r1, r0 - lsls r2, r1, 2 - adds r2, r1 - ldr r1, _081348D8 @ =0x0000055c - adds r4, r6, r1 - mov r3, r9 - adds r0, r3, r4 - ldrh r1, [r0] - subs r1, 0x1 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x14 - lsrs r2, 7 - adds r2, r0 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0 - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bge _081348C8 - mov r3, r10 - ldrb r0, [r3] - cmp r0, r2 - beq _081348C8 - subs r0, r4, 0x4 - adds r0, r7, r0 - ldrh r0, [r0] - subs r3, r0, 0x1 - adds r4, 0xE -_081348BA: - adds r1, 0x1 - cmp r1, r3 - bge _081348C8 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r2 - bne _081348BA -_081348C8: - mov r3, r8 - ldrh r0, [r3] - subs r0, 0x1 - ldr r4, _081348E0 @ =gSaveBlock2 - cmp r1, r0 - bne _08134876 - b _081349B6 - .align 2, 0 -_081348D8: .4byte 0x0000055c -_081348DC: .4byte 0x0000056a -_081348E0: .4byte gSaveBlock2 -_081348E4: - adds r6, r5, 0 - mov r9, r7 - adds r5, r1, 0 - ldr r2, _08134950 @ =0x0000056a - adds r2, r6 - mov r10, r2 - mov r8, r5 -_081348F2: - bl Random - movs r1, 0xFF - ands r1, r0 - lsls r0, r1, 2 - adds r0, r1 - lsrs r2, r0, 6 - ldr r3, _08134954 @ =0x0000055c - adds r4, r6, r3 - mov r1, r9 - adds r0, r1, r4 - ldrh r1, [r0] - subs r1, 0x1 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r2, r0 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldrh r0, [r5] - subs r0, 0x1 - cmp r1, r0 - bge _08134942 - mov r3, r10 - ldrb r0, [r3] - cmp r0, r2 - beq _08134942 - subs r0, r4, 0x4 - adds r0, r7, r0 - ldrh r0, [r0] - subs r3, r0, 0x1 - adds r4, 0xE -_08134934: - adds r1, 0x1 - cmp r1, r3 - bge _08134942 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r2 - bne _08134934 -_08134942: - mov r3, r8 - ldrh r0, [r3] - subs r0, 0x1 - ldr r4, _08134958 @ =gSaveBlock2 - cmp r1, r0 - bne _081348F2 - b _081349B6 - .align 2, 0 -_08134950: .4byte 0x0000056a -_08134954: .4byte 0x0000055c -_08134958: .4byte gSaveBlock2 -_0813495C: - movs r2, 0xAB - lsls r2, 3 - adds r0, r5, r2 - adds r6, r7, r0 - ldr r3, _081349EC @ =0x0000056a - adds r3, r5 - mov r8, r3 - adds r5, r6, 0 -_0813496C: - bl Random - movs r1, 0xFF - ands r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 1 - asrs r0, 8 - adds r0, 0x46 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldrh r0, [r6] - subs r0, 0x1 - cmp r1, r0 - bge _081349AC - mov r3, r8 - ldrb r0, [r3] - ldr r4, _081349F0 @ =gSaveBlock2 - cmp r0, r2 - beq _081349AC - ldrh r0, [r5] - subs r3, r0, 0x1 - ldr r0, _081349EC @ =0x0000056a - adds r4, r0 -_0813499E: - adds r1, 0x1 - cmp r1, r3 - bge _081349AC - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r2 - bne _0813499E -_081349AC: - ldrh r0, [r6] - subs r0, 0x1 - ldr r4, _081349F0 @ =gSaveBlock2 - cmp r1, r0 - bne _0813496C -_081349B6: - ldr r1, _081349F4 @ =0x00000564 - adds r0, r4, r1 - strb r2, [r0] - ldr r2, _081349F4 @ =0x00000564 - adds r5, r4, r2 - ldrb r0, [r5] - bl sub_81349FC - movs r3, 0xAB - lsls r3, 3 - adds r0, r4, r3 - adds r1, r7, r0 - ldrh r0, [r1] - cmp r0, 0x6 - bhi _081349DE - adds r0, r4, r0 - ldr r1, _081349F8 @ =0x00000569 - adds r0, r1 - ldrb r1, [r5] -_081349DC: - strb r1, [r0] -_081349DE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081349EC: .4byte 0x0000056a -_081349F0: .4byte gSaveBlock2 -_081349F4: .4byte 0x00000564 -_081349F8: .4byte 0x00000569 - thumb_func_end sub_81347F8 - - thumb_func_start sub_81349FC -sub_81349FC: @ 81349FC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, r2, 0 - cmp r2, 0x63 - bhi _08134A18 - ldr r1, _08134A14 @ =gBattleTowerTrainers - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - b _08134A38 - .align 2, 0 -_08134A14: .4byte gBattleTowerTrainers -_08134A18: - cmp r1, 0xC7 - bhi _08134A34 - ldr r2, _08134A2C @ =gSaveBlock2 - subs r1, 0x64 - movs r0, 0xA4 - muls r0, r1 - adds r0, r2 - ldr r1, _08134A30 @ =0x0000014d - b _08134A38 - .align 2, 0 -_08134A2C: .4byte gSaveBlock2 -_08134A30: .4byte 0x0000014d -_08134A34: - ldr r0, _08134A5C @ =gSaveBlock2 - ldr r1, _08134A60 @ =0x00000499 -_08134A38: - adds r0, r1 - ldrb r1, [r0] - movs r2, 0 - ldr r3, _08134A64 @ =gUnknown_08405E60 - ldrb r0, [r3] - cmp r0, r1 - beq _08134A54 -_08134A46: - adds r2, 0x1 - cmp r2, 0x1D - bhi _08134A54 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _08134A46 -_08134A54: - cmp r2, 0x1E - beq _08134A6C - ldr r0, _08134A68 @ =gUnknown_08405E92 - b _08134A8A - .align 2, 0 -_08134A5C: .4byte gSaveBlock2 -_08134A60: .4byte 0x00000499 -_08134A64: .4byte gUnknown_08405E60 -_08134A68: .4byte gUnknown_08405E92 -_08134A6C: - movs r2, 0 - ldr r3, _08134A98 @ =gUnknown_08405E7E - ldrb r0, [r3] - cmp r0, r1 - beq _08134A84 -_08134A76: - adds r2, 0x1 - cmp r2, 0x13 - bhi _08134A84 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _08134A76 -_08134A84: - cmp r2, 0x14 - beq _08134AA4 - ldr r0, _08134A9C @ =gUnknown_08405EB0 -_08134A8A: - adds r0, r2, r0 - ldrb r1, [r0] - ldr r0, _08134AA0 @ =0x00004010 - bl VarSet - b _08134AAC - .align 2, 0 -_08134A98: .4byte gUnknown_08405E7E -_08134A9C: .4byte gUnknown_08405EB0 -_08134AA0: .4byte 0x00004010 -_08134AA4: - ldr r0, _08134AB0 @ =0x00004010 - movs r1, 0x7 - bl VarSet -_08134AAC: - pop {r0} - bx r0 - .align 2, 0 -_08134AB0: .4byte 0x00004010 - thumb_func_end sub_81349FC - - thumb_func_start sub_8134AB4 -sub_8134AB4: @ 8134AB4 - push {lr} - movs r0, 0xC8 - bl sub_81349FC - pop {r0} - bx r0 - thumb_func_end sub_8134AB4 - - thumb_func_start sub_8134AC0 -sub_8134AC0: @ 8134AC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r7, 0 - mov r8, r0 - movs r5, 0 - ldr r0, _08134B3C @ =gSaveBlock2 - mov r12, r0 - mov r1, r8 - ldrb r1, [r1, 0xC] - str r1, [sp, 0x18] - movs r2, 0xAA - lsls r2, 1 - add r2, r12 - mov r10, r2 - mov r9, r5 -_08134AE6: - movs r6, 0 - movs r3, 0 - ldr r0, _08134B40 @ =gSaveBlock2 + 0x158 - add r0, r9 - ldrb r0, [r0] - ldr r1, [sp, 0x18] - cmp r0, r1 - bne _08134B14 - movs r0, 0xA4 - muls r0, r5 - ldr r1, _08134B40 @ =gSaveBlock2 + 0x158 - adds r2, r0, r1 - mov r4, r8 - adds r4, 0xC -_08134B02: - adds r2, 0x1 - adds r3, 0x1 - cmp r3, 0x3 - bgt _08134B14 - adds r1, r4, r3 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - beq _08134B02 -_08134B14: - cmp r3, 0x4 - bne _08134B54 - movs r6, 0 - mov r2, r10 - ldrb r0, [r2] - mov r3, r8 - ldrb r3, [r3, 0x8] - cmp r0, r3 - bne _08134B54 - adds r1, r0, 0 - movs r0, 0xA4 - muls r0, r5 - adds r0, 0x4 - ldr r3, _08134B44 @ =gSaveBlock2 + 0x150 - adds r2, r0, r3 -_08134B32: - cmp r1, 0xFF - bne _08134B48 - movs r6, 0x7 - b _08134B54 - .align 2, 0 -_08134B3C: .4byte gSaveBlock2 -_08134B40: .4byte gSaveBlock2 + 0x158 -_08134B44: .4byte gSaveBlock2 + 0x150 -_08134B48: - adds r6, 0x1 - cmp r6, 0x6 - bgt _08134B54 - ldrb r0, [r2] - cmp r0, r1 - beq _08134B32 -_08134B54: - cmp r6, 0x7 - beq _08134B64 - movs r0, 0xA4 - add r10, r0 - add r9, r0 - adds r5, 0x1 - cmp r5, 0x4 - ble _08134AE6 -_08134B64: - cmp r5, 0x4 - bgt _08134B76 - movs r0, 0xA4 - muls r0, r5 - add r0, r12 - movs r1, 0xA6 - lsls r1, 1 - adds r0, r1 - b _08134B9E -_08134B76: - movs r5, 0 - movs r1, 0xA7 - lsls r1, 1 - add r1, r12 - b _08134B88 -_08134B80: - adds r1, 0xA4 - adds r5, 0x1 - cmp r5, 0x4 - bgt _08134BA8 -_08134B88: - ldrh r0, [r1] - cmp r0, 0 - bne _08134B80 - cmp r5, 0x4 - bgt _08134BA8 - movs r0, 0xA4 - muls r0, r5 - add r0, r12 - movs r2, 0xA6 - lsls r2, 1 - adds r0, r2 -_08134B9E: - mov r1, r8 - movs r2, 0xA4 - bl memcpy - b _08134C5E -_08134BA8: - mov r2, sp - movs r3, 0xA7 - lsls r3, 1 - mov r1, r12 - adds r0, r1, r3 - ldrh r0, [r0] - movs r1, 0 - strh r0, [r2] - add r0, sp, 0xC - strh r1, [r0] - adds r7, 0x1 - movs r5, 0x1 - add r2, sp, 0xC - mov r9, r2 - mov r10, r3 -_08134BC6: - movs r3, 0 - adds r0, r5, 0x1 - mov r12, r0 - cmp r3, r7 - bge _08134C0A - movs r1, 0xA4 - adds r0, r5, 0 - muls r0, r1 - ldr r2, _08134BFC @ =gSaveBlock2 - adds r0, r2 - mov r1, r10 - adds r4, r0, r1 - mov r6, sp -_08134BE0: - lsls r0, r3, 1 - add r0, sp - ldrh r2, [r4] - adds r1, r2, 0 - ldrh r0, [r0] - cmp r1, r0 - bcs _08134C00 - movs r3, 0 - movs r7, 0x1 - strh r2, [r6] - mov r2, r9 - strh r5, [r2] - b _08134C0A - .align 2, 0 -_08134BFC: .4byte gSaveBlock2 -_08134C00: - cmp r1, r0 - bhi _08134C0A - adds r3, 0x1 - cmp r3, r7 - blt _08134BE0 -_08134C0A: - cmp r3, r7 - bne _08134C2A - lsls r1, r7, 1 - mov r3, sp - adds r2, r3, r1 - movs r3, 0xA4 - adds r0, r5, 0 - muls r0, r3 - ldr r3, _08134C70 @ =gSaveBlock2 - adds r0, r3 - add r0, r10 - ldrh r0, [r0] - strh r0, [r2] - add r1, r9 - strh r5, [r1] - adds r7, 0x1 -_08134C2A: - mov r5, r12 - cmp r5, 0x4 - ble _08134BC6 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - bl __modsi3 - adds r5, r0, 0 - ldr r2, _08134C70 @ =gSaveBlock2 - lsls r0, r5, 1 - add r0, sp - adds r0, 0xC - ldrh r1, [r0] - movs r0, 0xA4 - muls r0, r1 - adds r0, r2 - movs r1, 0xA6 - lsls r1, 1 - adds r0, r1 - mov r1, r8 - movs r2, 0xA4 - bl memcpy -_08134C5E: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08134C70: .4byte gSaveBlock2 - thumb_func_end sub_8134AC0 - - thumb_func_start get_trainer_class_pic_index -get_trainer_class_pic_index: @ 8134C74 - push {lr} - ldr r3, _08134C90 @ =gSaveBlock2 - ldr r0, _08134C94 @ =0x00000564 - adds r1, r3, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _08134CA0 - ldr r1, _08134C98 @ =gTrainerClassToPicIndex - ldr r2, _08134C9C @ =0x00000499 - adds r0, r3, r2 - ldrb r0, [r0] - adds r0, r1 - b _08134CD2 - .align 2, 0 -_08134C90: .4byte gSaveBlock2 -_08134C94: .4byte 0x00000564 -_08134C98: .4byte gTrainerClassToPicIndex -_08134C9C: .4byte 0x00000499 -_08134CA0: - cmp r0, 0x63 - bls _08134CC0 - ldr r2, _08134CBC @ =gTrainerClassToPicIndex - ldrb r0, [r1] - subs r0, 0x64 - movs r1, 0xA4 - muls r0, r1 - adds r0, r3 - adds r1, 0xA9 - adds r0, r1 - ldrb r0, [r0] - adds r0, r2 - b _08134CD2 - .align 2, 0 -_08134CBC: .4byte gTrainerClassToPicIndex -_08134CC0: - ldr r3, _08134CD8 @ =gTrainerClassToPicIndex - ldr r2, _08134CDC @ =gBattleTowerTrainers - ldrb r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - adds r0, r3 -_08134CD2: - ldrb r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_08134CD8: .4byte gTrainerClassToPicIndex -_08134CDC: .4byte gBattleTowerTrainers - thumb_func_end get_trainer_class_pic_index - - thumb_func_start get_trainer_class_name_index -get_trainer_class_name_index: @ 8134CE0 - push {lr} - ldr r3, _08134CFC @ =gSaveBlock2 - ldr r0, _08134D00 @ =0x00000564 - adds r1, r3, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _08134D0C - ldr r1, _08134D04 @ =gTrainerClassToNameIndex - ldr r2, _08134D08 @ =0x00000499 - adds r0, r3, r2 - ldrb r0, [r0] - adds r0, r1 - b _08134D40 - .align 2, 0 -_08134CFC: .4byte gSaveBlock2 -_08134D00: .4byte 0x00000564 -_08134D04: .4byte gTrainerClassToNameIndex -_08134D08: .4byte 0x00000499 -_08134D0C: - cmp r0, 0x63 - bhi _08134D2C - ldr r3, _08134D24 @ =gTrainerClassToNameIndex - ldr r2, _08134D28 @ =gBattleTowerTrainers - ldrb r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - adds r0, r3 - b _08134D40 - .align 2, 0 -_08134D24: .4byte gTrainerClassToNameIndex -_08134D28: .4byte gBattleTowerTrainers -_08134D2C: - ldr r2, _08134D48 @ =gTrainerClassToNameIndex - ldrb r0, [r1] - subs r0, 0x64 - movs r1, 0xA4 - muls r0, r1 - adds r0, r3 - adds r1, 0xA9 - adds r0, r1 - ldrb r0, [r0] - adds r0, r2 -_08134D40: - ldrb r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_08134D48: .4byte gTrainerClassToNameIndex - thumb_func_end get_trainer_class_name_index - - thumb_func_start get_trainer_name -get_trainer_name: @ 8134D4C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, _08134D74 @ =gSaveBlock2 - ldr r0, _08134D78 @ =0x00000564 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _08134D80 - movs r3, 0 - ldr r5, _08134D7C @ =0x0000049c - adds r2, r5 -_08134D62: - adds r0, r4, r3 - adds r1, r3, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, 0x6 - ble _08134D62 - b _08134DC8 - .align 2, 0 -_08134D74: .4byte gSaveBlock2 -_08134D78: .4byte 0x00000564 -_08134D7C: .4byte 0x0000049c -_08134D80: - cmp r0, 0x63 - bhi _08134DA8 - movs r3, 0 - ldr r2, _08134DA4 @ =gBattleTowerTrainers - ldrb r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, 0x1 - adds r2, r0, r2 -_08134D94: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r3, 0x1 - cmp r3, 0x6 - ble _08134D94 - b _08134DC8 - .align 2, 0 -_08134DA4: .4byte gBattleTowerTrainers -_08134DA8: - movs r3, 0 - ldrb r0, [r1] - subs r0, 0x64 - movs r1, 0xA4 - muls r1, r0 - movs r5, 0xA8 - lsls r5, 1 - adds r0, r2, r5 - adds r2, r1, r0 -_08134DBA: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r3, 0x1 - cmp r3, 0x6 - ble _08134DBA -_08134DC8: - adds r1, r4, r3 - movs r0, 0xFF - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end get_trainer_name - - thumb_func_start sub_8134DD4 -sub_8134DD4: @ 8134DD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - movs r0, 0 - str r0, [sp, 0x18] - movs r1, 0x3C - str r1, [sp, 0x1C] - add r4, sp, 0xC - movs r0, 0xFF - strb r0, [r4] - bl ZeroEnemyPartyMons - ldr r1, _08134E04 @ =gSaveBlock2 - ldr r2, _08134E08 @ =0x00000564 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x13 - bhi _08134E0C - movs r3, 0x6 - str r3, [sp, 0x14] - b _08134ED8 - .align 2, 0 -_08134E04: .4byte gSaveBlock2 -_08134E08: .4byte 0x00000564 -_08134E0C: - cmp r0, 0x1D - bhi _08134E1A - movs r0, 0x9 - str r0, [sp, 0x14] - movs r1, 0x1E - str r1, [sp, 0x18] - b _08134ED8 -_08134E1A: - cmp r0, 0x27 - bhi _08134E28 - movs r2, 0xC - str r2, [sp, 0x14] - movs r3, 0x3C - str r3, [sp, 0x18] - b _08134ED8 -_08134E28: - cmp r0, 0x31 - bhi _08134E36 - movs r0, 0xF - str r0, [sp, 0x14] - movs r1, 0x5A - str r1, [sp, 0x18] - b _08134ED8 -_08134E36: - cmp r0, 0x3B - bhi _08134E44 - movs r2, 0x12 - str r2, [sp, 0x14] - movs r3, 0x78 - str r3, [sp, 0x18] - b _08134ED8 -_08134E44: - cmp r0, 0x45 - bhi _08134E52 - movs r0, 0x15 - str r0, [sp, 0x14] - movs r1, 0x96 - str r1, [sp, 0x18] - b _08134ED8 -_08134E52: - cmp r0, 0x4F - bhi _08134E60 - movs r2, 0x1F - str r2, [sp, 0x14] - movs r3, 0xB4 - str r3, [sp, 0x18] - b _08134ED8 -_08134E60: - cmp r0, 0x63 - bhi _08134E72 - movs r0, 0x1F - str r0, [sp, 0x14] - movs r1, 0xC8 - str r1, [sp, 0x18] - movs r2, 0x64 - str r2, [sp, 0x1C] - b _08134ED8 -_08134E72: - cmp r0, 0xC8 - bne _08134E9C - movs r6, 0 -_08134E78: - movs r0, 0x64 - muls r0, r6 - ldr r1, _08134E94 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - muls r1, r6 - ldr r2, _08134E98 @ =gSaveBlock2 + 0x4CC - adds r1, r2 - bl sub_803ADE8 - adds r6, 0x1 - cmp r6, 0x2 - ble _08134E78 - b _08135082 - .align 2, 0 -_08134E94: .4byte gEnemyParty -_08134E98: .4byte gSaveBlock2 + 0x4CC -_08134E9C: - movs r6, 0 - adds r4, r1, 0 - ldr r3, _08134ECC @ =0xffffc158 - adds r5, r4, r3 -_08134EA4: - movs r0, 0x64 - muls r0, r6 - ldr r1, _08134ED0 @ =gEnemyParty - adds r0, r1 - ldr r2, _08134ED4 @ =0x00000564 - adds r1, r4, r2 - ldrb r2, [r1] - movs r1, 0xA4 - muls r1, r2 - adds r1, r5 - movs r2, 0x2C - muls r2, r6 - adds r1, r2 - bl sub_803ADE8 - adds r6, 0x1 - cmp r6, 0x2 - ble _08134EA4 - b _08135082 - .align 2, 0 -_08134ECC: .4byte 0xffffc158 -_08134ED0: .4byte gEnemyParty -_08134ED4: .4byte 0x00000564 -_08134ED8: - ldr r2, _08134EF4 @ =gSaveBlock2 - ldr r3, _08134EF8 @ =0x00000554 - adds r0, r2, r3 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r1, r2, 0 - cmp r0, 0 - beq _08134F00 - ldr r0, _08134EFC @ =gBattleTowerLevel100Mons - mov r10, r0 - movs r2, 0x64 - str r2, [sp, 0x10] - b _08134F08 - .align 2, 0 -_08134EF4: .4byte gSaveBlock2 -_08134EF8: .4byte 0x00000554 -_08134EFC: .4byte gBattleTowerLevel100Mons -_08134F00: - ldr r3, _08134F54 @ =gBattleTowerLevel50Mons - mov r10, r3 - movs r0, 0x32 - str r0, [sp, 0x10] -_08134F08: - ldr r2, _08134F58 @ =gBattleTowerTrainers - ldr r3, _08134F5C @ =0x00000564 - adds r0, r1, r3 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x9] - str r0, [sp, 0x20] - movs r6, 0 -_08134F1E: - bl Random - movs r1, 0xFF - ands r1, r0 - ldr r2, [sp, 0x1C] - adds r0, r1, 0 - muls r0, r2 - asrs r0, 8 - ldr r3, [sp, 0x18] - adds r7, r0, r3 - ldr r0, [sp, 0x20] - cmp r0, 0 - beq _08134F48 - lsls r0, r7, 4 - add r0, r10 - ldrb r0, [r0, 0x3] - ldr r1, [sp, 0x20] - ands r0, r1 - cmp r0, r1 - beq _08134F48 - b _0813507C -_08134F48: - movs r5, 0 - lsls r0, r7, 4 - mov r2, r10 - adds r3, r0, r2 - movs r4, 0 - b _08134F64 - .align 2, 0 -_08134F54: .4byte gBattleTowerLevel50Mons -_08134F58: .4byte gBattleTowerTrainers -_08134F5C: .4byte 0x00000564 -_08134F60: - adds r4, 0x64 - adds r5, 0x1 -_08134F64: - cmp r5, r6 - bge _08134F7E - ldr r1, _08135094 @ =gEnemyParty - adds r0, r4, r1 - movs r1, 0xB - movs r2, 0 - str r3, [sp, 0x24] - bl GetMonData - ldr r3, [sp, 0x24] - ldrh r2, [r3] - cmp r0, r2 - bne _08134F60 -_08134F7E: - cmp r5, r6 - bne _0813507C - movs r5, 0 - cmp r5, r6 - bge _08134FCC - ldr r3, _08135098 @ =gBattleTowerHeldItems - mov r9, r3 - lsls r0, r7, 4 - add r0, r10 - mov r8, r0 - movs r3, 0 -_08134F94: - ldr r0, _08135094 @ =gEnemyParty - adds r4, r3, r0 - adds r0, r4, 0 - movs r1, 0xC - movs r2, 0 - str r3, [sp, 0x24] - bl GetMonData - ldr r3, [sp, 0x24] - cmp r0, 0 - beq _08134FC4 - adds r0, r4, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r2, r8 - ldrb r1, [r2, 0x2] - lsls r1, 1 - add r1, r9 - ldr r3, [sp, 0x24] - ldrh r1, [r1] - cmp r0, r1 - beq _08134FCC -_08134FC4: - adds r3, 0x64 - adds r5, 0x1 - cmp r5, r6 - blt _08134F94 -_08134FCC: - cmp r5, r6 - bne _0813507C - movs r5, 0 - cmp r5, r6 - bge _08134FEE - add r0, sp, 0x4 - ldrh r0, [r0] - cmp r0, r7 - beq _08134FEE - add r1, sp, 0x4 -_08134FE0: - adds r1, 0x2 - adds r5, 0x1 - cmp r5, r6 - bge _08134FEE - ldrh r0, [r1] - cmp r0, r7 - bne _08134FE0 -_08134FEE: - cmp r5, r6 - bne _0813507C - lsls r0, r6, 1 - add r0, sp - adds r0, 0x4 - strh r7, [r0] - movs r3, 0x64 - adds r0, r6, 0 - muls r0, r3 - ldr r1, _08135094 @ =gEnemyParty - adds r0, r1 - lsls r4, r7, 4 - mov r3, r10 - adds r2, r4, r3 - ldrh r1, [r2] - ldrb r2, [r2, 0xC] - str r2, [sp] - ldr r2, [sp, 0x10] - ldr r3, [sp, 0x14] - bl CreateMonWithEVSpread - movs r5, 0 - adds r0, r6, 0x1 - mov r9, r0 - mov r8, r4 - movs r0, 0x64 - adds r7, r6, 0 - muls r7, r0 - mov r0, r10 - adds r0, 0x4 - adds r4, r0 - ldr r3, _08135094 @ =gEnemyParty -_0813502E: - ldrh r1, [r4] - lsls r2, r5, 24 - lsrs r2, 24 - adds r0, r7, r3 - str r3, [sp, 0x24] - bl SetMonMoveSlot - ldrh r0, [r4] - ldr r3, [sp, 0x24] - cmp r0, 0xDA - bne _0813504A - movs r0, 0 - mov r1, sp - strb r0, [r1, 0xC] -_0813504A: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0813502E - movs r2, 0x64 - adds r4, r6, 0 - muls r4, r2 - ldr r3, _08135094 @ =gEnemyParty - adds r4, r3 - adds r0, r4, 0 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - mov r0, r8 - add r0, r10 - ldrb r2, [r0, 0x2] - lsls r2, 1 - ldr r0, _08135098 @ =gBattleTowerHeldItems - adds r2, r0 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - mov r6, r9 -_0813507C: - cmp r6, 0x3 - beq _08135082 - b _08134F1E -_08135082: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08135094: .4byte gEnemyParty -_08135098: .4byte gBattleTowerHeldItems - thumb_func_end sub_8134DD4 - - thumb_func_start CalcBattleTowerBanlistSeenCount -CalcBattleTowerBanlistSeenCount: @ 813509C - push {r4-r6,lr} - movs r5, 0 - ldr r2, _081350D8 @ =gBattleTowerBanlist - ldrh r0, [r2] - ldr r1, _081350DC @ =0x0000ffff - cmp r0, r1 - beq _081350CE - adds r6, r1, 0 - adds r4, r2, 0 -_081350AE: - ldrh r0, [r4] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetNationalPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _081350C6 - adds r5, 0x1 -_081350C6: - adds r4, 0x2 - ldrh r0, [r4] - cmp r0, r6 - bne _081350AE -_081350CE: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081350D8: .4byte gBattleTowerBanlist -_081350DC: .4byte 0x0000ffff - thumb_func_end CalcBattleTowerBanlistSeenCount - - thumb_func_start AppendBattleTowerBannedSpeciesName -AppendBattleTowerBannedSpeciesName: @ 81350E0 - push {r4-r6,lr} - adds r5, r2, 0 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - adds r0, r6, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetNationalPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _081351E6 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - subs r0, r4, 0x1 - cmp r0, 0xA - bhi _081351B0 - lsls r0, 2 - ldr r1, _08135118 @ =_0813511C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08135118: .4byte _0813511C - .align 2, 0 -_0813511C: - .4byte _08135148 - .4byte _08135178 - .4byte _08135148 - .4byte _081351B0 - .4byte _08135148 - .4byte _081351B0 - .4byte _08135148 - .4byte _081351B0 - .4byte _08135148 - .4byte _081351B0 - .4byte _08135148 -_08135148: - cmp r5, r4 - bne _08135160 - ldr r0, _08135158 @ =gStringVar1 - ldr r1, _0813515C @ =gUnknown_08400E23 - bl StringAppend - b _081351D8 - .align 2, 0 -_08135158: .4byte gStringVar1 -_0813515C: .4byte gUnknown_08400E23 -_08135160: - cmp r5, r4 - ble _081351D8 - ldr r0, _08135170 @ =gStringVar1 - ldr r1, _08135174 @ =gUnknown_08400E29 - bl StringAppend - b _081351D8 - .align 2, 0 -_08135170: .4byte gStringVar1 -_08135174: .4byte gUnknown_08400E29 -_08135178: - cmp r4, r5 - bne _08135190 - ldr r0, _08135188 @ =gStringVar1 - ldr r1, _0813518C @ =gUnknown_08400E23 - bl StringAppend - b _08135198 - .align 2, 0 -_08135188: .4byte gStringVar1 -_0813518C: .4byte gUnknown_08400E23 -_08135190: - ldr r0, _081351A4 @ =gStringVar1 - ldr r1, _081351A8 @ =gUnknown_08400E29 - bl StringAppend -_08135198: - ldr r0, _081351A4 @ =gStringVar1 - ldr r1, _081351AC @ =gUnknown_08400E30 - bl StringAppend - b _081351D8 - .align 2, 0 -_081351A4: .4byte gStringVar1 -_081351A8: .4byte gUnknown_08400E29 -_081351AC: .4byte gUnknown_08400E30 -_081351B0: - cmp r4, r5 - bne _081351C8 - ldr r0, _081351C0 @ =gStringVar1 - ldr r1, _081351C4 @ =gUnknown_08400E23 - bl StringAppend - b _081351D0 - .align 2, 0 -_081351C0: .4byte gStringVar1 -_081351C4: .4byte gUnknown_08400E23 -_081351C8: - ldr r0, _081351F0 @ =gStringVar1 - ldr r1, _081351F4 @ =gUnknown_08400E29 - bl StringAppend -_081351D0: - ldr r0, _081351F0 @ =gStringVar1 - ldr r1, _081351F8 @ =gUnknown_08400E2E - bl StringAppend -_081351D8: - ldr r0, _081351F0 @ =gStringVar1 - movs r1, 0xB - muls r1, r6 - ldr r2, _081351FC @ =gSpeciesNames - adds r1, r2 - bl StringAppend -_081351E6: - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081351F0: .4byte gStringVar1 -_081351F4: .4byte gUnknown_08400E29 -_081351F8: .4byte gUnknown_08400E2E -_081351FC: .4byte gSpeciesNames - thumb_func_end AppendBattleTowerBannedSpeciesName - - thumb_func_start CheckMonBattleTowerBanlist -CheckMonBattleTowerBanlist: @ 8135200 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, [sp, 0x20] - ldr r4, [sp, 0x24] - mov r9, r4 - ldr r4, [sp, 0x28] - mov r10, r4 - ldr r7, [sp, 0x2C] - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r2, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _081352CE - cmp r4, 0 - beq _081352CE - ldr r0, _081352DC @ =gBattleTowerBanlist - ldrh r1, [r0] - ldr r5, _081352E0 @ =0x0000ffff - adds r3, r0, 0 - cmp r1, r5 - beq _08135264 - cmp r1, r4 - beq _08135258 - adds r1, r3, 0 -_0813524A: - adds r1, 0x2 - adds r2, 0x1 - ldrh r0, [r1] - cmp r0, r5 - beq _08135264 - cmp r0, r4 - bne _0813524A -_08135258: - lsls r0, r2, 1 - adds r0, r3 - ldrh r1, [r0] - ldr r0, _081352E0 @ =0x0000ffff - cmp r1, r0 - bne _081352CE -_08135264: - mov r0, r12 - cmp r0, 0 - bne _08135270 - mov r1, r8 - cmp r1, 0x32 - bhi _081352CE -_08135270: - movs r2, 0 - ldrb r3, [r7] - cmp r2, r3 - bge _08135290 - mov r1, r9 - ldrh r0, [r1] - cmp r0, r4 - beq _08135290 - adds r5, r3, 0 -_08135282: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r5 - bge _08135290 - ldrh r0, [r1] - cmp r0, r4 - bne _08135282 -_08135290: - cmp r2, r3 - bne _081352CE - cmp r6, 0 - beq _081352BA - movs r2, 0 - cmp r2, r3 - bge _081352B6 - mov r1, r10 - ldrh r0, [r1] - cmp r0, r6 - beq _081352B6 - adds r5, r3, 0 -_081352A8: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r5 - bge _081352B6 - ldrh r0, [r1] - cmp r0, r6 - bne _081352A8 -_081352B6: - cmp r2, r3 - bne _081352CE -_081352BA: - lsls r0, r3, 1 - add r0, r9 - strh r4, [r0] - ldrb r0, [r7] - lsls r0, 1 - add r0, r10 - strh r6, [r0] - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] -_081352CE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081352DC: .4byte gBattleTowerBanlist -_081352E0: .4byte 0x0000ffff - thumb_func_end CheckMonBattleTowerBanlist - - thumb_func_start CheckPartyBattleTowerBanlist -CheckPartyBattleTowerBanlist: @ 81352E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - add r1, sp, 0x28 - movs r0, 0 - strb r0, [r1] - movs r7, 0 - mov r9, r1 - add r0, sp, 0x1C - mov r10, r0 -_081352FE: - movs r0, 0x64 - adds r5, r7, 0 - muls r5, r0 - ldr r0, _081353C4 @ =gPlayerParty - adds r5, r0 - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - mov r8, r0 - mov r1, r8 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - adds r0, r5, 0 - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r5, _081353C8 @ =gScriptResult - ldrb r3, [r5] - str r4, [sp] - add r0, sp, 0x10 - str r0, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r6, 0 - bl CheckMonBattleTowerBanlist - adds r7, 0x1 - cmp r7, 0x5 - ble _081352FE - mov r1, r9 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _08135420 - ldr r1, _081353CC @ =gStringVar1 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _081353D0 @ =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - movs r0, 0 - mov r1, r9 - strb r0, [r1] - bl CalcBattleTowerBanlistSeenCount - adds r6, r0, 0 - ldr r2, _081353D4 @ =gBattleTowerBanlist - ldrh r0, [r2] - ldr r1, _081353D8 @ =0x0000ffff - cmp r0, r1 - beq _081353A8 - mov r5, r9 - adds r7, r1, 0 - adds r4, r2, 0 -_08135394: - ldrh r0, [r4] - ldrb r1, [r5] - adds r2, r6, 0 - bl AppendBattleTowerBannedSpeciesName - strb r0, [r5] - adds r4, 0x2 - ldrh r0, [r4] - cmp r0, r7 - bne _08135394 -_081353A8: - mov r0, r9 - ldrb r1, [r0] - cmp r1, 0 - bne _081353E4 - ldr r4, _081353CC @ =gStringVar1 - ldr r1, _081353DC @ =gUnknown_08400E2C - adds r0, r4, 0 - bl StringAppend - ldr r1, _081353E0 @ =gUnknown_08400E32 - adds r0, r4, 0 - bl StringAppend - b _0813543E - .align 2, 0 -_081353C4: .4byte gPlayerParty -_081353C8: .4byte gScriptResult -_081353CC: .4byte gStringVar1 -_081353D0: .4byte gSpecialVar_0x8004 -_081353D4: .4byte gBattleTowerBanlist -_081353D8: .4byte 0x0000ffff -_081353DC: .4byte gUnknown_08400E2C -_081353E0: .4byte gUnknown_08400E32 -_081353E4: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08135400 - ldr r0, _081353F8 @ =gStringVar1 - ldr r1, _081353FC @ =gUnknown_08400E2E - bl StringAppend - b _08135408 - .align 2, 0 -_081353F8: .4byte gStringVar1 -_081353FC: .4byte gUnknown_08400E2E -_08135400: - ldr r0, _08135414 @ =gStringVar1 - ldr r1, _08135418 @ =gUnknown_08400E2C - bl StringAppend -_08135408: - ldr r0, _08135414 @ =gStringVar1 - ldr r1, _0813541C @ =gUnknown_08400E36 - bl StringAppend - b _0813543E - .align 2, 0 -_08135414: .4byte gStringVar1 -_08135418: .4byte gUnknown_08400E2C -_0813541C: .4byte gUnknown_08400E36 -_08135420: - ldr r1, _08135450 @ =gSpecialVar_0x8004 - movs r0, 0 - strh r0, [r1] - ldr r2, _08135454 @ =gSaveBlock2 - ldrb r0, [r5] - ldr r1, _08135458 @ =0x00000554 - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_0813543E: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08135450: .4byte gSpecialVar_0x8004 -_08135454: .4byte gSaveBlock2 -_08135458: .4byte 0x00000554 - thumb_func_end CheckPartyBattleTowerBanlist - - thumb_func_start sub_813545C -sub_813545C: @ 813545C - push {lr} - adds r1, r0, 0 - ldr r0, _08135470 @ =gStringVar4 - movs r2, 0x2 - movs r3, 0x3 - bl sub_80EB544 - pop {r0} - bx r0 - .align 2, 0 -_08135470: .4byte gStringVar4 - thumb_func_end sub_813545C - - thumb_func_start sub_8135474 -sub_8135474: @ 8135474 - push {lr} - ldr r2, _08135490 @ =gSaveBlock2 - ldr r0, _08135494 @ =0x00000564 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _08135498 - movs r1, 0x95 - lsls r1, 3 - adds r0, r2, r1 - bl sub_813545C - b _081354C4 - .align 2, 0 -_08135490: .4byte gSaveBlock2 -_08135494: .4byte 0x00000564 -_08135498: - cmp r0, 0x63 - bhi _081354B4 - ldrb r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _081354B0 @ =gBattleTowerTrainers + 0xC - adds r0, r1 - bl sub_813545C - b _081354C4 - .align 2, 0 -_081354B0: .4byte gBattleTowerTrainers + 0xC -_081354B4: - ldrb r1, [r1] - movs r0, 0xA4 - muls r0, r1 - ldr r3, _081354C8 @ =0xffffc14c - adds r1, r2, r3 - adds r0, r1 - bl sub_813545C -_081354C4: - pop {r0} - bx r0 - .align 2, 0 -_081354C8: .4byte 0xffffc14c - thumb_func_end sub_8135474 - - thumb_func_start sub_81354CC -sub_81354CC: @ 81354CC - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _081354E4 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - beq _081354E8 - cmp r0, 0x1 - ble _08135520 - cmp r0, 0x2 - beq _0813551C - b _08135520 - .align 2, 0 -_081354E4: .4byte gSpecialVar_0x8004 -_081354E8: - movs r5, 0 -_081354EA: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08135514 @ =gSaveBlock1 + 0x238 - adds r0, r4, r0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1] - ldr r0, _08135518 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r5, 0x1 - cmp r5, 0x5 - ble _081354EA - b _08135520 - .align 2, 0 -_08135514: .4byte gSaveBlock1 + 0x238 -_08135518: .4byte gPlayerParty -_0813551C: - bl sub_81360D0 -_08135520: - ldr r0, _08135530 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08135530: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end sub_81354CC - - thumb_func_start sub_8135534 -sub_8135534: @ 8135534 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsBattleTransitionDone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08135558 - ldr r0, _08135560 @ =gMain - ldr r1, _08135564 @ =sub_81354CC - str r1, [r0, 0x8] - ldr r0, _08135568 @ =sub_800E7C4 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08135558: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08135560: .4byte gMain -_08135564: .4byte sub_81354CC -_08135568: .4byte sub_800E7C4 - thumb_func_end sub_8135534 - - thumb_func_start sub_813556C -sub_813556C: @ 813556C - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08135584 @ =gSpecialVar_0x8004 - ldrh r2, [r0] - cmp r2, 0x1 - beq _081355AC - cmp r2, 0x1 - bgt _08135588 - cmp r2, 0 - beq _0813558E - b _08135648 - .align 2, 0 -_08135584: .4byte gSpecialVar_0x8004 -_08135588: - cmp r2, 0x2 - beq _08135600 - b _08135648 -_0813558E: - ldr r1, _081355A4 @ =gBattleTypeFlags - movs r3, 0x84 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _081355A8 @ =gTrainerBattleOpponent - strh r2, [r0] - bl sub_8134DD4 - b _081355D6 - .align 2, 0 -_081355A4: .4byte gBattleTypeFlags -_081355A8: .4byte gTrainerBattleOpponent -_081355AC: - movs r5, 0 -_081355AE: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _081355F4 @ =gPlayerParty - adds r0, r4, r0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1] - ldr r0, _081355F8 @ =gSaveBlock1 + 0x238 - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r5, 0x1 - cmp r5, 0x5 - ble _081355AE -_081355D6: - ldr r0, _081355FC @ =sub_8135534 - movs r1, 0x1 - bl CreateTask - movs r0, 0 - bl current_map_music_set__default_for_battle - bl BattleSetup_GetBattleTowerBattleTransition - lsls r0, 24 - lsrs r0, 24 - bl BattleTransition_StartOnField - b _08135648 - .align 2, 0 -_081355F4: .4byte gPlayerParty -_081355F8: .4byte gSaveBlock1 + 0x238 -_081355FC: .4byte sub_8135534 -_08135600: - bl ZeroEnemyPartyMons - movs r5, 0 -_08135606: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08135650 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - muls r1, r5 - ldr r2, _08135654 @ =gSaveBlock2 + 0x4CC - adds r1, r2 - bl sub_803ADE8 - adds r5, 0x1 - cmp r5, 0x2 - ble _08135606 - ldr r1, _08135658 @ =gBattleTypeFlags - ldr r2, _0813565C @ =0x00000808 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08135660 @ =gTrainerBattleOpponent - movs r0, 0 - strh r0, [r1] - ldr r0, _08135664 @ =sub_8135534 - movs r1, 0x1 - bl CreateTask - movs r0, 0 - bl current_map_music_set__default_for_battle - bl BattleSetup_GetBattleTowerBattleTransition - lsls r0, 24 - lsrs r0, 24 - bl BattleTransition_StartOnField -_08135648: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08135650: .4byte gEnemyParty -_08135654: .4byte gSaveBlock2 + 0x4CC -_08135658: .4byte gBattleTypeFlags -_0813565C: .4byte 0x00000808 -_08135660: .4byte gTrainerBattleOpponent -_08135664: .4byte sub_8135534 - thumb_func_end sub_813556C - - thumb_func_start sub_8135668 -sub_8135668: @ 8135668 - push {r4,r5,lr} - ldr r1, _0813568C @ =gSaveBlock2 - ldr r2, _08135690 @ =0x00000554 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r4, r0, 31 - ldr r0, _08135694 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r5, r1, 0 - cmp r0, 0xE - bls _08135682 - b _0813589A -_08135682: - lsls r0, 2 - ldr r1, _08135698 @ =_0813569C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813568C: .4byte gSaveBlock2 -_08135690: .4byte 0x00000554 -_08135694: .4byte gSpecialVar_0x8004 -_08135698: .4byte _0813569C - .align 2, 0 -_0813569C: - .4byte _081356D8 - .4byte _08135700 - .4byte _0813571C - .4byte _08135726 - .4byte _08135740 - .4byte _08135754 - .4byte _08135774 - .4byte _081357D0 - .4byte _081357FC - .4byte _0813589A - .4byte _08135820 - .4byte _08135834 - .4byte _0813584C - .4byte _0813586C - .4byte _08135888 -_081356D8: - ldr r0, _081356F0 @ =0x02000000 - ldr r3, _081356F4 @ =0x00000556 - adds r1, r5, r3 - adds r1, r4, r1 - ldrb r2, [r1] - ldr r3, _081356F8 @ =0x000160fb - adds r0, r3 - strb r2, [r0] - ldr r0, _081356FC @ =gSpecialVar_0x8005 - ldrh r0, [r0] - b _08135898 - .align 2, 0 -_081356F0: .4byte 0x02000000 -_081356F4: .4byte 0x00000556 -_081356F8: .4byte 0x000160fb -_081356FC: .4byte gSpecialVar_0x8005 -_08135700: - ldr r0, _08135714 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, _08135718 @ =0x00000554 - adds r3, r5, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - b _08135810 - .align 2, 0 -_08135714: .4byte gSpecialVar_0x8005 -_08135718: .4byte 0x00000554 -_0813571C: - lsls r1, r4, 1 - movs r2, 0xAB - lsls r2, 3 - adds r0, r5, r2 - b _0813572C -_08135726: - lsls r1, r4, 1 - ldr r3, _08135738 @ =0x0000055c - adds r0, r5, r3 -_0813572C: - adds r1, r0 - ldr r0, _0813573C @ =gSpecialVar_0x8005 - ldrh r0, [r0] - strh r0, [r1] - b _0813589A - .align 2, 0 -_08135738: .4byte 0x0000055c -_0813573C: .4byte gSpecialVar_0x8005 -_08135740: - ldr r0, _0813574C @ =gSpecialVar_0x8005 - ldrh r1, [r0] - ldr r2, _08135750 @ =0x00000564 - adds r0, r5, r2 - strb r1, [r0] - b _0813589A - .align 2, 0 -_0813574C: .4byte gSpecialVar_0x8005 -_08135750: .4byte 0x00000564 -_08135754: - movs r2, 0 - ldr r4, _0813576C @ =gSaveBlock2 + 0x565 - ldr r3, _08135770 @ =gSelectedOrderFromParty -_0813575A: - adds r0, r2, r4 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _0813575A - b _0813589A - .align 2, 0 -_0813576C: .4byte gSaveBlock2 + 0x565 -_08135770: .4byte gSelectedOrderFromParty -_08135774: - ldr r3, _081357C0 @ =0x00000564 - adds r0, r5, r3 - ldrb r0, [r0] - cmp r0, 0xC8 - bne _08135788 - movs r1, 0x93 - lsls r1, 3 - adds r0, r5, r1 - bl sub_81360AC -_08135788: - movs r3, 0xAE - lsls r3, 3 - adds r2, r5, r3 - ldrh r1, [r2] - ldr r0, _081357C4 @ =0x0000270e - cmp r1, r0 - bhi _0813579A - adds r0, r1, 0x1 - strh r0, [r2] -_0813579A: - lsls r4, 1 - movs r1, 0xAB - lsls r1, 3 - adds r0, r5, r1 - adds r4, r0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - bl sub_8135A3C - ldr r1, _081357C8 @ =gScriptResult - ldrh r0, [r4] - strh r0, [r1] - ldr r1, _081357CC @ =gStringVar1 - adds r0, 0xA1 - strb r0, [r1] - movs r0, 0xFF - strb r0, [r1, 0x1] - b _0813589A - .align 2, 0 -_081357C0: .4byte 0x00000564 -_081357C4: .4byte 0x0000270e -_081357C8: .4byte gScriptResult -_081357CC: .4byte gStringVar1 -_081357D0: - lsls r0, r4, 1 - ldr r2, _081357F0 @ =0x0000055c - adds r1, r5, r2 - adds r4, r0, r1 - ldrh r1, [r4] - ldr r0, _081357F4 @ =0x00000595 - cmp r1, r0 - bhi _081357E4 - adds r0, r1, 0x1 - strh r0, [r4] -_081357E4: - bl sub_8135A3C - ldr r1, _081357F8 @ =gScriptResult - ldrh r0, [r4] - strh r0, [r1] - b _0813589A - .align 2, 0 -_081357F0: .4byte 0x0000055c -_081357F4: .4byte 0x00000595 -_081357F8: .4byte gScriptResult -_081357FC: - ldr r0, _08135818 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, _0813581C @ =0x00000554 - adds r3, r5, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 -_08135810: - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _0813589A - .align 2, 0 -_08135818: .4byte gSpecialVar_0x8005 -_0813581C: .4byte 0x00000554 -_08135820: - ldr r2, _08135830 @ =0x00000572 - adds r0, r5, r2 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGameStat - b _0813589A - .align 2, 0 -_08135830: .4byte 0x00000572 -_08135834: - ldr r3, _08135848 @ =0x00000556 - adds r0, r5, r3 - adds r0, r4, r0 - ldrb r0, [r0] - cmp r0, 0x3 - beq _0813589A - adds r0, r4, 0 - bl sub_813461C - b _0813589A - .align 2, 0 -_08135848: .4byte 0x00000556 -_0813584C: - ldr r1, _08135860 @ =0x00000556 - adds r0, r5, r1 - adds r0, r4, r0 - ldr r1, _08135864 @ =0x02000000 - ldr r2, _08135868 @ =0x000160fb - adds r1, r2 - ldrb r1, [r1] - strb r1, [r0] - b _0813589A - .align 2, 0 -_08135860: .4byte 0x00000556 -_08135864: .4byte 0x02000000 -_08135868: .4byte 0x000160fb -_0813586C: - adds r0, r4, 0 - bl sub_8135D3C - ldr r1, _08135880 @ =gSaveBlock2 - lsls r2, r4, 1 - ldr r3, _08135884 @ =0x00000574 - adds r1, r3 - adds r2, r1 - strh r0, [r2] - b _0813589A - .align 2, 0 -_08135880: .4byte gSaveBlock2 -_08135884: .4byte 0x00000574 -_08135888: - ldr r1, _081358A0 @ =0x00000554 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - movs r2, 0xAF - lsls r2, 3 - adds r1, r5, r2 -_08135898: - strb r0, [r1] -_0813589A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081358A0: .4byte 0x00000554 - thumb_func_end sub_8135668 - - thumb_func_start sub_81358A4 -sub_81358A4: @ 81358A4 - push {r4,lr} - ldr r1, _081358C8 @ =gSaveBlock2 - ldr r2, _081358CC @ =0x00000554 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 31 - lsrs r4, r0, 31 - ldr r0, _081358D0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r3, r1, 0 - cmp r0, 0xE - bls _081358BE - b _08135A0A -_081358BE: - lsls r0, 2 - ldr r1, _081358D4 @ =_081358D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081358C8: .4byte gSaveBlock2 -_081358CC: .4byte 0x00000554 -_081358D0: .4byte gSpecialVar_0x8004 -_081358D4: .4byte _081358D8 - .align 2, 0 -_081358D8: - .4byte _08135914 - .4byte _08135928 - .4byte _0813593C - .4byte _0813594C - .4byte _08135964 - .4byte _08135A0A - .4byte _08135A0A - .4byte _08135A0A - .4byte _08135978 - .4byte _08135990 - .4byte _081359A0 - .4byte _081359B4 - .4byte _081359BC - .4byte _081359DC - .4byte _081359F8 -_08135914: - ldr r0, _08135920 @ =gScriptResult - ldr r2, _08135924 @ =0x00000556 - adds r1, r3, r2 - adds r1, r4, r1 - b _0813596A - .align 2, 0 -_08135920: .4byte gScriptResult -_08135924: .4byte 0x00000556 -_08135928: - ldr r1, _08135934 @ =gScriptResult - ldr r4, _08135938 @ =0x00000554 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 31 - b _08135982 - .align 2, 0 -_08135934: .4byte gScriptResult -_08135938: .4byte 0x00000554 -_0813593C: - ldr r2, _08135948 @ =gScriptResult - lsls r0, r4, 1 - movs r4, 0xAB - lsls r4, 3 - b _08135952 - .align 2, 0 -_08135948: .4byte gScriptResult -_0813594C: - ldr r2, _0813595C @ =gScriptResult - lsls r0, r4, 1 - ldr r4, _08135960 @ =0x0000055c -_08135952: - adds r1, r3, r4 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - b _08135A0A - .align 2, 0 -_0813595C: .4byte gScriptResult -_08135960: .4byte 0x0000055c -_08135964: - ldr r0, _08135970 @ =gScriptResult - ldr r2, _08135974 @ =0x00000564 - adds r1, r3, r2 -_0813596A: - ldrb r1, [r1] - strh r1, [r0] - b _08135A0A - .align 2, 0 -_08135970: .4byte gScriptResult -_08135974: .4byte 0x00000564 -_08135978: - ldr r1, _08135988 @ =gScriptResult - ldr r4, _0813598C @ =0x00000554 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 30 -_08135982: - lsrs r0, 31 - strh r0, [r1] - b _08135A0A - .align 2, 0 -_08135988: .4byte gScriptResult -_0813598C: .4byte 0x00000554 -_08135990: - adds r0, r4, 0 - bl sub_8135D3C - ldr r1, _0813599C @ =gScriptResult - strh r0, [r1] - b _08135A0A - .align 2, 0 -_0813599C: .4byte gScriptResult -_081359A0: - ldr r1, _081359B0 @ =0x00000572 - adds r0, r3, r1 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGameStat - b _08135A0A - .align 2, 0 -_081359B0: .4byte 0x00000572 -_081359B4: - adds r0, r4, 0 - bl sub_813461C - b _08135A0A -_081359BC: - ldr r2, _081359D0 @ =0x00000556 - adds r0, r3, r2 - adds r0, r4, r0 - ldr r1, _081359D4 @ =0x02000000 - ldr r3, _081359D8 @ =0x000160fb - adds r1, r3 - ldrb r1, [r1] - strb r1, [r0] - b _08135A0A - .align 2, 0 -_081359D0: .4byte 0x00000556 -_081359D4: .4byte 0x02000000 -_081359D8: .4byte 0x000160fb -_081359DC: - adds r0, r4, 0 - bl sub_8135D3C - ldr r1, _081359F0 @ =gSaveBlock2 - lsls r2, r4, 1 - ldr r4, _081359F4 @ =0x00000574 - adds r1, r4 - adds r2, r1 - strh r0, [r2] - b _08135A0A - .align 2, 0 -_081359F0: .4byte gSaveBlock2 -_081359F4: .4byte 0x00000574 -_081359F8: - ldr r1, _08135A10 @ =0x00000554 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - movs r2, 0xAF - lsls r2, 3 - adds r1, r3, r2 - strb r0, [r1] -_08135A0A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08135A10: .4byte 0x00000554 - thumb_func_end sub_81358A4 - - thumb_func_start sub_8135A14 -sub_8135A14: @ 8135A14 - push {r4,lr} - movs r2, 0 - ldr r4, _08135A34 @ =gSelectedOrderFromParty - ldr r3, _08135A38 @ =gSaveBlock2 + 0x565 -_08135A1C: - adds r0, r2, r4 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08135A1C - bl ReducePlayerPartyToThree - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08135A34: .4byte gSelectedOrderFromParty -_08135A38: .4byte gSaveBlock2 + 0x565 - thumb_func_end sub_8135A14 - - thumb_func_start sub_8135A3C -sub_8135A3C: @ 8135A3C - push {r4-r6,lr} - ldr r6, _08135A84 @ =gSaveBlock2 - ldr r1, _08135A88 @ =0x00000554 - adds r0, r6, r1 - ldrb r4, [r0] - lsls r4, 31 - lsrs r4, 31 - adds r0, r4, 0 - bl sub_8135D3C - lsls r0, 16 - lsrs r5, r0, 16 - lsls r4, 1 - movs r3, 0xAC - lsls r3, 3 - adds r2, r6, r3 - adds r4, r2 - ldrh r0, [r4] - cmp r0, r5 - bcs _08135A66 - strh r5, [r4] -_08135A66: - ldr r0, _08135A8C @ =0x00000562 - adds r1, r6, r0 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bls _08135A94 - adds r5, r0, 0 - movs r0, 0x20 - adds r1, r5, 0 - bl SetGameStat - ldr r1, _08135A90 @ =0x0000270f - cmp r5, r1 - bhi _08135AA4 - b _08135AB4 - .align 2, 0 -_08135A84: .4byte gSaveBlock2 -_08135A88: .4byte 0x00000554 -_08135A8C: .4byte 0x00000562 -_08135A90: .4byte 0x0000270f -_08135A94: - ldrh r5, [r1] - movs r0, 0x20 - adds r1, r5, 0 - bl SetGameStat - ldr r1, _08135AAC @ =0x0000270f - cmp r5, r1 - bls _08135AB4 -_08135AA4: - ldr r2, _08135AB0 @ =0x00000572 - adds r0, r6, r2 - strh r1, [r0] - b _08135ABA - .align 2, 0 -_08135AAC: .4byte 0x0000270f -_08135AB0: .4byte 0x00000572 -_08135AB4: - ldr r3, _08135AC0 @ =0x00000572 - adds r0, r6, r3 - strh r5, [r0] -_08135ABA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08135AC0: .4byte 0x00000572 - thumb_func_end sub_8135A3C - - thumb_func_start sub_8135AC4 -sub_8135AC4: @ 8135AC4 - push {r4-r6,lr} - ldr r5, _08135AF0 @ =gSaveBlock2 + 0xA8 - adds r2, r5, 0 - subs r2, 0xA8 - ldr r1, _08135AF4 @ =0x000004ac - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r6, r0, 31 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _08135AFC - ldr r4, _08135AF8 @ =gUnknown_08405E7E - ldrb r0, [r2, 0xA] - ldrb r1, [r2, 0xB] - adds r0, r1 - ldrb r1, [r2, 0xC] - adds r0, r1 - ldrb r1, [r2, 0xD] - adds r0, r1 - movs r1, 0x14 - b _08135B0E - .align 2, 0 -_08135AF0: .4byte gSaveBlock2 + 0xA8 -_08135AF4: .4byte 0x000004ac -_08135AF8: .4byte gUnknown_08405E7E -_08135AFC: - ldr r4, _08135B84 @ =gUnknown_08405E60 - ldrb r0, [r2, 0xA] - ldrb r1, [r2, 0xB] - adds r0, r1 - ldrb r1, [r2, 0xC] - adds r0, r1 - ldrb r1, [r2, 0xD] - adds r0, r1 - movs r1, 0x1E -_08135B0E: - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - strb r6, [r5] - strb r0, [r5, 0x1] - adds r0, r5, 0 - adds r0, 0xC - ldr r4, _08135B88 @ =gSaveBlock2 + 0xA - adds r1, r4, 0 - bl copy_word_to_mem - adds r0, r5, 0x4 - subs r4, 0xA - adds r1, r4, 0 - bl StringCopy8 - adds r0, r6, 0 - bl sub_8135D3C - strh r0, [r5, 0x2] - ldr r0, _08135B8C @ =gSaveBlock1 - ldr r1, _08135B90 @ =0x00002b28 - adds r2, r0, r1 - adds r1, r5, 0 - adds r1, 0x10 - movs r4, 0x5 -_08135B44: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08135B44 - movs r4, 0 - ldr r6, _08135B94 @ =gSaveBlock2 + 0x565 -_08135B56: - adds r0, r4, r6 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08135B98 @ =gUnknown_030042FC - adds r0, r1 - movs r1, 0x2C - muls r1, r4 - adds r1, 0x1C - adds r1, r5, r1 - bl sub_803AF78 - adds r4, 0x1 - cmp r4, 0x2 - ble _08135B56 - ldr r0, _08135B9C @ =gSaveBlock2 + 0xA8 - bl sub_8135CC4 - bl sub_8135A3C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08135B84: .4byte gUnknown_08405E60 -_08135B88: .4byte gSaveBlock2 + 0xA -_08135B8C: .4byte gSaveBlock1 -_08135B90: .4byte 0x00002b28 -_08135B94: .4byte gSaveBlock2 + 0x565 -_08135B98: .4byte gUnknown_030042FC -_08135B9C: .4byte gSaveBlock2 + 0xA8 - thumb_func_end sub_8135AC4 - - thumb_func_start sub_8135BA0 -sub_8135BA0: @ 8135BA0 - push {r4,r5,lr} - ldr r2, _08135C1C @ =gSaveBlock2 - ldr r1, _08135C20 @ =0x00000554 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r5, r0, 31 - ldr r0, _08135C24 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x3 - beq _08135BBA - cmp r0, 0 - bne _08135BD8 -_08135BBA: - lsls r1, r5, 1 - ldr r3, _08135C28 @ =0x0000055c - adds r0, r2, r3 - adds r0, r1, r0 - ldrh r0, [r0] - cmp r0, 0x1 - bhi _08135BD4 - subs r3, 0x4 - adds r0, r2, r3 - adds r0, r1, r0 - ldrh r0, [r0] - cmp r0, 0x1 - bls _08135BD8 -_08135BD4: - bl sub_8135AC4 -_08135BD8: - bl sub_8135CFC - ldr r4, _08135C1C @ =gSaveBlock2 - ldr r0, _08135C2C @ =gBattleOutcome - ldrb r1, [r0] - ldr r2, _08135C30 @ =0x00000555 - adds r0, r4, r2 - strb r1, [r0] - ldr r0, _08135C24 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - cmp r1, 0x3 - beq _08135BF8 - ldr r3, _08135C34 @ =0x00000556 - adds r0, r4, r3 - adds r0, r5, r0 - strb r1, [r0] -_08135BF8: - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r0, _08135C20 @ =0x00000554 - adds r2, r4, r0 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x2 - bl TrySavingData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08135C1C: .4byte gSaveBlock2 -_08135C20: .4byte 0x00000554 -_08135C24: .4byte gSpecialVar_0x8004 -_08135C28: .4byte 0x0000055c -_08135C2C: .4byte gBattleOutcome -_08135C30: .4byte 0x00000555 -_08135C34: .4byte 0x00000556 - thumb_func_end sub_8135BA0 - - thumb_func_start sub_8135C38 -sub_8135C38: @ 8135C38 - push {lr} - bl DoSoftReset - pop {r0} - bx r0 - thumb_func_end sub_8135C38 - - thumb_func_start sub_8135C44 -sub_8135C44: @ 8135C44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r3, 0 - movs r1, 0 - ldr r2, _08135CBC @ =gSaveBlock2 + 0xA8 -_08135C50: - ldm r2!, {r0} - adds r3, r0 - adds r1, 0x1 - cmp r1, 0x27 - bls _08135C50 - ldr r5, _08135CC0 @ =gSaveBlock2 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - cmp r0, r3 - beq _08135C70 - adds r0, r5, 0 - adds r0, 0xA8 - bl sub_8135CE8 -_08135C70: - movs r4, 0 - movs r7, 0xA4 - movs r0, 0xA6 - lsls r0, 1 - adds r6, r5, r0 - mov r8, r5 -_08135C7C: - adds r0, r4, 0 - muls r0, r7 - movs r3, 0 - movs r1, 0 - adds r5, r4, 0x1 - adds r2, r0, r6 -_08135C88: - ldm r2!, {r0} - adds r3, r0 - adds r1, 0x1 - cmp r1, 0x27 - bls _08135C88 - adds r1, r4, 0 - muls r1, r7 - movs r0, 0xF6 - lsls r0, 1 - add r0, r8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, r3 - beq _08135CAA - adds r0, r1, r6 - bl sub_8135CE8 -_08135CAA: - adds r4, r5, 0 - cmp r4, 0x4 - ble _08135C7C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08135CBC: .4byte gSaveBlock2 + 0xA8 -_08135CC0: .4byte gSaveBlock2 - thumb_func_end sub_8135C44 - - thumb_func_start sub_8135CC4 -sub_8135CC4: @ 8135CC4 - push {r4,lr} - adds r2, r0, 0 - adds r2, 0xA0 - movs r1, 0 - str r1, [r2] - movs r3, 0 - adds r4, r0, 0 -_08135CD2: - ldr r0, [r2] - ldm r4!, {r1} - adds r0, r1 - str r0, [r2] - adds r3, 0x1 - cmp r3, 0x27 - bls _08135CD2 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8135CC4 - - thumb_func_start sub_8135CE8 -sub_8135CE8: @ 8135CE8 - push {lr} - movs r1, 0 - movs r2, 0 -_08135CEE: - stm r0!, {r2} - adds r1, 0x1 - cmp r1, 0x28 - bls _08135CEE - pop {r0} - bx r0 - thumb_func_end sub_8135CE8 - - thumb_func_start sub_8135CFC -sub_8135CFC: @ 8135CFC - push {r4,lr} - ldr r4, _08135D34 @ =gSaveBlock2 + 0x484 - adds r0, r4, 0 - bl get_trainer_name - ldr r2, _08135D38 @ =gBattleMons - adds r0, r2, 0 - adds r0, 0x58 - ldrh r1, [r0] - subs r0, r4, 0x2 - strh r1, [r0] - ldrh r1, [r2] - subs r0, r4, 0x4 - strh r1, [r0] - movs r3, 0 - adds r4, 0x8 - adds r2, 0x30 -_08135D1E: - adds r0, r3, r4 - adds r1, r3, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, 0x9 - ble _08135D1E - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08135D34: .4byte gSaveBlock2 + 0x484 -_08135D38: .4byte gBattleMons - thumb_func_end sub_8135CFC - - thumb_func_start sub_8135D3C -sub_8135D3C: @ 8135D3C - push {lr} - lsls r0, 24 - ldr r3, _08135D74 @ =gSaveBlock2 - lsrs r0, 23 - ldr r2, _08135D78 @ =0x0000055c - adds r1, r3, r2 - adds r1, r0, r1 - ldrh r2, [r1] - subs r2, 0x1 - lsls r1, r2, 3 - subs r1, r2 - movs r2, 0xAB - lsls r2, 3 - adds r3, r2 - adds r0, r3 - ldr r2, _08135D7C @ =0x0000ffff - adds r1, r2 - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r0, r1, 16 - ldr r1, _08135D80 @ =0x0000270f - cmp r0, r1 - bls _08135D6E - adds r0, r1, 0 -_08135D6E: - pop {r1} - bx r1 - .align 2, 0 -_08135D74: .4byte gSaveBlock2 -_08135D78: .4byte 0x0000055c -_08135D7C: .4byte 0x0000ffff -_08135D80: .4byte 0x0000270f - thumb_func_end sub_8135D3C - - thumb_func_start sub_8135D84 -sub_8135D84: @ 8135D84 - push {r4,r5,lr} - ldr r5, _08135DB0 @ =gSaveBlock2 - ldr r1, _08135DB4 @ =0x00000554 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - lsls r0, 1 - ldr r2, _08135DB8 @ =0x0000055c - adds r1, r5, r2 - adds r0, r1 - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x5 - ble _08135DC0 - bl Random - ldr r4, _08135DBC @ =gUnknown_08405EE6 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x9 - b _08135DCC - .align 2, 0 -_08135DB0: .4byte gSaveBlock2 -_08135DB4: .4byte 0x00000554 -_08135DB8: .4byte 0x0000055c -_08135DBC: .4byte gUnknown_08405EE6 -_08135DC0: - bl Random - ldr r4, _08135DE8 @ =gUnknown_08405EDA - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 -_08135DCC: - bl __umodsi3 - lsls r0, 16 - lsrs r0, 15 - adds r0, r4 - ldrh r1, [r0] - movs r2, 0xAD - lsls r2, 3 - adds r0, r5, r2 - strh r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08135DE8: .4byte gUnknown_08405EDA - thumb_func_end sub_8135D84 - - thumb_func_start sub_8135DEC -sub_8135DEC: @ 8135DEC - push {r4-r7,lr} - ldr r5, _08135E20 @ =gSaveBlock2 - ldr r1, _08135E24 @ =0x00000554 - adds r0, r5, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r7, r0, 31 - movs r0, 0xAD - lsls r0, 3 - adds r6, r5, r0 - ldrh r0, [r6] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _08135E30 - ldrh r0, [r6] - ldr r1, _08135E28 @ =gStringVar1 - bl CopyItemName - ldr r0, _08135E2C @ =gScriptResult - strh r4, [r0] - b _08135E40 - .align 2, 0 -_08135E20: .4byte gSaveBlock2 -_08135E24: .4byte 0x00000554 -_08135E28: .4byte gStringVar1 -_08135E2C: .4byte gScriptResult -_08135E30: - ldr r1, _08135E48 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - ldr r1, _08135E4C @ =0x00000556 - adds r0, r5, r1 - adds r0, r7, r0 - movs r1, 0x6 - strb r1, [r0] -_08135E40: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08135E48: .4byte gScriptResult -_08135E4C: .4byte 0x00000556 - thumb_func_end sub_8135DEC - - thumb_func_start sub_8135E50 -sub_8135E50: @ 8135E50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _08135ED4 @ =gSaveBlock2 - ldr r1, _08135ED8 @ =0x00000554 - adds r0, r6, r1 - ldrb r0, [r0] - lsls r0, 31 - lsrs r0, 31 - adds r1, r0, 0 - movs r7, 0x44 - cmp r1, 0 - beq _08135E6C - movs r7, 0x45 -_08135E6C: - ldr r4, _08135EDC @ =gScriptResult - movs r0, 0 - strh r0, [r4] - adds r0, r1, 0 - bl sub_8135D3C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x37 - bls _08135EBA - movs r5, 0 - ldr r0, _08135EE0 @ =0x00000565 - adds r0, r6 - mov r8, r0 - adds r6, r4, 0 -_08135E8A: - mov r1, r8 - adds r0, r5, r1 - ldrb r0, [r0] - subs r0, 0x1 - movs r1, 0x64 - muls r1, r0 - ldr r0, _08135EE4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl GetMonData - cmp r0, 0 - bne _08135EB4 - movs r0, 0x1 - strh r0, [r6] - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl SetMonData -_08135EB4: - adds r5, 0x1 - cmp r5, 0x2 - ble _08135E8A -_08135EBA: - ldr r0, _08135EDC @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0 - beq _08135EC8 - movs r0, 0x2A - bl IncrementGameStat -_08135EC8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08135ED4: .4byte gSaveBlock2 -_08135ED8: .4byte 0x00000554 -_08135EDC: .4byte gScriptResult -_08135EE0: .4byte 0x00000565 -_08135EE4: .4byte gPlayerParty - thumb_func_end sub_8135E50 - - thumb_func_start unref_sub_8135EE8 -unref_sub_8135EE8: @ 8135EE8 - push {r4-r7,lr} - ldr r7, _08135F0C @ =gSaveBlock2 + 0x498 - ldr r0, _08135F10 @ =0xfffffb68 - adds r2, r7, r0 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _08135F18 - ldr r4, _08135F14 @ =gUnknown_08405E7E - ldrb r0, [r2, 0xA] - ldrb r1, [r2, 0xB] - adds r0, r1 - ldrb r1, [r2, 0xC] - adds r0, r1 - ldrb r1, [r2, 0xD] - adds r0, r1 - movs r1, 0x14 - b _08135F2A - .align 2, 0 -_08135F0C: .4byte gSaveBlock2 + 0x498 -_08135F10: .4byte 0xfffffb68 -_08135F14: .4byte gUnknown_08405E7E -_08135F18: - ldr r4, _08135FA8 @ =gUnknown_08405E60 - ldrb r0, [r2, 0xA] - ldrb r1, [r2, 0xB] - adds r0, r1 - ldrb r1, [r2, 0xC] - adds r0, r1 - ldrb r1, [r2, 0xD] - adds r0, r1 - movs r1, 0x1E -_08135F2A: - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r7, 0x1] - adds r0, r7, 0 - adds r0, 0xC - ldr r4, _08135FAC @ =gSaveBlock2 + 0xA - adds r1, r4, 0 - bl copy_word_to_mem - adds r0, r7, 0x4 - subs r4, 0xA - adds r1, r4, 0 - bl StringCopy8 - movs r0, 0x1 - strh r0, [r7, 0x2] - movs r5, 0x7 - movs r4, 0 - ldr r0, _08135FB0 @ =gSaveBlock1 - ldr r1, _08135FB4 @ =0x00002b28 - adds r6, r0, r1 - adds r3, r7, 0 - adds r3, 0x10 - adds r2, r7, 0 - adds r2, 0x28 - adds r1, r7, 0 - adds r1, 0x1C -_08135F64: - ldrh r0, [r6] - strh r0, [r3] - strh r5, [r1] - adds r0, r5, 0x6 - strh r0, [r2] - adds r5, 0x1 - adds r6, 0x2 - adds r3, 0x2 - adds r2, 0x2 - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x5 - ble _08135F64 - movs r4, 0 -_08135F80: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08135FB8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - muls r1, r4 - adds r1, 0x34 - adds r1, r7, r1 - bl sub_803AF78 - adds r4, 0x1 - cmp r4, 0x2 - ble _08135F80 - adds r0, r7, 0 - bl sub_8136088 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08135FA8: .4byte gUnknown_08405E60 -_08135FAC: .4byte gSaveBlock2 + 0xA -_08135FB0: .4byte gSaveBlock1 -_08135FB4: .4byte 0x00002b28 -_08135FB8: .4byte gPlayerParty - thumb_func_end unref_sub_8135EE8 - - thumb_func_start sub_8135FBC -sub_8135FBC: @ 8135FBC - ldr r1, _08135FCC @ =gTrainerClassToPicIndex - ldr r0, _08135FD0 @ =gSaveBlock2 - ldr r2, _08135FD4 @ =0x00000499 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08135FCC: .4byte gTrainerClassToPicIndex -_08135FD0: .4byte gSaveBlock2 -_08135FD4: .4byte 0x00000499 - thumb_func_end sub_8135FBC - - thumb_func_start sub_8135FD8 -sub_8135FD8: @ 8135FD8 - ldr r1, _08135FE8 @ =gTrainerClassToNameIndex - ldr r0, _08135FEC @ =gSaveBlock2 - ldr r2, _08135FF0 @ =0x00000499 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08135FE8: .4byte gTrainerClassToNameIndex -_08135FEC: .4byte gSaveBlock2 -_08135FF0: .4byte 0x00000499 - thumb_func_end sub_8135FD8 - - thumb_func_start sub_8135FF4 -sub_8135FF4: @ 8135FF4 - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r4, _08136018 @ =gSaveBlock2 + 0x49C -_08135FFC: - adds r0, r3, r2 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _08135FFC - adds r1, r3, r2 - movs r0, 0xFF - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08136018: .4byte gSaveBlock2 + 0x49C - thumb_func_end sub_8135FF4 - - thumb_func_start sub_813601C -sub_813601C: @ 813601C - push {r4,r5,lr} - ldr r1, _08136044 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - ldr r5, _08136048 @ =gSaveBlock2 + 0x498 - movs r3, 0 - movs r2, 0 - adds r4, r1, 0 - adds r1, r5, 0 -_0813602E: - ldm r1!, {r0} - orrs r3, r0 - adds r2, 0x1 - cmp r2, 0x2D - bls _0813602E - cmp r3, 0 - bne _0813604C - movs r0, 0x1 - strh r0, [r4] - b _08136078 - .align 2, 0 -_08136044: .4byte gScriptResult -_08136048: .4byte gSaveBlock2 + 0x498 -_0813604C: - movs r3, 0 - movs r2, 0 - ldr r4, _08136080 @ =gSaveBlock2 - adds r1, r5, 0 -_08136054: - ldm r1!, {r0} - adds r3, r0 - adds r2, 0x1 - cmp r2, 0x2D - bls _08136054 - movs r1, 0xAA - lsls r1, 3 - adds r0, r4, r1 - ldr r0, [r0] - cmp r0, r3 - beq _08136078 - subs r1, 0xB8 - adds r0, r4, r1 - bl sub_81360AC - ldr r1, _08136084 @ =gScriptResult - movs r0, 0x1 - strh r0, [r1] -_08136078: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08136080: .4byte gSaveBlock2 -_08136084: .4byte gScriptResult - thumb_func_end sub_813601C - - thumb_func_start sub_8136088 -sub_8136088: @ 8136088 - push {r4,lr} - adds r2, r0, 0 - adds r2, 0xB8 - movs r1, 0 - str r1, [r2] - movs r3, 0 - adds r4, r0, 0 -_08136096: - ldr r0, [r2] - ldm r4!, {r1} - adds r0, r1 - str r0, [r2] - adds r3, 0x1 - cmp r3, 0x2D - bls _08136096 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8136088 - - thumb_func_start sub_81360AC -sub_81360AC: @ 81360AC - push {lr} - movs r1, 0 - movs r2, 0 -_081360B2: - stm r0!, {r2} - adds r1, 0x1 - cmp r1, 0x2E - bls _081360B2 - pop {r0} - bx r0 - thumb_func_end sub_81360AC - - thumb_func_start sub_81360C0 -sub_81360C0: @ 81360C0 - push {lr} - ldr r0, _081360CC @ =gSaveBlock2 + 0x4A8 - bl sub_813545C - pop {r0} - bx r0 - .align 2, 0 -_081360CC: .4byte gSaveBlock2 + 0x4A8 - thumb_func_end sub_81360C0 - - thumb_func_start sub_81360D0 -sub_81360D0: @ 81360D0 - push {lr} - ldr r0, _081360E4 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x3 - bne _081360EC - ldr r1, _081360E8 @ =gStringVar4 - movs r0, 0xFF - strb r0, [r1] - b _08136102 - .align 2, 0 -_081360E4: .4byte gBattleOutcome -_081360E8: .4byte gStringVar4 -_081360EC: - cmp r0, 0x1 - bne _081360FC - ldr r0, _081360F8 @ =gSaveBlock2 + 0x4C0 - bl sub_813545C - b _08136102 - .align 2, 0 -_081360F8: .4byte gSaveBlock2 + 0x4C0 -_081360FC: - ldr r0, _08136108 @ =gSaveBlock2 + 0x4B4 - bl sub_813545C -_08136102: - pop {r0} - bx r0 - .align 2, 0 -_08136108: .4byte gSaveBlock2 + 0x4B4 - thumb_func_end sub_81360D0 - - thumb_func_start sub_813610C -sub_813610C: @ 813610C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0813612C @ =gSaveBlock2 + 0x556 -_08136112: - adds r0, r4, r5 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813611E - bl sub_80BFD20 -_0813611E: - adds r4, 0x1 - cmp r4, 0x1 - ble _08136112 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813612C: .4byte gSaveBlock2 + 0x556 - thumb_func_end sub_813610C - -.ifdef GERMAN - thumb_func_start de_sub_81364AC -de_sub_81364AC: @ 81364AC - push {lr} - ldr r2, _DE_081364C0 @ =gSaveBlock2 - ldr r0, _DE_081364C4 @ =0x00000564 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0xC8 - bne _DE_081364CC - ldr r1, _DE_081364C8 @ =0x00000499 - adds r0, r2, r1 - b _DE_081364F2 - .align 2, 0 -_DE_081364C0: .4byte gSaveBlock2 -_DE_081364C4: .4byte 0x00000564 -_DE_081364C8: .4byte 0x00000499 -_DE_081364CC: - cmp r0, 0x63 - bhi _DE_081364E4 - ldr r2, _DE_081364E0 @ =gBattleTowerTrainers - ldrb r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - b _DE_081364F2 - .align 2, 0 -_DE_081364E0: .4byte gBattleTowerTrainers -_DE_081364E4: - ldrb r0, [r1] - subs r0, 0x64 - movs r1, 0xA4 - muls r0, r1 - adds r0, r2 - adds r1, 0xA9 - adds r0, r1 -_DE_081364F2: - ldrb r0, [r0] - pop {r1} - bx r1 - thumb_func_end de_sub_81364AC - - thumb_func_start de_sub_81364F8 -de_sub_81364F8: @ 81364F8 - ldr r0, _DE_08136504 @ =gSaveBlock2 - ldr r1, _DE_08136508 @ =0x00000499 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_DE_08136504: .4byte gSaveBlock2 -_DE_08136508: .4byte 0x00000499 - thumb_func_end de_sub_81364F8 -.endif - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_car.s b/asm/cable_car.s index e4d989844..385cd404d 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -256,22 +256,22 @@ _081233EC: ldr r0, _0812345C @ =gCableCarMtChimneyTilemap ldr r4, _08123460 @ =0x02019000 adds r1, r4, 0 - bl sub_800D238 + bl LZDecompressWram ldr r0, _08123464 @ =gCableCarTreeTilemap movs r2, 0xB4 lsls r2, 1 adds r1, r4, r2 - bl sub_800D238 + bl LZDecompressWram ldr r0, _08123468 @ =gCableCarMountainTilemap movs r2, 0xA5 lsls r2, 3 adds r1, r4, r2 - bl sub_800D238 + bl LZDecompressWram ldr r0, _0812346C @ =gCableCarPylonStemTilemap ldr r1, _08123470 @ =0x000009d8 adds r4, r1 adds r1, r4, 0 - bl sub_800D238 + bl LZDecompressWram ldr r0, _08123474 @ =gCableCarBG_Pal movs r1, 0 movs r2, 0x80 diff --git a/asm/contest.s b/asm/contest.s index 4a85f3d16..c5dfe3e2e 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -6904,7 +6904,7 @@ sub_80AE9FC: @ 80AE9FC adds r0, r5, 0 mov r1, r8 adds r2, r6, 0 - bl species_and_otid_get_pal + bl GetMonSpritePalFromOtIdPersonality movs r1, 0x90 lsls r1, 1 movs r2, 0x20 diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s index 93dd26eee..b91a9665b 100644 --- a/asm/contest_link_80C2020.s +++ b/asm/contest_link_80C2020.s @@ -1361,7 +1361,7 @@ _080C2B14: adds r0, r6, 0 ldr r1, [sp, 0xC] adds r2, r4, 0 - bl sub_80409C8 + bl GetMonSpritePalStructFromOtIdPersonality adds r4, r0, 0 bl LoadCompressedObjectPalette adds r0, r6, 0 @@ -1601,7 +1601,7 @@ _080C2D42: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl GetNationalPokedexFlag + bl GetSetPokedexFlag adds r5, 0x40 subs r4, 0x1 cmp r4, 0 diff --git a/asm/daycare.s b/asm/daycare.s deleted file mode 100644 index a0ea9124a..000000000 --- a/asm/daycare.s +++ /dev/null @@ -1,2399 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80416A0 -sub_80416A0: @ 80416A0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - lsls r0, r4, 2 - mov r8, r0 - add r4, r8 - lsls r4, 4 - adds r4, r5, r4 - adds r0, r4, 0 - bl GetLevelFromBoxMonExp - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x88 - lsls r0, 1 - adds r5, r0 - add r5, r8 - ldr r1, [r5] - adds r0, r4, 0 - bl Daycare_GetLevelAfterSteps - lsls r0, 24 - lsrs r0, 24 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80416A0 - - thumb_func_start sub_80416E8 -sub_80416E8: @ 80416E8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl sub_80416A0 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - adds r6, r0 - ldr r1, _08041720 @ =gStringVar1 - adds r0, r6, 0 - bl GetBoxMonNick - ldr r0, _08041724 @ =gStringVar2 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08041720: .4byte gStringVar1 -_08041724: .4byte gStringVar2 - thumb_func_end sub_80416E8 - - thumb_func_start sub_8041728 -sub_8041728: @ 8041728 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl sub_80416A0 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - adds r6, r0 - ldr r1, _08041768 @ =gStringVar1 - adds r0, r6, 0 - bl GetBoxMonNick - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - adds r4, 0x64 - ldr r0, _0804176C @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08041768: .4byte gStringVar1 -_0804176C: .4byte gStringVar2 - thumb_func_end sub_8041728 - - thumb_func_start sub_8041770 -sub_8041770: @ 8041770 - push {lr} - ldr r0, _08041784 @ =gSaveBlock1 + 0x2F9C - ldr r1, _08041788 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_8041728 - ldr r1, _0804178C @ =gSpecialVar_0x8005 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08041784: .4byte gSaveBlock1 + 0x2F9C -_08041788: .4byte gSpecialVar_0x8004 -_0804178C: .4byte gSpecialVar_0x8005 - thumb_func_end sub_8041770 - - thumb_func_start sub_8041790 -sub_8041790: @ 8041790 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _080417AC @ =gSaveBlock1 - ldr r1, _080417B0 @ =0x000030ac - adds r3, r2, r1 - ldr r1, [r3] - adds r1, r0 - str r1, [r3] - ldr r1, _080417B4 @ =0x000030b0 - adds r2, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r2] - bx lr - .align 2, 0 -_080417AC: .4byte gSaveBlock1 -_080417B0: .4byte 0x000030ac -_080417B4: .4byte 0x000030b0 - thumb_func_end sub_8041790 - - thumb_func_start sub_80417B8 -sub_80417B8: @ 80417B8 - push {r4,r5,lr} - ldr r5, _080417D8 @ =gSpecialVar_0x8004 - ldrh r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - ldr r4, _080417DC @ =gSaveBlock1 + 0x2F9C - adds r0, r4 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080417E0 - movs r0, 0 - b _080417EC - .align 2, 0 -_080417D8: .4byte gSpecialVar_0x8004 -_080417DC: .4byte gSaveBlock1 + 0x2F9C -_080417E0: - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_80416E8 - lsls r0, 24 - lsrs r0, 24 -_080417EC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80417B8 - - thumb_func_start sub_80417F4 -sub_80417F4: @ 80417F4 - push {lr} - movs r3, 0 - movs r2, 0x7 - adds r1, r0, 0 - adds r1, 0x2B -_080417FE: - strb r3, [r1] - subs r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bge _080417FE - adds r2, r0, 0 - adds r2, 0x2C - movs r3, 0 - adds r1, r0, 0 - adds r1, 0x36 -_08041812: - strb r3, [r1] - subs r1, 0x1 - cmp r1, r2 - bge _08041812 - bl ClearMailStruct - pop {r0} - bx r0 - thumb_func_end sub_80417F4 - - thumb_func_start unref_sub_8041824 -unref_sub_8041824: @ 8041824 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 -_0804182A: - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 4 - adds r0, r6, r0 - bl ZeroBoxMonData - movs r1, 0x88 - lsls r1, 1 - adds r0, r6, r1 - adds r0, r4 - movs r4, 0 - str r4, [r0] - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 3 - adds r0, 0xA0 - adds r0, r6, r0 - bl sub_80417F4 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0804182A - movs r2, 0x8C - lsls r2, 1 - adds r0, r6, r2 - movs r1, 0 - strh r4, [r0] - adds r2, 0x2 - adds r0, r6, r2 - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end unref_sub_8041824 - - thumb_func_start sub_8041870 -sub_8041870: @ 8041870 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - mov r8, r0 - ldr r0, _0804189C @ =gEvolutionTable - mov r12, r0 -_08041882: - movs r7, 0 - movs r6, 0x1 - movs r4, 0x80 - lsls r4, 9 - movs r5, 0x28 - mov r3, r12 - adds r3, 0x28 -_08041890: - movs r1, 0 - ldrh r0, [r3, 0x4] - cmp r0, r2 - bne _080418A0 - lsrs r2, r4, 16 - b _080418CC - .align 2, 0 -_0804189C: .4byte gEvolutionTable -_080418A0: - adds r1, 0x1 - cmp r1, 0x4 - bgt _080418B6 - lsls r0, r1, 3 - adds r0, r5 - add r0, r12 - ldrh r0, [r0, 0x4] - cmp r0, r2 - bne _080418A0 - lsrs r2, r4, 16 - movs r7, 0x1 -_080418B6: - cmp r7, 0 - bne _080418CC - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x28 - adds r3, 0x28 - adds r6, 0x1 - ldr r0, _080418EC @ =0x0000019b - cmp r6, r0 - ble _08041890 -_080418CC: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - beq _080418DE - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x4 - ble _08041882 -_080418DE: - adds r0, r2, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080418EC: .4byte 0x0000019b - thumb_func_end sub_8041870 - - thumb_func_start sub_80418F0 -sub_80418F0: @ 80418F0 - push {r4,lr} - adds r4, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08041918 @ =0x0000fffe - bl __umodsi3 - adds r0, 0x1 - movs r1, 0x8C - lsls r1, 1 - adds r4, r1 - strh r0, [r4] - movs r0, 0x86 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08041918: .4byte 0x0000fffe - thumb_func_end sub_80418F0 - - thumb_func_start sub_804191C -sub_804191C: @ 804191C - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - movs r2, 0x8C - lsls r2, 1 - adds r4, r2 - orrs r1, r0 - strh r1, [r4] - movs r0, 0x86 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804191C - - thumb_func_start sub_8041940 -sub_8041940: @ 8041940 - push {lr} - ldr r0, _0804194C @ =gSaveBlock1 + 0x2F9C - bl sub_80418F0 - pop {r0} - bx r0 - .align 2, 0 -_0804194C: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end sub_8041940 - - thumb_func_start sub_8041950 -sub_8041950: @ 8041950 - push {lr} - ldr r0, _0804195C @ =gSaveBlock1 + 0x2F9C - bl sub_804191C - pop {r0} - bx r0 - .align 2, 0 -_0804195C: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end sub_8041950 - - thumb_func_start sub_8041960 -sub_8041960: @ 8041960 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - movs r2, 0 -_08041972: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x5 - ble _08041972 - movs r3, 0 - movs r2, 0 -_08041986: - mov r1, sp - adds r0, r1, r2 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0xFF - beq _08041998 - adds r0, r4, r3 - strb r1, [r0] - adds r3, 0x1 -_08041998: - adds r2, 0x1 - cmp r2, 0x5 - ble _08041986 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8041960 - - thumb_func_start sub_80419A8 -sub_80419A8: @ 80419A8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r0 - mov r8, r1 - movs r5, 0 - add r1, sp, 0x4 - add r7, sp, 0xC - adds r2, r1, 0 -_080419BE: - adds r0, r2, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080419BE - movs r5, 0 - adds r6, r1, 0 -_080419D0: - bl Random - mov r1, sp - adds r4, r1, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - subs r1, r5 - bl __modsi3 - adds r0, r6, r0 - ldrb r0, [r0] - strb r0, [r4] - ldrb r1, [r4] - adds r0, r6, 0 - bl sub_8041960 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080419D0 - movs r5, 0 - movs r4, 0x1 -_08041A00: - bl Random - adds r1, r7, r5 - lsls r0, 16 - lsrs r0, 16 - ands r0, r4 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08041A00 - movs r5, 0 -_08041A1A: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08041B02 - lsls r0, 2 - ldr r1, _08041A30 @ =_08041A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08041A30: .4byte _08041A34 - .align 2, 0 -_08041A34: - .4byte _08041A4C - .4byte _08041A6C - .4byte _08041A88 - .4byte _08041AA4 - .4byte _08041AC0 - .4byte _08041AE2 -_08041A4C: - adds r0, r7, r5 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - movs r1, 0x27 - bl GetBoxMonData - add r2, sp, 0x10 - strb r0, [r2] - mov r0, r9 - movs r1, 0x27 - bl SetMonData - b _08041B02 -_08041A6C: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - movs r1, 0x28 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x28 - b _08041ADA -_08041A88: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - movs r1, 0x29 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x29 - b _08041ADA -_08041AA4: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - movs r1, 0x2A - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2A - b _08041ADA -_08041AC0: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - movs r1, 0x2B - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2B -_08041ADA: - adds r2, r4, 0 - bl SetMonData - b _08041B02 -_08041AE2: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - movs r1, 0x2C - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2C - adds r2, r4, 0 - bl SetMonData -_08041B02: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08041A1A - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80419A8 - - thumb_func_start pokemon_get_eggmoves -pokemon_get_eggmoves: @ 8041B1C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - movs r6, 0 - movs r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, _08041B44 @ =gEggMoves - ldrh r1, [r5] - ldr r7, _08041B48 @ =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _08041B4C - movs r4, 0x1 - b _08041B6E - .align 2, 0 -_08041B44: .4byte gEggMoves -_08041B48: .4byte 0x00004e20 -_08041B4C: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08041BB8 @ =0x00000471 - ldr r5, _08041BBC @ =gEggMoves - cmp r2, r0 - bhi _08041B6E - lsls r0, r2, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r7, _08041BC0 @ =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _08041B4C - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_08041B6E: - movs r2, 0 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r1, _08041BC0 @ =0x00004e20 - cmp r0, r1 - bhi _08041BAA - adds r7, r5, 0 - adds r3, r1, 0 -_08041B80: - lsls r1, r2, 1 - add r1, r8 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bhi _08041BAA - adds r0, r4, r2 - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r3 - bls _08041B80 -_08041BAA: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08041BB8: .4byte 0x00000471 -_08041BBC: .4byte gEggMoves -_08041BC0: .4byte 0x00004e20 - thumb_func_end pokemon_get_eggmoves - - thumb_func_start daycare_build_child_moveset -daycare_build_child_moveset: @ 8041BC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - mov r10, r1 - mov r9, r2 - movs r0, 0 - str r0, [sp] - movs r6, 0 - ldr r5, _08041CC8 @ =gUnknown_03000500 - movs r2, 0 - ldr r4, _08041CCC @ =gUnknown_030004D8 - ldr r3, _08041CD0 @ =gUnknown_030004E0 -_08041BE4: - lsls r1, r6, 1 - adds r0, r1, r5 - strh r2, [r0] - adds r0, r1, r4 - strh r2, [r0] - adds r1, r3 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08041BE4 - movs r6, 0 - ldr r2, _08041CD4 @ =gUnknown_030004E8 - movs r1, 0 -_08041C02: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08041C02 - movs r6, 0 - ldr r2, _08041CD8 @ =gUnknown_03000470 - movs r1, 0 -_08041C18: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x31 - bls _08041C18 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08041CD8 @ =gUnknown_03000470 - bl GetLevelUpMovesBySpecies - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r6, 0 - ldr r1, _08041CCC @ =gUnknown_030004D8 - mov r8, r1 -_08041C46: - adds r5, r6, 0 - adds r5, 0xD - mov r0, r10 - adds r1, r5, 0 - bl GetBoxMonData - lsls r4, r6, 1 - mov r2, r8 - adds r1, r4, r2 - strh r0, [r1] - mov r0, r9 - adds r1, r5, 0 - bl GetBoxMonData - ldr r1, _08041CC8 @ =gUnknown_03000500 - adds r4, r1 - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08041C46 - ldr r1, _08041CD4 @ =gUnknown_030004E8 - adds r0, r7, 0 - bl pokemon_get_eggmoves - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 -_08041C82: - ldr r0, _08041CCC @ =gUnknown_030004D8 - lsls r1, r6, 1 - adds r2, r1, r0 - ldrh r1, [r2] - mov r9, r0 - cmp r1, 0 - beq _08041CF8 - movs r5, 0 - cmp r5, r8 - bcs _08041CEA - adds r4, r2, 0 - ldr r2, _08041CDC @ =0x0000ffff -_08041C9A: - ldr r0, _08041CD4 @ =gUnknown_030004E8 - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bne _08041CE0 - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _08041CEA - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _08041CEA - .align 2, 0 -_08041CC8: .4byte gUnknown_03000500 -_08041CCC: .4byte gUnknown_030004D8 -_08041CD0: .4byte gUnknown_030004E0 -_08041CD4: .4byte gUnknown_030004E8 -_08041CD8: .4byte gUnknown_03000470 -_08041CDC: .4byte 0x0000ffff -_08041CE0: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _08041C9A -_08041CEA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, _08041E14 @ =gUnknown_030004D8 - mov r9, r3 - cmp r6, 0x3 - bls _08041C82 -_08041CF8: - movs r6, 0 -_08041CFA: - lsls r0, r6, 1 - mov r2, r9 - adds r1, r0, r2 - ldrh r1, [r1] - adds r2, r0, 0 - adds r6, 0x1 - mov r8, r6 - cmp r1, 0 - beq _08041D5C - movs r5, 0 - ldr r0, _08041E14 @ =gUnknown_030004D8 - adds r4, r2, r0 - ldr r6, _08041E18 @ =0x0000ffff - mov r9, r0 -_08041D16: - ldr r3, _08041E1C @ =0x00000121 - adds r0, r5, r3 - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBattleMoveId - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bne _08041D52 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl CanMonLearnTMHM - cmp r0, 0 - beq _08041D52 - ldrh r1, [r4] - adds r0, r7, 0 - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bne _08041D52 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_08041D52: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x39 - bls _08041D16 -_08041D5C: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08041CFA - movs r6, 0 - mov r2, r9 - ldrh r0, [r2] - ldr r3, _08041E20 @ =gUnknown_030004E0 - mov r10, r3 - cmp r0, 0 - beq _08041DC6 - mov r4, r9 - ldr r0, _08041E24 @ =gUnknown_03000500 - mov r9, r0 - mov r12, r10 -_08041D7C: - movs r5, 0 - lsls r2, r6, 1 - adds r6, 0x1 - mov r8, r6 - adds r3, r2, r4 -_08041D86: - lsls r0, r5, 1 - add r0, r9 - ldrh r2, [r3] - adds r1, r2, 0 - ldrh r0, [r0] - cmp r1, r0 - bne _08041DA8 - cmp r1, 0 - beq _08041DA8 - ldr r1, [sp] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 1 - add r1, r12 - strh r2, [r1] -_08041DA8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08041D86 - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08041DC6 - lsls r0, r6, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - bne _08041D7C -_08041DC6: - movs r6, 0 - mov r2, r10 - ldrh r0, [r2] - cmp r0, 0 - beq _08041E50 -_08041DD0: - movs r5, 0 - adds r3, r6, 0x1 - mov r8, r3 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcs _08041E38 - ldr r2, _08041E18 @ =0x0000ffff -_08041DDE: - ldr r1, _08041E28 @ =gUnknown_03000470 - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _08041E2C - lsls r0, r6, 1 - mov r3, r10 - adds r4, r0, r3 - ldrh r0, [r4] - cmp r0, r1 - bne _08041E2C - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _08041E38 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _08041E38 - .align 2, 0 -_08041E14: .4byte gUnknown_030004D8 -_08041E18: .4byte 0x0000ffff -_08041E1C: .4byte 0x00000121 -_08041E20: .4byte gUnknown_030004E0 -_08041E24: .4byte gUnknown_03000500 -_08041E28: .4byte gUnknown_03000470 -_08041E2C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcc _08041DDE -_08041E38: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08041E50 - ldr r0, _08041E60 @ =gUnknown_030004E0 - lsls r1, r6, 1 - adds r1, r0 - ldrh r1, [r1] - mov r10, r0 - cmp r1, 0 - bne _08041DD0 -_08041E50: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08041E60: .4byte gUnknown_030004E0 - thumb_func_end daycare_build_child_moveset - - thumb_func_start sub_8041E64 -sub_8041E64: @ 8041E64 - adds r3, r0, 0 - movs r1, 0x8C - lsls r1, 1 - adds r0, r3, r1 - movs r2, 0 - movs r1, 0 - strh r1, [r0] - movs r1, 0x8D - lsls r1, 1 - adds r0, r3, r1 - strb r2, [r0] - bx lr - thumb_func_end sub_8041E64 - - thumb_func_start sub_8041E7C -sub_8041E7C: @ 8041E7C - push {lr} - ldr r0, _08041E88 @ =gSaveBlock1 + 0x2F9C - bl sub_8041E64 - pop {r0} - bx r0 - .align 2, 0 -_08041E88: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end sub_8041E7C - - thumb_func_start incense_effects -incense_effects: @ 8041E8C - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrh r1, [r4] - movs r7, 0xB4 - lsls r7, 1 - cmp r1, r7 - beq _08041EA4 - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _08041EE6 -_08041EA4: - adds r0, r5, 0 - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r0, 0x50 - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4] - cmp r0, r7 - bne _08041ED0 - cmp r6, 0xDD - beq _08041ED0 - cmp r2, 0xDD - beq _08041ED0 - movs r0, 0xCA - strh r0, [r4] -_08041ED0: - ldrh r1, [r4] - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _08041EE6 - cmp r6, 0xDC - beq _08041EE6 - cmp r2, 0xDC - beq _08041EE6 - movs r0, 0xB7 - strh r0, [r4] -_08041EE6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end incense_effects - - thumb_func_start sub_8041EEC -sub_8041EEC: @ 8041EEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - adds r6, r1, 0 - movs r4, 0 - movs r7, 0x1 -_08041EFC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - mov r1, r8 - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bne _08041F26 - adds r0, r4, 0 - eors r0, r7 - strb r0, [r6] - strb r4, [r6, 0x1] - b _08041F3C -_08041F26: - adds r0, r5, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - bne _08041F3C - strb r4, [r6] - adds r0, r4, 0 - eors r0, r7 - strb r0, [r6, 0x1] -_08041F3C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08041EFC - ldrb r0, [r6] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - bl sub_8041870 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bne _08041F6E - movs r0, 0x8C - lsls r0, 1 - add r0, r8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08041F6E - movs r4, 0x20 -_08041F6E: - ldr r0, _08041FC0 @ =0x00000183 - cmp r4, r0 - bne _08041F88 - subs r0, 0x6B - add r0, r8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08041F88 - movs r4, 0xC1 - lsls r4, 1 -_08041F88: - ldrb r0, [r6, 0x1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - cmp r0, 0x84 - bne _08041FB2 - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - add r0, r8 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - beq _08041FB2 - ldrb r1, [r6, 0x1] - ldrb r0, [r6] - strb r0, [r6, 0x1] - strb r1, [r6] -_08041FB2: - adds r0, r4, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08041FC0: .4byte 0x00000183 - thumb_func_end sub_8041EEC - - thumb_func_start sub_8041FC4 -sub_8041FC4: @ 8041FC4 - push {r4-r6,lr} - sub sp, 0x6C - adds r5, r0, 0 - add r6, sp, 0x64 - adds r1, r6, 0 - bl sub_8041EEC - add r4, sp, 0x68 - strh r0, [r4] - adds r0, r4, 0 - adds r1, r5, 0 - bl incense_effects - ldrh r1, [r4] - mov r0, sp - adds r2, r5, 0 - bl sub_80420FC - mov r0, sp - adds r1, r5, 0 - bl sub_80419A8 - ldrb r0, [r6, 0x1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 4 - adds r1, r5, r1 - ldrb r0, [r6] - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 4 - adds r2, r5, r2 - mov r0, sp - bl daycare_build_child_moveset - mov r2, sp - adds r2, 0x6A - movs r0, 0x1 - strb r0, [r2] - mov r0, sp - movs r1, 0x2D - bl SetMonData - ldr r0, _08042040 @ =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r0, r1 - mov r1, sp - movs r2, 0x64 - bl memcpy - bl party_compaction - bl CalculatePlayerPartyCount - adds r0, r5, 0 - bl sub_8041E64 - add sp, 0x6C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08042040: .4byte gPlayerParty - thumb_func_end sub_8041FC4 - - thumb_func_start sub_8042044 -sub_8042044: @ 8042044 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r7, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r0, 0x12 - add r0, sp - mov r8, r0 - strb r4, [r0] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - movs r0, 0x1 - mov r9, r0 - mov r0, r9 - strb r0, [r4] - adds r0, r7, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, _080420F4 @ =gUnknown_08209AD4 - adds r0, r7, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, _080420F8 @ =gBaseStats + 0x11 @ egg cycles offset - adds r2, r0 - adds r0, r7, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x24 - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - cmp r6, 0 - beq _080420D6 - add r2, sp, 0x14 - movs r0, 0xFD - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x23 - bl SetMonData -_080420D6: - mov r2, sp - adds r2, 0x15 - mov r0, r9 - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x2D - bl SetMonData - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080420F4: .4byte gUnknown_08209AD4 -_080420F8: .4byte gBaseStats + 0x11 @ egg cycles offset - thumb_func_end sub_8042044 - - thumb_func_start sub_80420FC -sub_80420FC: @ 80420FC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - bl Random - movs r1, 0x8C - lsls r1, 1 - adds r4, r1 - ldrh r1, [r4] - lsls r0, 16 - orrs r1, r0 - movs r0, 0x1 - mov r8, r0 - str r0, [sp] - str r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r1, 0x12 - add r1, sp - mov r9, r1 - strb r4, [r1] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - mov r0, r8 - strb r0, [r4] - adds r0, r6, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, _08042198 @ =gUnknown_08209AD4 - adds r0, r6, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, _0804219C @ =gBaseStats + 0x11 @ egg cycles offset - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x24 - mov r2, r9 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08042198: .4byte gUnknown_08209AD4 -_0804219C: .4byte gBaseStats + 0x11 @ egg cycles offset - thumb_func_end sub_80420FC - - thumb_func_start sp0B8_daycare -sp0B8_daycare: @ 80421A0 - push {lr} - ldr r0, _080421AC @ =gSaveBlock1 + 0x2F9C - bl sub_8041FC4 - pop {r0} - bx r0 - .align 2, 0 -_080421AC: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end sp0B8_daycare - - thumb_func_start sub_80421B0 -sub_80421B0: @ 80421B0 - push {r4-r7,lr} - sub sp, 0x8 - adds r7, r0, 0 - movs r2, 0 - movs r6, 0 - adds r5, r7, 0 -_080421BC: - lsls r4, r6, 2 - adds r0, r5, 0 - movs r1, 0x5 - str r2, [sp, 0x4] - bl GetBoxMonData - ldr r2, [sp, 0x4] - cmp r0, 0 - beq _080421DE - movs r0, 0x88 - lsls r0, 1 - adds r1, r7, r0 - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - adds r2, 0x1 -_080421DE: - adds r5, 0x50 - adds r6, 0x1 - cmp r6, 0x1 - bls _080421BC - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _08042226 - cmp r2, 0x2 - bne _08042226 - subs r1, 0x4 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08042226 - adds r0, r7, 0 - bl daycare_relationship_score - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08042240 @ =0x0000ffff - bl __udivsi3 - cmp r4, r0 - bls _08042226 - bl sub_8041940 -_08042226: - movs r0, 0x8D - lsls r0, 1 - adds r1, r7, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08042290 - movs r6, 0 - b _08042288 - .align 2, 0 -_08042240: .4byte 0x0000ffff -_08042244: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _08042270 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _08042286 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - str r0, [sp] - cmp r0, 0 - bne _08042278 - ldr r0, _08042274 @ =gSpecialVar_0x8004 - strh r6, [r0] - movs r0, 0x1 - b _08042292 - .align 2, 0 -_08042270: .4byte gPlayerParty -_08042274: .4byte gSpecialVar_0x8004 -_08042278: - subs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_08042286: - adds r6, 0x1 -_08042288: - ldr r0, _0804229C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r6, r0 - bcc _08042244 -_08042290: - movs r0, 0 -_08042292: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804229C: .4byte gPlayerPartyCount - thumb_func_end sub_80421B0 - - thumb_func_start sub_80422A0 -sub_80422A0: @ 80422A0 - push {lr} - ldr r0, _080422B0 @ =gSaveBlock1 + 0x2F9C - bl sub_80421B0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080422B0: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end sub_80422A0 - - thumb_func_start sub_80422B4 -sub_80422B4: @ 80422B4 - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - thumb_func_end sub_80422B4 - - thumb_func_start sub_80422C4 -sub_80422C4: @ 80422C4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080422FC - ldr r1, _0804231C @ =gStringVar1 - adds r0, r6, 0 - bl GetBoxMonNick - adds r0, r6, 0 - movs r1, 0x3 - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08042320 @ =gStringVar3 - adds r0, r6, 0 - movs r1, 0x7 - adds r2, r5, 0 - bl GetBoxMonData - adds r0, r5, 0 - adds r1, r4, 0 - bl ConvertInternationalString -_080422FC: - adds r4, r6, 0 - adds r4, 0x50 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08042314 - ldr r1, _08042324 @ =gStringVar2 - adds r0, r4, 0 - bl GetBoxMonNick -_08042314: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804231C: .4byte gStringVar1 -_08042320: .4byte gStringVar3 -_08042324: .4byte gStringVar2 - thumb_func_end sub_80422C4 - - thumb_func_start sub_8042328 -sub_8042328: @ 8042328 - push {r4-r6,lr} - ldr r6, _08042354 @ =gLastFieldPokeMenuOpened - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08042358 @ =gPlayerParty - adds r0, r4 - ldr r1, _0804235C @ =gStringVar1 - bl GetBoxMonNick - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08042354: .4byte gLastFieldPokeMenuOpened -_08042358: .4byte gPlayerParty -_0804235C: .4byte gStringVar1 - thumb_func_end sub_8042328 - - thumb_func_start sp0B5_daycare -sp0B5_daycare: @ 8042360 - push {lr} - ldr r0, _0804236C @ =gSaveBlock1 + 0x2F9C - bl sub_80422C4 - pop {r0} - bx r0 - .align 2, 0 -_0804236C: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end sp0B5_daycare - - thumb_func_start sp0B6_daycare -sp0B6_daycare: @ 8042370 - push {r4,lr} - ldr r4, _08042384 @ =gSaveBlock1 + 0x2F9C - adds r0, r4, 0 - bl sub_80422B4 - lsls r0, 24 - cmp r0, 0 - beq _08042388 - movs r0, 0x1 - b _080423A0 - .align 2, 0 -_08042384: .4byte gSaveBlock1 + 0x2F9C -_08042388: - adds r0, r4, 0 - bl Daycare_CountPokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0804239A - movs r0, 0 - b _080423A0 -_0804239A: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_080423A0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sp0B6_daycare - - thumb_func_start sub_80423A8 -sub_80423A8: @ 80423A8 - push {r4-r6,lr} - adds r5, r1, 0 - movs r4, 0 - adds r1, r0, 0 -_080423B0: - movs r3, 0 - ldrh r0, [r1] - adds r2, r5, 0 -_080423B6: - ldrh r6, [r2] - cmp r0, r6 - bne _080423C0 - movs r0, 0x1 - b _080423D2 -_080423C0: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x1 - ble _080423B6 - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x1 - ble _080423B0 - movs r0, 0 -_080423D2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80423A8 - - thumb_func_start daycare_relationship_score -daycare_relationship_score: @ 80423D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - movs r1, 0 - mov r8, r1 - mov r2, sp - adds r2, 0x8 - str r2, [sp, 0x1C] - add r1, sp, 0xC - mov r10, r1 - adds r2, 0xC - str r2, [sp, 0x20] - mov r1, sp - adds r1, 0x2 - ldr r2, _08042488 @ =gBaseStats - mov r9, r2 - ldr r5, [sp, 0x1C] - adds r7, r1, 0 - mov r6, sp - ldr r1, [sp, 0x20] - str r1, [sp, 0x24] - mov r2, r10 - str r2, [sp, 0x28] - adds r4, r0, 0 -_0804240E: - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBoxMonData - ldr r1, [sp, 0x28] - stm r1!, {r0} - str r1, [sp, 0x28] - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - ldrh r0, [r5] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x24] - stm r2!, {r0} - str r2, [sp, 0x24] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x14] - strh r0, [r6] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x15] - strh r0, [r7] - adds r5, 0x2 - adds r7, 0x4 - adds r6, 0x4 - adds r4, 0x50 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x1 - bls _0804240E - mov r0, sp - ldrh r1, [r0] - cmp r1, 0xF - beq _08042484 - ldrh r0, [r0, 0x4] - cmp r0, 0xF - beq _08042484 - cmp r1, 0xD - bne _0804248C - cmp r0, 0xD - bne _08042490 -_08042484: - movs r0, 0 - b _080424E4 - .align 2, 0 -_08042488: .4byte gBaseStats -_0804248C: - cmp r0, 0xD - bne _0804249C -_08042490: - ldr r1, [sp, 0xC] - mov r2, r10 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _080424DE - b _080424E2 -_0804249C: - ldr r0, [sp, 0x14] - ldr r2, [sp, 0x20] - ldr r1, [r2, 0x4] - cmp r0, r1 - beq _08042484 - cmp r0, 0xFF - beq _08042484 - cmp r1, 0xFF - beq _08042484 - add r1, sp, 0x4 - mov r0, sp - bl sub_80423A8 - lsls r0, 24 - cmp r0, 0 - beq _08042484 - ldr r0, [sp, 0x1C] - ldrh r1, [r0, 0x2] - ldrh r0, [r0] - cmp r0, r1 - bne _080424D4 - ldr r1, [sp, 0xC] - mov r2, r10 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _080424E2 - movs r0, 0x46 - b _080424E4 -_080424D4: - ldr r1, [sp, 0xC] - mov r2, r10 - ldr r0, [r2, 0x4] - cmp r1, r0 - bne _080424E2 -_080424DE: - movs r0, 0x14 - b _080424E4 -_080424E2: - movs r0, 0x32 -_080424E4: - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end daycare_relationship_score - - thumb_func_start daycare_relationship_score_from_savegame -daycare_relationship_score_from_savegame: @ 80424F4 - push {lr} - ldr r0, _08042504 @ =gSaveBlock1 + 0x2F9C - bl daycare_relationship_score - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08042504: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end daycare_relationship_score_from_savegame - - thumb_func_start sp0B9_daycare_relationship_comment -sp0B9_daycare_relationship_comment: @ 8042508 - push {lr} - bl daycare_relationship_score_from_savegame - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - movs r1, 0 - cmp r0, 0 - bne _0804251C - movs r1, 0x3 -_0804251C: - cmp r0, 0x14 - bne _08042522 - movs r1, 0x2 -_08042522: - cmp r0, 0x32 - bne _08042528 - movs r1, 0x1 -_08042528: - cmp r2, 0x46 - bne _0804252E - movs r1, 0 -_0804252E: - ldr r0, _08042540 @ =gStringVar4 - ldr r2, _08042544 @ =gUnknown_08209AC4 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_08042540: .4byte gStringVar4 -_08042544: .4byte gUnknown_08209AC4 - thumb_func_end sp0B9_daycare_relationship_comment - - thumb_func_start NameHasGenderSymbol -NameHasGenderSymbol: @ 8042548 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r2, sp - mov r1, sp - movs r0, 0 - strb r0, [r1, 0x1] - strb r0, [r2] - movs r3, 0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0804258C -_08042564: - adds r1, r4, r3 - ldrb r0, [r1] - cmp r0, 0xB5 - bne _08042572 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_08042572: - ldrb r0, [r1] - cmp r0, 0xB6 - bne _0804257E - ldrb r0, [r2, 0x1] - adds r0, 0x1 - strb r0, [r2, 0x1] -_0804257E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08042564 -_0804258C: - cmp r5, 0 - bne _080425A0 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _080425A0 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080425B4 -_080425A0: - cmp r5, 0xFE - bne _080425B8 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080425B8 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _080425B8 -_080425B4: - movs r0, 0x1 - b _080425BA -_080425B8: - movs r0, 0 -_080425BA: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end NameHasGenderSymbol - - thumb_func_start AppendGenderSymbol -AppendGenderSymbol: @ 80425C4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _080425E4 - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _08042600 - ldr r1, _080425E0 @ =gOtherText_MaleSymbol3 - b _08042602 - .align 2, 0 -_080425E0: .4byte gOtherText_MaleSymbol3 -_080425E4: - cmp r1, 0xFE - bne _08042600 - adds r0, r4, 0 - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _08042600 - ldr r1, _080425FC @ =gOtherText_FemaleSymbol3 - b _08042602 - .align 2, 0 -_080425FC: .4byte gOtherText_FemaleSymbol3 -_08042600: - ldr r1, _08042610 @ =gOtherText_GenderlessSymbol -_08042602: - adds r0, r4, 0 - bl StringAppend - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08042610: .4byte gOtherText_GenderlessSymbol - thumb_func_end AppendGenderSymbol - - thumb_func_start MonAppendGenderSymbol -MonAppendGenderSymbol: @ 8042614 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl GetBoxMonGender - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl AppendGenderSymbol - pop {r4} - pop {r1} - bx r1 - thumb_func_end MonAppendGenderSymbol - - thumb_func_start DaycareLevelMenuGetText -DaycareLevelMenuGetText: @ 8042630 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - mov r8, r0 - adds r7, r1, 0 - movs r0, 0xFF - strb r0, [r7] - movs r6, 0 - add r0, sp, 0x14 - mov r9, r0 -_08042648: - lsls r0, r6, 2 - adds r0, r6 - lsls r4, r0, 4 - add r4, r8 - lsls r0, 2 - mov r1, sp - adds r5, r1, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBoxMonNick - adds r0, r5, 0 - adds r1, r4, 0 - bl MonAppendGenderSymbol - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bls _08042648 - adds r0, r7, 0 - mov r1, sp - bl StringCopy - ldr r4, _080426A8 @ =gOtherText_NewLine2 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - adds r0, r7, 0 - mov r1, r9 - bl StringAppend - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - ldr r1, _080426AC @ =gOtherText_CancelAndLv - adds r0, r7, 0 - bl StringAppend - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080426A8: .4byte gOtherText_NewLine2 -_080426AC: .4byte gOtherText_CancelAndLv - thumb_func_end DaycareLevelMenuGetText - - thumb_func_start DaycareLevelMenuGetLevelText -DaycareLevelMenuGetLevelText: @ 80426B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r5, 0 - movs r0, 0xFC - mov r8, r0 - movs r7, 0x14 -_080426C6: - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 4 - adds r0, r6, r0 - movs r3, 0x88 - lsls r3, 1 - adds r1, r6, r3 - adds r1, r2 - ldr r1, [r1] - bl Daycare_GetLevelAfterSteps - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x34 - strb r0, [r4] - mov r0, r8 - strb r0, [r4, 0x1] - strb r7, [r4, 0x2] - movs r0, 0x6 - strb r0, [r4, 0x3] - adds r0, r4, 0x4 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r4, r0, 0 - mov r3, r8 - strb r3, [r4] - strb r7, [r4, 0x1] - movs r0, 0 - strb r0, [r4, 0x2] - adds r0, r4, 0x3 - ldr r1, _08042728 @ =gOtherText_NewLine2 - bl StringCopy - adds r4, r0, 0 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _080426C6 - movs r0, 0xFF - strb r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08042728: .4byte gOtherText_NewLine2 - thumb_func_end DaycareLevelMenuGetLevelText - - thumb_func_start DaycareLevelMenuProcessKeyInput -DaycareLevelMenuProcessKeyInput: @ 804272C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, _08042760 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08042768 - ldr r0, _08042764 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08042816 - subs r0, r2, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - negs r0, r0 - b _0804278A - .align 2, 0 -_08042760: .4byte gMain -_08042764: .4byte gTasks -_08042768: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804279C - ldr r0, _08042798 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0x2 - beq _08042816 - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 -_0804278A: - bl MoveMenuCursor - movs r0, 0x5 - bl PlaySE - b _08042816 - .align 2, 0 -_08042798: .4byte gTasks -_0804279C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080427E8 - bl HandleDestroyMenuCursors - movs r0, 0x5 - bl PlaySE - ldr r3, _080427DC @ =gLastFieldPokeMenuOpened - ldr r2, _080427E0 @ =gScriptResult - ldr r1, _080427E4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strh r0, [r2] - strb r0, [r3] - adds r0, r4, 0 - bl DestroyTask - movs r0, 0xF - movs r1, 0x6 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - bl EnableBothScriptContexts - b _08042816 - .align 2, 0 -_080427DC: .4byte gLastFieldPokeMenuOpened -_080427E0: .4byte gScriptResult -_080427E4: .4byte gTasks -_080427E8: - movs r4, 0x2 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08042816 - bl HandleDestroyMenuCursors - ldr r0, _0804281C @ =gLastFieldPokeMenuOpened - ldr r1, _08042820 @ =gScriptResult - strh r4, [r1] - movs r1, 0x2 - strb r1, [r0] - adds r0, r5, 0 - bl DestroyTask - movs r0, 0xF - movs r1, 0x6 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - bl EnableBothScriptContexts -_08042816: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804281C: .4byte gLastFieldPokeMenuOpened -_08042820: .4byte gScriptResult - thumb_func_end DaycareLevelMenuProcessKeyInput - - thumb_func_start ShowDaycareLevelMenu -ShowDaycareLevelMenu: @ 8042824 - push {r4,lr} - sub sp, 0x6C - movs r0, 0xF - movs r1, 0x6 - movs r2, 0x1D - movs r3, 0xD - bl MenuDrawTextWindow - ldr r4, _08042880 @ =gSaveBlock1 + 0x2F9C - adds r0, r4, 0 - add r1, sp, 0x8 - bl DaycareLevelMenuGetText - add r0, sp, 0x8 - movs r1, 0x10 - movs r2, 0x7 - bl MenuPrint - adds r0, r4, 0 - add r1, sp, 0x8 - bl DaycareLevelMenuGetLevelText - add r0, sp, 0x8 - movs r1, 0xCE - movs r2, 0x38 - movs r3, 0x1 - bl MenuPrint_PixelCoords - movs r0, 0 - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x10 - movs r2, 0x7 - movs r3, 0x3 - bl InitMenu - ldr r0, _08042884 @ =DaycareLevelMenuProcessKeyInput - movs r1, 0x3 - bl CreateTask - add sp, 0x6C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08042880: .4byte gSaveBlock1 + 0x2F9C -_08042884: .4byte DaycareLevelMenuProcessKeyInput - thumb_func_end ShowDaycareLevelMenu - - thumb_func_start ChooseSendDaycareMon -ChooseSendDaycareMon: @ 8042888 - push {lr} - movs r0, 0x6 - movs r1, 0 - bl OpenPartyMenu - ldr r1, _0804289C @ =gMain - ldr r0, _080428A0 @ =c2_exit_to_overworld_2_switch - str r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0804289C: .4byte gMain -_080428A0: .4byte c2_exit_to_overworld_2_switch - thumb_func_end ChooseSendDaycareMon - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 6b85e1e76..7bb496641 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -9975,7 +9975,7 @@ _080EAE50: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl GetNationalPokedexFlag + bl GetSetPokedexFlag b _080EAE7C _080EAE62: ldr r0, _080EAE74 @ =gUnknown_083DB694 diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s deleted file mode 100644 index 5e54550e3..000000000 --- a/asm/field_effect_helpers.s +++ /dev/null @@ -1,4349 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetUpReflection -SetUpReflection: @ 812680C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x22 - ldrsh r2, [r4, r0] - adds r0, r4, 0 - movs r3, 0x98 - bl obj_unfreeze - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _081268BC @ =gSprites - adds r7, r1, r0 - ldr r0, _081268C0 @ =sub_81269E0 - str r0, [r7, 0x1C] - ldrb r1, [r7, 0x5] - movs r0, 0xC - orrs r1, r0 - strb r1, [r7, 0x5] - ldr r2, _081268C4 @ =gUnknown_0830FD14 - lsrs r0, r1, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 4 - movs r2, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x5] - movs r1, 0x3F - adds r1, r7 - mov r8, r1 - ldrb r0, [r1] - movs r1, 0x40 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - ldr r0, _081268C8 @ =gDummySpriteAnimTable - str r0, [r7, 0x8] - adds r0, r7, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _081268CC @ =gDummySpriteAffineAnimTable - str r0, [r7, 0x10] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x8 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - adds r2, r7, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x2E] - strh r0, [r7, 0x2E] - ldrb r0, [r6, 0x8] - strh r0, [r7, 0x30] - strh r5, [r7, 0x3C] - adds r0, r6, 0 - adds r1, r7, 0 - bl npc_pal_op - cmp r5, 0 - bne _081268B2 - ldrb r0, [r7, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r7, 0x1] -_081268B2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081268BC: .4byte gSprites -_081268C0: .4byte sub_81269E0 -_081268C4: .4byte gUnknown_0830FD14 -_081268C8: .4byte gDummySpriteAnimTable -_081268CC: .4byte gDummySpriteAffineAnimTable - thumb_func_end SetUpReflection - - thumb_func_start sub_81268D0 -sub_81268D0: @ 81268D0 - push {lr} - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - ldrh r0, [r0, 0xA] - subs r0, 0x2 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_81268D0 - - thumb_func_start npc_pal_op -npc_pal_op: @ 81268E4 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _0812693C @ =gUnknown_08401E2C - mov r0, sp - movs r2, 0x6 - bl memcpy - movs r0, 0 - strh r0, [r4, 0x32] - ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo - ldrb r1, [r0, 0xC] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08126940 - ldrb r0, [r5, 0x1F] - bl sub_8057450 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08126926 - ldrb r0, [r5, 0x1E] - bl sub_8057450 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08126940 -_08126926: - subs r0, 0x1 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_A - b _0812694A - .align 2, 0 -_0812693C: .4byte gUnknown_08401E2C -_08126940: - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_B -_0812694A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end npc_pal_op - - thumb_func_start npc_pal_op_B -npc_pal_op_B: @ 8126954 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _08126980 @ =0x000011ff - cmp r1, r0 - beq _081269A8 - ldrb r0, [r2, 0xC] - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - bne _08126984 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl npc_load_two_palettes__no_record - b _081269A2 - .align 2, 0 -_08126980: .4byte 0x000011ff -_08126984: - cmp r1, 0xA - bne _08126992 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl npc_load_two_palettes__and_record - b _081269A2 -_08126992: - adds r0, r4, 0 - bl npc_paltag_by_palslot - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl pal_patch_for_npc -_081269A2: - adds r0, r4, 0 - bl sub_807D78C -_081269A8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_pal_op_B - - thumb_func_start npc_pal_op_A -npc_pal_op_A: @ 81269B0 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _081269DC @ =0x000011ff - cmp r1, r0 - beq _081269D4 - adds r0, r1, 0 - adds r1, r4, 0 - bl pal_patch_for_npc - adds r0, r4, 0 - bl sub_807D78C -_081269D4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081269DC: .4byte 0x000011ff - thumb_func_end npc_pal_op_A - - thumb_func_start sub_81269E0 -sub_81269E0: @ 81269E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126A28 @ =gMapObjects - adds r7, r0, r1 - ldrb r1, [r7, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126A2C @ =gSprites - adds r5, r0, r1 - ldr r0, [r7] - ldr r1, _08126A30 @ =0x00020001 - ands r0, r1 - cmp r0, r1 - bne _08126A18 - ldrb r1, [r7, 0x8] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _08126A34 -_08126A18: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _08126B3E - .align 2, 0 -_08126A28: .4byte gMapObjects -_08126A2C: .4byte gSprites -_08126A30: .4byte 0x00020001 -_08126A34: - ldr r1, _08126B4C @ =gUnknown_0830FD14 - ldrb r0, [r5, 0x5] - lsrs r0, 4 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r5, 0x1] - lsrs r1, 6 - lsls r1, 6 - ldrb r2, [r4, 0x1] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r5, 0x3] - lsrs r0, 6 - lsls r0, 6 - ldrb r2, [r4, 0x3] - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r2, 0x10 - orrs r0, r2 - lsls r0, 1 - subs r2, 0x4F - mov r9, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r4, 0x4] - ldr r0, _08126B50 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, [r5, 0x18] - str r0, [r4, 0x18] - adds r0, r5, 0 - adds r0, 0x42 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 26 - adds r2, r4, 0 - adds r2, 0x42 - ands r3, r0 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - movs r0, 0x3E - adds r0, r5 - mov r8, r0 - ldrb r0, [r0] - adds r6, r4, 0 - adds r6, 0x3E - movs r1, 0x4 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - adds r0, r7, 0 - bl sub_81268D0 - ldrh r1, [r5, 0x22] - adds r0, r1 - ldrh r1, [r4, 0x32] - adds r1, r0 - strh r1, [r4, 0x22] - adds r0, r5, 0 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x28 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08126B3E - ldrb r0, [r4, 0x3] - mov r2, r9 - ands r2, r0 - strb r2, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08126B3E - movs r1, 0x2 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r4, 0x3] -_08126B3E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08126B4C: .4byte gUnknown_0830FD14 -_08126B50: .4byte 0xfffffc00 - thumb_func_end sub_81269E0 - - thumb_func_start sub_8126B54 -sub_8126B54: @ 8126B54 - push {r4,lr} - ldr r0, _08126B9C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x20] - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0x40 - beq _08126B92 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08126BA0 @ =gSprites - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - orrs r0, r3 - strb r0, [r1] -_08126B92: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08126B9C: .4byte gFieldEffectObjectTemplatePointers -_08126BA0: .4byte gSprites - thumb_func_end sub_8126B54 - - thumb_func_start objid_set_invisible -objid_set_invisible: @ 8126BA4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08126BC0 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_08126BC0: .4byte gSprites - thumb_func_end objid_set_invisible - - thumb_func_start sub_8126BC4 -sub_8126BC4: @ 8126BC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _08126C68 @ =gSprites - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08126C0E - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - bne _08126C0E - movs r0, 0x30 - ldrsh r1, [r2, r0] - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - beq _08126C5A -_08126C0E: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - mov r4, sp - adds r4, 0x2 - mov r2, sp - adds r3, r4, 0 - bl sub_80603CC - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _08126C68 @ =gSprites - adds r2, r0, r1 - mov r0, sp - ldrh r0, [r0] - adds r0, 0x8 - strh r0, [r2, 0x20] - ldrh r0, [r4] - adds r0, 0x8 - strh r0, [r2, 0x22] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - strh r7, [r2, 0x2E] - strh r6, [r2, 0x30] - mov r1, r8 - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_08126C5A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08126C68: .4byte gSprites - thumb_func_end sub_8126BC4 - - thumb_func_start FldEff_Shadow -FldEff_Shadow: @ 8126C6C - push {r4,r5,lr} - ldr r5, _08126CF8 @ =gFieldEffectArguments - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08126CFC @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo - adds r4, r0, 0 - ldr r2, _08126D00 @ =gFieldEffectObjectTemplatePointers - ldr r1, _08126D04 @ =gUnknown_08401E32 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08126CF0 - ldr r0, _08126D08 @ =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldr r0, [r5] - strh r0, [r2, 0x2E] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x32] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - ldr r3, _08126D0C @ =gUnknown_08401E36 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x34] -_08126CF0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08126CF8: .4byte gFieldEffectArguments -_08126CFC: .4byte gMapObjects -_08126D00: .4byte gFieldEffectObjectTemplatePointers -_08126D04: .4byte gUnknown_08401E32 -_08126D08: .4byte gSprites -_08126D0C: .4byte gUnknown_08401E36 - thumb_func_end FldEff_Shadow - - thumb_func_start oamc_shadow -oamc_shadow: @ 8126D10 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _08126D3E - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop - b _08126DC4 -_08126D3E: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126DCC @ =gMapObjects - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08126DD0 @ =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - ands r2, r0 - ldrb r3, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x5] - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x34] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldr r0, [r4] - ldr r1, _08126DD4 @ =0x00400001 - ands r0, r1 - cmp r0, r1 - bne _08126DBC - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - beq _08126DC4 -_08126DBC: - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop -_08126DC4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08126DCC: .4byte gMapObjects -_08126DD0: .4byte gSprites -_08126DD4: .4byte 0x00400001 - thumb_func_end oamc_shadow - - thumb_func_start FldEff_TallGrass -FldEff_TallGrass: @ 8126DD8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08126E70 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08126E74 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x10] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08126E64 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126E78 @ =gSprites - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r3, 0x2E] - ldr r0, [r5] - strh r0, [r3, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r3, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r3, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r3, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r3, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _08126E64 - adds r0, r3, 0 - movs r1, 0x4 - bl SeekSpriteAnim -_08126E64: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08126E70: .4byte gFieldEffectArguments -_08126E74: .4byte gFieldEffectObjectTemplatePointers -_08126E78: .4byte gSprites - thumb_func_end FldEff_TallGrass - - thumb_func_start unc_grass_normal -unc_grass_normal: @ 8126E7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r3, _08126F24 @ =gUnknown_0202E844 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08126EC6 - ldr r2, _08126F28 @ =gSaveBlock1 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r4 - bne _08126EAC - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r7 - beq _08126EC6 -_08126EAC: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_08126EC6: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08126F1A - adds r0, r6, 0 - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _08126F1A - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08126F2C - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08126F2C -_08126F1A: - adds r0, r5, 0 - movs r1, 0x4 - bl FieldEffectStop - b _08126F70 - .align 2, 0 -_08126F24: .4byte gUnknown_0202E844 -_08126F28: .4byte gSaveBlock1 -_08126F2C: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126F7C @ =gMapObjects - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _08126F4C - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _08126F4C - movs r0, 0x1 - strh r0, [r5, 0x3C] -_08126F4C: - movs r6, 0 - adds r0, r5, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _08126F5A - movs r6, 0x4 -_08126F5A: - adds r0, r5, 0 - movs r1, 0 - bl sub_806487C - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_812882C -_08126F70: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08126F7C: .4byte gMapObjects - thumb_func_end unc_grass_normal - - thumb_func_start FldEff_JumpTallGrass -FldEff_JumpTallGrass: @ 8126F80 - push {r4,lr} - ldr r4, _08126FE4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8060470 - ldr r0, _08126FE8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x28] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08126FDC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08126FEC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xC - strh r0, [r2, 0x30] -_08126FDC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08126FE4: .4byte gFieldEffectArguments -_08126FE8: .4byte gFieldEffectObjectTemplatePointers -_08126FEC: .4byte gSprites - thumb_func_end FldEff_JumpTallGrass - - thumb_func_start sub_8126FF0 -sub_8126FF0: @ 8126FF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r5, 0 - ldr r0, _08127060 @ =gSprites - mov r8, r0 - lsls r3, 16 - asrs r3, 16 - lsls r4, 16 - asrs r4, 16 -_08127014: - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - mov r1, r8 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08127068 - ldr r1, [r2, 0x1C] - ldr r0, _08127064 @ =unc_grass_normal - cmp r1, r0 - bne _08127068 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r3, r0 - bne _08127068 - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r4, r0 - bne _08127068 - ldrh r1, [r2, 0x34] - lsrs r0, r1, 8 - cmp r12, r0 - bne _08127068 - movs r0, 0xFF - ands r0, r1 - cmp r7, r0 - bne _08127068 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r6, r0 - bne _08127068 - adds r0, r5, 0 - b _08127074 - .align 2, 0 -_08127060: .4byte gSprites -_08127064: .4byte unc_grass_normal -_08127068: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3F - bls _08127014 - movs r0, 0x40 -_08127074: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8126FF0 - - thumb_func_start FldEff_LongGrass -FldEff_LongGrass: @ 8127080 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0812711C @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127120 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x3C] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08127110 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127124 @ =gSprites - adds r4, r0, r1 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, 0x8] - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5] - strh r0, [r4, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r4, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r4, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r4, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _08127110 - adds r0, r4, 0 - movs r1, 0x6 - bl SeekSpriteAnim -_08127110: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812711C: .4byte gFieldEffectArguments -_08127120: .4byte gFieldEffectObjectTemplatePointers -_08127124: .4byte gSprites - thumb_func_end FldEff_LongGrass - - thumb_func_start unc_grass_tall -unc_grass_tall: @ 8127128 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r7, r0, 8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _081271D0 @ =gUnknown_0202E844 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08127172 - ldr r2, _081271D4 @ =gSaveBlock1 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r7 - bne _08127158 - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r6 - beq _08127172 -_08127158: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_08127172: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _081271C6 - adds r0, r4, 0 - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _081271C6 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081271D8 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081271D8 -_081271C6: - adds r0, r5, 0 - movs r1, 0x11 - bl FieldEffectStop - b _0812720E - .align 2, 0 -_081271D0: .4byte gUnknown_0202E844 -_081271D4: .4byte gSaveBlock1 -_081271D8: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812721C @ =gMapObjects - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _081271F8 - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _081271F8 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_081271F8: - adds r0, r5, 0 - movs r1, 0 - bl sub_806487C - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl sub_812882C -_0812720E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812721C: .4byte gMapObjects - thumb_func_end unc_grass_tall - - thumb_func_start FldEff_JumpLongGrass -FldEff_JumpLongGrass: @ 8127220 - push {r4,lr} - ldr r4, _08127284 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127288 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x40] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812727C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0812728C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x12 - strh r0, [r2, 0x30] -_0812727C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127284: .4byte gFieldEffectArguments -_08127288: .4byte gFieldEffectObjectTemplatePointers -_0812728C: .4byte gSprites - thumb_func_end FldEff_JumpLongGrass - - thumb_func_start FldEff_ShortGrass -FldEff_ShortGrass: @ 8127290 - push {r4-r6,lr} - ldr r6, _08127324 @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08127328 @ =gMapObjects - adds r5, r1, r0 - ldr r0, _0812732C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x78] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812731C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _08127330 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_0812731C: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08127324: .4byte gFieldEffectArguments -_08127328: .4byte gMapObjects -_0812732C: .4byte gFieldEffectObjectTemplatePointers -_08127330: .4byte gSprites - thumb_func_end FldEff_ShortGrass - - thumb_func_start sub_8127334 -sub_8127334: @ 8127334 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08127372 - ldr r5, _0812737C @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 29 - cmp r0, 0 - blt _08127380 -_08127372: - adds r0, r4, 0 - movs r1, 0x29 - bl FieldEffectStop - b _08127416 - .align 2, 0 -_0812737C: .4byte gMapObjects -_08127380: - ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo - mov r8, r0 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127424 @ =gSprites - adds r6, r0, r1 - ldrh r5, [r6, 0x22] - ldrh r7, [r6, 0x20] - movs r0, 0x20 - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _081273BC - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _081273D6 -_081273BC: - strh r7, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081273D6 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_081273D6: - strh r7, [r4, 0x20] - strh r5, [r4, 0x22] - mov r1, r8 - ldrh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x8 - strh r0, [r4, 0x26] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r0, [r6, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r6, 0 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_806487C -_08127416: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08127424: .4byte gSprites - thumb_func_end sub_8127334 - - thumb_func_start FldEff_SandFootprints -FldEff_SandFootprints: @ 8127428 - push {r4,lr} - ldr r4, _08127490 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127494 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x2C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08127486 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127498 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0xD - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_08127486: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127490: .4byte gFieldEffectArguments -_08127494: .4byte gFieldEffectObjectTemplatePointers -_08127498: .4byte gSprites - thumb_func_end FldEff_SandFootprints - - thumb_func_start FldEff_DeepSandFootprints -FldEff_DeepSandFootprints: @ 812749C - push {r4,r5,lr} - ldr r4, _08127504 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127508 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x5C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _081274FC - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812750C @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x18 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_081274FC: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08127504: .4byte gFieldEffectArguments -_08127508: .4byte gFieldEffectObjectTemplatePointers -_0812750C: .4byte gSprites - thumb_func_end FldEff_DeepSandFootprints - - thumb_func_start FldEff_BikeTireTracks -FldEff_BikeTireTracks: @ 8127510 - push {r4,r5,lr} - ldr r4, _08127578 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _0812757C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x6C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _08127570 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127580 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x23 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_08127570: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08127578: .4byte gFieldEffectArguments -_0812757C: .4byte gFieldEffectObjectTemplatePointers -_08127580: .4byte gSprites - thumb_func_end FldEff_BikeTireTracks - - thumb_func_start sub_8127584 -sub_8127584: @ 8127584 - push {lr} - ldr r2, _0812759C @ =gUnknown_08401E40 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_0812759C: .4byte gUnknown_08401E40 - thumb_func_end sub_8127584 - - thumb_func_start sub_81275A0 -sub_81275A0: @ 81275A0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _081275B6 - movs r0, 0x1 - strh r0, [r1, 0x2E] -_081275B6: - adds r0, r1, 0 - movs r1, 0 - bl sub_806487C - pop {r0} - bx r0 - thumb_func_end sub_81275A0 - - thumb_func_start sub_81275C4 -sub_81275C4: @ 81275C4 - push {r4,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - ldrb r1, [r3] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_806487C - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x38 - ble _08127608 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop -_08127608: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81275C4 - - thumb_func_start FldEff_Splash -FldEff_Splash: @ 8127610 - push {r4-r6,lr} - ldr r6, _081276A4 @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _081276A8 @ =gMapObjects - adds r5, r1, r0 - ldr r0, _081276AC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _0812769A - ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - ldr r4, _081276B0 @ =gSprites - adds r3, r4 - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - ldrb r2, [r5, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r4, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r2 - strb r1, [r3, 0x5] - ldr r1, [r6] - strh r1, [r3, 0x2E] - ldr r1, [r6, 0x4] - strh r1, [r3, 0x30] - ldr r1, [r6, 0x8] - strh r1, [r3, 0x32] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x4 - strh r0, [r3, 0x26] - movs r0, 0x46 - bl PlaySE -_0812769A: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081276A4: .4byte gFieldEffectArguments -_081276A8: .4byte gMapObjects -_081276AC: .4byte gFieldEffectObjectTemplatePointers -_081276B0: .4byte gSprites - thumb_func_end FldEff_Splash - - thumb_func_start sub_81276B4 -sub_81276B4: @ 81276B4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081276E4 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _081276EE -_081276E4: - adds r0, r4, 0 - movs r1, 0xF - bl FieldEffectStop - b _0812772E -_081276EE: - ldr r3, _08127738 @ =gSprites - ldr r2, _0812773C @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x20] - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C -_0812772E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08127738: .4byte gSprites -_0812773C: .4byte gMapObjects - thumb_func_end sub_81276B4 - - thumb_func_start FldEff_JumpSmallSplash -FldEff_JumpSmallSplash: @ 8127740 - push {r4,lr} - ldr r4, _081277A4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8060470 - ldr r0, _081277A8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x38] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812779C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081277AC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x10 - strh r0, [r2, 0x30] -_0812779C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081277A4: .4byte gFieldEffectArguments -_081277A8: .4byte gFieldEffectObjectTemplatePointers -_081277AC: .4byte gSprites - thumb_func_end FldEff_JumpSmallSplash - - thumb_func_start FldEff_JumpBigSplash -FldEff_JumpBigSplash: @ 81277B0 - push {r4,lr} - ldr r4, _08127814 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127818 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x30] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812780C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0812781C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xE - strh r0, [r2, 0x30] -_0812780C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127814: .4byte gFieldEffectArguments -_08127818: .4byte gFieldEffectObjectTemplatePointers -_0812781C: .4byte gSprites - thumb_func_end FldEff_JumpBigSplash - - thumb_func_start FldEff_FeetInFlowingWater -FldEff_FeetInFlowingWater: @ 8127820 - push {r4-r7,lr} - ldr r7, _081278C0 @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _081278C4 @ =gMapObjects - adds r6, r1, r0 - ldr r0, _081278C8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _081278B6 - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - adds r4, r0, 0 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r3, _081278CC @ =gSprites - adds r0, r3 - ldr r1, _081278D0 @ =sub_81278D8 - str r1, [r0, 0x1C] - adds r5, r0, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r5] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldr r1, _081278D4 @ =0x0000ffff - strh r1, [r0, 0x34] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x36] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0x1 - bl StartSpriteAnim -_081278B6: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081278C0: .4byte gFieldEffectArguments -_081278C4: .4byte gMapObjects -_081278C8: .4byte gFieldEffectObjectTemplatePointers -_081278CC: .4byte gSprites -_081278D0: .4byte sub_81278D8 -_081278D4: .4byte 0x0000ffff - thumb_func_end FldEff_FeetInFlowingWater - - thumb_func_start sub_81278D8 -sub_81278D8: @ 81278D8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08127912 - ldr r2, _0812791C @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrb r0, [r5, 0x2] - lsls r0, 28 - cmp r0, 0 - blt _08127920 -_08127912: - adds r0, r4, 0 - movs r1, 0x22 - bl FieldEffectStop - b _0812796A - .align 2, 0 -_0812791C: .4byte gMapObjects -_08127920: - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127974 @ =gSprites - adds r0, r1 - ldrh r1, [r0, 0x20] - strh r1, [r4, 0x20] - ldrh r1, [r0, 0x22] - strh r1, [r4, 0x22] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C - ldr r1, [r5, 0x10] - ldr r0, [r4, 0x34] - cmp r1, r0 - beq _0812796A - ldrh r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldrh r0, [r5, 0x12] - strh r0, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0812796A - movs r0, 0x46 - bl PlaySE -_0812796A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08127974: .4byte gSprites - thumb_func_end sub_81278D8 - - thumb_func_start FldEff_Ripple -FldEff_Ripple: @ 8127978 - push {r4,lr} - ldr r0, _081279CC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x14] - ldr r4, _081279D0 @ =gFieldEffectArguments - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081279C4 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081279D4 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x5 - strh r0, [r2, 0x2E] -_081279C4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081279CC: .4byte gFieldEffectObjectTemplatePointers -_081279D0: .4byte gFieldEffectArguments -_081279D4: .4byte gSprites - thumb_func_end FldEff_Ripple - - thumb_func_start FldEff_HotSpringsWater -FldEff_HotSpringsWater: @ 81279D8 - push {r4-r6,lr} - ldr r6, _08127A6C @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08127A70 @ =gMapObjects - adds r5, r1, r0 - ldr r0, _08127A74 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x7C] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127A64 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _08127A78 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_08127A64: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08127A6C: .4byte gFieldEffectArguments -_08127A70: .4byte gMapObjects -_08127A74: .4byte gFieldEffectObjectTemplatePointers -_08127A78: .4byte gSprites - thumb_func_end FldEff_HotSpringsWater - - thumb_func_start sub_8127A7C -sub_8127A7C: @ 8127A7C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08127AB6 - ldr r5, _08127AC0 @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 26 - cmp r0, 0 - blt _08127AC4 -_08127AB6: - adds r0, r4, 0 - movs r1, 0x2A - bl FieldEffectStop - b _08127B08 - .align 2, 0 -_08127AC0: .4byte gMapObjects -_08127AC4: - ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo - mov r1, sp - ldrb r2, [r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _08127B10 @ =gSprites - adds r1, r2 - ldrh r2, [r1, 0x20] - strh r2, [r4, 0x20] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - ldrh r2, [r1, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r4, 0x22] - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C -_08127B08: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08127B10: .4byte gSprites - thumb_func_end sub_8127A7C - - thumb_func_start FldEff_Unknown19 -FldEff_Unknown19: @ 8127B14 - push {r4,lr} - ldr r4, _08127B74 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127B78 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x44] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127B6C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08127B7C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x13 - strh r0, [r2, 0x2E] -_08127B6C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127B74: .4byte gFieldEffectArguments -_08127B78: .4byte gFieldEffectObjectTemplatePointers -_08127B7C: .4byte gSprites - thumb_func_end FldEff_Unknown19 - - thumb_func_start FldEff_Unknown20 -FldEff_Unknown20: @ 8127B80 - push {r4,lr} - ldr r4, _08127BE0 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127BE4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x48] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127BD8 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08127BE8 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x14 - strh r0, [r2, 0x2E] -_08127BD8: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127BE0: .4byte gFieldEffectArguments -_08127BE4: .4byte gFieldEffectObjectTemplatePointers -_08127BE8: .4byte gSprites - thumb_func_end FldEff_Unknown20 - - thumb_func_start FldEff_Unknown21 -FldEff_Unknown21: @ 8127BEC - push {r4,lr} - ldr r4, _08127C4C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127C50 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x4C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127C44 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08127C54 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x15 - strh r0, [r2, 0x2E] -_08127C44: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127C4C: .4byte gFieldEffectArguments -_08127C50: .4byte gFieldEffectObjectTemplatePointers -_08127C54: .4byte gSprites - thumb_func_end FldEff_Unknown21 - - thumb_func_start FldEff_Unknown22 -FldEff_Unknown22: @ 8127C58 - push {r4,lr} - ldr r4, _08127CB8 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127CBC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x50] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127CB0 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08127CC0 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x16 - strh r0, [r2, 0x2E] -_08127CB0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127CB8: .4byte gFieldEffectArguments -_08127CBC: .4byte gFieldEffectObjectTemplatePointers -_08127CC0: .4byte gSprites - thumb_func_end FldEff_Unknown22 - - thumb_func_start ash -ash: @ 8127CC4 - push {r4,lr} - lsls r2, 16 - lsrs r2, 16 - ldr r4, _08127CF4 @ =gFieldEffectArguments - lsls r0, 16 - asrs r0, 16 - str r0, [r4] - lsls r1, 16 - asrs r1, 16 - str r1, [r4, 0x4] - movs r0, 0x52 - str r0, [r4, 0x8] - movs r0, 0x1 - str r0, [r4, 0xC] - str r2, [r4, 0x10] - lsls r3, 16 - asrs r3, 16 - str r3, [r4, 0x14] - movs r0, 0x7 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08127CF4: .4byte gFieldEffectArguments - thumb_func_end ash - - thumb_func_start FldEff_Ash -FldEff_Ash: @ 8127CF8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08127D78 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127D7C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x18] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - ldrb r3, [r5, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127D6E - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08127D80 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r5] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r2, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r2, 0x36] -_08127D6E: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08127D78: .4byte gFieldEffectArguments -_08127D7C: .4byte gFieldEffectObjectTemplatePointers -_08127D80: .4byte gSprites - thumb_func_end FldEff_Ash - - thumb_func_start sub_8127D84 -sub_8127D84: @ 8127D84 - push {lr} - ldr r2, _08127D9C @ =gUnknown_08401E48 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08127D9C: .4byte gUnknown_08401E48 - thumb_func_end sub_8127D84 - - thumb_func_start sub_8127DA0 -sub_8127DA0: @ 8127DA0 - push {lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x36] - subs r0, 0x1 - strh r0, [r3, 0x36] - lsls r0, 16 - cmp r0, 0 - bne _08127DCA - movs r0, 0x1 - strh r0, [r3, 0x2E] -_08127DCA: - pop {r0} - bx r0 - thumb_func_end sub_8127DA0 - - thumb_func_start sub_8127DD0 -sub_8127DD0: @ 8127DD0 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r4, 0x34] - bl MapGridSetMetatileIdAt - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - ldr r2, _08127E28 @ =gMapObjects - ldr r0, _08127E2C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x2 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08127E28: .4byte gMapObjects -_08127E2C: .4byte gPlayerAvatar - thumb_func_end sub_8127DD0 - - thumb_func_start sub_8127E30 -sub_8127E30: @ 8127E30 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_806487C - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08127E50 - adds r0, r4, 0 - movs r1, 0x7 - bl FieldEffectStop -_08127E50: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8127E30 - - thumb_func_start FldEff_SurfBlob -FldEff_SurfBlob: @ 8127E58 - push {r4,r5,lr} - ldr r4, _08127EC0 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127EC4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x1C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x96 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r0, 0x40 - beq _08127EB2 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08127EC8 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r1, 0x32] - ldr r0, _08127ECC @ =0x0000ffff - strh r0, [r1, 0x34] - movs r0, 0x1 - negs r0, r0 - strh r0, [r1, 0x3A] - strh r0, [r1, 0x3C] -_08127EB2: - movs r0, 0x8 - bl FieldEffectActiveListRemove - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08127EC0: .4byte gFieldEffectArguments -_08127EC4: .4byte gFieldEffectObjectTemplatePointers -_08127EC8: .4byte gSprites -_08127ECC: .4byte 0x0000ffff - thumb_func_end FldEff_SurfBlob - - thumb_func_start sub_8127ED0 -sub_8127ED0: @ 8127ED0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _08127EF8 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrh r0, [r2, 0x2E] - movs r3, 0x10 - negs r3, r3 - ands r3, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 24 - orrs r0, r3 - strh r0, [r2, 0x2E] - bx lr - .align 2, 0 -_08127EF8: .4byte gSprites - thumb_func_end sub_8127ED0 - - thumb_func_start sub_8127EFC -sub_8127EFC: @ 8127EFC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _08127F24 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrh r0, [r2, 0x2E] - movs r3, 0xF1 - negs r3, r3 - ands r3, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 20 - orrs r3, r0 - strh r3, [r2, 0x2E] - bx lr - .align 2, 0 -_08127F24: .4byte gSprites - thumb_func_end sub_8127EFC - - thumb_func_start sub_8127F28 -sub_8127F28: @ 8127F28 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r4, _08127F54 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - ldrh r0, [r3, 0x2E] - ldr r4, _08127F58 @ =0xfffff0ff - ands r4, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 16 - orrs r4, r0 - strh r4, [r3, 0x2E] - strh r2, [r3, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08127F54: .4byte gSprites -_08127F58: .4byte 0xfffff0ff - thumb_func_end sub_8127F28 - - thumb_func_start sub_8127F5C -sub_8127F5C: @ 8127F5C - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - bx lr - thumb_func_end sub_8127F5C - - thumb_func_start sub_8127F64 -sub_8127F64: @ 8127F64 - ldrh r1, [r0, 0x2E] - movs r0, 0xF0 - ands r0, r1 - lsrs r0, 4 - bx lr - thumb_func_end sub_8127F64 - - thumb_func_start sub_8127F70 -sub_8127F70: @ 8127F70 - ldrh r1, [r0, 0x2E] - movs r0, 0xF0 - lsls r0, 4 - ands r0, r1 - lsrs r0, 8 - bx lr - thumb_func_end sub_8127F70 - - thumb_func_start sub_8127F7C -sub_8127F7C: @ 8127F7C - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08127FCC @ =gMapObjects - adds r4, r0 - ldrb r0, [r4, 0x4] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, _08127FD0 @ =gSprites - adds r5, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8127FD4 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_812800C - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_81280A0 - ldrb r0, [r5, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08127FCC: .4byte gMapObjects -_08127FD0: .4byte gSprites - thumb_func_end sub_8127F7C - - thumb_func_start sub_8127FD4 -sub_8127FD4: @ 8127FD4 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _08128008 @ =gUnknown_08401E54 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - bl sub_8127F64 - lsls r0, 24 - cmp r0, 0 - bne _08128000 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - add r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnimIfDifferent -_08128000: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08128008: .4byte gUnknown_08401E54 - thumb_func_end sub_8127FD4 - - thumb_func_start sub_812800C -sub_812800C: @ 812800C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r1, 0 - ldrh r2, [r0, 0x10] - mov r1, sp - strh r2, [r1] - ldrh r1, [r0, 0x12] - mov r0, sp - adds r0, 0x2 - strh r1, [r0] - movs r2, 0x26 - ldrsh r3, [r4, r2] - mov r8, r0 - cmp r3, 0 - bne _08128094 - mov r0, sp - movs r5, 0 - ldrsh r2, [r0, r5] - movs r5, 0x3A - ldrsh r0, [r4, r5] - cmp r2, r0 - bne _08128048 - lsls r0, r1, 16 - asrs r0, 16 - movs r5, 0x3C - ldrsh r1, [r4, r5] - cmp r0, r1 - beq _08128094 -_08128048: - strh r3, [r4, 0x38] - strh r2, [r4, 0x3A] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - strh r0, [r4, 0x3C] - movs r5, 0x1 - mov r7, r8 - mov r6, sp -_0812805A: - adds r0, r5, 0 - mov r1, sp - adds r2, r7, 0 - bl MoveCoords - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _08128080 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _08128094 -_08128080: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x3A] - strh r0, [r6] - ldrh r0, [r4, 0x3C] - mov r1, r8 - strh r0, [r1] - cmp r5, 0x4 - bls _0812805A -_08128094: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812800C - - thumb_func_start sub_81280A0 -sub_81280A0: @ 81280A0 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r4, r2, 0 - ldr r1, _08128104 @ =gUnknown_08401E5A - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - bl sub_8127F5C - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - cmp r2, 0 - beq _0812811A - ldrh r1, [r4, 0x36] - adds r1, 0x1 - strh r1, [r4, 0x36] - movs r3, 0x38 - ldrsh r0, [r4, r3] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _081280E0 - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] -_081280E0: - ldrh r1, [r4, 0x36] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081280F0 - ldrh r0, [r4, 0x34] - negs r0, r0 - strh r0, [r4, 0x34] -_081280F0: - cmp r2, 0x2 - beq _0812811A - adds r0, r4, 0 - bl sub_8127F70 - lsls r0, 24 - cmp r0, 0 - bne _08128108 - ldrh r0, [r4, 0x26] - b _0812810E - .align 2, 0 -_08128104: .4byte gUnknown_08401E5A -_08128108: - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x30] - adds r0, r3 -_0812810E: - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] -_0812811A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81280A0 - - thumb_func_start sub_8128124 -sub_8128124: @ 8128124 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08128168 @ =gDummySpriteTemplate - movs r1, 0 - movs r2, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _0812816C @ =gSprites - adds r2, r1 - ldr r1, _08128170 @ =sub_8128174 - str r1, [r2, 0x1C] - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - strh r4, [r2, 0x2E] - movs r1, 0x1 - strh r1, [r2, 0x30] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08128168: .4byte gDummySpriteTemplate -_0812816C: .4byte gSprites -_08128170: .4byte sub_8128174 - thumb_func_end sub_8128124 - - thumb_func_start sub_8128174 -sub_8128174: @ 8128174 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081281B0 @ =gSprites - adds r3, r0, r1 - ldrh r1, [r2, 0x32] - adds r0, r1, 0x1 - strh r0, [r2, 0x32] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0812819C - ldrh r0, [r2, 0x30] - ldrh r1, [r3, 0x26] - adds r0, r1 - strh r0, [r3, 0x26] -_0812819C: - ldrh r1, [r2, 0x32] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081281AC - ldrh r0, [r2, 0x30] - negs r0, r0 - strh r0, [r2, 0x30] -_081281AC: - pop {r0} - bx r0 - .align 2, 0 -_081281B0: .4byte gSprites - thumb_func_end sub_8128174 - - thumb_func_start FldEff_Dust -FldEff_Dust: @ 81281B4 - push {r4,lr} - ldr r4, _08128218 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8060470 - ldr r0, _0812821C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x24] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08128210 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08128220 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xA - strh r0, [r2, 0x30] -_08128210: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08128218: .4byte gFieldEffectArguments -_0812821C: .4byte gFieldEffectObjectTemplatePointers -_08128220: .4byte gSprites - thumb_func_end FldEff_Dust - - thumb_func_start FldEff_SandPile -FldEff_SandPile: @ 8128224 - push {r4-r7,lr} - ldr r7, _081282D0 @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _081282D4 @ =gMapObjects - adds r6, r1, r0 - ldr r0, _081282D8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x74] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _081282C8 - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - adds r5, r0, 0 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r4, _081282DC @ =gSprites - adds r0, r4 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x20] - strh r1, [r0, 0x34] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x36] - ldrh r1, [r5, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x2 - strh r1, [r0, 0x26] - movs r1, 0x2 - bl SeekSpriteAnim -_081282C8: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081282D0: .4byte gFieldEffectArguments -_081282D4: .4byte gMapObjects -_081282D8: .4byte gFieldEffectObjectTemplatePointers -_081282DC: .4byte gSprites - thumb_func_end FldEff_SandPile - - thumb_func_start sub_81282E0 -sub_81282E0: @ 81282E0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0812831A - ldr r2, _08128324 @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1, 0x2] - lsls r0, 27 - cmp r0, 0 - blt _08128328 -_0812831A: - adds r0, r4, 0 - movs r1, 0x27 - bl FieldEffectStop - b _0812839A - .align 2, 0 -_08128324: .4byte gMapObjects -_08128328: - ldr r2, _081283A4 @ =gSprites - ldrb r1, [r1, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r5, [r0, 0x22] - ldrh r6, [r0, 0x20] - movs r2, 0x20 - ldrsh r1, [r0, r2] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08128350 - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0812836A -_08128350: - strh r6, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812836A - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0812836A: - strh r6, [r4, 0x20] - strh r5, [r4, 0x22] - ldr r3, _081283A4 @ =gSprites - ldr r2, _081283A8 @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C -_0812839A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081283A4: .4byte gSprites -_081283A8: .4byte gMapObjects - thumb_func_end sub_81282E0 - - thumb_func_start FldEff_Bubbles -FldEff_Bubbles: @ 81283AC - push {r4,lr} - ldr r4, _08128404 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0 - bl sub_8060470 - ldr r0, _08128408 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x88 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081283FC - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0812840C @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x5] -_081283FC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08128404: .4byte gFieldEffectArguments -_08128408: .4byte gFieldEffectObjectTemplatePointers -_0812840C: .4byte gSprites - thumb_func_end FldEff_Bubbles - - thumb_func_start sub_8128410 -sub_8128410: @ 8128410 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, r0 - strh r1, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C - ldrh r1, [r4, 0x3E] - ldr r0, _0812844C @ =0x00001004 - ands r0, r1 - cmp r0, 0 - beq _08128444 - adds r0, r4, 0 - movs r1, 0x35 - bl FieldEffectStop -_08128444: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812844C: .4byte 0x00001004 - thumb_func_end sub_8128410 - - thumb_func_start FldEff_BerryTreeGrowthSparkle -FldEff_BerryTreeGrowthSparkle: @ 8128450 - push {r4,lr} - ldr r4, _081284B8 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x4 - bl sub_8060470 - ldr r0, _081284BC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x58] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081284B0 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081284C0 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - movs r1, 0xF - ands r0, r1 - movs r1, 0x50 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x17 - strh r0, [r2, 0x2E] -_081284B0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081284B8: .4byte gFieldEffectArguments -_081284BC: .4byte gFieldEffectObjectTemplatePointers -_081284C0: .4byte gSprites - thumb_func_end FldEff_BerryTreeGrowthSparkle - - thumb_func_start FldEff_TreeDisguise -FldEff_TreeDisguise: @ 81284C4 - push {lr} - movs r0, 0x1C - movs r1, 0x18 - movs r2, 0x4 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end FldEff_TreeDisguise - - thumb_func_start FldEff_MountainDisguise -FldEff_MountainDisguise: @ 81284D4 - push {lr} - movs r0, 0x1D - movs r1, 0x19 - movs r2, 0x3 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end FldEff_MountainDisguise - - thumb_func_start FldEff_SandDisguise -FldEff_SandDisguise: @ 81284E4 - push {lr} - movs r0, 0x24 - movs r1, 0x1C - movs r2, 0x2 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end FldEff_SandDisguise - - thumb_func_start ShowDisguiseFieldEffect -ShowDisguiseFieldEffect: @ 81284F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - ldr r5, _08128528 @ =gFieldEffectArguments - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _0812852C - adds r0, r4, 0 - bl FieldEffectActiveListRemove - movs r0, 0x40 - b _08128598 - .align 2, 0 -_08128528: .4byte gFieldEffectArguments -_0812852C: - ldr r1, _081285A4 @ =gFieldEffectObjectTemplatePointers - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - mov r1, sp - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08128594 - mov r0, sp - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081285A8 @ =gSprites - adds r2, r0 - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r3, [r0] - lsls r1, r3, 30 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - lsls r3, r7, 4 - ldrb r1, [r2, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x5] - mov r0, r8 - strh r0, [r2, 0x30] - ldr r0, [r5] - strh r0, [r2, 0x32] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x34] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x36] -_08128594: - mov r0, sp - ldrb r0, [r0] -_08128598: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081285A4: .4byte gFieldEffectObjectTemplatePointers -_081285A8: .4byte gSprites - thumb_func_end ShowDisguiseFieldEffect - - thumb_func_start sub_81285AC -sub_81285AC: @ 81285AC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x36] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _081285DC - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldEffectStop -_081285DC: - ldr r4, _08128694 @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - mov r1, sp - ldrb r2, [r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - ldr r1, _08128698 @ =gSprites - adds r2, r1 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r1, [r1] - movs r3, 0x3E - adds r3, r5 - mov r12, r3 - movs r3, 0x4 - ands r3, r1 - mov r1, r12 - ldrb r4, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x20] - strh r1, [r5, 0x20] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - ldrh r1, [r2, 0x22] - adds r0, r1 - subs r0, 0x10 - strh r0, [r5, 0x22] - adds r2, 0x43 - ldrb r0, [r2] - subs r0, 0x1 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1 - bne _0812865C - adds r0, r1, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_0812865C: - movs r3, 0x2E - ldrsh r0, [r5, r3] - ldrh r2, [r5, 0x2E] - cmp r0, 0x2 - bne _08128678 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08128678 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_08128678: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0812868C - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldEffectStop -_0812868C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08128694: .4byte gMapObjects -_08128698: .4byte gSprites - thumb_func_end sub_81285AC - - thumb_func_start sub_812869C -sub_812869C: @ 812869C - push {lr} - adds r1, r0, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081286BA - ldr r2, _081286C0 @ =gSprites - ldrb r1, [r1, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] -_081286BA: - pop {r0} - bx r0 - .align 2, 0 -_081286C0: .4byte gSprites - thumb_func_end sub_812869C - - thumb_func_start sub_81286C4 -sub_81286C4: @ 81286C4 - push {lr} - adds r2, r0, 0 - adds r2, 0x21 - ldrb r1, [r2] - cmp r1, 0x2 - beq _081286FA - cmp r1, 0 - beq _081286FA - ldrb r1, [r0, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081286EC @ =gSprites - adds r1, r0, r1 - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _081286F0 - movs r0, 0 - b _081286FC - .align 2, 0 -_081286EC: .4byte gSprites -_081286F0: - movs r0, 0x2 - strb r0, [r2] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_081286FA: - movs r0, 0x1 -_081286FC: - pop {r1} - bx r1 - thumb_func_end sub_81286C4 - - thumb_func_start FldEff_Sparkle -FldEff_Sparkle: @ 8128700 - push {r4,lr} - ldr r4, _08128768 @ =gFieldEffectArguments - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - ldr r0, [r4, 0x4] - adds r0, 0x7 - str r0, [r4, 0x4] - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _0812876C @ =gFieldEffectObjectTemplatePointers - adds r0, 0x8C - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08128760 - ldr r0, _08128770 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x3 - ldrb r2, [r4, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] -_08128760: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08128768: .4byte gFieldEffectArguments -_0812876C: .4byte gFieldEffectObjectTemplatePointers -_08128770: .4byte gSprites - thumb_func_end FldEff_Sparkle - - thumb_func_start sub_8128774 -sub_8128774: @ 8128774 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _081287A8 - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081287A0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_081287A0: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _081287BE -_081287A8: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x22 - ble _081287BE - adds r0, r2, 0 - movs r1, 0x36 - bl FieldEffectStop -_081287BE: - pop {r0} - bx r0 - thumb_func_end sub_8128774 - - thumb_func_start sub_81287C4 -sub_81287C4: @ 81287C4 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081287E2 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _081287F8 -_081287E2: - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0 - bl SetObjectSubpriorityByZCoord -_081287F8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81287C4 - - thumb_func_start sub_8128800 -sub_8128800: @ 8128800 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812881E - ldrh r1, [r2, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl FieldEffectStop - b _08128826 -_0812881E: - adds r0, r2, 0 - movs r1, 0 - bl sub_806487C -_08128826: - pop {r0} - bx r0 - thumb_func_end sub_8128800 - - thumb_func_start sub_812882C -sub_812882C: @ 812882C - push {r4-r7,lr} - adds r6, r0, 0 - adds r0, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r1, r6, 0 - bl SetObjectSubpriorityByZCoord - movs r7, 0 -_08128842: - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 2 - ldr r1, _081288DC @ =gMapObjects - adds r4, r0, r1 - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - beq _081288E4 - ldrb r0, [r4, 0x5] - bl GetFieldObjectGraphicsInfo - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081288E0 @ =gSprites - adds r5, r0, r1 - adds r0, r6, 0 - adds r0, 0x28 - movs r2, 0 - ldrsb r2, [r0, r2] - ldrh r0, [r6, 0x20] - adds r1, r0, r2 - subs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x20 - ldrsh r2, [r5, r0] - cmp r1, r2 - bge _081288E4 - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r2 - ble _081288E4 - adds r0, r5, 0 - adds r0, 0x29 - movs r3, 0 - ldrsb r3, [r0, r3] - ldrh r2, [r5, 0x22] - adds r2, r3 - ldrh r4, [r5, 0x22] - adds r0, r6, 0 - adds r0, 0x29 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r6, 0x22] - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - adds r3, r0, r3 - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - cmp r2, r3 - blt _081288BC - cmp r2, r0 - bge _081288E4 -_081288BC: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - ble _081288E4 - adds r2, r6, 0 - adds r2, 0x43 - adds r0, r5, 0 - adds r0, 0x43 - ldrb r1, [r0] - ldrb r0, [r2] - cmp r0, r1 - bhi _081288E4 - adds r0, r1, 0x2 - strb r0, [r2] - b _081288EE - .align 2, 0 -_081288DC: .4byte gMapObjects -_081288E0: .4byte gSprites -_081288E4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _08128842 -_081288EE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812882C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s deleted file mode 100644 index c8c402217..000000000 --- a/asm/field_map_obj.s +++ /dev/null @@ -1,628 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - -.ifndef NONMATCHING - thumb_func_start sub_805F3EC -sub_805F3EC: @ 805F3EC - movs r0, 0 - bx lr - thumb_func_end sub_805F3EC - - thumb_func_start sub_805F3F0 -sub_805F3F0: @ 805F3F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0805F434 @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - bl state_to_direction - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805F434: .4byte gUnknown_0836DC09 - thumb_func_end sub_805F3F0 - - thumb_func_start sub_805F438 -sub_805F438: @ 805F438 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _0805F4EC @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl FieldObjectMoveDestCoords - adds r0, r6, 0 - bl GetGoSpeed0AnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl npc_block_way - lsls r0, 24 - cmp r0, 0 - bne _0805F4BE - mov r1, r8 - cmp r1, 0 - beq _0805F4D2 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _0805F4D2 -_0805F4BE: - adds r0, r6, 0 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim -_0805F4D2: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805F4EC: .4byte gUnknown_0836DC09 - thumb_func_end sub_805F438 -.endif - - thumb_func_start sub_805F4F0 -sub_805F4F0: @ 805F4F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _0805F5A4 @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl FieldObjectMoveDestCoords - adds r0, r6, 0 - bl sub_8060744 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl npc_block_way - lsls r0, 24 - cmp r0, 0 - bne _0805F576 - mov r1, r8 - cmp r1, 0 - beq _0805F58A - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _0805F58A -_0805F576: - adds r0, r6, 0 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim -_0805F58A: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805F5A4: .4byte gUnknown_0836DC09 - thumb_func_end sub_805F4F0 - - thumb_func_start sub_805F5A8 -sub_805F5A8: @ 805F5A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _0805F65C @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl FieldObjectMoveDestCoords - adds r0, r6, 0 - bl sub_806079C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl npc_block_way - lsls r0, 24 - cmp r0, 0 - bne _0805F62E - mov r1, r8 - cmp r1, 0 - beq _0805F642 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _0805F642 -_0805F62E: - adds r0, r6, 0 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim -_0805F642: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805F65C: .4byte gUnknown_0836DC09 - thumb_func_end sub_805F5A8 - - thumb_func_start sub_805F660 -sub_805F660: @ 805F660 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _0805F714 @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl FieldObjectMoveDestCoords - adds r0, r6, 0 - bl sub_80607C8 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl npc_block_way - lsls r0, 24 - cmp r0, 0 - bne _0805F6E6 - mov r1, r8 - cmp r1, 0 - beq _0805F6FA - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _0805F6FA -_0805F6E6: - adds r0, r6, 0 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim -_0805F6FA: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805F714: .4byte gUnknown_0836DC09 - thumb_func_end sub_805F660 - - thumb_func_start cph_IM_DIFFERENT -cph_IM_DIFFERENT: @ 805F718 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0805F75C @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - bl state_to_direction - bl sub_806084C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r5, 0x30] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805F75C: .4byte gUnknown_0836DC09 - thumb_func_end cph_IM_DIFFERENT - - thumb_func_start sub_805F760 -sub_805F760: @ 805F760 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _0805F814 @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - adds r1, r6, 0 - mov r2, sp - adds r3, r5, 0 - bl FieldObjectMoveDestCoords - adds r0, r6, 0 - bl sub_80608A4 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl npc_block_way - lsls r0, 24 - cmp r0, 0 - bne _0805F7E6 - mov r1, r8 - cmp r1, 0 - beq _0805F7FA - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _0805F7FA -_0805F7E6: - adds r0, r6, 0 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim -_0805F7FA: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805F814: .4byte gUnknown_0836DC09 - thumb_func_end sub_805F760 - - thumb_func_start oac_hopping -oac_hopping: @ 805F818 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r4, r0, 0 - adds r7, r1, 0 - mov r8, r3 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _0805F8DC @ =gUnknown_0836DC09 - ldrb r0, [r4, 0x6] - adds r0, r1 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x21 - ldrb r1, [r1] - adds r2, r6, 0 - bl state_to_direction - adds r6, r0, 0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - movs r0, 0x2 - str r0, [sp] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - movs r3, 0x2 - bl sub_8060320 - adds r0, r6, 0 - bl GetJumpLedgeAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim - add r0, sp, 0x4 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r6, 0 - bl npc_block_way - lsls r0, 24 - cmp r0, 0 - bne _0805F8AC - mov r1, r8 - cmp r1, 0 - beq _0805F8C0 - add r0, sp, 0x4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r8 - lsls r0, 24 - cmp r0, 0 - bne _0805F8C0 -_0805F8AC: - adds r0, r6, 0 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r7, 0 - bl FieldObjectSetRegularAnim -_0805F8C0: - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x2 - strh r0, [r7, 0x30] - movs r0, 0x1 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805F8DC: .4byte gUnknown_0836DC09 - thumb_func_end oac_hopping diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 9fddd9194..960b300b7 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1,10 +1,10 @@ @ Does nothing. - .macro snop + .macro nop .byte 0x00 .endm @ Does nothing. - .macro snop1 + .macro nop1 .byte 0x01 .endm @@ -25,27 +25,27 @@ .endm @ Jumps to destination and continues script execution from there. - .macro jump destination + .macro goto destination .byte 0x05 .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there. - .macro jumpif condition, destination + .macro goto_if condition, destination .byte 0x06 .byte \condition .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), calls destination. - .macro callif condition, destination + .macro call_if condition, destination .byte 0x07 .byte \condition .4byte \destination .endm @ Jumps to the standard function at index function. - .macro jumpstd function + .macro gotostd function .byte 0x08 .byte \function .endm @@ -57,58 +57,58 @@ .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function. - .macro jumpstdif condition, function + .macro gotostd_if condition, function .byte 0x0a .byte \condition .byte \function .endm @ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function. - .macro callstdif condition, function + .macro callstd_if condition, function .byte 0x0b .byte \condition .byte \function .endm @ Executes a script stored in a default RAM location. - .macro jumpram + .macro gotoram .byte 0x0c .endm @ Terminates script execution and "resets the script RAM". - .macro die + .macro killscript .byte 0x0d .endm - @ Pads the specified value to a dword, and then writes that dword to a predefined address (0x0203AAA8). - .macro setbyte value + @ Sets mystery event status + .macro setmysteryeventstatus value .byte 0x0e .byte \value .endm - @ Sets the specified script bank to value. - .macro loadptr destination, value + @ Sets the specified script bank to immediate value. + .macro loadword destination, value .byte 0x0f .byte \destination .4byte \value .endm - @ Sets the specified script bank to value. - .macro setbufferbyte destination, value + @ Sets the specified script bank to immediate value. + .macro loadbyte destination, value .byte 0x10 .byte \destination .byte \value .endm @ Sets the byte at offset to value. - .macro writebytetooffset value, offset + .macro writebytetoaddr value, offset .byte 0x11 .byte \value .4byte \offset .endm @ Copies the byte value at source into the specified script bank. - .macro loadbytefrompointer destination, source + .macro loadbytefromaddr destination, source .byte 0x12 .byte \destination .4byte \source @@ -122,7 +122,7 @@ .endm @ Copies the contents of bank source into bank destination. - .macro copybuffers destination, source + .macro copylocal destination, source .byte 0x14 .byte \destination .byte \source @@ -171,71 +171,83 @@ .endm @ Compares the values of script banks a and b, after forcing the values to bytes. - .macro comparebuffers byte1, byte2 + .macro compare_local_to_local byte1, byte2 .byte 0x1b .byte \byte1 .byte \byte2 .endm @ Compares the least-significant byte of the value of script bank a to a fixed byte value (b). - .macro comparebuffertobyte a, b + .macro compare_local_to_value a, b .byte 0x1c .byte \a .byte \b .endm @ Compares the least-significant byte of the value of script bank a to the byte located at offset b. - .macro comparebuffertoptrbyte a, b + .macro compare_local_to_addr a, b .byte 0x1d .byte \a .4byte \b .endm @ Compares the byte located at offset a to the least-significant byte of the value of script bank b. - .macro compareptrbytetobuffer a, b + .macro compare_addr_to_local a, b .byte 0x1e .4byte \a .byte \b .endm @ Compares the byte located at offset a to a fixed byte value (b). - .macro compareptrbytetobyte a, b + .macro compare_addr_to_value a, b .byte 0x1f .4byte \a .byte \b .endm @ Compares the byte located at offset a to the byte located at offset b. - .macro compareptrbytes a, b + .macro compare_addr_to_addr a, b .byte 0x20 .4byte \a .4byte \b .endm @ Compares the value of `var` to a fixed word value (b). - .macro compare var, value + .macro compare_var_to_value var, value .byte 0x21 .2byte \var .2byte \value .endm @ Compares the value of `var` to the value of `var2`. - .macro comparevars var1, var2 + .macro compare_var_to_var var1, var2 .byte 0x22 .2byte \var1 .2byte \var2 .endm - @ Calls the ASM routine stored at code. Script execution is blocked until the ASM returns (bx lr, mov pc, lr, etc.). Remember to add 1 to the offset when calling THUMB code. - .macro callasm code + @ Generic compare macro which attempts to deduce argument types based on their values + @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers + .macro compare arg1, arg2 + .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) + compare_var_to_var \arg1, \arg2 + .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF) + compare_var_to_value \arg1, \arg2 + .else + .error "Invalid arguments for 'compare'" + .endif + .endm + + @ Calls the native C function stored at `func`. + .macro callnative func .byte 0x23 - .4byte \code + .4byte \func .endm - @ Replaces a pointer in the script engine RAM with asm_pointer. - .macro jumpasm asm_pointer + @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE. + .macro gotonative func .byte 0x24 - .4byte \asm_pointer + .4byte \func .endm @ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers. @@ -245,7 +257,7 @@ .endm @ Calls a special function. That function's output (if any) will be written to the variable you specify. - .macro specialval output, function + .macro specialvar output, function .byte 0x26 .2byte \output .2byte SPECIAL_\function @@ -257,7 +269,7 @@ .endm @ Blocks script execution for time (frames? milliseconds?). - .macro pause time + .macro delay time .byte 0x28 .2byte \time .endm @@ -281,33 +293,35 @@ .endm @ In FireRed, this command is a nop. - .macro compareflags + .macro initclock hour minute .byte 0x2c + .byte \hour + .byte \minute .endm @ In FireRed, this command is a nop. - .macro checkdailyflags + .macro dodailyevents .byte 0x2d .endm @ Resets the values of variables 0x8000, 0x8001, and 0x8002. Related to RTC in RSE? - .macro resetvars + .macro gettime .byte 0x2e .endm @ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones. - .macro playsfx sound_number + .macro playse sound_number .byte 0x2f .2byte \sound_number .endm @ Blocks script execution until the currently-playing sound (triggered by sound) finishes playing. - .macro checksound + .macro waitse .byte 0x30 .endm @ Plays the specified (fanfare_number) fanfare. - .macro fanfare fanfare_number + .macro playfanfare fanfare_number .byte 0x31 .2byte \fanfare_number .endm @@ -318,37 +332,37 @@ .endm @ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00. - .macro playmusic song_number, unknown + .macro playbgm song_number, unknown .byte 0x33 .2byte \song_number .byte \unknown .endm @ Plays the specified (song_number) song. - .macro playmusicbattle song_number + .macro savebgm song_number .byte 0x34 .2byte \song_number .endm @ Crossfades the currently-playing song into the map's default song. - .macro fadedefault + .macro fadedefaultbgm .byte 0x35 .endm @ Crossfades the currently-playng song into the specified (song_number) song. - .macro fademusic song_number + .macro fadenewbgm song_number .byte 0x36 .2byte \song_number .endm @ Fades out the currently-playing song. - .macro fadeout speed + .macro fadeoutbgm speed .byte 0x37 .byte \speed .endm @ Fades the currently-playing song back in. - .macro fadein speed + .macro fadeinbgm speed .byte 0x38 .byte \speed .endm @@ -363,7 +377,7 @@ .endm @ Clone of warp that does not play a sound effect. - .macro warpmuted map, warp, X, Y + .macro warpsilent map, warp, X, Y .byte 0x3a map \map .byte \warp @@ -372,7 +386,7 @@ .endm @ Clone of warp that uses "a walking effect". - .macro warpwalk map, warp, X, Y + .macro warpdoor map, warp, X, Y .byte 0x3b map \map .byte \warp @@ -396,7 +410,7 @@ .endm @ Clone of warp. Used by an (unused?) Safari Zone script to return the player to the gatehouse and end the Safari Game. - .macro warp3 map, warp, X, Y + .macro setwarp map, warp, X, Y .byte 0x3e map \map .byte \warp @@ -405,7 +419,7 @@ .endm @ Sets a default warp place. If a warp tries to send the player to Warp 127 on Map 127.127, they will instead be sent here. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators). - .macro warpplace map, warp, X, Y + .macro setdynamicwarp map, warp, X, Y .byte 0x3f map \map .byte \warp @@ -414,7 +428,7 @@ .endm @ Clone of warp3, except that this writes data to different offsets... - .macro warp4 map, warp, X, Y + .macro setdivewarp map, warp, X, Y .byte 0x40 map \map .byte \warp @@ -423,7 +437,7 @@ .endm @ Clone of warp3, except that this writes data to different offsets... - .macro warp5 map, warp, X, Y + .macro setholewarp map, warp, X, Y .byte 0x41 map \map .byte \warp @@ -504,7 +518,7 @@ .endm @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro testdecor a + .macro hasdecor a .byte 0x4d .2byte \a .endm @@ -516,148 +530,146 @@ .endm @ Applies the movement data at movements to the specified (index) Person event. Also closes any standard message boxes that are still open. - .macro move index, movements - .byte 0x4f - .2byte \index - .4byte \movements - .endm - - @ Apparent clone of applymovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything. @ This command in fact uses variables to access the Person event ID. So, for example, if you setvar 0x8000 to 0x3, and then use applymovementpos 0x8000 @move1, Person event 3 will have the movements at @move1 applied to them. Thank you Shiny Quagsire for bringing this to my attention. - .macro movecoords variable, movements, x, y - .byte 0x50 - .2byte \variable - .4byte \movements - .byte \x - .byte \y + .macro applymovement index, movements, mapGroup, mapNum + .ifb \mapGroup + .byte 0x4f + .2byte \index + .4byte \movements + .else + .byte 0x50 + .2byte \index + .4byte \movements + .byte \mapGroup + .byte \mapNum + .endif .endm @ Blocks script execution until the movements being applied to the specified (index) Person event finish. If the specified Person event is 0x0000, then the command will block script execution until all Person events affected by applymovement finish their movements. If the specified Person event is not currently being manipulated with applymovement, then this command does nothing. - .macro waitmove index - .byte 0x51 - .2byte \index - .endm - - @ Apparent clone of waitmovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything. - .macro waitmovexy index, X, Y - .byte 0x52 - .2byte \index - .byte \X - .byte \Y - .endm - - @ Attempts to hide the specified (local_ID, a local ID) Person event on the current map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing. - .macro disappear local_ID - .byte 0x53 - .2byte \local_ID - .endm - - @ Clone of hidesprite that also moves the Person? Test it! - .macro disappearxy index, X, Y - .byte 0x54 - .2byte \index - .byte \X - .byte \Y - .endm - - .macro reappear word - .byte 0x55 - .2byte \word - .endm - - .macro reappearxy word, byte1, byte2 - .byte 0x56 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - .macro movesprite word1, word2, word3 - .byte 0x57 - .2byte \word1 - .2byte \word2 - .2byte \word3 - .endm - - .macro spritevisible word, byte1, byte2 - .byte 0x58 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - .macro spriteinvisible word, byte1, byte2 - .byte 0x59 - .2byte \word - .byte \byte1 - .byte \byte2 + .macro waitmovement index, mapBank, mapNum + .ifb \mapBank + .byte 0x51 + .2byte \index + .else + .byte 0x52 + .2byte \index + .byte \mapBank + .byte \mapNum + .endif + .endm + + @ Attempts to hide the specified (local_ID, a local ID) Person event on the specified map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing. + @ If no map is specified, then the current map is used + .macro removeobject localId, mapGroup, mapNum + .ifb \mapGroup + .byte 0x53 + .2byte \localId + .else + .byte 0x54 + .2byte \localId + .byte \mapGroup + .byte \mapNum + .endif + .endm + + .macro addobject localId, mapGroup, mapNum + .ifb \mapGroup + .byte 0x55 + .2byte \localId + .else + .byte 0x56 + .2byte \localId + .byte \mapGroup + .byte \mapNum + .endif + .endm + + .macro setobjectxy word1, word2, word3 + .byte 0x57 + .2byte \word1 + .2byte \word2 + .2byte \word3 + .endm + + .macro showobject word, byte1, byte2 + .byte 0x58 + .2byte \word + .byte \byte1 + .byte \byte2 + .endm + + .macro hideobject word, byte1, byte2 + .byte 0x59 + .2byte \word + .byte \byte1 + .byte \byte2 .endm @ If the script was called by a Person event, then that Person will turn to face toward the tile that the player is stepping off of. .macro faceplayer - .byte 0x5a + .byte 0x5a .endm - .macro spriteface word, byte - .byte 0x5b - .2byte \word - .byte \byte + .macro turnobject word, byte + .byte 0x5b + .2byte \word + .byte \byte .endm @ If the Trainer flag for Trainer index is not set, this command does absolutely nothing. .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4 - .byte 0x5c - .byte \type - .2byte \trainer - .2byte \word - .if \type == 0 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .elseif \type == 1 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .4byte \pointer3 @ event script - .elseif \type == 2 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .4byte \pointer3 @ event script - .elseif \type == 3 - .4byte \pointer1 @ text - .elseif \type == 4 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .4byte \pointer3 @ text - .elseif \type == 5 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .elseif \type == 6 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .4byte \pointer3 @ text - .4byte \pointer4 @ event script - .elseif \type == 7 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .4byte \pointer3 @ text - .elseif \type == 8 - .4byte \pointer1 @ text - .4byte \pointer2 @ text - .4byte \pointer3 @ text - .4byte \pointer4 @ event script - .endif + .byte 0x5c + .byte \type + .2byte \trainer + .2byte \word + .if \type == 0 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 1 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ event script + .elseif \type == 2 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ event script + .elseif \type == 3 + .4byte \pointer1 @ text + .elseif \type == 4 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .elseif \type == 5 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 6 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .4byte \pointer4 @ event script + .elseif \type == 7 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .elseif \type == 8 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .4byte \pointer4 @ event script + .endif .endm @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. - .macro reptrainerbattle + .macro battlebegin .byte 0x5d .endm - .macro endtrainerbattle + .macro ontrainerbattleend .byte 0x5e .endm - .macro endtrainerbattle2 + .macro ontrainerbattleendgoto .byte 0x5f .endm @@ -668,37 +680,37 @@ .endm @ Sets Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.) - .macro cleartrainerflag trainer + .macro settrainerflag trainer .byte 0x61 .2byte \trainer .endm @ Clears Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.) - .macro settrainerflag trainer + .macro cleartrainerflag trainer .byte 0x62 .2byte \trainer .endm - .macro movespriteperm word1, word2, word3 + .macro setobjectxyperm word1, word2, word3 .byte 0x63 .2byte \word1 .2byte \word2 .2byte \word3 .endm - .macro moveoffscreen word + .macro moveobjectoffscreen word .byte 0x64 .2byte \word .endm - .macro spritebehave word, byte + .macro setobjectmovementtype word, byte .byte 0x65 .2byte \word .byte \byte .endm @ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn. - .macro waittext + .macro waitmessage .byte 0x66 .endm @@ -709,7 +721,7 @@ .endm @ Holds the current message box open until the player presses a key. The message box is then closed. - .macro closebutton + .macro closemessage .byte 0x68 .endm @@ -755,7 +767,7 @@ .endm @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoicedef X, Y, list, default, B + .macro multichoicedefault X, Y, list, default, B .byte 0x70 .byte \X .byte \Y @@ -765,7 +777,7 @@ .endm @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. - .macro multichoicerow X, Y, list, per_row, B + .macro multichoicegrid X, Y, list, per_row, B .byte 0x71 .byte \X .byte \Y @@ -774,7 +786,7 @@ .byte \B .endm - .macro showbox byte1, byte2, byte3, byte4 + .macro drawbox byte1, byte2, byte3, byte4 .byte 0x72 .byte \byte1 .byte \byte2 @@ -782,7 +794,7 @@ .byte \byte4 .endm - .macro hidebox byte1, byte2, byte3, byte4 + .macro erasebox byte1, byte2, byte3, byte4 .byte 0x73 .byte \byte1 .byte \byte2 @@ -790,7 +802,7 @@ .byte \byte4 .endm - .macro clearbox byte1, byte2, byte3, byte4 + .macro drawboxtext byte1, byte2, byte3, byte4 .byte 0x74 .byte \byte1 .byte \byte2 @@ -799,7 +811,7 @@ .endm @ Displays a box containing the front sprite for the specified (species) Pokmon species. - .macro showpokepic species, X, Y + .macro drawpokepic species, X, Y .byte 0x75 .2byte \species .byte \X @@ -807,24 +819,24 @@ .endm @ Hides all boxes displayed with showpokepic. - .macro hidepokepic + .macro erasepokepic .byte 0x76 .endm @ In FireRed, this command is a nop. (The argument is discarded.) - .macro showcontestwinner a + .macro drawcontestwinner a .byte 0x77 .byte \a .endm @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters. - .macro braillemsg text + .macro braillemessage text .byte 0x78 .4byte \text .endm @ Gives the player one of the specified (species) Pokmon at level level holding item. The unknown arguments should all be zeroes. - .macro givepokemon species, level, item, unknown1, unknown2, unknown3 + .macro givepoke species, level, item, unknown1, unknown2, unknown3 .byte 0x79 .2byte \species .byte \level @@ -847,68 +859,68 @@ .endm @ Checks if at least one Pokmon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the Pokmon that knows the move. If not, LASTRESULT is set to 0x0006. - .macro checkattack index + .macro checkpokemove index .byte 0x7c .2byte \index .endm @ Writes the name of the Pokmon at index species to the specified buffer. - .macro bufferpoke out, species + .macro getspeciesname out, species .byte 0x7d .byte \out .2byte \species .endm @ Writes the name of the first Pokmon in the player's party to the specified buffer. - .macro bufferfirstpoke out + .macro getfirstpartypokename out .byte 0x7e .byte \out .endm @ Writes the name of the Pokmon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. - .macro bufferpartypoke out, slot + .macro getpartypokename out, slot .byte 0x7f .byte \out .2byte \slot .endm @ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro bufferitem out, item + .macro getitemname out, item .byte 0x80 .byte \out .2byte \item .endm @ In FireRed, this command is a nop. (The first argument is discarded immediately. The second argument is read, but not used for anything.) - .macro bufferdecor a, b + .macro getdecorname a, b .byte 0x81 .byte \a .2byte \b .endm @ Writes the name of the attack at index attack to the specified buffer. - .macro bufferattack out, attack + .macro getmovename out, attack .byte 0x82 .byte \out .2byte \attack .endm @ Converts the value of input to a decimal string, and writes that string to the specified buffer. - .macro buffernum out, input + .macro getnumberstring out, input .byte 0x83 .byte \out .2byte \input .endm @ Writes the standard string identified by index to the specified buffer. Specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption (I've observed destruction of the stored player name and crashes when entering/exiting certain menu screens). - .macro bufferstd out, index + .macro getstdstring out, index .byte 0x84 .byte \out .2byte \index .endm @ Copies the string at offset to the specified buffer. - .macro buffertext out, offset + .macro getstring out, offset .byte 0x85 .byte \out .4byte \offset @@ -932,13 +944,13 @@ .4byte \products .endm - .macro pokecasino word + .macro playslotmachine word .byte 0x89 .2byte \word .endm @ In FireRed, this command is a nop. - .macro event_8a byte1, byte2, byte3 + .macro plantberrytree byte1, byte2, byte3 .byte 0x8a .byte \byte1, \byte2, \byte3 .endm @@ -977,7 +989,7 @@ .endm @ If check is 0x00, this command subtracts value from the player's money. - .macro paymoney value, check + .macro takemoney value, check .byte 0x91 .4byte \value .byte \check @@ -991,28 +1003,28 @@ .endm @ Spawns a secondary box showing how much money the player has. - .macro showmoney X, Y + .macro showmoneybox X, Y .byte 0x93 .byte \X .byte \Y .endm @ Hides the secondary box spawned by showmoney. - .macro hidemoney X, Y + .macro hidemoneybox X, Y .byte 0x94 .byte \X .byte \Y .endm @ Updates the secondary box spawned by showmoney. (What does it do with its arguments?) - .macro updatemoney X, Y + .macro updatemoneybox X, Y .byte 0x95 .byte \X .byte \Y .endm @ In FireRed, this command is a nop. - .macro event_96 word + .macro getpricereduction word .byte 0x96 .2byte \word .endm @@ -1029,36 +1041,36 @@ .byte \byte2 .endm - .macro darken word + .macro setdarklevel word .byte 0x99 .2byte \word .endm - .macro lighten byte + .macro animdarklevel byte .byte 0x9a .byte \byte .endm - .macro message2 pointer + .macro messageautoscroll pointer .byte 0x9b .4byte \pointer .endm @ Executes the specified field move animation. - .macro doanimation animation + .macro dofieldeffect animation .byte 0x9c .2byte \animation .endm @ Tells the game which party Pokmon to use for the next field move animation. - .macro setanimation animation, slot + .macro setfieldeffect animation, slot .byte 0x9d .byte \animation .2byte \slot .endm @ Blocks script execution until all playing field move animations complete. - .macro checkanimation animation + .macro waitfieldeffect animation .byte 0x9e .2byte \animation .endm @@ -1070,12 +1082,12 @@ .endm @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT. - .macro checkgender + .macro checkplayergender .byte 0xa0 .endm @ Plays the specified (species) Pokmon's cry. You can use waitcry to block script execution until the sound finishes. - .macro pokecry species, effect + .macro playpokecry species, effect .byte 0xa1 .2byte \species .2byte \effect @@ -1112,12 +1124,12 @@ .byte \subroutine .endm - .macro setmapfooter word + .macro setmaplayoutindex word .byte 0xa7 .2byte \word .endm - .macro spritelevelup word, byte1, byte2, byte3 + .macro setobjectpriority word, byte1, byte2, byte3 .byte 0xa8 .2byte \word .byte \byte1 @@ -1125,14 +1137,14 @@ .byte \byte3 .endm - .macro restorespritelevel word, byte1, byte2 + .macro resetobjectpriority word, byte1, byte2 .byte 0xa9 .2byte \word .byte \byte1 .byte \byte2 .endm - .macro createvsprite byte1, byte2, word1, word2, byte3, byte4 + .macro createvobject byte1, byte2, word1, word2, byte3, byte4 .byte 0xaa .byte \byte1 .byte \byte2 @@ -1142,52 +1154,52 @@ .byte \byte4 .endm - .macro vspriteface byte1, byte2 + .macro turnvobject byte1, byte2 .byte 0xab .byte \byte1 .byte \byte2 .endm @ Queues the opening of the door tile at (X, Y) with an animation. - .macro setdooropened X, Y + .macro opendoor X, Y .byte 0xac .2byte \X .2byte \Y .endm @ Queues the closing of the door tile at (X, Y) with an animation. - .macro setdoorclosed X, Y + .macro closedoor X, Y .byte 0xad .2byte \X .2byte \Y .endm @ Executes the state changes queued with setdooropened, setdoorclosed, setdooropened2, and setdoorclosed2. - .macro doorchange + .macro waitdooranim .byte 0xae .endm @ Queues the opening of the door tile at (X, Y) without an animation. - .macro setdooropened2 X, Y + .macro setdooropen X, Y .byte 0xaf .2byte \X .2byte \Y .endm @ Queues the closing of the door tile at (X, Y) without an animation. - .macro setdoorclosed2 X, Y + .macro setdoorclosed X, Y .byte 0xb0 .2byte \X .2byte \Y .endm @ In FireRed, this command is a nop. - .macro event_b1 + .macro addelevmenuitem .byte 0xb1 .endm @ In FireRed, this command is a nop. - .macro event_b2 + .macro showelevmenu .byte 0xb2 .endm @@ -1201,7 +1213,7 @@ .2byte \word .endm - .macro removecoins word + .macro takecoins word .byte 0xb5 .2byte \word .endm @@ -1225,7 +1237,7 @@ .2byte \word .endm - .macro vjump pointer + .macro vgoto pointer .byte 0xb9 .4byte \pointer .endm @@ -1235,63 +1247,63 @@ .4byte \pointer .endm - .macro if5 byte, pointer + .macro vgoto_if byte, pointer .byte 0xbb .byte \byte .4byte \pointer .endm - .macro if6 byte, pointer + .macro vcall_if byte, pointer .byte 0xbc .byte \byte .4byte \pointer .endm - .macro vtext pointer + .macro vmessage pointer .byte 0xbd .4byte \pointer .endm - .macro vloadptr pointer + .macro vloadword pointer .byte 0xbe .4byte \pointer .endm - .macro vbuffer byte, pointer + .macro vgetstring byte, pointer .byte 0xbf .byte \byte .4byte \pointer .endm @ Spawns a secondary box showing how many Coins the player has. - .macro showcoins X, Y + .macro showcoinsbox X, Y .byte 0xc0 .byte \X .byte \Y .endm @ Hides the secondary box spawned by showcoins. It doesn't appear to use its arguments, but they are still required. - .macro hidecoins X, Y + .macro hidecoinsbox X, Y .byte 0xc1 .byte \X .byte \Y .endm @ Updates the secondary box spawned by showcoins. (What does it do with its arguments?) - .macro updatecoins X, Y + .macro updatecoinsbox X, Y .byte 0xc2 .byte \X .byte \Y .endm @ Increases the value of the specified hidden variable by 1. The hidden variable's value will not be allowed to exceed 0x00FFFFFF. - .macro inccounter a + .macro incrementgamestat a .byte 0xc3 .byte \a .endm @ Clone of warp... Except that it doesn't appear to have any effect when used in some of FireRed's default level scripts. (If it did, Berry Forest would be impossible to enter...) - .macro warp6 map, warp, X, Y + .macro setescapewarp map, warp, X, Y .byte 0xc4 map \map .byte \warp @@ -1475,8 +1487,8 @@ @ Supplementary - .macro jumpeq dest - jumpif 1, \dest + .macro goto_if_eq dest + goto_if 1, \dest .endm .macro switch var @@ -1484,12 +1496,12 @@ .endm .macro case condition, dest - compare 0x8000, \condition - jumpeq \dest + compare_var_to_value 0x8000, \condition + goto_if_eq \dest .endm .macro msgbox text, type=4 - loadptr 0, \text + loadword 0, \text callstd \type .endm diff --git a/asm/party_menu.s b/asm/party_menu.s deleted file mode 100644 index ec6754b86..000000000 --- a/asm/party_menu.s +++ /dev/null @@ -1,8225 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_806AEDC -sub_806AEDC: @ 806AEDC - push {r4-r6,lr} - sub sp, 0x4 - bl AnimateSprites - bl BuildOamBuffer - ldr r0, _0806AF2C @ =gUnknown_0202E8FA - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r1, _0806AF30 @ =gUnknown_08376BB4 - adds r5, r0, r1 - movs r6, 0 -_0806AEF8: - ldrb r0, [r5] - lsls r0, 3 - ldrb r1, [r5, 0x1] - lsls r1, 3 - ldr r2, [r5, 0x4] - lsls r3, r6, 5 - movs r4, 0x80 - lsls r4, 2 - orrs r3, r4 - str r3, [sp] - movs r3, 0 - bl sub_800142C - adds r5, 0x8 - adds r6, 0x1 - cmp r6, 0x5 - ble _0806AEF8 - bl RunTasks - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806AF2C: .4byte gUnknown_0202E8FA -_0806AF30: .4byte gUnknown_08376BB4 - thumb_func_end sub_806AEDC - - thumb_func_start sub_806AF34 -sub_806AF34: @ 806AF34 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_806B548 - pop {r0} - bx r0 - thumb_func_end sub_806AF34 - - thumb_func_start sub_806AF4C -sub_806AF4C: @ 806AF4C - push {r4,r5,lr} - adds r4, r2, 0 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - cmp r1, 0xFF - beq _0806AF64 - ldr r0, _0806AF84 @ =gBattleTypeFlags - strh r1, [r0] -_0806AF64: - ldr r0, _0806AF88 @ =0x0201b000 - movs r5, 0x96 - lsls r5, 2 - adds r1, r0, r5 - strb r2, [r1] - movs r2, 0x97 - lsls r2, 2 - adds r1, r0, r2 - str r4, [r1] - adds r5, 0x1 - adds r0, r5 - strb r3, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806AF84: .4byte gBattleTypeFlags -_0806AF88: .4byte 0x0201b000 - thumb_func_end sub_806AF4C - - thumb_func_start sub_806AF8C -sub_806AF8C: @ 806AF8C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - bl sub_806AF4C - ldr r0, _0806AFA8 @ =sub_806B460 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0806AFA8: .4byte sub_806B460 - thumb_func_end sub_806AF8C - - thumb_func_start OpenPartyMenu -OpenPartyMenu: @ 806AFAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806AFCC @ =gUnknown_08376C74 - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 2 - adds r3, r2 - ldr r2, [r3] - ldrb r3, [r3, 0x8] - bl sub_806AF8C - pop {r0} - bx r0 - .align 2, 0 -_0806AFCC: .4byte gUnknown_08376C74 - thumb_func_end OpenPartyMenu - - thumb_func_start sub_806AFD0 -sub_806AFD0: @ 806AFD0 - push {r4,r5,lr} - ldr r1, _0806AFF0 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x9 - bls _0806AFE6 - b _0806B11A -_0806AFE6: - lsls r0, 2 - ldr r1, _0806AFF4 @ =_0806AFF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806AFF0: .4byte 0x0201b000 -_0806AFF4: .4byte _0806AFF8 - .align 2, 0 -_0806AFF8: - .4byte _0806B020 - .4byte _0806B060 - .4byte _0806B066 - .4byte _0806B07A - .4byte _0806B0A4 - .4byte _0806B0AA - .4byte _0806B0BC - .4byte _0806B0C2 - .4byte _0806B0D4 - .4byte _0806B0EC -_0806B020: - ldr r0, _0806B048 @ =0x00000266 - adds r5, r4, r0 - movs r1, 0 - ldrsh r3, [r5, r1] - ldr r0, _0806B04C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r3, r0 - bge _0806B054 - movs r2, 0x98 - lsls r2, 2 - adds r0, r4, r2 - ldrb r0, [r0] - ldrb r1, [r5] - movs r2, 0x64 - muls r2, r3 - ldr r3, _0806B050 @ =gPlayerParty - adds r2, r3 - bl TryCreatePartyMenuMonIcon - b _0806B114 - .align 2, 0 -_0806B048: .4byte 0x00000266 -_0806B04C: .4byte gPlayerPartyCount -_0806B050: .4byte gPlayerParty -_0806B054: - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _0806B0E0 -_0806B060: - bl LoadHeldItemIconGraphics - b _0806B0D8 -_0806B066: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - bl CreateHeldItemIcons_806DC34 - movs r2, 0x99 - lsls r2, 2 - adds r1, r4, r2 - b _0806B0E0 -_0806B07A: - movs r1, 0x98 - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - ldr r2, _0806B0A0 @ =0x00000266 - adds r5, r4, r2 - ldrb r1, [r5] - bl sub_806BD58 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B114 - movs r0, 0 - strh r0, [r5] - movs r0, 0x99 - lsls r0, 2 - adds r1, r4, r0 - b _0806B0E0 - .align 2, 0 -_0806B0A0: .4byte 0x00000266 -_0806B0A4: - bl PartyMenuPrintMonsLevelOrStatus - b _0806B0D8 -_0806B0AA: - bl PrintPartyMenuMonNicknames - ldr r1, _0806B0B8 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _0806B0E0 - .align 2, 0 -_0806B0B8: .4byte 0x0201b000 -_0806B0BC: - bl PartyMenuTryPrintMonsHP - b _0806B0D8 -_0806B0C2: - bl nullsub_13 - ldr r1, _0806B0D0 @ =0x0201b000 - movs r0, 0x99 - lsls r0, 2 - adds r1, r0 - b _0806B0E0 - .align 2, 0 -_0806B0D0: .4byte 0x0201b000 -_0806B0D4: - bl PartyMenuDrawHPBars -_0806B0D8: - ldr r1, _0806B0E8 @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r1, r2 -_0806B0E0: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0806B11A - .align 2, 0 -_0806B0E8: .4byte 0x0201b000 -_0806B0EC: - ldr r0, _0806B110 @ =0x00000266 - adds r5, r4, r0 - ldrb r0, [r5] - bl sub_806B58C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B114 - movs r1, 0 - strh r1, [r5] - movs r2, 0x99 - lsls r2, 2 - adds r0, r4, r2 - strh r1, [r0] - movs r0, 0x1 - b _0806B11C - .align 2, 0 -_0806B110: .4byte 0x00000266 -_0806B114: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0806B11A: - movs r0, 0 -_0806B11C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806AFD0 - - thumb_func_start sub_806B124 -sub_806B124: @ 806B124 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r0, _0806B144 @ =gMain - ldr r1, _0806B148 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x11 - bls _0806B13A - b _0806B450 -_0806B13A: - lsls r0, 2 - ldr r1, _0806B14C @ =_0806B150 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806B144: .4byte gMain -_0806B148: .4byte 0x0000043c -_0806B14C: .4byte _0806B150 - .align 2, 0 -_0806B150: - .4byte _0806B198 - .4byte _0806B240 - .4byte _0806B246 - .4byte _0806B27C - .4byte _0806B282 - .4byte _0806B2AC - .4byte _0806B2B2 - .4byte _0806B2D0 - .4byte _0806B2EC - .4byte _0806B318 - .4byte _0806B344 - .4byte _0806B37C - .4byte _0806B382 - .4byte _0806B3C0 - .4byte _0806B3CC - .4byte _0806B3E4 - .4byte _0806B40C - .4byte _0806B440 -_0806B198: - movs r0, 0 - bl SetVBlankCallback - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r2, sp, 0x8 - mov r8, r2 - add r2, sp, 0x4 - movs r6, 0 - ldr r1, _0806B22C @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0806B230 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0806B1BC: - strh r6, [r2] - add r0, sp, 0x4 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0806B1BC - strh r6, [r2] - add r2, sp, 0x4 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r3, r12 - orrs r0, r3 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x8] - ldr r2, _0806B22C @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x4 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r2, _0806B234 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _0806B238 @ =gMain - ldr r2, _0806B23C @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B22C: .4byte 0x040000d4 -_0806B230: .4byte 0x81000800 -_0806B234: .4byte gPaletteFade -_0806B238: .4byte gMain -_0806B23C: .4byte 0x0000043c -_0806B240: - bl remove_some_task - b _0806B426 -_0806B246: - bl sub_806B4A8 - ldr r1, _0806B26C @ =0x0201b000 - movs r2, 0x99 - lsls r2, 2 - adds r0, r1, r2 - movs r2, 0 - strh r2, [r0] - ldr r3, _0806B270 @ =0x00000266 - adds r0, r1, r3 - strh r2, [r0] - movs r0, 0x9A - lsls r0, 2 - adds r1, r0 - strh r2, [r1] - ldr r1, _0806B274 @ =gMain - ldr r2, _0806B278 @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B26C: .4byte 0x0201b000 -_0806B270: .4byte 0x00000266 -_0806B274: .4byte gMain -_0806B278: .4byte 0x0000043c -_0806B27C: - bl ResetSpriteData - b _0806B426 -_0806B282: - ldr r0, _0806B2A0 @ =0x0201b000 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0806B298 - cmp r0, 0x5 - beq _0806B298 - bl ResetTasks -_0806B298: - ldr r1, _0806B2A4 @ =gMain - ldr r2, _0806B2A8 @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B2A0: .4byte 0x0201b000 -_0806B2A4: .4byte gMain -_0806B2A8: .4byte 0x0000043c -_0806B2AC: - bl FreeAllSpritePalettes - b _0806B426 -_0806B2B2: - ldr r4, _0806B2CC @ =0x0201b000 - movs r1, 0x97 - lsls r1, 2 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - movs r2, 0x98 - lsls r2, 2 - adds r1, r4, r2 - strb r0, [r1] - b _0806B426 - .align 2, 0 -_0806B2CC: .4byte 0x0201b000 -_0806B2D0: - ldr r0, _0806B2E0 @ =gWindowConfig_81E6C90 - bl SetUpWindowConfig - ldr r1, _0806B2E4 @ =gMain - ldr r0, _0806B2E8 @ =0x0000043c - adds r1, r0 - b _0806B42C - .align 2, 0 -_0806B2E0: .4byte gWindowConfig_81E6C90 -_0806B2E4: .4byte gMain -_0806B2E8: .4byte 0x0000043c -_0806B2EC: - ldr r4, _0806B308 @ =gUnknown_03004210 - ldr r1, _0806B30C @ =gWindowConfig_81E6C90 - adds r0, r4, 0 - bl InitWindowFromConfig - adds r0, r4, 0 - movs r1, 0x1 - bl MultistepInitWindowTileData - ldr r1, _0806B310 @ =gMain - ldr r2, _0806B314 @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B308: .4byte gUnknown_03004210 -_0806B30C: .4byte gWindowConfig_81E6C90 -_0806B310: .4byte gMain -_0806B314: .4byte 0x0000043c -_0806B318: - bl MultistepLoadFont - cmp r0, 0 - bne _0806B322 - b _0806B450 -_0806B322: - ldr r0, _0806B338 @ =0x0201b000 - movs r3, 0x99 - lsls r3, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0] - ldr r1, _0806B33C @ =gMain - ldr r0, _0806B340 @ =0x0000043c - adds r1, r0 - b _0806B42C - .align 2, 0 -_0806B338: .4byte 0x0201b000 -_0806B33C: .4byte gMain -_0806B340: .4byte 0x0000043c -_0806B344: - ldr r0, _0806B368 @ =0x0201b000 - movs r1, 0x99 - lsls r1, 2 - adds r4, r0, r1 - ldrb r0, [r4] - bl sub_806D718 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B374 - movs r0, 0 - strh r0, [r4] - ldr r1, _0806B36C @ =gMain - ldr r2, _0806B370 @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B368: .4byte 0x0201b000 -_0806B36C: .4byte gMain -_0806B370: .4byte 0x0000043c -_0806B374: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0806B450 -_0806B37C: - bl sub_809D51C - b _0806B426 -_0806B382: - ldr r2, _0806B3B0 @ =gUnknown_08376C74 - ldr r0, _0806B3B4 @ =0x0201b000 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B450 - ldr r1, _0806B3B8 @ =gMain - ldr r2, _0806B3BC @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B3B0: .4byte gUnknown_08376C74 -_0806B3B4: .4byte 0x0201b000 -_0806B3B8: .4byte gMain -_0806B3BC: .4byte 0x0000043c -_0806B3C0: - ldr r0, _0806B3C8 @ =gWindowConfig_81E6CC8 - bl MultistepInitMenuWindowBegin - b _0806B426 - .align 2, 0 -_0806B3C8: .4byte gWindowConfig_81E6CC8 -_0806B3CC: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - beq _0806B450 - ldr r1, _0806B3DC @ =gMain - ldr r0, _0806B3E0 @ =0x0000043c - adds r1, r0 - b _0806B42C - .align 2, 0 -_0806B3DC: .4byte gMain -_0806B3E0: .4byte 0x0000043c -_0806B3E4: - ldr r0, _0806B3FC @ =0x0201b000 - ldr r1, _0806B400 @ =0x00000259 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_806D538 - ldr r1, _0806B404 @ =gMain - ldr r2, _0806B408 @ =0x0000043c - adds r1, r2 - b _0806B42C - .align 2, 0 -_0806B3FC: .4byte 0x0201b000 -_0806B400: .4byte 0x00000259 -_0806B404: .4byte gMain -_0806B408: .4byte 0x0000043c -_0806B40C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _0806B434 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] -_0806B426: - ldr r1, _0806B438 @ =gMain - ldr r3, _0806B43C @ =0x0000043c - adds r1, r3 -_0806B42C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0806B450 - .align 2, 0 -_0806B434: .4byte gPaletteFade -_0806B438: .4byte gMain -_0806B43C: .4byte 0x0000043c -_0806B440: - ldr r0, _0806B44C @ =sub_806AF34 - bl SetVBlankCallback - movs r0, 0x1 - b _0806B452 - .align 2, 0 -_0806B44C: .4byte sub_806AF34 -_0806B450: - movs r0, 0 -_0806B452: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_806B124 - - thumb_func_start sub_806B460 -sub_806B460: @ 806B460 - push {lr} - b _0806B470 -_0806B464: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806B49C -_0806B470: - bl sub_806B124 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B464 - ldr r1, _0806B4A0 @ =0x0201b000 - movs r2, 0x96 - lsls r2, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x5 - beq _0806B496 - adds r2, 0x8 - adds r0, r1, r2 - ldrb r0, [r0] - movs r1, 0 - bl sub_806BF74 -_0806B496: - ldr r0, _0806B4A4 @ =sub_806AEDC - bl SetMainCallback2 -_0806B49C: - pop {r0} - bx r0 - .align 2, 0 -_0806B4A0: .4byte 0x0201b000 -_0806B4A4: .4byte sub_806AEDC - thumb_func_end sub_806B460 - - thumb_func_start sub_806B4A8 -sub_806B4A8: @ 806B4A8 - push {lr} - movs r0, 0 - bl SetHBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x8 - ldr r2, _0806B50C @ =0x00001e05 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0806B510 @ =0x00000703 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0806B514 @ =0x00000f08 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0806B518 @ =0x00000602 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0806B51C @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - subs r0, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r2, _0806B520 @ =REG_BG3VOFS - strh r1, [r2] - ldr r1, _0806B524 @ =0x0000ffff - adds r0, r1, 0 - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0806B50C: .4byte 0x00001e05 -_0806B510: .4byte 0x00000703 -_0806B514: .4byte 0x00000f08 -_0806B518: .4byte 0x00000602 -_0806B51C: .4byte REG_BLDCNT -_0806B520: .4byte REG_BG3VOFS -_0806B524: .4byte 0x0000ffff - thumb_func_end sub_806B4A8 - - thumb_func_start IsLinkDoubleBattle -IsLinkDoubleBattle: @ 806B528 - push {lr} - ldr r0, _0806B53C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x4B - ands r0, r1 - cmp r0, 0x4B - beq _0806B540 - movs r0, 0 - b _0806B542 - .align 2, 0 -_0806B53C: .4byte gBattleTypeFlags -_0806B540: - movs r0, 0x1 -_0806B542: - pop {r1} - bx r1 - thumb_func_end IsLinkDoubleBattle - - thumb_func_start sub_806B548 -sub_806B548: @ 806B548 - push {r4,lr} - ldr r0, _0806B574 @ =0x0201b000 - ldr r1, _0806B578 @ =0x00000261 - adds r4, r0, r1 - ldrb r3, [r4] - cmp r3, 0 - beq _0806B56E - ldr r1, _0806B57C @ =gBGTilemapBuffers + 0x1000 - ldr r2, _0806B580 @ =0x06003000 - ldr r0, _0806B584 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0806B588 @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - cmp r3, 0x2 - bne _0806B56E - movs r0, 0 - strb r0, [r4] -_0806B56E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806B574: .4byte 0x0201b000 -_0806B578: .4byte 0x00000261 -_0806B57C: .4byte gBGTilemapBuffers + 0x1000 -_0806B580: .4byte 0x06003000 -_0806B584: .4byte 0x040000d4 -_0806B588: .4byte 0x80000400 - thumb_func_end sub_806B548 - - thumb_func_start sub_806B58C -sub_806B58C: @ 806B58C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0806B5A8 - ldr r0, _0806B5A4 @ =gUnknown_0202E8FA - strb r2, [r0] - b _0806B5C8 - .align 2, 0 -_0806B5A4: .4byte gUnknown_0202E8FA -_0806B5A8: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B5C0 - ldr r1, _0806B5BC @ =gUnknown_0202E8FA - movs r0, 0x2 - b _0806B5C4 - .align 2, 0 -_0806B5BC: .4byte gUnknown_0202E8FA -_0806B5C0: - ldr r1, _0806B5E4 @ =gUnknown_0202E8FA - movs r0, 0x1 -_0806B5C4: - strb r0, [r1] - adds r0, r1, 0 -_0806B5C8: - ldrb r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _0806B5E8 @ =gUnknown_083769A8 - adds r4, r1, r0 - cmp r5, 0x8 - bls _0806B5DA - b _0806B900 -_0806B5DA: - lsls r0, r5, 2 - ldr r1, _0806B5EC @ =_0806B5F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806B5E4: .4byte gUnknown_0202E8FA -_0806B5E8: .4byte gUnknown_083769A8 -_0806B5EC: .4byte _0806B5F0 - .align 2, 0 -_0806B5F0: - .4byte _0806B614 - .4byte _0806B628 - .4byte _0806B638 - .4byte _0806B694 - .4byte _0806B71A - .4byte _0806B7A2 - .4byte _0806B832 - .4byte _0806B8C6 - .4byte _0806B8E8 -_0806B614: - ldr r0, _0806B624 @ =gBGTilemapBuffers + 0x1000 - movs r2, 0x80 - lsls r2, 4 - movs r1, 0 - bl memset - b _0806B900 - .align 2, 0 -_0806B624: .4byte gBGTilemapBuffers + 0x1000 -_0806B628: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - movs r2, 0x3 - bl sub_806B9A4 - adds r0, r4, 0 - movs r1, 0 - b _0806B8A8 -_0806B638: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0806B666 - ldr r0, _0806B65C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x1 - bls _0806B660 - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x2 - movs r1, 0x1 - b _0806B8A8 - .align 2, 0 -_0806B65C: .4byte gPlayerPartyCount -_0806B660: - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - b _0806B8BC -_0806B666: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B684 - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - movs r2, 0x4 - bl sub_806B9A4 - adds r0, r4, 0x2 - movs r1, 0x1 - movs r2, 0x4 - b _0806B8AA -_0806B684: - ldrb r0, [r4, 0x2] - ldrb r1, [r4, 0x3] - movs r2, 0x3 - bl sub_806B9A4 - adds r0, r4, 0x2 - movs r1, 0x1 - b _0806B8A8 -_0806B694: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0806B6C2 - ldr r0, _0806B6B8 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x2 - bls _0806B6BC - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x4 - movs r1, 0x2 - b _0806B8A8 - .align 2, 0 -_0806B6B8: .4byte gPlayerPartyCount -_0806B6BC: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - b _0806B8BC -_0806B6C2: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B6F6 - ldr r0, _0806B6EC @ =gPlayerParty + 2 * 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806B6F0 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x4 - movs r1, 0x2 - b _0806B8A8 - .align 2, 0 -_0806B6EC: .4byte gPlayerParty + 2 * 0x64 -_0806B6F0: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - b _0806B8BC -_0806B6F6: - ldr r0, _0806B710 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x2 - bls _0806B714 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x4 - movs r1, 0x2 - b _0806B8A8 - .align 2, 0 -_0806B710: .4byte gPlayerPartyCount -_0806B714: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - b _0806B8BC -_0806B71A: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0806B74A - ldr r0, _0806B740 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x3 - bls _0806B744 - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x6 - movs r1, 0x3 - b _0806B8A8 - .align 2, 0 -_0806B740: .4byte gPlayerPartyCount -_0806B744: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - b _0806B8BC -_0806B74A: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B77E - ldr r0, _0806B774 @ =gPlayerParty + 3 * 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806B778 - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x6 - movs r1, 0x3 - b _0806B8A8 - .align 2, 0 -_0806B774: .4byte gPlayerParty + 3 * 0x64 -_0806B778: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - b _0806B8BC -_0806B77E: - ldr r0, _0806B798 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x3 - bls _0806B79C - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0x6 - movs r1, 0x3 - b _0806B8A8 - .align 2, 0 -_0806B798: .4byte gPlayerPartyCount -_0806B79C: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - b _0806B8BC -_0806B7A2: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0806B7D2 - ldr r0, _0806B7C8 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x4 - bls _0806B7CC - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0x4 - b _0806B8A8 - .align 2, 0 -_0806B7C8: .4byte gPlayerPartyCount -_0806B7CC: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - b _0806B8BC -_0806B7D2: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B80A - ldr r0, _0806B800 @ =gPlayerParty + 4 * 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806B804 - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0x4 - movs r2, 0x4 - b _0806B8AA - .align 2, 0 -_0806B800: .4byte gPlayerParty + 4 * 0x64 -_0806B804: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - b _0806B884 -_0806B80A: - ldr r0, _0806B828 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x4 - bls _0806B82C - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0x8 - movs r1, 0x4 - b _0806B8A8 - .align 2, 0 -_0806B828: .4byte gPlayerPartyCount -_0806B82C: - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - b _0806B8BC -_0806B832: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0806B84C - ldr r0, _0806B848 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0806B896 - b _0806B8B8 - .align 2, 0 -_0806B848: .4byte gPlayerPartyCount -_0806B84C: - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806B88E - ldr r0, _0806B87C @ =gPlayerParty + 5 * 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806B880 - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0xA - movs r1, 0x5 - movs r2, 0x4 - b _0806B8AA - .align 2, 0 -_0806B87C: .4byte gPlayerParty + 5 * 0x64 -_0806B880: - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] -_0806B884: - movs r2, 0x1 - movs r3, 0x4 - bl sub_806BA94 - b _0806B900 -_0806B88E: - ldr r0, _0806B8B4 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x5 - bls _0806B8B8 -_0806B896: - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - adds r0, r4, 0 - adds r0, 0xA - movs r1, 0x5 -_0806B8A8: - movs r2, 0x3 -_0806B8AA: - movs r3, 0 - bl sub_806BF24 - b _0806B900 - .align 2, 0 -_0806B8B4: .4byte gPlayerPartyCount -_0806B8B8: - ldrb r0, [r4, 0xA] - ldrb r1, [r4, 0xB] -_0806B8BC: - movs r2, 0x1 - movs r3, 0x3 - bl sub_806BA94 - b _0806B900 -_0806B8C6: - ldr r0, _0806B8E4 @ =0x0201b000 - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bne _0806B8DA - movs r0, 0x1 - bl sub_806BB9C -_0806B8DA: - movs r0, 0x1 - bl sub_806BBEC - b _0806B900 - .align 2, 0 -_0806B8E4: .4byte 0x0201b000 -_0806B8E8: - ldr r0, _0806B8F8 @ =0x0201b000 - ldr r1, _0806B8FC @ =0x00000261 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x1 - b _0806B902 - .align 2, 0 -_0806B8F8: .4byte 0x0201b000 -_0806B8FC: .4byte 0x00000261 -_0806B900: - movs r0, 0 -_0806B902: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806B58C - - thumb_func_start sub_806B908 -sub_806B908: @ 806B908 - push {r4,r5,lr} - ldr r0, _0806B948 @ =gBGTilemapBuffers + 0x1000 - movs r2, 0x80 - lsls r2, 4 - movs r1, 0 - bl memset - ldr r1, _0806B94C @ =gUnknown_0202E8FA - movs r0, 0x3 - strb r0, [r1] - ldr r0, _0806B950 @ =gUnknown_083769A8 - adds r4, r0, 0 - adds r4, 0x24 - ldr r5, _0806B954 @ =gPlayerParty + 1 * 0x64 - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - movs r2, 0x3 - bl sub_806B9A4 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806B958 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - b _0806B964 - .align 2, 0 -_0806B948: .4byte gBGTilemapBuffers + 0x1000 -_0806B94C: .4byte gUnknown_0202E8FA -_0806B950: .4byte gUnknown_083769A8 -_0806B954: .4byte gPlayerParty + 1 * 0x64 -_0806B958: - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - movs r2, 0x1 - movs r3, 0x3 - bl sub_806BA94 -_0806B964: - adds r0, r5, 0 - adds r0, 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806B980 - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0 - movs r3, 0x3 - bl sub_806BA94 - b _0806B98C -_0806B980: - ldrb r0, [r4, 0x6] - ldrb r1, [r4, 0x7] - movs r2, 0x1 - movs r3, 0x3 - bl sub_806BA94 -_0806B98C: - ldr r0, _0806B99C @ =0x0201b000 - ldr r1, _0806B9A0 @ =0x00000261 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806B99C: .4byte 0x0201b000 -_0806B9A0: .4byte 0x00000261 - thumb_func_end sub_806B908 - - thumb_func_start sub_806B9A4 -sub_806B9A4: @ 806B9A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r1, 21 - lsrs r1, 16 - str r1, [sp, 0x4] - movs r1, 0 - lsls r0, 16 - mov r8, r0 - asrs r0, 16 - mov r10, r0 - ldr r4, _0806BA2C @ =gUnknown_083769D8 - mov r9, r4 -_0806B9CA: - movs r3, 0 - adds r7, r1, 0x1 - mov r0, r10 - cmp r0, 0x1F - bgt _0806BA12 - mov r4, r8 - asrs r2, r4, 16 - lsls r0, r1, 5 - ldr r4, [sp, 0x4] - adds r6, r4, r0 - ldr r0, _0806BA30 @ =gBGTilemapBuffers + 0x1000 - mov r12, r0 - ldr r4, [sp] - lsls r5, r4, 12 - movs r0, 0xB - adds r4, r1, 0 - muls r4, r0 -_0806B9EC: - adds r0, r2, r3 - cmp r0, 0 - blt _0806BA02 - adds r0, r6, r0 - lsls r0, 1 - add r0, r12 - adds r1, r4, r3 - add r1, r9 - ldrb r1, [r1] - orrs r1, r5 - strh r1, [r0] -_0806BA02: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xA - bhi _0806BA12 - adds r0, r2, r3 - cmp r0, 0x1F - ble _0806B9EC -_0806BA12: - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x6 - bls _0806B9CA - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BA2C: .4byte gUnknown_083769D8 -_0806BA30: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_806B9A4 - - thumb_func_start sub_806BA34 -sub_806BA34: @ 806BA34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 21 - lsrs r1, 16 - mov r8, r1 - movs r1, 0 - lsls r7, r0, 16 - asrs r0, r7, 16 - mov r12, r0 -_0806BA48: - movs r2, 0 - adds r4, r1, 0x1 - mov r5, r12 - cmp r5, 0x1F - bgt _0806BA7C - asrs r3, r7, 16 - lsls r0, r1, 5 - mov r5, r8 - adds r1, r5, r0 - ldr r6, _0806BA90 @ =gBGTilemapBuffers + 0x1000 - movs r5, 0 -_0806BA5E: - adds r0, r3, r2 - cmp r0, 0 - blt _0806BA6C - adds r0, r1, r0 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_0806BA6C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bhi _0806BA7C - adds r0, r3, r2 - cmp r0, 0x1F - ble _0806BA5E -_0806BA7C: - lsls r0, r4, 24 - lsrs r1, r0, 24 - cmp r1, 0x6 - bls _0806BA48 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BA90: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_806BA34 - - thumb_func_start sub_806BA94 -sub_806BA94: @ 806BA94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - ldr r1, _0806BB30 @ =gUnknown_08376A5E - mov r9, r1 - cmp r2, 0 - bne _0806BABC - ldr r1, _0806BB34 @ =gUnknown_08376A25 - mov r9, r1 -_0806BABC: - lsls r0, 21 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r1, 0 - lsls r4, 16 - mov r12, r4 - asrs r4, 16 - mov r10, r4 -_0806BACC: - movs r2, 0 - adds r7, r1, 0x1 - mov r0, r10 - cmp r0, 0x1F - bgt _0806BB16 - mov r4, r12 - asrs r3, r4, 16 - lsls r0, r1, 5 - ldr r4, [sp, 0x4] - adds r6, r4, r0 - ldr r0, _0806BB38 @ =gBGTilemapBuffers + 0x1000 - mov r8, r0 - ldr r4, [sp] - lsls r5, r4, 12 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - subs r4, r0, r1 -_0806BAF0: - adds r0, r3, r2 - cmp r0, 0 - blt _0806BB06 - adds r0, r6, r0 - lsls r0, 1 - add r0, r8 - adds r1, r4, r2 - add r1, r9 - ldrb r1, [r1] - orrs r1, r5 - strh r1, [r0] -_0806BB06: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bhi _0806BB16 - adds r0, r3, r2 - cmp r0, 0x1F - ble _0806BAF0 -_0806BB16: - lsls r0, r7, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _0806BACC - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BB30: .4byte gUnknown_08376A5E -_0806BB34: .4byte gUnknown_08376A25 -_0806BB38: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_806BA94 - - thumb_func_start sub_806BB3C -sub_806BB3C: @ 806BB3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 21 - lsrs r1, 16 - mov r8, r1 - movs r1, 0 - lsls r7, r0, 16 - asrs r0, r7, 16 - mov r12, r0 -_0806BB50: - movs r2, 0 - adds r4, r1, 0x1 - mov r5, r12 - cmp r5, 0x1F - bgt _0806BB84 - asrs r3, r7, 16 - lsls r0, r1, 5 - mov r5, r8 - adds r1, r5, r0 - ldr r6, _0806BB98 @ =gBGTilemapBuffers + 0x1000 - movs r5, 0 -_0806BB66: - adds r0, r3, r2 - cmp r0, 0 - blt _0806BB74 - adds r0, r1, r0 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_0806BB74: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bhi _0806BB84 - adds r0, r3, r2 - cmp r0, 0x1F - ble _0806BB66 -_0806BB84: - lsls r0, r4, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _0806BB50 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BB98: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_806BB3C - - thumb_func_start sub_806BB9C -sub_806BB9C: @ 806BB9C - push {r4,lr} - sub sp, 0x18 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0806BBE4 @ =gUnknown_08376CD4 - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r3, _0806BBE8 @ =0x06003c30 - movs r2, 0 - lsls r4, 12 -_0806BBB6: - lsls r0, r2, 1 - adds r1, r0, r3 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r1, 0x40 - adds r0, r2, 0x6 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0806BBB6 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806BBE4: .4byte gUnknown_08376CD4 -_0806BBE8: .4byte 0x06003c30 - thumb_func_end sub_806BB9C - - thumb_func_start sub_806BBEC -sub_806BBEC: @ 806BBEC - push {r4,lr} - sub sp, 0x18 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0806BC34 @ =gUnknown_08376CEC - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r3, _0806BC38 @ =0x06003cb0 - movs r2, 0 - lsls r4, 12 -_0806BC06: - lsls r0, r2, 1 - adds r1, r0, r3 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r1, 0x40 - adds r0, r2, 0x6 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - adds r0, r4 - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0806BC06 - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806BC34: .4byte gUnknown_08376CEC -_0806BC38: .4byte 0x06003cb0 - thumb_func_end sub_806BBEC - - thumb_func_start sub_806BC3C -sub_806BC3C: @ 806BC3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0806BCB0 @ =gUnknown_08376918 - bl IsDoubleBattle - lsls r4, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - adds r4, r6 - ldr r7, [r4] - movs r6, 0 - adds r0, r5, 0 - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r4, r0, 19 - ldr r5, _0806BCB4 @ =gUnknown_08E9A300 - movs r0, 0x86 - lsls r0, 1 - adds r3, r0, 0 -_0806BC7C: - adds r1, r6, r4 - lsls r2, r6, 1 - adds r2, r7 - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - adds r0, r3, r0 - strh r0, [r2] - adds r2, 0x40 - adds r1, 0x20 - lsls r1, 1 - adds r1, r5 - ldrh r1, [r1] - adds r0, r3, r1 - strh r0, [r2] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x6 - bls _0806BC7C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BCB0: .4byte gUnknown_08376918 -_0806BCB4: .4byte gUnknown_08E9A300 - thumb_func_end sub_806BC3C - - thumb_func_start unref_sub_806BCB8 -unref_sub_806BCB8: @ 806BCB8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _0806BCE4 @ =gPlayerPartyCount - ldrb r1, [r0] - cmp r4, r1 - bcs _0806BCDE - adds r6, r0, 0 -_0806BCCA: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806BC3C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - cmp r4, r0 - bcc _0806BCCA -_0806BCDE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806BCE4: .4byte gPlayerPartyCount - thumb_func_end unref_sub_806BCB8 - - thumb_func_start sub_806BCE8 -sub_806BCE8: @ 806BCE8 - push {r4,r5,lr} - movs r5, 0 - b _0806BD46 -_0806BCEE: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0806BD20 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0806BD38 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0806BD24 - cmp r0, 0xFE - beq _0806BD2E - adds r0, r5, 0 - movs r1, 0x46 - bl sub_806BC3C - b _0806BD40 - .align 2, 0 -_0806BD20: .4byte gPlayerParty -_0806BD24: - adds r0, r5, 0 - movs r1, 0x54 - bl sub_806BC3C - b _0806BD40 -_0806BD2E: - adds r0, r5, 0 - movs r1, 0x62 - bl sub_806BC3C - b _0806BD40 -_0806BD38: - adds r0, r5, 0 - movs r1, 0x46 - bl sub_806BC3C -_0806BD40: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0806BD46: - ldr r0, _0806BD54 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcc _0806BCEE - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806BD54: .4byte gPlayerPartyCount - thumb_func_end sub_806BCE8 - - thumb_func_start sub_806BD58 -sub_806BD58: @ 806BD58 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0806BD7C @ =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_806CA18 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0806BD7C: .4byte SpriteCallbackDummy - thumb_func_end sub_806BD58 - - thumb_func_start sub_806BD80 -sub_806BD80: @ 806BD80 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _0806BD9C @ =gMain - ldrh r0, [r0, 0x30] - cmp r0, 0x20 - beq _0806BDB2 - cmp r0, 0x20 - bgt _0806BDA0 - cmp r0, 0x10 - beq _0806BDB6 - b _0806BDB8 - .align 2, 0 -_0806BD9C: .4byte gMain -_0806BDA0: - cmp r0, 0x40 - beq _0806BDAA - cmp r0, 0x80 - beq _0806BDAE - b _0806BDB8 -_0806BDAA: - movs r4, 0xFF - b _0806BDB8 -_0806BDAE: - movs r4, 0x1 - b _0806BDB8 -_0806BDB2: - movs r4, 0xFE - b _0806BDB8 -_0806BDB6: - movs r4, 0x2 -_0806BDB8: - lsls r0, r4, 24 - cmp r0, 0 - bne _0806BDDC - bl sub_80F92BC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806BDD0 - cmp r0, 0x2 - beq _0806BDD4 - b _0806BDD6 -_0806BDD0: - movs r4, 0xFF - b _0806BDD6 -_0806BDD4: - movs r4, 0x1 -_0806BDD6: - lsls r0, r4, 24 - cmp r0, 0 - beq _0806BDF0 -_0806BDDC: - asrs r1, r0, 24 - adds r0, r5, 0 - bl sub_806BF74 - ldr r0, _0806BDEC @ =gMain - ldrh r0, [r0, 0x30] - b _0806BE2C - .align 2, 0 -_0806BDEC: .4byte gMain -_0806BDF0: - ldr r0, _0806BE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806BE24 - ldr r4, _0806BE20 @ =gSprites - adds r0, r5, 0 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x7 - bne _0806BE24 - movs r0, 0x2 - b _0806BE2C - .align 2, 0 -_0806BE1C: .4byte gMain -_0806BE20: .4byte gSprites -_0806BE24: - ldr r0, _0806BE34 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 -_0806BE2C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806BE34: .4byte gMain - thumb_func_end sub_806BD80 - - thumb_func_start sub_806BE38 -sub_806BE38: @ 806BE38 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r0, _0806BE54 @ =gMain - ldrh r1, [r0, 0x30] - adds r6, r0, 0 - cmp r1, 0x20 - beq _0806BE6A - cmp r1, 0x20 - bgt _0806BE58 - cmp r1, 0x10 - beq _0806BE6E - b _0806BE70 - .align 2, 0 -_0806BE54: .4byte gMain -_0806BE58: - cmp r1, 0x40 - beq _0806BE62 - cmp r1, 0x80 - beq _0806BE66 - b _0806BE70 -_0806BE62: - movs r4, 0xFF - b _0806BE8E -_0806BE66: - movs r4, 0x1 - b _0806BE8E -_0806BE6A: - movs r4, 0xFE - b _0806BE8E -_0806BE6E: - movs r4, 0x2 -_0806BE70: - cmp r4, 0 - bne _0806BE8E - bl sub_80F92BC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806BE86 - cmp r0, 0x2 - beq _0806BE8A - b _0806BE8C -_0806BE86: - movs r4, 0xFF - b _0806BE8C -_0806BE8A: - movs r4, 0x1 -_0806BE8C: - ldr r6, _0806BEA4 @ =gMain -_0806BE8E: - ldrh r2, [r6, 0x2E] - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _0806BEA8 - adds r0, r5, 0 - bl sub_806C890 - movs r0, 0x8 - b _0806BEF0 - .align 2, 0 -_0806BEA4: .4byte gMain -_0806BEA8: - lsls r0, r4, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0806BEBA - adds r0, r5, 0 - bl sub_806C658 - ldrh r0, [r6, 0x30] - b _0806BEF0 -_0806BEBA: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _0806BEE8 - ldr r4, _0806BEE4 @ =gSprites - adds r0, r5, 0 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x7 - bne _0806BEE8 - movs r0, 0x2 - b _0806BEF0 - .align 2, 0 -_0806BEE4: .4byte gSprites -_0806BEE8: - ldr r0, _0806BEF8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 -_0806BEF0: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806BEF8: .4byte gMain - thumb_func_end sub_806BE38 - - thumb_func_start task_pc_turn_off -task_pc_turn_off: @ 806BEFC - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - ldrb r0, [r2] - cmp r0, 0 - beq _0806BF14 - ldrb r1, [r2, 0x1] - movs r2, 0 - bl sub_806BA94 - b _0806BF1E -_0806BF14: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - adds r2, r3, 0 - bl sub_806B9A4 -_0806BF1E: - pop {r0} - bx r0 - thumb_func_end task_pc_turn_off - - thumb_func_start sub_806BF24 -sub_806BF24: @ 806BF24 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r0, 0x64 - muls r1, r0 - ldr r0, _0806BF70 @ =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806BF56 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _0806BF56 - movs r4, 0x5 -_0806BF56: - cmp r6, 0x1 - bne _0806BF60 - adds r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 -_0806BF60: - adds r0, r7, 0 - adds r1, r4, 0 - bl task_pc_turn_off - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806BF70: .4byte gPlayerParty - thumb_func_end sub_806BF24 - - thumb_func_start sub_806BF74 -sub_806BF74: @ 806BF74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0806C0C4 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - adds r1, r5, 0 - movs r2, 0 - bl UpdateMonIconFrame_806DA44 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0806BFB6 - b _0806C0D8 -_0806BFB6: - cmp r5, 0 - beq _0806BFC2 - cmp r5, 0x2 - beq _0806BFC2 - cmp r5, 0x3 - bne _0806BFD2 -_0806BFC2: - lsls r0, r5, 1 - ldr r1, _0806C0C8 @ =gUnknown_083769C0 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 -_0806BFD2: - cmp r5, 0x1 - beq _0806BFDE - cmp r5, 0x4 - beq _0806BFDE - cmp r5, 0x5 - bne _0806BFEE -_0806BFDE: - lsls r0, r5, 1 - ldr r1, _0806C0C8 @ =gUnknown_083769C0 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x4 - movs r3, 0 - bl sub_806BF24 -_0806BFEE: - cmp r5, 0x7 - bne _0806BFF8 - movs r0, 0x1 - bl sub_806BBEC -_0806BFF8: - lsls r2, r4, 24 - asrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_806C490 - ldr r2, _0806C0C4 @ =gSprites - lsls r1, r6, 4 - adds r0, r1, r6 - lsls r0, 2 - adds r0, r2 - movs r2, 0x2E - ldrsh r0, [r0, r2] - mov r8, r1 - cmp r0, 0 - beq _0806C020 - cmp r0, 0x2 - beq _0806C020 - cmp r0, 0x3 - bne _0806C042 -_0806C020: - ldr r0, _0806C0C4 @ =gSprites - mov r4, r8 - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r7, 0x2E - ldrsh r0, [r1, r7] - lsls r0, 1 - ldr r2, _0806C0C8 @ =gUnknown_083769C0 - adds r0, r2 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 -_0806C042: - ldr r1, _0806C0C4 @ =gSprites - mov r2, r8 - adds r0, r2, r6 - lsls r0, 2 - adds r0, r1 - movs r4, 0x2E - ldrsh r0, [r0, r4] - cmp r0, 0x1 - beq _0806C05C - cmp r0, 0x4 - beq _0806C05C - cmp r0, 0x5 - bne _0806C07E -_0806C05C: - ldr r0, _0806C0C4 @ =gSprites - mov r7, r8 - adds r1, r7, r6 - lsls r1, 2 - adds r1, r0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r2, _0806C0C8 @ =gUnknown_083769C0 - adds r0, r2 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x4 - movs r3, 0x1 - bl sub_806BF24 -_0806C07E: - ldr r7, _0806C0C4 @ =gSprites - mov r4, r8 - adds r0, r4, r6 - lsls r0, 2 - adds r4, r0, r7 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bne _0806C096 - movs r0, 0x2 - bl sub_806BBEC -_0806C096: - ldr r0, _0806C0CC @ =0x0201b000 - ldr r2, _0806C0D0 @ =0x00000261 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - ldr r1, _0806C0D4 @ =gUnknown_083768B8 - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - adds r0, 0x40 - ldrb r0, [r0] - strh r0, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - adds r0, 0x41 - ldrb r0, [r0] - strh r0, [r4, 0x22] - adds r0, r7, 0 - b _0806C1A4 - .align 2, 0 -_0806C0C4: .4byte gSprites -_0806C0C8: .4byte gUnknown_083769C0 -_0806C0CC: .4byte 0x0201b000 -_0806C0D0: .4byte 0x00000261 -_0806C0D4: .4byte gUnknown_083768B8 -_0806C0D8: - bl IsDoubleBattle - lsls r0, 24 - lsrs r7, r0, 24 - cmp r5, 0x5 - bhi _0806C104 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - lsls r1, r5, 1 - adds r0, r1 - ldr r1, _0806C100 @ =gUnknown_083769A8 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - b _0806C10A - .align 2, 0 -_0806C100: .4byte gUnknown_083769A8 -_0806C104: - movs r0, 0x1 - bl sub_806BBEC -_0806C10A: - cmp r7, 0 - bne _0806C11C - lsls r2, r4, 24 - asrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_806C1E4 - b _0806C128 -_0806C11C: - lsls r2, r4, 24 - asrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_806C310 -_0806C128: - ldr r1, _0806C160 @ =gSprites - lsls r2, r6, 4 - adds r0, r2, r6 - lsls r0, 2 - adds r1, r0, r1 - ldrh r3, [r1, 0x2E] - movs r4, 0x2E - ldrsh r0, [r1, r4] - mov r8, r2 - cmp r0, 0x5 - bgt _0806C168 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - movs r2, 0x2E - ldrsh r1, [r1, r2] - lsls r1, 1 - adds r0, r1 - ldr r1, _0806C164 @ =gUnknown_083769A8 - adds r0, r1 - lsls r1, r3, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 - b _0806C16E - .align 2, 0 -_0806C160: .4byte gSprites -_0806C164: .4byte gUnknown_083769A8 -_0806C168: - movs r0, 0x2 - bl sub_806BBEC -_0806C16E: - ldr r0, _0806C1D4 @ =0x0201b000 - ldr r4, _0806C1D8 @ =0x00000261 - adds r0, r4 - movs r1, 0x2 - strb r1, [r0] - ldr r4, _0806C1DC @ =gSprites - mov r0, r8 - adds r1, r0, r6 - lsls r1, 2 - adds r1, r4 - ldr r3, _0806C1E0 @ =gUnknown_083768B8 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 2 - lsls r2, r7, 5 - adds r0, r2 - adds r0, r3 - ldrb r0, [r0] - strh r0, [r1, 0x20] - movs r7, 0x2E - ldrsh r0, [r1, r7] - lsls r0, 2 - adds r0, r2 - adds r0, r3 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x22] - adds r0, r4, 0 -_0806C1A4: - mov r1, r8 - adds r4, r1, r6 - lsls r4, 2 - adds r4, r0 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - movs r2, 0x1 - bl UpdateMonIconFrame_806DA44 - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r5, r0 - beq _0806C1C8 - movs r0, 0x5 - bl PlaySE -_0806C1C8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806C1D4: .4byte 0x0201b000 -_0806C1D8: .4byte 0x00000261 -_0806C1DC: .4byte gSprites -_0806C1E0: .4byte gUnknown_083768B8 - thumb_func_end sub_806BF74 - - thumb_func_start sub_806C1E4 -sub_806C1E4: @ 806C1E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x80 - lsls r0, 18 - adds r2, r0 - asrs r0, r2, 24 - cmp r0, 0x4 - bls _0806C200 - b _0806C306 -_0806C200: - lsls r0, 2 - ldr r1, _0806C20C @ =_0806C210 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C20C: .4byte _0806C210 - .align 2, 0 -_0806C210: - .4byte _0806C2EC - .4byte _0806C238 - .4byte _0806C224 - .4byte _0806C25C - .4byte _0806C2BC -_0806C224: - ldr r0, _0806C234 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x30] - b _0806C306 - .align 2, 0 -_0806C234: .4byte gSprites -_0806C238: - cmp r3, 0 - beq _0806C266 - cmp r3, 0x7 - bne _0806C298 - ldr r2, _0806C254 @ =gSprites - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - ldr r0, _0806C258 @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - b _0806C2AA - .align 2, 0 -_0806C254: .4byte gSprites -_0806C258: .4byte gPlayerPartyCount -_0806C25C: - ldr r0, _0806C278 @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r3, r0 - bne _0806C280 -_0806C266: - ldr r2, _0806C27C @ =gSprites - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x2E] - b _0806C2AC - .align 2, 0 -_0806C278: .4byte gPlayerPartyCount -_0806C27C: .4byte gSprites -_0806C280: - cmp r3, 0x7 - bne _0806C298 - ldr r2, _0806C294 @ =gSprites - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - b _0806C2AC - .align 2, 0 -_0806C294: .4byte gSprites -_0806C298: - ldr r2, _0806C2B8 @ =gSprites - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - lsls r0, r5, 24 - asrs r0, 24 - ldrh r5, [r1, 0x2E] - adds r0, r5 -_0806C2AA: - strh r0, [r1, 0x2E] -_0806C2AC: - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C306 - .align 2, 0 -_0806C2B8: .4byte gSprites -_0806C2BC: - ldr r0, _0806C2E4 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x1 - bls _0806C306 - cmp r3, 0 - bne _0806C306 - ldr r0, _0806C2E8 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806C2DE - movs r0, 0x1 - strh r0, [r1, 0x30] -_0806C2DE: - ldrh r0, [r1, 0x30] - strh r0, [r1, 0x2E] - b _0806C306 - .align 2, 0 -_0806C2E4: .4byte gPlayerPartyCount -_0806C2E8: .4byte gSprites -_0806C2EC: - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _0806C306 - ldr r0, _0806C30C @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] -_0806C306: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806C30C: .4byte gSprites - thumb_func_end sub_806C1E4 - - thumb_func_start sub_806C310 -sub_806C310: @ 806C310 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x80 - lsls r0, 18 - adds r2, r0 - asrs r0, r2, 24 - cmp r0, 0x4 - bls _0806C32C - b _0806C486 -_0806C32C: - lsls r0, 2 - ldr r1, _0806C338 @ =_0806C33C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C338: .4byte _0806C33C - .align 2, 0 -_0806C33C: - .4byte _0806C44E - .4byte _0806C38C - .4byte _0806C350 - .4byte _0806C364 - .4byte _0806C3E8 -_0806C350: - ldr r0, _0806C360 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x30] - b _0806C486 - .align 2, 0 -_0806C360: .4byte gSprites -_0806C364: - cmp r3, 0x7 - bne _0806C37C - ldr r2, _0806C378 @ =gSprites - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - b _0806C3D8 - .align 2, 0 -_0806C378: .4byte gSprites -_0806C37C: - ldr r0, _0806C388 @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r3, r0 - beq _0806C390 - b _0806C3C4 - .align 2, 0 -_0806C388: .4byte gPlayerPartyCount -_0806C38C: - cmp r3, 0 - bne _0806C3A4 -_0806C390: - ldr r2, _0806C3A0 @ =gSprites - lsls r3, r4, 4 - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x2E] - b _0806C3D8 - .align 2, 0 -_0806C3A0: .4byte gSprites -_0806C3A4: - cmp r3, 0x7 - bne _0806C3C4 - ldr r2, _0806C3BC @ =gSprites - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - ldr r0, _0806C3C0 @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - b _0806C3D6 - .align 2, 0 -_0806C3BC: .4byte gSprites -_0806C3C0: .4byte gPlayerPartyCount -_0806C3C4: - ldr r2, _0806C3E4 @ =gSprites - lsls r3, r4, 4 - adds r1, r3, r4 - lsls r1, 2 - adds r1, r2 - lsls r0, r5, 24 - asrs r0, 24 - ldrh r5, [r1, 0x2E] - adds r0, r5 -_0806C3D6: - strh r0, [r1, 0x2E] -_0806C3D8: - adds r0, r3, r4 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C486 - .align 2, 0 -_0806C3E4: .4byte gSprites -_0806C3E8: - cmp r3, 0 - bne _0806C418 - ldr r0, _0806C410 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x2 - bls _0806C486 - ldr r0, _0806C414 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x30] - subs r0, r2, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0806C43A - movs r0, 0x2 - strh r0, [r1, 0x2E] - b _0806C486 - .align 2, 0 -_0806C410: .4byte gPlayerPartyCount -_0806C414: .4byte gSprites -_0806C418: - cmp r3, 0x1 - bne _0806C486 - ldr r0, _0806C440 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x4 - bls _0806C486 - ldr r0, _0806C444 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x30] - subs r0, r2, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0806C448 -_0806C43A: - strh r2, [r1, 0x2E] - b _0806C486 - .align 2, 0 -_0806C440: .4byte gPlayerPartyCount -_0806C444: .4byte gSprites -_0806C448: - movs r0, 0x4 - strh r0, [r1, 0x2E] - b _0806C486 -_0806C44E: - subs r0, r3, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C46C - ldr r0, _0806C468 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - b _0806C482 - .align 2, 0 -_0806C468: .4byte gSprites -_0806C46C: - subs r0, r3, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C486 - ldr r0, _0806C48C @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 -_0806C482: - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] -_0806C486: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806C48C: .4byte gSprites - thumb_func_end sub_806C310 - - thumb_func_start sub_806C490 -sub_806C490: @ 806C490 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - movs r0, 0x80 - lsls r0, 18 - adds r2, r0 - asrs r0, r2, 24 - cmp r0, 0x4 - bls _0806C4AA - b _0806C64E -_0806C4AA: - lsls r0, 2 - ldr r1, _0806C4B4 @ =_0806C4B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C4B4: .4byte _0806C4B8 - .align 2, 0 -_0806C4B8: - .4byte _0806C618 - .4byte _0806C524 - .4byte _0806C4CC - .4byte _0806C4E0 - .4byte _0806C57C -_0806C4CC: - ldr r0, _0806C4DC @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x30] - b _0806C64E - .align 2, 0 -_0806C4DC: .4byte gSprites -_0806C4E0: - cmp r4, 0x7 - bne _0806C4FC - ldr r2, _0806C4F8 @ =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - adds r1, r2, 0 - adds r6, r3, 0 - b _0806C566 - .align 2, 0 -_0806C4F8: .4byte gSprites -_0806C4FC: - lsls r6, r5, 4 - b _0806C518 -_0806C500: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x64 - muls r0, r4 - ldr r1, _0806C520 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _0806C528 -_0806C518: - cmp r4, 0x5 - bne _0806C500 - b _0806C558 - .align 2, 0 -_0806C520: .4byte gPlayerParty -_0806C524: - lsls r6, r5, 4 - b _0806C554 -_0806C528: - ldr r1, _0806C534 @ =gSprites - adds r0, r6, r5 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2E] - b _0806C566 - .align 2, 0 -_0806C534: .4byte gSprites -_0806C538: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - beq _0806C554 - movs r0, 0x64 - muls r0, r4 - ldr r1, _0806C574 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _0806C528 -_0806C554: - cmp r4, 0 - bne _0806C538 -_0806C558: - ldr r0, _0806C578 @ =gSprites - adds r1, r6, r5 - lsls r1, 2 - adds r1, r0 - movs r2, 0x7 - strh r2, [r1, 0x2E] - adds r1, r0, 0 -_0806C566: - adds r0, r6, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C64E - .align 2, 0 -_0806C574: .4byte gPlayerParty -_0806C578: .4byte gSprites -_0806C57C: - cmp r4, 0 - bne _0806C5C8 - ldr r0, _0806C5AC @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r4, r1, r0 - ldrh r1, [r4, 0x30] - subs r0, r1, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0806C5E2 - ldr r5, _0806C5B0 @ =gPlayerParty + 2 * 0x64 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806C5B4 - movs r0, 0x2 - strh r0, [r4, 0x2E] - b _0806C64E - .align 2, 0 -_0806C5AC: .4byte gSprites -_0806C5B0: .4byte gPlayerParty + 2 * 0x64 -_0806C5B4: - adds r0, r5, 0 - adds r0, 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806C64E - movs r0, 0x3 - strh r0, [r4, 0x2E] - b _0806C64E -_0806C5C8: - cmp r4, 0x1 - bne _0806C64E - ldr r0, _0806C5E8 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r4, r1, r0 - ldrh r1, [r4, 0x30] - subs r0, r1, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0806C5EC -_0806C5E2: - strh r1, [r4, 0x2E] - b _0806C64E - .align 2, 0 -_0806C5E8: .4byte gSprites -_0806C5EC: - ldr r5, _0806C600 @ =gPlayerParty + 4 * 0x64 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806C604 - movs r0, 0x4 - strh r0, [r4, 0x2E] - b _0806C64E - .align 2, 0 -_0806C600: .4byte gPlayerParty + 4 * 0x64 -_0806C604: - adds r0, r5, 0 - adds r0, 0x64 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806C64E - movs r0, 0x5 - strh r0, [r4, 0x2E] - b _0806C64E -_0806C618: - subs r0, r4, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C634 - ldr r0, _0806C630 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - b _0806C64A - .align 2, 0 -_0806C630: .4byte gSprites -_0806C634: - subs r0, r4, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0806C64E - ldr r0, _0806C654 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 -_0806C64A: - strh r0, [r1, 0x2E] - strh r4, [r1, 0x30] -_0806C64E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806C654: .4byte gSprites - thumb_func_end sub_806C490 - - thumb_func_start sub_806C658 -sub_806C658: @ 806C658 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0806C6A0 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r1, r6, 0 - movs r2, 0 - bl UpdateMonIconFrame_806DA44 - cmp r6, 0x5 - bhi _0806C6A8 - lsls r0, r6, 1 - ldr r1, _0806C6A4 @ =gUnknown_083769A8 - adds r0, r1 - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - b _0806C6BA - .align 2, 0 -_0806C6A0: .4byte gSprites -_0806C6A4: .4byte gUnknown_083769A8 -_0806C6A8: - cmp r6, 0x6 - bne _0806C6B4 - movs r0, 0x1 - bl sub_806BB9C - b _0806C6BA -_0806C6B4: - movs r0, 0x1 - bl sub_806BBEC -_0806C6BA: - lsls r1, r4, 24 - movs r2, 0x80 - lsls r2, 18 - adds r0, r1, r2 - asrs r0, 24 - lsls r4, r5, 4 - adds r7, r1, 0 - cmp r0, 0x4 - bls _0806C6CE - b _0806C7EA -_0806C6CE: - lsls r0, 2 - ldr r1, _0806C6D8 @ =_0806C6DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806C6D8: .4byte _0806C6DC - .align 2, 0 -_0806C6DC: - .4byte _0806C7D0 - .4byte _0806C708 - .4byte _0806C6F0 - .4byte _0806C740 - .4byte _0806C7A0 -_0806C6F0: - ldr r1, _0806C704 @ =gSprites - lsls r2, r5, 4 - adds r0, r2, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - adds r4, r2, 0 - b _0806C7EA - .align 2, 0 -_0806C704: .4byte gSprites -_0806C708: - cmp r6, 0 - bne _0806C720 - ldr r2, _0806C71C @ =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x2E] - b _0806C78E - .align 2, 0 -_0806C71C: .4byte gSprites -_0806C720: - cmp r6, 0x6 - bne _0806C77C - ldr r2, _0806C738 @ =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldr r0, _0806C73C @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - b _0806C78C - .align 2, 0 -_0806C738: .4byte gSprites -_0806C73C: .4byte gPlayerPartyCount -_0806C740: - ldr r0, _0806C75C @ =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - bne _0806C764 - ldr r2, _0806C760 @ =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x2E] - b _0806C78E - .align 2, 0 -_0806C75C: .4byte gPlayerPartyCount -_0806C760: .4byte gSprites -_0806C764: - cmp r6, 0x7 - bne _0806C77C - ldr r2, _0806C778 @ =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - b _0806C78E - .align 2, 0 -_0806C778: .4byte gSprites -_0806C77C: - ldr r2, _0806C79C @ =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - asrs r0, r7, 24 - ldrh r4, [r1, 0x2E] - adds r0, r4 -_0806C78C: - strh r0, [r1, 0x2E] -_0806C78E: - adds r4, r3, 0 - adds r0, r4, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] - b _0806C7EA - .align 2, 0 -_0806C79C: .4byte gSprites -_0806C7A0: - ldr r0, _0806C7C8 @ =gPlayerPartyCount - ldrb r0, [r0] - lsls r4, r5, 4 - cmp r0, 0x1 - bls _0806C7EA - cmp r6, 0 - bne _0806C7EA - ldr r0, _0806C7CC @ =gSprites - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806C7C2 - movs r0, 0x1 - strh r0, [r1, 0x30] -_0806C7C2: - ldrh r0, [r1, 0x30] - strh r0, [r1, 0x2E] - b _0806C7EA - .align 2, 0 -_0806C7C8: .4byte gPlayerPartyCount -_0806C7CC: .4byte gSprites -_0806C7D0: - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r5, 4 - cmp r0, 0x4 - bhi _0806C7EA - ldr r0, _0806C82C @ =gSprites - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x2E] - strh r6, [r1, 0x30] -_0806C7EA: - ldr r1, _0806C82C @ =gSprites - adds r0, r4, r5 - lsls r0, 2 - adds r2, r0, r1 - ldr r1, _0806C830 @ =gUnknown_083768B8 - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x20] - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strh r0, [r2, 0x22] - ldrh r3, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x5 - bgt _0806C838 - lsls r0, 1 - ldr r1, _0806C834 @ =gUnknown_083769A8 - adds r0, r1 - lsls r1, r3, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 - b _0806C84A - .align 2, 0 -_0806C82C: .4byte gSprites -_0806C830: .4byte gUnknown_083768B8 -_0806C834: .4byte gUnknown_083769A8 -_0806C838: - cmp r0, 0x6 - bne _0806C844 - movs r0, 0x2 - bl sub_806BB9C - b _0806C84A -_0806C844: - movs r0, 0x2 - bl sub_806BBEC -_0806C84A: - ldr r0, _0806C884 @ =0x0201b000 - ldr r2, _0806C888 @ =0x00000261 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _0806C88C @ =gSprites - adds r4, r5 - lsls r4, 2 - adds r4, r0 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - movs r2, 0x1 - bl UpdateMonIconFrame_806DA44 - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r6, r0 - beq _0806C878 - movs r0, 0x5 - bl PlaySE -_0806C878: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806C884: .4byte 0x0201b000 -_0806C888: .4byte 0x00000261 -_0806C88C: .4byte gSprites - thumb_func_end sub_806C658 - - thumb_func_start sub_806C890 -sub_806C890: @ 806C890 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl sub_806CA00 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0806C8D4 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - beq _0806C914 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - bl UpdateMonIconFrame_806DA44 - cmp r4, 0x5 - bhi _0806C8DC - lsls r0, r4, 1 - ldr r1, _0806C8D8 @ =gUnknown_083769A8 - adds r0, r1 - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - b _0806C8E2 - .align 2, 0 -_0806C8D4: .4byte gSprites -_0806C8D8: .4byte gUnknown_083769A8 -_0806C8DC: - movs r0, 0x1 - bl sub_806BBEC -_0806C8E2: - ldr r1, _0806C91C @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - movs r1, 0x6 - strh r1, [r0, 0x2E] - ldr r2, _0806C920 @ =gUnknown_083768B8 - ldrb r1, [r2, 0x18] - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x19] - strh r1, [r0, 0x22] - movs r0, 0x2 - bl sub_806BB9C - ldr r0, _0806C924 @ =0x0201b000 - ldr r1, _0806C928 @ =0x00000261 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x5 - bl PlaySE -_0806C914: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806C91C: .4byte gSprites -_0806C920: .4byte gUnknown_083768B8 -_0806C924: .4byte 0x0201b000 -_0806C928: .4byte 0x00000261 - thumb_func_end sub_806C890 - - thumb_func_start sub_806C92C -sub_806C92C: @ 806C92C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806C960 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r0, [r1, 0x30] - lsls r0, 24 - lsrs r4, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0806C96A - cmp r6, 0 - bne _0806C964 - cmp r4, 0 - bne _0806C97C - movs r4, 0x1 - b _0806C97C - .align 2, 0 -_0806C960: .4byte gSprites -_0806C964: - cmp r4, 0 - beq _0806C97C - b _0806C97A -_0806C96A: - cmp r6, 0x1 - bhi _0806C976 - cmp r4, 0x1 - bhi _0806C97C - movs r4, 0x2 - b _0806C97C -_0806C976: - cmp r4, 0x1 - bls _0806C97C -_0806C97A: - movs r4, 0 -_0806C97C: - ldr r1, _0806C990 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x30] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806C990: .4byte gSprites - thumb_func_end sub_806C92C - - thumb_func_start sub_806C994 -sub_806C994: @ 806C994 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806C9C0 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strh r4, [r1, 0x2E] - bl sub_806C92C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806C9C0: .4byte gSprites - thumb_func_end sub_806C994 - - thumb_func_start sub_806C9C4 -sub_806C9C4: @ 806C9C4 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806C9FC @ =gSprites - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r2, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r1, 0x20] - strh r0, [r2, 0x20] - ldrh r0, [r1, 0x22] - strh r0, [r2, 0x22] - ldrh r0, [r1, 0x2E] - strh r0, [r2, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806C9FC: .4byte gSprites - thumb_func_end sub_806C9C4 - - thumb_func_start sub_806CA00 -sub_806CA00: @ 806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806CA14 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0xE] - lsrs r0, 8 - bx lr - .align 2, 0 -_0806CA14: .4byte gTasks - thumb_func_end sub_806CA00 - - thumb_func_start sub_806CA18 -sub_806CA18: @ 806CA18 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _0806CA34 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldrb r0, [r2, 0xE] - lsrs r1, 16 - orrs r0, r1 - strh r0, [r2, 0xE] - bx lr - .align 2, 0 -_0806CA34: .4byte gTasks - thumb_func_end sub_806CA18 - - thumb_func_start sub_806CA38 -sub_806CA38: @ 806CA38 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806CA00 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806CA5C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x2E] - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0806CA5C: .4byte gSprites - thumb_func_end sub_806CA38 - - thumb_func_start sub_806CA60 -sub_806CA60: @ 806CA60 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0806CAD8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CADC @ =TaskDummy - str r1, [r0] - ldr r5, _0806CAE0 @ =0x02001000 - strb r4, [r5] - ldr r0, _0806CAE4 @ =sub_806CB74 - movs r1, 0 - bl CreateTask - ldr r0, _0806CAE8 @ =SpriteCallbackDummy - bl CreateInvisibleSpriteWithCallback - strb r0, [r5, 0x1] - ldrb r1, [r5, 0x1] - adds r0, r4, 0 - bl sub_806C9C4 - adds r0, r4, 0 - bl sub_806CA00 - strb r0, [r5, 0x2] - ldr r1, _0806CAEC @ =0x0001a272 - adds r0, r5, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_806D538 - ldr r2, _0806CAF0 @ =gSprites - ldrb r0, [r5, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r2, _0806CAF4 @ =gUnknown_083769A8 - adds r0, r2 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x6 - movs r3, 0 - bl sub_806BF24 - ldr r0, _0806CAF8 @ =0x0001a261 - adds r5, r0 - movs r0, 0x2 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CAD8: .4byte gTasks -_0806CADC: .4byte TaskDummy -_0806CAE0: .4byte 0x02001000 -_0806CAE4: .4byte sub_806CB74 -_0806CAE8: .4byte SpriteCallbackDummy -_0806CAEC: .4byte 0x0001a272 -_0806CAF0: .4byte gSprites -_0806CAF4: .4byte gUnknown_083769A8 -_0806CAF8: .4byte 0x0001a261 - thumb_func_end sub_806CA60 - - thumb_func_start sub_806CAFC -sub_806CAFC: @ 806CAFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0806CB48 @ =0x02001000 - ldrb r3, [r4, 0x1] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, _0806CB4C @ =gSprites - adds r5, r2, r3 - ldrb r2, [r4, 0x2] - lsls r4, r2, 4 - adds r4, r2 - lsls r4, 2 - adds r4, r3 - lsls r1, 24 - asrs r1, 24 - bl sub_806BF74 - ldrh r2, [r5, 0x2E] - movs r0, 0x2E - ldrsh r1, [r5, r0] - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _0806CB54 - adds r0, r1, 0 - lsls r0, 1 - ldr r1, _0806CB50 @ =gUnknown_083769A8 - adds r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - movs r2, 0x6 - movs r3, 0x1 - bl sub_806BF24 - b _0806CB6A - .align 2, 0 -_0806CB48: .4byte 0x02001000 -_0806CB4C: .4byte gSprites -_0806CB50: .4byte gUnknown_083769A8 -_0806CB54: - movs r3, 0x2E - ldrsh r0, [r5, r3] - lsls r0, 1 - ldr r1, _0806CB70 @ =gUnknown_083769A8 - adds r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - movs r2, 0x6 - movs r3, 0 - bl sub_806BF24 -_0806CB6A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CB70: .4byte gUnknown_083769A8 - thumb_func_end sub_806CAFC - - thumb_func_start sub_806CB74 -sub_806CB74: @ 806CB74 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806CB8C @ =gMain - ldrh r0, [r0, 0x30] - cmp r0, 0x20 - beq _0806CBBC - cmp r0, 0x20 - bgt _0806CB90 - cmp r0, 0x10 - beq _0806CBD0 - b _0806CBDA - .align 2, 0 -_0806CB8C: .4byte gMain -_0806CB90: - cmp r0, 0x40 - beq _0806CB9A - cmp r0, 0x80 - beq _0806CBAC - b _0806CBDA -_0806CB9A: - ldr r0, _0806CBA8 @ =0x02001000 - ldrb r0, [r0] - movs r1, 0x1 - negs r1, r1 - bl sub_806CAFC - b _0806CBDA - .align 2, 0 -_0806CBA8: .4byte 0x02001000 -_0806CBAC: - ldr r0, _0806CBB8 @ =0x02001000 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_806CAFC - b _0806CBDA - .align 2, 0 -_0806CBB8: .4byte 0x02001000 -_0806CBBC: - ldr r0, _0806CBCC @ =0x02001000 - ldrb r0, [r0] - movs r1, 0x2 - negs r1, r1 - bl sub_806CAFC - b _0806CBDA - .align 2, 0 -_0806CBCC: .4byte 0x02001000 -_0806CBD0: - ldr r0, _0806CC04 @ =0x02001000 - ldrb r0, [r0] - movs r1, 0x2 - bl sub_806CAFC -_0806CBDA: - ldr r0, _0806CC08 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806CC10 - movs r0, 0x5 - bl PlaySE - ldr r1, _0806CC0C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CC04 @ =0x02001000 - ldr r1, [r1, 0xC] - str r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _0806CC24 - .align 2, 0 -_0806CC04: .4byte 0x02001000 -_0806CC08: .4byte gMain -_0806CC0C: .4byte gTasks -_0806CC10: - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0806CC24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_806CD44 -_0806CC24: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806CB74 - - thumb_func_start sub_806CC2C -sub_806CC2C: @ 806CC2C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0806CC68 @ =0x02001000 - ldrb r1, [r5, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0806CC6C @ =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0 - movs r1, 0 - bl sub_806D538 - ldr r0, _0806CC70 @ =0x0001a261 - adds r1, r5, r0 - movs r0, 0x2 - strb r0, [r1] - ldrb r0, [r5] - bl SwitchTaskToFollowupFunc - adds r0, r4, 0 - bl DestroyTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CC68: .4byte 0x02001000 -_0806CC6C: .4byte gSprites -_0806CC70: .4byte 0x0001a261 - thumb_func_end sub_806CC2C - - thumb_func_start sub_806CC74 -sub_806CC74: @ 806CC74 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0806CCD8 @ =gSprites - mov r8, r0 - ldr r6, _0806CCDC @ =0x02001000 - ldrb r0, [r6, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - ldr r5, _0806CCE0 @ =gUnknown_083769A8 - adds r0, r5 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 - ldrb r0, [r6, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - movs r2, 0x2E - ldrsh r0, [r1, r2] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 - adds r0, r4, 0 - bl sub_806CC2C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806CCD8: .4byte gSprites -_0806CCDC: .4byte 0x02001000 -_0806CCE0: .4byte gUnknown_083769A8 - thumb_func_end sub_806CC74 - - thumb_func_start sub_806CCE4 -sub_806CCE4: @ 806CCE4 - push {r4,r5,lr} - ldr r3, _0806CD38 @ =gSprites - ldr r2, _0806CD3C @ =0x02001000 - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - cmp r4, 0x5 - bhi _0806CD1E - lsls r0, r4, 1 - ldr r1, _0806CD40 @ =gUnknown_083769A8 - adds r0, r1 - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_806BF24 -_0806CD1E: - cmp r5, 0x5 - bhi _0806CD32 - lsls r0, r5, 1 - ldr r1, _0806CD40 @ =gUnknown_083769A8 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_806BF24 -_0806CD32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CD38: .4byte gSprites -_0806CD3C: .4byte 0x02001000 -_0806CD40: .4byte gUnknown_083769A8 - thumb_func_end sub_806CCE4 - - thumb_func_start sub_806CD44 -sub_806CD44: @ 806CD44 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_806CCE4 - adds r0, r4, 0 - bl sub_806CC2C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806CD44 - - thumb_func_start sub_806CD5C -sub_806CD5C: @ 806CD5C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, _0806CDA8 @ =gSprites - ldr r6, _0806CDAC @ =0x02001000 - ldrb r1, [r6, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - mov r9, r5 - ldrb r1, [r6, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - cmp r5, r4 - beq _0806CD9E - cmp r5, 0x7 - beq _0806CD9E - cmp r4, 0x7 - bne _0806CDB0 -_0806CD9E: - mov r0, r8 - bl sub_806CD44 - b _0806CED2 - .align 2, 0 -_0806CDA8: .4byte gSprites -_0806CDAC: .4byte 0x02001000 -_0806CDB0: - adds r0, r5, 0 - bl sub_806D5B8 - adds r0, r4, 0 - bl sub_806D5B8 - cmp r5, r4 - bls _0806CDC6 - strb r4, [r6, 0x5] - strb r5, [r6, 0x6] - b _0806CDCC -_0806CDC6: - mov r0, r9 - strb r0, [r6, 0x5] - strb r7, [r6, 0x6] -_0806CDCC: - ldr r4, _0806CE1C @ =0x02001000 - ldrb r0, [r4] - ldrb r1, [r4, 0x5] - bl GetMonIconSpriteId_maybe - strb r0, [r4, 0x3] - ldrb r0, [r4] - ldrb r1, [r4, 0x6] - bl GetMonIconSpriteId_maybe - strb r0, [r4, 0x4] - ldrb r3, [r4, 0x5] - cmp r3, 0 - bne _0806CE34 - ldr r2, _0806CE20 @ =gSprites - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0806CE24 @ =0x0000fff8 - strh r1, [r0, 0x2E] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0806CE28 @ =0x0000ff58 - strh r1, [r0, 0x32] - strh r3, [r4, 0x8] - movs r0, 0xB - strh r0, [r4, 0xA] - ldr r1, _0806CE2C @ =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CE30 @ =sub_806D014 - b _0806CE66 - .align 2, 0 -_0806CE1C: .4byte 0x02001000 -_0806CE20: .4byte gSprites -_0806CE24: .4byte 0x0000fff8 -_0806CE28: .4byte 0x0000ff58 -_0806CE2C: .4byte gTasks -_0806CE30: .4byte sub_806D014 -_0806CE34: - ldr r2, _0806CEE0 @ =gSprites - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x8 - strh r1, [r0, 0x2E] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0xA8 - strh r1, [r0, 0x32] - movs r0, 0xB - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r1, _0806CEE4 @ =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806CEE8 @ =sub_806D118 -_0806CE66: - str r1, [r0] - ldr r0, _0806CEEC @ =0x0001a261 - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] - adds r6, r2, 0 - ldr r4, _0806CEF0 @ =0x02001000 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r0, r5 - ldr r2, _0806CEF4 @ =sub_806D37C - str r2, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x8 - strh r1, [r0, 0x2E] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0xA8 - strh r1, [r0, 0x32] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r2, [r0] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r5 - adds r0, r6 - ldr r1, [r5] - bl _call_via_r1 -_0806CED2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806CEE0: .4byte gSprites -_0806CEE4: .4byte gTasks -_0806CEE8: .4byte sub_806D118 -_0806CEEC: .4byte 0x0001a261 -_0806CEF0: .4byte 0x02001000 -_0806CEF4: .4byte sub_806D37C - thumb_func_end sub_806CD5C - - thumb_func_start sub_806CEF8 -sub_806CEF8: @ 806CEF8 - ldrh r3, [r0] - ldrh r2, [r1] - strh r2, [r0] - strh r3, [r1] - bx lr - thumb_func_end sub_806CEF8 - - thumb_func_start sub_806CF04 -sub_806CF04: @ 806CF04 - push {r4,r5,lr} - ldr r4, _0806CF94 @ =0x02001000 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0806CF98 @ =gSprites + 0x20 - adds r0, r5 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r5, 0x2 - adds r0, r3 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r5, 0x4 - adds r0, r3 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r5, 0 - adds r3, 0xE - adds r0, r3 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - bl sub_806CEF8 - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - subs r5, 0x4 - adds r0, r5 - ldr r2, _0806CF9C @ =sub_806D37C - str r2, [r0] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r2, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806CF94: .4byte 0x02001000 -_0806CF98: .4byte gSprites + 0x20 -_0806CF9C: .4byte sub_806D37C - thumb_func_end sub_806CF04 - - thumb_func_start sub_806CFA0 -sub_806CFA0: @ 806CFA0 - push {r4-r6,lr} - lsls r4, r1, 24 - lsrs r4, 24 - ldr r5, _0806CFDC @ =0x02001000 - ldrb r1, [r5, 0x6] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x8 - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl sub_806BA34 - movs r1, 0xA - ldrsh r0, [r5, r1] - adds r1, r6, 0 - bl sub_806BB3C - cmp r4, 0 - bne _0806CFE0 - ldrh r0, [r5, 0x8] - subs r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - adds r0, 0x1 - b _0806CFEA - .align 2, 0 -_0806CFDC: .4byte 0x02001000 -_0806CFE0: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - subs r0, 0x1 -_0806CFEA: - strh r0, [r5, 0xA] - ldr r4, _0806D010 @ =0x02001000 - movs r1, 0x8 - ldrsh r0, [r4, r1] - movs r1, 0x3 - movs r2, 0xA - bl sub_806B9A4 - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r1, r6, 0 - movs r2, 0 - movs r3, 0xA - bl sub_806BA94 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D010: .4byte 0x02001000 - thumb_func_end sub_806CFA0 - - thumb_func_start sub_806D014 -sub_806D014: @ 806D014 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_806CFA0 - ldr r2, _0806D050 @ =0x02001000 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r0, 0xD - negs r0, r0 - cmp r1, r0 - bge _0806D04A - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x20 - ble _0806D04A - bl sub_806CF04 - ldr r0, _0806D054 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D058 @ =sub_806D05C - str r0, [r1] -_0806D04A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D050: .4byte 0x02001000 -_0806D054: .4byte gTasks -_0806D058: .4byte sub_806D05C - thumb_func_end sub_806D014 - - thumb_func_start sub_806D05C -sub_806D05C: @ 806D05C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806CFA0 - ldr r0, _0806D08C @ =0x02001000 - ldr r1, [r0, 0x8] - movs r0, 0xB0 - lsls r0, 12 - cmp r1, r0 - bne _0806D084 - ldr r0, _0806D090 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D094 @ =sub_806D198 - str r0, [r1] -_0806D084: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D08C: .4byte 0x02001000 -_0806D090: .4byte gTasks -_0806D094: .4byte sub_806D198 - thumb_func_end sub_806D05C - - thumb_func_start sub_806D098 -sub_806D098: @ 806D098 - push {r4-r7,lr} - lsls r4, r1, 24 - lsrs r4, 24 - ldr r5, _0806D0E0 @ =0x02001000 - ldrb r1, [r5, 0x5] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r1, [r5, 0x6] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x8 - ldrsh r0, [r5, r1] - adds r1, r7, 0 - bl sub_806BB3C - movs r1, 0xA - ldrsh r0, [r5, r1] - adds r1, r6, 0 - bl sub_806BB3C - cmp r4, 0 - bne _0806D0E4 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - adds r0, 0x1 - b _0806D0EE - .align 2, 0 -_0806D0E0: .4byte 0x02001000 -_0806D0E4: - ldrh r0, [r5, 0x8] - subs r0, 0x1 - strh r0, [r5, 0x8] - ldrh r0, [r5, 0xA] - subs r0, 0x1 -_0806D0EE: - strh r0, [r5, 0xA] - ldr r4, _0806D114 @ =0x02001000 - movs r1, 0x8 - ldrsh r0, [r4, r1] - adds r1, r7, 0 - movs r2, 0 - movs r3, 0xA - bl sub_806BA94 - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r1, r6, 0 - movs r2, 0 - movs r3, 0xA - bl sub_806BA94 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806D114: .4byte 0x02001000 - thumb_func_end sub_806D098 - - thumb_func_start sub_806D118 -sub_806D118: @ 806D118 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_806D098 - ldr r1, _0806D150 @ =0x02001000 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _0806D14A - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _0806D14A - bl sub_806CF04 - ldr r0, _0806D154 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D158 @ =sub_806D15C - str r0, [r1] -_0806D14A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D150: .4byte 0x02001000 -_0806D154: .4byte gTasks -_0806D158: .4byte sub_806D15C - thumb_func_end sub_806D118 - - thumb_func_start sub_806D15C -sub_806D15C: @ 806D15C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806D098 - ldr r0, _0806D188 @ =0x02001000 - ldr r1, [r0, 0x8] - ldr r0, _0806D18C @ =0x000b000b - cmp r1, r0 - bne _0806D182 - ldr r0, _0806D190 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806D194 @ =sub_806D198 - str r0, [r1] -_0806D182: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D188: .4byte 0x02001000 -_0806D18C: .4byte 0x000b000b -_0806D190: .4byte gTasks -_0806D194: .4byte sub_806D198 - thumb_func_end sub_806D15C - - thumb_func_start sub_806D198 -sub_806D198: @ 806D198 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r4, _0806D364 @ =0x02001000 - ldrb r0, [r4] - ldrb r1, [r4, 0x5] - ldrb r2, [r4, 0x4] - bl SetMonIconSpriteId_maybe - ldrb r0, [r4] - ldrb r1, [r4, 0x6] - ldrb r2, [r4, 0x3] - bl SetMonIconSpriteId_maybe - bl IsDoubleBattle - ldr r5, _0806D368 @ =gSprites - ldrb r1, [r4, 0x3] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldr r6, _0806D36C @ =gUnknown_08376678 - ldrb r2, [r4, 0x6] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2] - movs r1, 0 - mov r8, r1 - strh r0, [r3, 0x20] - bl IsDoubleBattle - ldrb r1, [r4, 0x3] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldrb r2, [r4, 0x6] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2, 0x1] - strh r0, [r3, 0x22] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x26] - ldrb r1, [r4, 0x3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1C - adds r1, r5 - mov r9, r1 - add r0, r9 - ldr r7, _0806D370 @ =UpdateMonIconFrame_806DA38 - str r7, [r0] - bl IsDoubleBattle - ldrb r1, [r4, 0x4] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldrb r2, [r4, 0x5] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2] - strh r0, [r3, 0x20] - bl IsDoubleBattle - ldrb r1, [r4, 0x4] - lsls r3, r1, 4 - adds r3, r1 - lsls r3, 2 - adds r3, r5 - ldrb r2, [r4, 0x5] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r0, [r2, 0x1] - strh r0, [r3, 0x22] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x26] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - str r7, [r0] - ldrb r0, [r4] - ldrb r2, [r4, 0x2] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r1, [r1, 0x2E] - lsls r1, 24 - lsrs r1, 24 - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldr r0, _0806D374 @ =UpdateMonIconFrame_806DA0C - str r0, [r1] - ldrb r0, [r4, 0x5] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0806D378 @ =gPlayerParty - adds r0, r5 - ldrb r1, [r4, 0x6] - muls r1, r6 - adds r1, r5 - bl sub_806E6F0 - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl PartyMenuPrintMonLevelOrStatus - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl TryPrintPartyMenuMonNickname - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl PartyMenuTryPrintHP - ldrb r0, [r4, 0x5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl nullsub_12 - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl PartyMenuPrintMonLevelOrStatus - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl TryPrintPartyMenuMonNickname - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl PartyMenuTryPrintHP - ldrb r0, [r4, 0x6] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - bl nullsub_12 - bl PartyMenuDrawHPBars - mov r0, r10 - bl sub_806CC74 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806D364: .4byte 0x02001000 -_0806D368: .4byte gSprites -_0806D36C: .4byte gUnknown_08376678 -_0806D370: .4byte UpdateMonIconFrame_806DA38 -_0806D374: .4byte UpdateMonIconFrame_806DA0C -_0806D378: .4byte gPlayerParty - thumb_func_end sub_806D198 - - thumb_func_start sub_806D37C -sub_806D37C: @ 806D37C - push {r4,lr} - adds r4, r0, 0 - bl UpdateMonIconFrame - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r3, 0x32 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _0806D3A8 - movs r1, 0x2E - ldrsh r0, [r4, r1] - negs r0, r0 - movs r1, 0 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x32] - ldr r0, _0806D3A4 @ =UpdateMonIconFrame_806DA38 - str r0, [r4, 0x1C] - b _0806D3AE - .align 2, 0 -_0806D3A4: .4byte UpdateMonIconFrame_806DA38 -_0806D3A8: - ldrh r0, [r4, 0x2E] - adds r0, r2, r0 - strh r0, [r4, 0x24] -_0806D3AE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806D37C - - thumb_func_start sub_806D3B4 -sub_806D3B4: @ 806D3B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r6, _0806D438 @ =gUnknown_083769C0 - ldr r1, _0806D43C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x3] - bl sub_806BA34 - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x9] - bl sub_806BB3C - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0xA] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0xB] - bl sub_806BB3C - ldrh r1, [r5, 0x8] - subs r1, 0x1 - strh r1, [r5, 0x8] - ldrb r0, [r6, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x3] - movs r2, 0x4 - bl sub_806B9A4 - cmp r4, 0 - beq _0806D440 - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x9] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - b _0806D454 - .align 2, 0 -_0806D438: .4byte gUnknown_083769C0 -_0806D43C: .4byte gTasks -_0806D440: - ldrh r0, [r5, 0x8] - ldrb r1, [r6, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0x9] - movs r2, 0x1 - movs r3, 0x4 - bl sub_806BA94 -_0806D454: - mov r0, r8 - cmp r0, 0 - beq _0806D480 - ldr r1, _0806D47C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - ldrb r1, [r6, 0xA] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0xB] - movs r2, 0 - movs r3, 0x4 - bl sub_806BA94 - b _0806D49E - .align 2, 0 -_0806D47C: .4byte gTasks -_0806D480: - ldr r1, _0806D4A8 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - ldrb r1, [r6, 0xA] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrb r1, [r6, 0xB] - movs r2, 0x1 - movs r3, 0x4 - bl sub_806BA94 -_0806D49E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806D4A8: .4byte gTasks - thumb_func_end sub_806D3B4 - - thumb_func_start sub_806D4AC -sub_806D4AC: @ 806D4AC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - beq _0806D4F6 - adds r1, r2, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806D4FC @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r2 - ldr r0, _0806D500 @ =0x0000fff8 - strh r0, [r4, 0x2E] - ldr r3, _0806D504 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r3 - movs r3, 0x8 - ldrsh r0, [r0, r3] - lsls r0, 3 - negs r0, r0 - strh r0, [r4, 0x32] - adds r2, 0x1C - adds r1, r2 - ldr r0, _0806D508 @ =sub_806D37C - str r0, [r1] -_0806D4F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806D4FC: .4byte gSprites -_0806D500: .4byte 0x0000fff8 -_0806D504: .4byte gTasks -_0806D508: .4byte sub_806D37C - thumb_func_end sub_806D4AC - - thumb_func_start sub_806D50C -sub_806D50C: @ 806D50C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetMonIconSpriteId_maybe - ldr r2, _0806D534 @ =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x20] - adds r0, 0xF0 - strh r0, [r1, 0x20] - pop {r0} - bx r0 - .align 2, 0 -_0806D534: .4byte gSprites - thumb_func_end sub_806D50C - - thumb_func_start sub_806D538 -sub_806D538: @ 806D538 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - cmp r4, 0xFF - beq _0806D59A - cmp r1, 0x1 - beq _0806D568 - cmp r1, 0x1 - bgt _0806D556 - cmp r1, 0 - beq _0806D560 - b _0806D58A -_0806D556: - cmp r0, 0x2 - beq _0806D570 - cmp r0, 0x3 - beq _0806D57E - b _0806D58A -_0806D560: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x17 - b _0806D576 -_0806D568: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x13 - b _0806D576 -_0806D570: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x16 -_0806D576: - movs r3, 0x13 - bl MenuDrawTextWindow - b _0806D58A -_0806D57E: - movs r0, 0 - movs r1, 0x10 - movs r2, 0x12 - movs r3, 0x13 - bl MenuDrawTextWindow -_0806D58A: - ldr r0, _0806D5A0 @ =gUnknown_08376624 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x1 - movs r2, 0x11 - bl MenuPrint -_0806D59A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806D5A0: .4byte gUnknown_08376624 - thumb_func_end sub_806D538 - - thumb_func_start sub_806D5A4 -sub_806D5A4: @ 806D5A4 - push {lr} - movs r0, 0 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end sub_806D5A4 - - thumb_func_start sub_806D5B8 -sub_806D5B8: @ 806D5B8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0806D658 @ =gUnknown_08376948 - bl IsDoubleBattle - lsls r4, r5, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1] - mov r10, r1 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x1] - mov r9, r1 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x2] - mov r8, r1 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - adds r4, r6 - ldrb r1, [r4, 0x3] - ldr r0, _0806D65C @ =gUnknown_03004210 - str r1, [sp] - mov r1, r10 - mov r2, r9 - mov r3, r8 - bl ZeroFillWindowRect - movs r0, 0 - str r0, [sp, 0x4] - lsls r5, 10 - ldr r0, _0806D660 @ =0x06014000 - adds r5, r0 - ldr r2, _0806D664 @ =0x01000100 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuFastSet - 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 -_0806D658: .4byte gUnknown_08376948 -_0806D65C: .4byte gUnknown_03004210 -_0806D660: .4byte 0x06014000 -_0806D664: .4byte 0x01000100 - thumb_func_end sub_806D5B8 - - thumb_func_start sub_806D668 -sub_806D668: @ 806D668 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0806D708 @ =gUnknown_08376978 - bl IsDoubleBattle - lsls r4, r5, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1] - mov r10, r1 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x1] - mov r9, r1 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - adds r1, r6 - ldrb r1, [r1, 0x2] - mov r8, r1 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - adds r4, r6 - ldrb r1, [r4, 0x3] - ldr r0, _0806D70C @ =gUnknown_03004210 - str r1, [sp] - mov r1, r10 - mov r2, r9 - mov r3, r8 - bl ZeroFillWindowRect - movs r0, 0 - str r0, [sp, 0x4] - lsls r5, 10 - ldr r0, _0806D710 @ =0x06014300 - adds r5, r0 - ldr r2, _0806D714 @ =0x01000040 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuFastSet - 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 -_0806D708: .4byte gUnknown_08376978 -_0806D70C: .4byte gUnknown_03004210 -_0806D710: .4byte 0x06014300 -_0806D714: .4byte 0x01000040 - thumb_func_end sub_806D668 - - thumb_func_start sub_806D718 -sub_806D718: @ 806D718 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0806D7C4 @ =0x00007fff - mov r0, sp - strh r1, [r0] - movs r5, 0 - cmp r4, 0x1 - bhi _0806D736 - ldr r0, _0806D7C8 @ =gPartyMenuMisc_Gfx - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram -_0806D736: - cmp r4, 0x2 - beq _0806D73E - cmp r4, 0 - bne _0806D746 -_0806D73E: - ldr r0, _0806D7CC @ =gPartyMenuMisc_Tilemap - ldr r1, _0806D7D0 @ =0x06003800 - bl LZDecompressVram -_0806D746: - cmp r4, 0x3 - beq _0806D74E - cmp r4, 0 - bne _0806D75A -_0806D74E: - ldr r0, _0806D7D4 @ =gPartyMenuMisc_Pal - movs r2, 0xB0 - lsls r2, 1 - movs r1, 0 - bl LoadCompressedPalette -_0806D75A: - cmp r4, 0x4 - beq _0806D762 - cmp r4, 0 - bne _0806D776 -_0806D762: - mov r0, sp - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - ldr r0, _0806D7D8 @ =gFontDefaultPalette - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_0806D776: - cmp r4, 0x5 - beq _0806D77E - cmp r4, 0 - bne _0806D786 -_0806D77E: - ldr r0, _0806D7DC @ =gPartyMenuHpBar_Gfx - ldr r1, _0806D7E0 @ =0x06006000 - bl LZDecompressVram -_0806D786: - cmp r4, 0x6 - beq _0806D78E - cmp r4, 0 - bne _0806D796 -_0806D78E: - ldr r0, _0806D7E4 @ =gPartyMenuOrderText_Gfx - ldr r1, _0806D7E8 @ =0x06006180 - bl LZDecompressVram -_0806D796: - cmp r4, 0x7 - beq _0806D79E - cmp r4, 0 - bne _0806D7A6 -_0806D79E: - ldr r0, _0806D7EC @ =gStatusGfx_Icons - ldr r1, _0806D7F0 @ =0x06007180 - bl LZDecompressVram -_0806D7A6: - cmp r4, 0x8 - beq _0806D7AE - cmp r4, 0 - bne _0806D7BA -_0806D7AE: - ldr r0, _0806D7F4 @ =gStatusPal_Icons - movs r1, 0xB0 - movs r2, 0x20 - bl LoadCompressedPalette - movs r5, 0x1 -_0806D7BA: - adds r0, r5, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806D7C4: .4byte 0x00007fff -_0806D7C8: .4byte gPartyMenuMisc_Gfx -_0806D7CC: .4byte gPartyMenuMisc_Tilemap -_0806D7D0: .4byte 0x06003800 -_0806D7D4: .4byte gPartyMenuMisc_Pal -_0806D7D8: .4byte gFontDefaultPalette -_0806D7DC: .4byte gPartyMenuHpBar_Gfx -_0806D7E0: .4byte 0x06006000 -_0806D7E4: .4byte gPartyMenuOrderText_Gfx -_0806D7E8: .4byte 0x06006180 -_0806D7EC: .4byte gStatusGfx_Icons -_0806D7F0: .4byte 0x06007180 -_0806D7F4: .4byte gStatusPal_Icons - thumb_func_end sub_806D718 - - thumb_func_start SetMonIconAnimByHP -SetMonIconAnimByHP: @ 806D7F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsls r2, 16 - lsrs r5, r1, 16 - asrs r1, 16 - lsrs r4, r2, 16 - asrs r2, 16 - adds r0, r1, 0 - adds r1, r2, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - cmp r5, r4 - beq _0806D830 - movs r2, 0x1 - cmp r0, 0x3 - beq _0806D830 - movs r2, 0x2 - cmp r0, 0x2 - beq _0806D830 - movs r2, 0x4 - cmp r0, 0x1 - bne _0806D830 - movs r2, 0x3 -_0806D830: - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - ldr r1, _0806D848 @ =gSprites - adds r0, r1 - adds r1, r2, 0 - bl sub_809D824 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806D848: .4byte gSprites - thumb_func_end SetMonIconAnimByHP - - thumb_func_start SetMonIconAnim -SetMonIconAnim: @ 806D84C - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl SetMonIconAnimByHP - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end SetMonIconAnim - - thumb_func_start CreatePartyMenuMonIcon -CreatePartyMenuMonIcon: @ 806D880 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r6, r0, 0 - adds r5, r1, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806D904 @ =gUnknown_08376678 - lsls r1, r5, 2 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - mov r9, r0 - ldrb r1, [r1, 0x1] - mov r10, r1 - mov r0, r8 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0 - bl GetMonData - ldr r1, _0806D908 @ =sub_809D62C - movs r2, 0x5 - str r2, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - mov r2, r9 - mov r3, r10 - bl CreateMonIcon - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl SetMonIconSpriteId_maybe - adds r0, r4, 0 - mov r1, r8 - bl SetMonIconAnim - 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 -_0806D904: .4byte gUnknown_08376678 -_0806D908: .4byte sub_809D62C - thumb_func_end CreatePartyMenuMonIcon - - thumb_func_start TryCreatePartyMenuMonIcon -TryCreatePartyMenuMonIcon: @ 806D90C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r6 - lsls r1, 24 - lsrs r5, r1, 24 - adds r7, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806D95A - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806D946 - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x2 - adds r3, r4, 0 - bl CreatePartyMenuMonIcon - b _0806D95A -_0806D946: - bl IsDoubleBattle - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - mov r0, r8 - adds r1, r7, 0 - adds r3, r4, 0 - bl CreatePartyMenuMonIcon -_0806D95A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end TryCreatePartyMenuMonIcon - - thumb_func_start unref_sub_806D964 -unref_sub_806D964: @ 806D964 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _0806D986 -_0806D96E: - movs r0, 0x64 - adds r2, r4, 0 - muls r2, r0 - ldr r0, _0806D994 @ =gPlayerParty - adds r2, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl TryCreatePartyMenuMonIcon - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0806D986: - ldr r0, _0806D998 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bcc _0806D96E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806D994: .4byte gPlayerParty -_0806D998: .4byte gPlayerPartyCount - thumb_func_end unref_sub_806D964 - - thumb_func_start CreateMonIcon_806D99C -CreateMonIcon_806D99C: @ 806D99C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r6, r0, 0 - adds r5, r1, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806DA04 @ =gUnknown_08376678 - lsls r1, r5, 2 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r3 - ldrb r2, [r1] - ldrb r3, [r1, 0x1] - mov r1, r8 - ldrh r0, [r1] - ldr r1, _0806DA08 @ =sub_809D62C - movs r4, 0x5 - str r4, [sp] - mov r7, r8 - ldr r4, [r7, 0x18] - str r4, [sp, 0x4] - bl CreateMonIcon - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl SetMonIconSpriteId_maybe - ldrh r1, [r7, 0x10] - ldrh r2, [r7, 0x12] - adds r0, r4, 0 - bl SetMonIconAnimByHP - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DA04: .4byte gUnknown_08376678 -_0806DA08: .4byte sub_809D62C - thumb_func_end CreateMonIcon_806D99C - - thumb_func_start UpdateMonIconFrame_806DA0C -UpdateMonIconFrame_806DA0C: @ 806DA0C - push {r4,lr} - adds r4, r0, 0 - bl UpdateMonIconFrame - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0806DA32 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806DA30 - ldr r0, _0806DA2C @ =0x0000fffd - strh r0, [r4, 0x26] - b _0806DA32 - .align 2, 0 -_0806DA2C: .4byte 0x0000fffd -_0806DA30: - strh r1, [r4, 0x26] -_0806DA32: - pop {r4} - pop {r0} - bx r0 - thumb_func_end UpdateMonIconFrame_806DA0C - - thumb_func_start UpdateMonIconFrame_806DA38 -UpdateMonIconFrame_806DA38: @ 806DA38 - push {lr} - bl UpdateMonIconFrame - pop {r0} - bx r0 - thumb_func_end UpdateMonIconFrame_806DA38 - - thumb_func_start UpdateMonIconFrame_806DA44 -UpdateMonIconFrame_806DA44: @ 806DA44 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r1, 0x5 - bhi _0806DA8E - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806DA7C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r2, r1, 2 - adds r1, r2, r3 - movs r0, 0 - strh r0, [r1, 0x26] - strh r0, [r1, 0x2E] - cmp r4, 0 - bne _0806DA84 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, _0806DA80 @ =UpdateMonIconFrame_806DA38 - b _0806DA8C - .align 2, 0 -_0806DA7C: .4byte gSprites -_0806DA80: .4byte UpdateMonIconFrame_806DA38 -_0806DA84: - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, _0806DA94 @ =UpdateMonIconFrame_806DA0C -_0806DA8C: - str r1, [r0] -_0806DA8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806DA94: .4byte UpdateMonIconFrame_806DA0C - thumb_func_end UpdateMonIconFrame_806DA44 - - thumb_func_start LoadHeldItemIconGraphics -LoadHeldItemIconGraphics: @ 806DA98 - push {lr} - ldr r0, _0806DAAC @ =gUnknown_083765DC - bl LoadSpriteSheet - ldr r0, _0806DAB0 @ =gUnknown_083765E4 - bl LoadSpritePalette - pop {r0} - bx r0 - .align 2, 0 -_0806DAAC: .4byte gUnknown_083765DC -_0806DAB0: .4byte gUnknown_083765E4 - thumb_func_end LoadHeldItemIconGraphics - - thumb_func_start SpriteCB_HeldItemIcon -SpriteCB_HeldItemIcon: @ 806DAB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806DAE4 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _0806DAE8 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806DB06 - .align 2, 0 -_0806DAE4: .4byte gSprites -_0806DAE8: - adds r3, r4, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x26] - ldrh r2, [r2, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] -_0806DB06: - pop {r4} - pop {r0} - bx r0 - thumb_func_end SpriteCB_HeldItemIcon - - thumb_func_start CreateHeldItemIcon -CreateHeldItemIcon: @ 806DB0C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _0806DB84 @ =gSprites - mov r8, r0 - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - add r0, r8 - adds r0, 0x43 - ldrb r3, [r0] - ldr r0, _0806DB88 @ =gSpriteTemplate_837660C - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0xFA - movs r2, 0xAA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r0, r8 - adds r5, r4, r0 - movs r0, 0x4 - strh r0, [r5, 0x24] - movs r0, 0xA - strh r0, [r5, 0x26] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, _0806DB8C @ =SpriteCB_HeldItemIcon - str r0, [r4] - strh r6, [r5, 0x3C] - adds r0, r5, 0 - mov r1, r9 - bl StartSpriteAnim - ldr r1, [r4] - adds r0, r5, 0 - bl _call_via_r1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806DB84: .4byte gSprites -_0806DB88: .4byte gSpriteTemplate_837660C -_0806DB8C: .4byte SpriteCB_HeldItemIcon - thumb_func_end CreateHeldItemIcon - - thumb_func_start CreateHeldItemIcons -CreateHeldItemIcons: @ 806DB90 - push {r4-r7,lr} - adds r6, r0, 0 - adds r7, r1, 0 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0 - beq _0806DBA4 - cmp r2, 0x1 - beq _0806DBEC - b _0806DC28 -_0806DBA4: - movs r5, 0 - ldrb r0, [r6] - cmp r5, r0 - bcs _0806DC28 -_0806DBAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0806DBE8 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806DBD8 - adds r0, r7, r5 - ldrb r4, [r0] - adds r0, r1, 0 - bl ItemIsMail - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl CreateHeldItemIcon -_0806DBD8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r0, [r6] - cmp r5, r0 - bcc _0806DBAC - b _0806DC28 - .align 2, 0 -_0806DBE8: .4byte gPlayerParty -_0806DBEC: - movs r5, 0 - b _0806DC22 -_0806DBF0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0806DC30 @ =gEnemyParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806DC1C - adds r0, r5, r7 - ldrb r4, [r0, 0x6] - adds r0, r1, 0 - bl ItemIsMail - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl CreateHeldItemIcon -_0806DC1C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0806DC22: - ldrb r0, [r6, 0x1] - cmp r5, r0 - bcc _0806DBF0 -_0806DC28: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DC30: .4byte gEnemyParty - thumb_func_end CreateHeldItemIcons - - thumb_func_start CreateHeldItemIcons_806DC34 -CreateHeldItemIcons_806DC34: @ 806DC34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - ldr r0, _0806DCC8 @ =gSprites - mov r9, r0 - movs r1, 0x1C - add r1, r9 - mov r10, r1 -_0806DC50: - movs r0, 0x64 - muls r0, r7 - ldr r1, _0806DCCC @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806DCB0 - mov r0, r8 - adds r1, r7, 0 - bl GetMonIconSpriteId_maybe - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0806DCD0 @ =gSpriteTemplate_837660C - movs r1, 0xFA - movs r2, 0xAA - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - mov r1, r9 - adds r6, r4, r1 - movs r1, 0x4 - strh r1, [r6, 0x24] - movs r1, 0xA - strh r1, [r6, 0x26] - strh r5, [r6, 0x3C] - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - add r1, r9 - strh r0, [r1, 0x3C] - mov r0, r8 - adds r1, r7, 0 - bl SetHeldItemIconVisibility - add r4, r10 - ldr r1, [r4] - adds r0, r6, 0 - bl _call_via_r1 -_0806DCB0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _0806DC50 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DCC8: .4byte gSprites -_0806DCCC: .4byte gPlayerParty -_0806DCD0: .4byte gSpriteTemplate_837660C - thumb_func_end CreateHeldItemIcons_806DC34 - - thumb_func_start CreateHeldItemIcon_806DCD4 -CreateHeldItemIcon_806DCD4: @ 806DCD4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r7, r2, 16 - bl GetMonIconSpriteId_maybe - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0806DD2C @ =gSpriteTemplate_837660C - movs r1, 0xFA - movs r2, 0xAA - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0806DD30 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r0, r1 - movs r0, 0x4 - strh r0, [r5, 0x24] - movs r0, 0xA - strh r0, [r5, 0x26] - strh r4, [r5, 0x3C] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strh r6, [r0, 0x3C] - cmp r7, 0 - bne _0806DD34 - adds r0, r5, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806DD5C - .align 2, 0 -_0806DD2C: .4byte gSpriteTemplate_837660C -_0806DD30: .4byte gSprites -_0806DD34: - adds r0, r7, 0 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0806DD46 - adds r0, r5, 0 - movs r1, 0x1 - b _0806DD4A -_0806DD46: - adds r0, r5, 0 - movs r1, 0 -_0806DD4A: - bl StartSpriteAnim - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0806DD5C: - ldr r2, _0806DD78 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806DD78: .4byte gSprites - thumb_func_end CreateHeldItemIcon_806DCD4 - - thumb_func_start SpriteCB_HeldItemIcon_806DD7C -SpriteCB_HeldItemIcon_806DD7C: @ 806DD7C - ldrh r2, [r0, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806DD9C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_0806DD9C: .4byte gSprites - thumb_func_end SpriteCB_HeldItemIcon_806DD7C - - thumb_func_start GetMonIconSpriteId_maybe -GetMonIconSpriteId_maybe: @ 806DDA0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x5 - bhi _0806DE38 - lsls r0, 2 - ldr r1, _0806DDB8 @ =_0806DDBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DDB8: .4byte _0806DDBC - .align 2, 0 -_0806DDBC: - .4byte _0806DE38 - .4byte _0806DDD4 - .4byte _0806DDE8 - .4byte _0806DDFC - .4byte _0806DE10 - .4byte _0806DE24 -_0806DDD4: - ldr r0, _0806DDE4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x8] - b _0806DE46 - .align 2, 0 -_0806DDE4: .4byte gTasks -_0806DDE8: - ldr r0, _0806DDF8 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - b _0806DE44 - .align 2, 0 -_0806DDF8: .4byte gTasks -_0806DDFC: - ldr r0, _0806DE0C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0xA] - b _0806DE46 - .align 2, 0 -_0806DE0C: .4byte gTasks -_0806DE10: - ldr r0, _0806DE20 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - b _0806DE44 - .align 2, 0 -_0806DE20: .4byte gTasks -_0806DE24: - ldr r0, _0806DE34 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0xC] - b _0806DE46 - .align 2, 0 -_0806DE34: .4byte gTasks -_0806DE38: - ldr r0, _0806DE4C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] -_0806DE44: - lsrs r0, 8 -_0806DE46: - pop {r1} - bx r1 - .align 2, 0 -_0806DE4C: .4byte gTasks - thumb_func_end GetMonIconSpriteId_maybe - - thumb_func_start SetMonIconSpriteId_maybe -SetMonIconSpriteId_maybe: @ 806DE50 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r0, 0x5 - bhi _0806DF24 - lsls r0, 2 - ldr r1, _0806DE6C @ =_0806DE70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806DE6C: .4byte _0806DE70 - .align 2, 0 -_0806DE70: - .4byte _0806DE88 - .4byte _0806DEA0 - .4byte _0806DEC0 - .4byte _0806DED8 - .4byte _0806DEF8 - .4byte _0806DF10 -_0806DE88: - ldr r1, _0806DE9C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - lsls r2, r4, 8 - orrs r1, r2 - strh r1, [r0, 0x8] - b _0806DF24 - .align 2, 0 -_0806DE9C: .4byte gTasks -_0806DEA0: - ldr r0, _0806DEB8 @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0x8] - ldr r0, _0806DEBC @ =0xffffff00 - ands r0, r2 - orrs r0, r4 - strh r0, [r1, 0x8] - b _0806DF24 - .align 2, 0 -_0806DEB8: .4byte gTasks -_0806DEBC: .4byte 0xffffff00 -_0806DEC0: - ldr r1, _0806DED4 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xA] - lsls r2, r4, 8 - orrs r1, r2 - strh r1, [r0, 0xA] - b _0806DF24 - .align 2, 0 -_0806DED4: .4byte gTasks -_0806DED8: - ldr r0, _0806DEF0 @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xA] - ldr r0, _0806DEF4 @ =0xffffff00 - ands r0, r2 - orrs r0, r4 - strh r0, [r1, 0xA] - b _0806DF24 - .align 2, 0 -_0806DEF0: .4byte gTasks -_0806DEF4: .4byte 0xffffff00 -_0806DEF8: - ldr r1, _0806DF0C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - lsls r2, r4, 8 - orrs r1, r2 - strh r1, [r0, 0xC] - b _0806DF24 - .align 2, 0 -_0806DF0C: .4byte gTasks -_0806DF10: - ldr r0, _0806DF2C @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - ldr r0, _0806DF30 @ =0xffffff00 - ands r0, r2 - orrs r0, r4 - strh r0, [r1, 0xC] -_0806DF24: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806DF2C: .4byte gTasks -_0806DF30: .4byte 0xffffff00 - thumb_func_end SetMonIconSpriteId_maybe - - thumb_func_start GetHeldItemIconSpriteIdByMon_maybe -GetHeldItemIconSpriteIdByMon_maybe: @ 806DF34 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806DF5C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x3C] - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0806DF5C: .4byte gSprites - thumb_func_end GetHeldItemIconSpriteIdByMon_maybe - - thumb_func_start SetHeldItemIconVisibility -SetHeldItemIconVisibility: @ 806DF60 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl GetHeldItemIconSpriteIdByMon_maybe - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - movs r0, 0x64 - adds r1, r4, 0 - muls r1, r0 - ldr r0, _0806DFA4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - bne _0806DFAC - ldr r1, _0806DFA8 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806DFF6 - .align 2, 0 -_0806DFA4: .4byte gPlayerParty -_0806DFA8: .4byte gSprites -_0806DFAC: - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0806DFD8 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - ldr r0, _0806DFD4 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x1 - b _0806DFE6 - .align 2, 0 -_0806DFD4: .4byte gSprites -_0806DFD8: - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - ldr r0, _0806DFFC @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0 -_0806DFE6: - bl StartSpriteAnim - adds r4, 0x3E - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] -_0806DFF6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806DFFC: .4byte gSprites - thumb_func_end SetHeldItemIconVisibility - - thumb_func_start box_print -box_print: @ 806E000 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp] - ldr r5, _0806E040 @ =gTileBuffer - ldr r2, _0806E044 @ =0x01000100 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - ldr r0, _0806E048 @ =gWindowConfig_81E6CAC - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_8004E3C - lsls r4, 10 - ldr r0, _0806E04C @ =0x06014000 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x80 - bl CpuFastSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E040: .4byte gTileBuffer -_0806E044: .4byte 0x01000100 -_0806E048: .4byte gWindowConfig_81E6CAC -_0806E04C: .4byte 0x06014000 - thumb_func_end box_print - - thumb_func_start PrintPartyMenuMonNickname -PrintPartyMenuMonNickname: @ 806E050 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r1, sp - bl GetMonNickname - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl box_print - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PrintPartyMenuMonNickname - - thumb_func_start TryPrintPartyMenuMonNickname -TryPrintPartyMenuMonNickname: @ 806E07C - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806E0BC - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E0AA - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl PrintPartyMenuMonNickname - b _0806E0BC -_0806E0AA: - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r4, 0 - bl PrintPartyMenuMonNickname -_0806E0BC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end TryPrintPartyMenuMonNickname - - thumb_func_start PrintPartyMenuMonNicknames -PrintPartyMenuMonNicknames: @ 806E0C4 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E0E8 @ =gPlayerParty -_0806E0CC: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl TryPrintPartyMenuMonNickname - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E0CC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E0E8: .4byte gPlayerParty - thumb_func_end PrintPartyMenuMonNicknames - - thumb_func_start GetMonNickname -GetMonNickname: @ 806E0EC - push {r4,lr} - adds r4, r1, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl GetMonData - adds r0, r4, 0 - bl StringGetEnd10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonNickname - - thumb_func_start PartyMenuPutStatusTilemap -PartyMenuPutStatusTilemap: @ 806E104 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r4, _0806E15C @ =gUnknown_08376738 - lsrs r0, 22 - lsls r3, r1, 1 - adds r3, r1 - lsls r3, 3 - adds r0, r3 - adds r0, r4 - ldrb r1, [r0] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r0, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 19 - adds r1, r0 - lsls r1, 1 - ldr r0, _0806E160 @ =0x0600f000 - adds r4, r1, r0 - lsls r2, 26 - lsrs r2, 24 - movs r3, 0 - movs r0, 0xC6 - lsls r0, 1 - adds r2, r0 - ldr r0, _0806E164 @ =0xffffb000 - adds r5, r0, 0 -_0806E142: - lsls r0, r3, 1 - adds r0, r4 - adds r1, r2, r3 - orrs r1, r5 - strh r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0806E142 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E15C: .4byte gUnknown_08376738 -_0806E160: .4byte 0x0600f000 -_0806E164: .4byte 0xffffb000 - thumb_func_end PartyMenuPutStatusTilemap - - thumb_func_start PartyMenuClearLevelStatusTilemap -PartyMenuClearLevelStatusTilemap: @ 806E168 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E17E - movs r3, 0x2 - b _0806E186 -_0806E17E: - bl IsDoubleBattle - lsls r0, 24 - lsrs r3, r0, 24 -_0806E186: - ldr r1, _0806E1C8 @ =gUnknown_08376738 - lsls r2, r4, 2 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 3 - adds r2, r0 - adds r2, r1 - ldrb r1, [r2] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r2, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 19 - adds r1, r0 - lsls r1, 1 - ldr r0, _0806E1CC @ =0x0600f000 - adds r1, r0 - movs r3, 0 - movs r2, 0 -_0806E1B0: - lsls r0, r3, 1 - adds r0, r1 - strh r2, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0806E1B0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806E1C8: .4byte gUnknown_08376738 -_0806E1CC: .4byte 0x0600f000 - thumb_func_end PartyMenuClearLevelStatusTilemap - - thumb_func_start PartyMenuWriteTilemap -PartyMenuWriteTilemap: @ 806E1D0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 19 - adds r1, r2 - lsls r1, 1 - ldr r2, _0806E1F0 @ =0x0600f000 - adds r1, r2 - movs r2, 0x86 - lsls r2, 1 - adds r0, r2 - strh r0, [r1] - bx lr - .align 2, 0 -_0806E1F0: .4byte 0x0600f000 - thumb_func_end PartyMenuWriteTilemap - - thumb_func_start PartyMenuDoPrintLevel -PartyMenuDoPrintLevel: @ 806E1F4 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r3, _0806E278 @ =gUnknown_08376738 - lsls r2, r4, 2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r2, r3 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x40 - bl PartyMenuWriteTilemap - ldr r6, _0806E27C @ =gStringVar1 - movs r0, 0xFC - strb r0, [r6] - movs r0, 0x12 - strb r0, [r6, 0x1] - movs r0, 0x8 - strb r0, [r6, 0x2] - adds r0, r6, 0x3 - adds r1, r5, 0 - bl ConvertIntToDecimalString - movs r0, 0 - str r0, [sp] - ldr r5, _0806E280 @ =gUnknown_02039460 - ldr r2, _0806E284 @ =0x01000020 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - ldr r0, _0806E288 @ =gWindowConfig_81E6CAC - ldr r2, _0806E28C @ =0xffffff00 - adds r1, r5, r2 - adds r2, r6, 0 - bl sub_8004E3C - lsls r4, 10 - ldr r0, _0806E290 @ =0x06014200 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x20 - bl CpuFastSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E278: .4byte gUnknown_08376738 -_0806E27C: .4byte gStringVar1 -_0806E280: .4byte gUnknown_02039460 -_0806E284: .4byte 0x01000020 -_0806E288: .4byte gWindowConfig_81E6CAC -_0806E28C: .4byte 0xffffff00 -_0806E290: .4byte 0x06014200 - thumb_func_end PartyMenuDoPrintLevel - - thumb_func_start PartyMenuPrintLevel -PartyMenuPrintLevel: @ 806E294 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x38 - bl GetMonData - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl PartyMenuDoPrintLevel - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PartyMenuPrintLevel - - thumb_func_start PartyMenuPrintMonLevelOrStatus -PartyMenuPrintMonLevelOrStatus: @ 806E2C0 - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806E32E - adds r0, r5, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0806E32E - adds r0, r5, 0 - bl GetMonStatusAndPokerus - lsls r0, 24 - lsrs r4, r0, 24 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E2FA - movs r6, 0x2 - b _0806E302 -_0806E2FA: - bl IsDoubleBattle - lsls r0, 24 - lsrs r6, r0, 24 -_0806E302: - cmp r4, 0 - beq _0806E31A - cmp r4, 0x6 - beq _0806E31A - subs r2, r4, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl PartyMenuPutStatusTilemap - b _0806E324 -_0806E31A: - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl PartyMenuPrintLevel -_0806E324: - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl PartyMenuPutNicknameTilemap -_0806E32E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PartyMenuPrintMonLevelOrStatus - - thumb_func_start PartyMenuPrintMonsLevelOrStatus -PartyMenuPrintMonsLevelOrStatus: @ 806E334 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E358 @ =gPlayerParty -_0806E33C: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl PartyMenuPrintMonLevelOrStatus - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E33C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E358: .4byte gPlayerParty - thumb_func_end PartyMenuPrintMonsLevelOrStatus - - thumb_func_start PartyMenuDoPutNicknameTilemap -PartyMenuDoPutNicknameTilemap: @ 806E35C - push {r4-r7,lr} - ldr r4, [sp, 0x14] - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - adds r1, r4, 0 - bl sub_8040D8C - cmp r0, 0 - bne _0806E3BA - ldr r2, _0806E3A4 @ =gUnknown_08376738 - lsls r1, r6, 2 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x3 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r1, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r7, 0 - beq _0806E3A8 - cmp r7, 0xFE - beq _0806E3B2 - b _0806E3BA - .align 2, 0 -_0806E3A4: .4byte gUnknown_08376738 -_0806E3A8: - movs r0, 0x42 - adds r1, r3, 0 - bl PartyMenuWriteTilemap - b _0806E3BA -_0806E3B2: - movs r0, 0x44 - adds r1, r3, 0 - bl PartyMenuWriteTilemap -_0806E3BA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PartyMenuDoPutNicknameTilemap - - thumb_func_start PartyMenuPutNicknameTilemap -PartyMenuPutNicknameTilemap: @ 806E3C0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r8, r0 - adds r6, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _0806E41C @ =gStringVar1 - mov r9, r0 - adds r0, r5, 0 - mov r1, r9 - bl GetMonNickname - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl GetMonGender - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - str r0, [sp] - adds r0, r4, 0 - adds r2, r6, 0 - mov r3, r8 - bl PartyMenuDoPutNicknameTilemap - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E41C: .4byte gStringVar1 - thumb_func_end PartyMenuPutNicknameTilemap - - thumb_func_start PartyMenuDoPrintHP -PartyMenuDoPrintHP: @ 806E420 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r1, r2, 0 - adds r5, r3, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r2, _0806E48C @ =gStringVar1 - adds r0, r2, 0 - movs r2, 0xF - movs r3, 0x1 - bl sub_8072C14 - adds r2, r0, 0 - movs r0, 0xBA - strb r0, [r2] - adds r2, 0x1 - adds r0, r2, 0 - adds r1, r5, 0 - movs r2, 0x23 - movs r3, 0x1 - bl sub_8072C14 - movs r0, 0 - str r0, [sp] - ldr r5, _0806E490 @ =gUnknown_02039460 - ldr r2, _0806E494 @ =0x01000040 - mov r0, sp - adds r1, r5, 0 - bl CpuFastSet - ldr r0, _0806E498 @ =gWindowConfig_81E6CAC - ldr r2, _0806E49C @ =0xffffff00 - adds r1, r5, r2 - ldr r2, _0806E48C @ =gStringVar1 - bl sub_8004E3C - lsls r4, 10 - ldr r0, _0806E4A0 @ =0x06014300 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x40 - bl CpuFastSet - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E48C: .4byte gStringVar1 -_0806E490: .4byte gUnknown_02039460 -_0806E494: .4byte 0x01000040 -_0806E498: .4byte gWindowConfig_81E6CAC -_0806E49C: .4byte 0xffffff00 -_0806E4A0: .4byte 0x06014300 - thumb_func_end PartyMenuDoPrintHP - - thumb_func_start PartyMenuPrintHP -PartyMenuPrintHP: @ 806E4A4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x3A - bl GetMonData - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl PartyMenuDoPrintHP - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PartyMenuPrintHP - - thumb_func_start PartyMenuTryPrintHP -PartyMenuTryPrintHP: @ 806E4E8 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806E534 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0806E534 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E522 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl PartyMenuPrintHP - b _0806E534 -_0806E522: - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r4, 0 - bl PartyMenuPrintHP -_0806E534: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PartyMenuTryPrintHP - - thumb_func_start PartyMenuTryPrintMonsHP -PartyMenuTryPrintMonsHP: @ 806E53C - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E560 @ =gPlayerParty -_0806E544: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl PartyMenuTryPrintHP - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E544 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E560: .4byte gPlayerParty - thumb_func_end PartyMenuTryPrintMonsHP - - thumb_func_start unref_sub_806E564 -unref_sub_806E564: @ 806E564 - bx lr - thumb_func_end unref_sub_806E564 - - thumb_func_start unref_sub_806E568 -unref_sub_806E568: @ 806E568 - bx lr - thumb_func_end unref_sub_806E568 - - thumb_func_start nullsub_12 -nullsub_12: @ 806E56C - bx lr - thumb_func_end nullsub_12 - - thumb_func_start nullsub_13 -nullsub_13: @ 806E570 - bx lr - thumb_func_end nullsub_13 - - thumb_func_start PartyMenuDoDrawHPBar -PartyMenuDoDrawHPBar: @ 806E574 - push {r4-r6,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _0806E624 @ =0xffff8000 - str r0, [sp, 0x14] - str r3, [sp] - str r2, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - adds r0, r2, 0 - adds r1, r3, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - cmp r3, 0x2 - bls _0806E5BE - mov r2, sp - ldrb r1, [r2, 0xC] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0xC] -_0806E5BE: - cmp r3, 0x2 - bne _0806E5D2 - mov r2, sp - ldrb r1, [r2, 0xC] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x5 - orrs r0, r1 - strb r0, [r2, 0xC] -_0806E5D2: - cmp r4, 0x1 - bhi _0806E5E6 - mov r2, sp - ldrb r1, [r2, 0xC] - movs r0, 0x20 - negs r0, r0 - ands r0, r1 - movs r1, 0x6 - orrs r0, r1 - strb r0, [r2, 0xC] -_0806E5E6: - movs r0, 0x80 - lsls r0, 1 - str r0, [sp, 0x10] - ldr r2, _0806E628 @ =gUnknown_08376858 - lsls r1, r6, 2 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldr r4, [r1] - add r1, sp, 0x14 - mov r0, sp - adds r2, r4, 0 - movs r3, 0 - bl sub_80460C8 - subs r4, 0x4 - ldr r1, _0806E62C @ =0x00003109 - adds r0, r1, 0 - strh r0, [r4] - adds r1, 0x1 - adds r0, r1, 0 - strh r0, [r4, 0x2] - adds r1, 0x1 - adds r0, r1, 0 - strh r0, [r4, 0x10] - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E624: .4byte 0xffff8000 -_0806E628: .4byte gUnknown_08376858 -_0806E62C: .4byte 0x00003109 - thumb_func_end PartyMenuDoDrawHPBar - - thumb_func_start PartyMenuDrawHPBar -PartyMenuDrawHPBar: @ 806E630 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x3A - bl GetMonData - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl PartyMenuDoDrawHPBar - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PartyMenuDrawHPBar - - thumb_func_start PartyMenuTryDrawHPBar -PartyMenuTryDrawHPBar: @ 806E674 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0806E6C0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0806E6C0 - bl IsLinkDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E6AE - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl PartyMenuDrawHPBar - b _0806E6C0 -_0806E6AE: - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - adds r2, r4, 0 - bl PartyMenuDrawHPBar -_0806E6C0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PartyMenuTryDrawHPBar - - thumb_func_start PartyMenuDrawHPBars -PartyMenuDrawHPBars: @ 806E6C8 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0x64 - ldr r5, _0806E6EC @ =gPlayerParty -_0806E6D0: - adds r1, r4, 0 - muls r1, r6 - adds r1, r5 - adds r0, r4, 0 - bl PartyMenuTryDrawHPBar - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0806E6D0 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806E6EC: .4byte gPlayerParty - thumb_func_end PartyMenuDrawHPBars - - thumb_func_start sub_806E6F0 -sub_806E6F0: @ 806E6F0 - push {r4,r5,lr} - sub sp, 0x64 - adds r4, r0, 0 - adds r5, r1, 0 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - mov r1, sp - movs r2, 0x64 - bl memcpy - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806E6F0 - - thumb_func_start sub_806E720 -sub_806E720: @ 806E720 - push {r4,lr} - lsls r0, 24 - lsrs r0, 21 - adds r0, r3 - ldrb r4, [r0] - lsls r4, 25 - movs r3, 0x80 - lsls r3, 18 - adds r4, r3 - lsrs r4, 24 - ldrb r0, [r0, 0x1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1E - subs r3, r0 - strb r3, [r1] - movs r0, 0x14 - subs r0, r4 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806E720 - - thumb_func_start sub_806E750 -sub_806E750: @ 806E750 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r5, r0, 0 - adds r4, r1, 0 - mov r9, r2 - adds r6, r3, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x9 - add r0, sp - mov r8, r0 - adds r0, r5, 0 - add r1, sp, 0x8 - mov r2, r8 - adds r3, r4, 0 - bl sub_806E720 - add r0, sp, 0x8 - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - lsls r5, 3 - adds r5, r4 - ldrb r2, [r5, 0x1] - ldrb r3, [r5] - mov r4, r9 - str r4, [sp] - ldr r4, [r5, 0x4] - str r4, [sp, 0x4] - bl sub_8089C50 - add r0, sp, 0x8 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - ldrb r2, [r0] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r5] - str r6, [sp] - ldrb r0, [r5, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - bl InitMenu - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E750 - - thumb_func_start sub_806E7D0 -sub_806E7D0: @ 806E7D0 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - mov r5, sp - adds r5, 0x1 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_806E720 - mov r0, sp - ldrb r0, [r0] - ldrb r1, [r5] - lsls r4, 3 - adds r4, r6 - ldrb r2, [r4, 0x1] - adds r2, r0, r2 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4] - lsls r3, 1 - adds r3, r1, r3 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - bl HandleDestroyMenuCursors - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806E7D0 - - thumb_func_start PartyMenuGetPopupMenuFunc -PartyMenuGetPopupMenuFunc: @ 806E81C - lsls r0, 24 - lsls r3, 24 - lsrs r3, 24 - lsrs r0, 21 - adds r0, r1 - ldr r0, [r0, 0x4] - adds r0, r3 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r2 - ldr r0, [r0, 0x4] - bx lr - thumb_func_end PartyMenuGetPopupMenuFunc - - .section .text_8070968 - - thumb_func_start sub_8070968 -sub_8070968: @ 8070968 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r7, 0 - ldr r0, _08070A10 @ =0x0201c000 - mov r9, r0 - ldr r1, _08070A14 @ =0xfffff264 - add r1, r9 - mov r10, r1 - ldr r0, _08070A18 @ =gStringVar1 - mov r8, r0 -_08070982: - mov r1, r9 - ldr r0, [r1] - ldr r1, _08070A1C @ =gUnknown_08376D1C - adds r1, r7, r1 - ldrb r1, [r1] - bl GetMonData - adds r6, r7, 0x6 - lsls r6, 1 - add r6, r10 - strh r0, [r6] - adds r0, r7, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 3 - adds r4, r0 - adds r4, 0xB - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - movs r1, 0x3 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 1 - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0xFC - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strb r0, [r1, 0x1] - movs r0, 0x6 - strb r0, [r1, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - mov r0, r8 - adds r0, 0x3 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r4, 0x6 - lsls r4, 3 - adds r4, 0x6 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 3 - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl MenuPrint_PixelCoords - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _08070982 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070A10: .4byte 0x0201c000 -_08070A14: .4byte 0xfffff264 -_08070A18: .4byte gStringVar1 -_08070A1C: .4byte gUnknown_08376D1C - thumb_func_end sub_8070968 - - thumb_func_start sub_8070A20 -sub_8070A20: @ 8070A20 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - bl GetMonStatusAndPokerus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08070A3A - cmp r0, 0x6 - bne _08070A42 -_08070A3A: - adds r0, r6, 0 - adds r1, r7, 0 - bl PartyMenuUpdateLevelOrStatus -_08070A42: - bl IsDoubleBattle - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x3A - bl GetMonData - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl PartyMenuDoPrintHP - adds r0, r7, 0 - adds r1, r6, 0 - bl PartyMenuTryDrawHPBar - ldr r4, _08070ABC @ =0x0201c000 - ldrb r0, [r4, 0x4] - adds r1, r7, 0 - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - adds r1, r6, 0 - bl SetMonIconAnim - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - lsls r1, r7, 1 - adds r0, r1 - ldr r1, _08070AC0 @ =gUnknown_083769A8 - adds r0, r1 - movs r1, 0x7 - bl task_pc_turn_off - ldr r0, _08070AC4 @ =0xfffff261 - adds r4, r0 - movs r0, 0x2 - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070ABC: .4byte 0x0201c000 -_08070AC0: .4byte gUnknown_083769A8 -_08070AC4: .4byte 0xfffff261 - thumb_func_end sub_8070A20 - - thumb_func_start Task_RareCandy3 -Task_RareCandy3: @ 8070AC8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - bne _08070ADC - b _08070C2C -_08070ADC: - ldr r0, _08070B24 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08070AF4 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08070AF4 - b _08070C2C -_08070AF4: - movs r0, 0xB - movs r1, 0 - movs r2, 0x1D - movs r3, 0x7 - bl MenuZeroFillWindowRect - ldr r7, _08070B28 @ =0x0201c000 - ldr r0, [r7] - movs r1, 0x1 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _08070B2C @ =0xfffff282 - adds r0, r7, r1 - strh r5, [r0] - ldr r0, _08070B30 @ =0x0000fffe - cmp r4, r0 - beq _08070BDC - cmp r4, r0 - bgt _08070B34 - cmp r4, 0 - beq _08070B40 - b _08070BF4 - .align 2, 0 -_08070B24: .4byte gMain -_08070B28: .4byte 0x0201c000 -_08070B2C: .4byte 0xfffff282 -_08070B30: .4byte 0x0000fffe -_08070B34: - ldr r0, _08070B3C @ =0x0000ffff - cmp r4, r0 - beq _08070B7C - b _08070BF4 - .align 2, 0 -_08070B3C: .4byte 0x0000ffff -_08070B40: - ldr r0, [r7] - movs r1, 0 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08070B74 - ldr r1, _08070B6C @ =gCB2_AfterEvolution - ldr r0, _08070B70 @ =sub_80A53F8 - str r0, [r1] - ldr r0, [r7] - ldrb r3, [r7, 0x5] - adds r1, r2, 0 - movs r2, 0x1 - bl BeginEvolutionScene - adds r0, r6, 0 - bl DestroyTask - b _08070C2C - .align 2, 0 -_08070B6C: .4byte gCB2_AfterEvolution -_08070B70: .4byte sub_80A53F8 -_08070B74: - adds r0, r6, 0 - bl sub_8070D90 - b _08070C2C -_08070B7C: - ldr r0, [r7] - ldr r1, _08070BBC @ =gStringVar1 - bl GetMonNickname - ldr r0, _08070BC0 @ =gStringVar2 - ldr r5, _08070BC4 @ =gMoveToLearn - ldrh r2, [r5] - movs r1, 0xD - muls r1, r2 - ldr r2, _08070BC8 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _08070BCC @ =gStringVar4 - ldr r1, _08070BD0 @ =gOtherText_WantsToLearn - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldrh r0, [r5] - strh r0, [r7, 0x8] - ldr r1, _08070BD4 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070BD8 @ =sub_806F358 - b _08070C2A - .align 2, 0 -_08070BBC: .4byte gStringVar1 -_08070BC0: .4byte gStringVar2 -_08070BC4: .4byte gMoveToLearn -_08070BC8: .4byte gMoveNames -_08070BCC: .4byte gStringVar4 -_08070BD0: .4byte gOtherText_WantsToLearn -_08070BD4: .4byte gTasks -_08070BD8: .4byte sub_806F358 -_08070BDC: - ldr r0, _08070BEC @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08070BF0 @ =sub_8070C54 - str r0, [r1] - b _08070C2C - .align 2, 0 -_08070BEC: .4byte gTasks -_08070BF0: .4byte sub_8070C54 -_08070BF4: - ldr r0, _08070C34 @ =0x0201c000 - ldr r0, [r0] - ldr r1, _08070C38 @ =gStringVar1 - bl GetMonNickname - ldr r0, _08070C3C @ =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, _08070C40 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _08070C44 @ =gStringVar4 - ldr r1, _08070C48 @ =gOtherText_LearnedMove - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08070C4C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070C50 @ =Task_TeamMonTMMove3 -_08070C2A: - str r1, [r0] -_08070C2C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070C34: .4byte 0x0201c000 -_08070C38: .4byte gStringVar1 -_08070C3C: .4byte gStringVar2 -_08070C40: .4byte gMoveNames -_08070C44: .4byte gStringVar4 -_08070C48: .4byte gOtherText_LearnedMove -_08070C4C: .4byte gTasks -_08070C50: .4byte Task_TeamMonTMMove3 - thumb_func_end Task_RareCandy3 - - thumb_func_start sub_8070C54 -sub_8070C54: @ 8070C54 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, _08070C78 @ =0x0201c000 - ldr r0, [r7] - movs r1, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _08070C7C @ =0x0000fffe - cmp r4, r0 - beq _08070D28 - cmp r4, r0 - bgt _08070C80 - cmp r4, 0 - beq _08070C8C - b _08070D30 - .align 2, 0 -_08070C78: .4byte 0x0201c000 -_08070C7C: .4byte 0x0000fffe -_08070C80: - ldr r0, _08070C88 @ =0x0000ffff - cmp r4, r0 - beq _08070CC8 - b _08070D30 - .align 2, 0 -_08070C88: .4byte 0x0000ffff -_08070C8C: - ldr r0, [r7] - movs r1, 0 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08070CC0 - ldr r1, _08070CB8 @ =gCB2_AfterEvolution - ldr r0, _08070CBC @ =sub_80A53F8 - str r0, [r1] - ldr r0, [r7] - ldrb r3, [r7, 0x5] - adds r1, r2, 0 - movs r2, 0x1 - bl BeginEvolutionScene - adds r0, r6, 0 - bl DestroyTask - b _08070D68 - .align 2, 0 -_08070CB8: .4byte gCB2_AfterEvolution -_08070CBC: .4byte sub_80A53F8 -_08070CC0: - adds r0, r6, 0 - bl sub_8070D90 - b _08070D68 -_08070CC8: - ldr r0, [r7] - ldr r1, _08070D08 @ =gStringVar1 - bl GetMonNickname - ldr r0, _08070D0C @ =gStringVar2 - ldr r5, _08070D10 @ =gMoveToLearn - ldrh r2, [r5] - movs r1, 0xD - muls r1, r2 - ldr r2, _08070D14 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _08070D18 @ =gStringVar4 - ldr r1, _08070D1C @ =gOtherText_WantsToLearn - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldrh r0, [r5] - strh r0, [r7, 0x8] - ldr r1, _08070D20 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070D24 @ =sub_806F358 - b _08070D66 - .align 2, 0 -_08070D08: .4byte gStringVar1 -_08070D0C: .4byte gStringVar2 -_08070D10: .4byte gMoveToLearn -_08070D14: .4byte gMoveNames -_08070D18: .4byte gStringVar4 -_08070D1C: .4byte gOtherText_WantsToLearn -_08070D20: .4byte gTasks -_08070D24: .4byte sub_806F358 -_08070D28: - adds r0, r6, 0 - bl sub_8070C54 - b _08070D68 -_08070D30: - ldr r0, _08070D70 @ =0x0201c000 - ldr r0, [r0] - ldr r1, _08070D74 @ =gStringVar1 - bl GetMonNickname - ldr r0, _08070D78 @ =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, _08070D7C @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _08070D80 @ =gStringVar4 - ldr r1, _08070D84 @ =gOtherText_LearnedMove - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08070D88 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070D8C @ =Task_TeamMonTMMove3 -_08070D66: - str r1, [r0] -_08070D68: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070D70: .4byte 0x0201c000 -_08070D74: .4byte gStringVar1 -_08070D78: .4byte gStringVar2 -_08070D7C: .4byte gMoveNames -_08070D80: .4byte gStringVar4 -_08070D84: .4byte gOtherText_LearnedMove -_08070D88: .4byte gTasks -_08070D8C: .4byte Task_TeamMonTMMove3 - thumb_func_end sub_8070C54 - - thumb_func_start sub_8070D90 -sub_8070D90: @ 8070D90 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08070DB4 @ =gTasks - ldr r3, _08070DB8 @ =0x0201c000 - ldrb r2, [r3, 0x4] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r4 - ldr r2, [r3, 0x10] - str r2, [r1] - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070DB4: .4byte gTasks -_08070DB8: .4byte 0x0201c000 - thumb_func_end sub_8070D90 - - thumb_func_start DoEvolutionStoneItemEffect -DoEvolutionStoneItemEffect: @ 8070DBC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r6, r1, 16 - movs r0, 0x5 - bl PlaySE - ldr r1, _08070E18 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08070E1C @ =TaskDummy - str r1, [r0] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_806E8D0 - ldr r1, _08070E20 @ =gCB2_AfterEvolution - ldr r0, _08070E24 @ =sub_80A53F8 - str r0, [r1] - ldr r0, _08070E28 @ =0x0201c000 - ldrb r0, [r0, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _08070E38 - ldr r1, _08070E2C @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - ldr r0, _08070E30 @ =gOtherText_WontHaveAnyEffect - movs r1, 0x1 - bl sub_806E834 - ldr r0, _08070E34 @ =sub_806FB0C - movs r1, 0x5 - bl CreateTask - b _08070E40 - .align 2, 0 -_08070E18: .4byte gTasks -_08070E1C: .4byte TaskDummy -_08070E20: .4byte gCB2_AfterEvolution -_08070E24: .4byte sub_80A53F8 -_08070E28: .4byte 0x0201c000 -_08070E2C: .4byte gUnknown_0202E8F4 -_08070E30: .4byte gOtherText_WontHaveAnyEffect -_08070E34: .4byte sub_806FB0C -_08070E38: - adds r0, r6, 0 - movs r1, 0x1 - bl RemoveBagItem -_08070E40: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DoEvolutionStoneItemEffect - - thumb_func_start GetItemEffectType -GetItemEffectType: @ 8070E48 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08070E5C - ldr r4, _08070E58 @ =gSaveBlock1 + 0x3676 - b _08070E66 - .align 2, 0 -_08070E58: .4byte gSaveBlock1 + 0x3676 -_08070E5C: - ldr r1, _08070E8C @ =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] -_08070E66: - ldrb r1, [r4] - movs r5, 0x3F - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08070E88 - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08070E88 - ldrb r0, [r4, 0x2] - cmp r0, 0 - bne _08070E88 - ldrb r3, [r4, 0x3] - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _08070E90 -_08070E88: - movs r0, 0 - b _08070F8A - .align 2, 0 -_08070E8C: .4byte gItemEffectTable -_08070E90: - movs r2, 0x40 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08070E9E - movs r0, 0xA - b _08070F8A -_08070E9E: - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08070EAA - movs r0, 0x1 - b _08070F8A -_08070EAA: - adds r2, r5, 0 - ands r2, r3 - cmp r2, 0 - bne _08070EB8 - lsrs r0, r1, 7 - cmp r0, 0 - beq _08070EFA -_08070EB8: - cmp r2, 0x20 - bne _08070EC0 - movs r0, 0x4 - b _08070F8A -_08070EC0: - cmp r2, 0x10 - bne _08070EC8 - movs r0, 0x3 - b _08070F8A -_08070EC8: - cmp r2, 0x8 - bne _08070ED0 - movs r0, 0x5 - b _08070F8A -_08070ED0: - cmp r2, 0x4 - bne _08070ED8 - movs r0, 0x6 - b _08070F8A -_08070ED8: - cmp r2, 0x2 - bne _08070EE0 - movs r0, 0x7 - b _08070F8A -_08070EE0: - cmp r2, 0x1 - bne _08070EE8 - movs r0, 0x8 - b _08070F8A -_08070EE8: - lsrs r0, r1, 7 - cmp r0, 0 - beq _08070EF6 - cmp r2, 0 - bne _08070EF6 - movs r0, 0x9 - b _08070F8A -_08070EF6: - movs r0, 0xB - b _08070F8A -_08070EFA: - ldrb r1, [r4, 0x4] - movs r0, 0x44 - ands r0, r1 - adds r2, r1, 0 - cmp r0, 0 - beq _08070F0A - movs r0, 0x2 - b _08070F8A -_08070F0A: - movs r5, 0x2 - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _08070F18 - movs r0, 0xC - b _08070F8A -_08070F18: - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r2 - cmp r0, 0 - beq _08070F26 - movs r0, 0xD - b _08070F8A -_08070F26: - ldrb r1, [r4, 0x5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08070F34 - movs r0, 0xE - b _08070F8A -_08070F34: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08070F40 - movs r0, 0xF - b _08070F8A -_08070F40: - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _08070F4C - movs r0, 0x10 - b _08070F8A -_08070F4C: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08070F58 - movs r0, 0x11 - b _08070F8A -_08070F58: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08070F64 - movs r0, 0x12 - b _08070F8A -_08070F64: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _08070F70 - movs r0, 0x13 - b _08070F8A -_08070F70: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08070F7C - movs r0, 0x14 - b _08070F8A -_08070F7C: - movs r0, 0x18 - ands r0, r2 - cmp r0, 0 - bne _08070F88 - movs r0, 0x16 - b _08070F8A -_08070F88: - movs r0, 0x15 -_08070F8A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetItemEffectType - - thumb_func_start unref_sub_8070F90 -unref_sub_8070F90: @ 8070F90 - push {lr} - ldr r0, _08070FAC @ =0x00000801 - bl FlagSet - movs r0, 0x80 - lsls r0, 4 - bl FlagSet - ldr r0, _08070FB0 @ =0x00000802 - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_08070FAC: .4byte 0x00000801 -_08070FB0: .4byte 0x00000802 - thumb_func_end unref_sub_8070F90 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index db16c2788..eaf44749b 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -12958,7 +12958,7 @@ _0809C08C: adds r1, r6, r2 str r0, [r1] adds r0, r7, 0 - bl pokemon_get_pal + bl GetMonSpritePal ldr r2, _0809C11C @ =0x000011e8 adds r1, r6, r2 str r0, [r1] @@ -13031,7 +13031,7 @@ _0809C120: str r2, [r4] ldrh r0, [r5] mov r1, r9 - bl species_and_otid_get_pal + bl GetMonSpritePalFromOtIdPersonality ldr r2, _0809C1D0 @ =0x000011e8 adds r1, r6, r2 str r0, [r1] diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index fea619ac8..859fd177f 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3859,7 +3859,7 @@ _0809F718: adds r1, r0, 0 adds r0, r5, 0 adds r2, r6, 0 - bl sub_80409C8 + bl GetMonSpritePalStructFromOtIdPersonality adds r4, r0, 0 bl LoadCompressedObjectPalette ldrh r0, [r4, 0x4] @@ -7620,7 +7620,7 @@ sub_80A1808: @ 80A1808 ldr r0, _080A1868 @ =sub_80A1888 str r0, [r4] adds r0, r6, 0 - bl sub_8040A3C + bl IsPokeSpriteNotFlipped lsls r0, 24 cmp r0, 0 bne _080A186C diff --git a/asm/pokenav.s b/asm/pokenav.s index 1062abc48..ce72a83e0 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -17787,7 +17787,7 @@ sub_80F4824: @ 80F4824 adds r0, r5, 0 mov r1, r8 adds r2, r4, 0 - bl species_and_otid_get_pal + bl GetMonSpritePalFromOtIdPersonality mov r2, r9 lsls r1, r2, 7 adds r1, r7, r1 @@ -21564,7 +21564,7 @@ _080F65EA: lsrs r4, r0, 24 mov r0, r9 mov r1, r10 - bl sub_8040D8C + bl ShouldHideGenderIcon cmp r0, 0 beq _080F65FC movs r4, 0xFF diff --git a/asm/secret_base.s b/asm/secret_base.s deleted file mode 100644 index 9fd741aa0..000000000 --- a/asm/secret_base.s +++ /dev/null @@ -1,2528 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - -.section .text_80BC1D0 - - thumb_func_start sub_80BC474 -sub_80BC474: @ 80BC474 - push {r4-r7,lr} - ldr r0, _080BC4CC @ =gMapHeader - ldr r4, [r0, 0x4] - movs r6, 0 - ldrb r0, [r4, 0x3] - cmp r6, r0 - bcs _080BC504 - ldr r3, _080BC4D0 @ =gSaveBlock1 + 0x1A08 -_080BC484: - ldr r2, [r4, 0x10] - lsls r1, r6, 1 - adds r0, r1, r6 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x5] - adds r7, r1, 0 - cmp r0, 0x8 - bne _080BC4F8 - ldrb r1, [r3] - ldr r0, [r2, 0x8] - cmp r1, r0 - bne _080BC4F8 - ldrh r0, [r2] - adds r0, 0x7 - ldrh r1, [r2, 0x2] - adds r1, 0x7 - bl MapGridGetMetatileIdAt - movs r1, 0 - ldr r5, _080BC4D4 @ =gUnknown_083D1358 - lsls r0, 16 - asrs r2, r0, 16 -_080BC4B2: - lsls r0, r1, 2 - adds r3, r0, r5 - ldrh r0, [r3, 0x2] - cmp r0, r2 - beq _080BC4D8 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x6 - bls _080BC4B2 -_080BC4C6: - bl DrawWholeMapView - b _080BC504 - .align 2, 0 -_080BC4CC: .4byte gMapHeader -_080BC4D0: .4byte gSaveBlock1 + 0x1A08 -_080BC4D4: .4byte gUnknown_083D1358 -_080BC4D8: - ldr r0, [r4, 0x10] - adds r1, r7, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x7 - ldrh r1, [r1, 0x2] - adds r1, 0x7 - ldrh r3, [r3] - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r2, r3 - bl MapGridSetMetatileIdAt - b _080BC4C6 -_080BC4F8: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldrb r0, [r4, 0x3] - cmp r6, r0 - bcc _080BC484 -_080BC504: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BC474 - - thumb_func_start sub_80BC50C -sub_80BC50C: @ 80BC50C - push {r4,r5,lr} - bl sub_80BC474 - movs r0, 0x14 - bl IncrementGameStat - ldr r4, _080BC530 @ =gSaveBlock1 - ldr r0, _080BC534 @ =0x00001a16 - adds r4, r0 - ldrh r5, [r4] - movs r0, 0 - bl ResetSecretBase - strh r5, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BC530: .4byte gSaveBlock1 -_080BC534: .4byte 0x00001a16 - thumb_func_end sub_80BC50C - - thumb_func_start sub_80BC538 -sub_80BC538: @ 80BC538 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0x1 -_080BC53E: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80BC268 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BC554 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080BC554: - lsls r0, r4, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080BC53E - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BC538 - - thumb_func_start sub_80BC56C -sub_80BC56C: @ 80BC56C - push {lr} - ldr r0, _080BC58C @ =gUnknown_020387DC - ldrb r0, [r0] - bl sub_80BC14C - lsls r0, 24 - lsrs r0, 24 - bl sub_80BC268 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _080BC594 - ldr r0, _080BC590 @ =gScriptResult - strh r1, [r0] - b _080BC5B2 - .align 2, 0 -_080BC58C: .4byte gUnknown_020387DC -_080BC590: .4byte gScriptResult -_080BC594: - bl sub_80BC538 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bls _080BC5AC - ldr r1, _080BC5A8 @ =gScriptResult - movs r0, 0x2 - b _080BC5B0 - .align 2, 0 -_080BC5A8: .4byte gScriptResult -_080BC5AC: - ldr r1, _080BC5B8 @ =gScriptResult - movs r0, 0 -_080BC5B0: - strh r0, [r1] -_080BC5B2: - pop {r0} - bx r0 - .align 2, 0 -_080BC5B8: .4byte gScriptResult - thumb_func_end sub_80BC56C - - thumb_func_start sub_80BC5BC -sub_80BC5BC: @ 80BC5BC - push {lr} - ldr r0, _080BC5F8 @ =gUnknown_020387DC - ldrb r0, [r0] - bl sub_80BC14C - ldr r2, _080BC5FC @ =gSaveBlock1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 5 - adds r1, r2 - ldr r0, _080BC600 @ =0x00001a09 - adds r1, r0 - ldrb r3, [r1] - lsrs r2, r3, 6 - movs r0, 0x1 - eors r2, r0 - lsls r2, 6 - movs r0, 0x3F - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - movs r0, 0x86 - lsls r0, 1 - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_080BC5F8: .4byte gUnknown_020387DC -_080BC5FC: .4byte gSaveBlock1 -_080BC600: .4byte 0x00001a09 - thumb_func_end sub_80BC5BC - - thumb_func_start SecretBasePC_Decoration -SecretBasePC_Decoration: @ 80BC604 - push {lr} - ldr r0, _080BC614 @ =Task_SecretBasePC_Decoration - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080BC614: .4byte Task_SecretBasePC_Decoration - thumb_func_end SecretBasePC_Decoration - - thumb_func_start SecretBasePC_Registry -SecretBasePC_Registry: @ 80BC618 - push {lr} - ldr r0, _080BC628 @ =Task_SecretBasePC_Registry - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080BC628: .4byte Task_SecretBasePC_Registry - thumb_func_end SecretBasePC_Registry - - thumb_func_start Task_SecretBasePC_Registry -Task_SecretBasePC_Registry: @ 80BC62C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl ScriptContext2_Enable - bl sub_80F944C - bl LoadScrollIndicatorPalette - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080BC688 @ =gTasks + 0x8 - adds r4, r0, r1 - bl sub_80BC538 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - adds r1, r0, 0 - cmp r1, 0 - beq _080BC694 - cmp r1, 0x7 - ble _080BC65E - movs r0, 0x7 -_080BC65E: - strh r0, [r4, 0x6] - movs r0, 0 - strh r0, [r4, 0x2] - strh r0, [r4, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_80BC7D8 - ldr r1, _080BC68C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BC690 @ =sub_80BC824 - str r1, [r0] - b _080BC6A0 - .align 2, 0 -_080BC688: .4byte gTasks + 0x8 -_080BC68C: .4byte gTasks -_080BC690: .4byte sub_80BC824 -_080BC694: - ldr r1, _080BC6A8 @ =gSecretBaseText_NoRegistry - ldr r2, _080BC6AC @ =sub_80BCC54 - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_080BC6A0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BC6A8: .4byte gSecretBaseText_NoRegistry -_080BC6AC: .4byte sub_80BCC54 - thumb_func_end Task_SecretBasePC_Registry - - thumb_func_start sub_80BC6B0 -sub_80BC6B0: @ 80BC6B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080BC6D8 @ =gTasks + 0x8 - adds r1, r0 - mov r8, r1 - movs r4, 0 - movs r6, 0 - movs r5, 0x1 - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r6, r0 - bne _080BC6DC - movs r4, 0x1 - b _080BC706 - .align 2, 0 -_080BC6D8: .4byte gTasks + 0x8 -_080BC6DC: - adds r0, r5, 0 - bl sub_80BC268 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BC6F0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080BC6F0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bhi _080BC706 - mov r1, r8 - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r4, r0 - bne _080BC6DC - adds r4, r5, 0 -_080BC706: - adds r5, r4, 0 - cmp r5, 0x13 - bhi _080BC75A - ldr r7, _080BC7A0 @ =gStringVar1 -_080BC70E: - adds r0, r5, 0 - bl sub_80BC268 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BC750 - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_80BC190 - lsls r3, r6, 1 - adds r4, r3, 0x2 - lsls r4, 24 - lsrs r4, 24 - adds r3, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x12 - adds r1, r4, 0 - movs r2, 0x1C - bl MenuFillWindowRectWithBlankTile - adds r0, r7, 0 - movs r1, 0x12 - adds r2, r4, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x8 - beq _080BC75A -_080BC750: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080BC70E -_080BC75A: - cmp r6, 0x7 - bhi _080BC7A8 - lsls r3, r6, 1 - adds r4, r3, 0x2 - lsls r4, 24 - lsrs r4, 24 - adds r3, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x12 - adds r1, r4, 0 - movs r2, 0x1C - bl MenuFillWindowRectWithBlankTile - ldr r0, _080BC7A4 @ =gUnknownText_Exit - movs r1, 0x12 - adds r2, r4, 0 - bl MenuPrint - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - cmp r6, 0x7 - beq _080BC7B2 - lsls r1, r6, 25 - movs r0, 0x80 - lsls r0, 19 - adds r1, r0 - lsrs r1, 24 - movs r0, 0x12 - movs r2, 0x1C - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile - b _080BC7B2 - .align 2, 0 -_080BC7A0: .4byte gStringVar1 -_080BC7A4: .4byte gUnknownText_Exit -_080BC7A8: - movs r0, 0x1 - movs r1, 0xBC - movs r2, 0x98 - bl CreateVerticalScrollIndicators -_080BC7B2: - mov r1, r8 - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080BC7C4 - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _080BC7CE -_080BC7C4: - movs r0, 0 - movs r1, 0xBC - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_080BC7CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BC6B0 - - thumb_func_start sub_80BC7D8 -sub_80BC7D8: @ 80BC7D8 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _080BC820 @ =gTasks + 0x8 - adds r4, r0 - movs r0, 0x11 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldrb r3, [r4, 0x6] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x2] - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x12 - movs r2, 0x2 - bl InitMenu - adds r0, r5, 0 - bl sub_80BC6B0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BC820: .4byte gTasks + 0x8 - thumb_func_end sub_80BC7D8 - - thumb_func_start sub_80BC824 -sub_80BC824: @ 80BC824 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080BC858 @ =gTasks + 0x8 - adds r4, r0, r1 - ldr r2, _080BC85C @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BC874 - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080BC860 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080BC8B6 - .align 2, 0 -_080BC858: .4byte gTasks + 0x8 -_080BC85C: .4byte gMain -_080BC860: - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080BC940 - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x4] - subs r0, 0x1 - b _080BC8A4 -_080BC874: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BC8C2 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080BC8AE - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _080BC940 - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x4] - adds r0, 0x1 -_080BC8A4: - strh r0, [r4, 0x4] - adds r0, r5, 0 - bl sub_80BC6B0 - b _080BC940 -_080BC8AE: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080BC8B6: - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - b _080BC940 -_080BC8C2: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BC91C - movs r0, 0x5 - bl PlaySE - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x4 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080BC8FC - bl HandleDestroyMenuCursors - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_80BCC54 - b _080BC940 -_080BC8FC: - bl HandleDestroyMenuCursors - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x2] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl sub_80BC948 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - adds r0, r5, 0 - bl sub_80BC980 - b _080BC940 -_080BC91C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BC940 - movs r0, 0x5 - bl PlaySE - bl HandleDestroyMenuCursors - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_80BCC54 -_080BC940: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BC824 - - thumb_func_start sub_80BC948 -sub_80BC948: @ 80BC948 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r4, 0x1 -_080BC952: - adds r0, r4, 0 - bl sub_80BC268 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BC96E - cmp r6, r5 - bne _080BC968 - adds r0, r4, 0 - b _080BC97A -_080BC968: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080BC96E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x13 - bls _080BC952 - movs r0, 0 -_080BC97A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80BC948 - - thumb_func_start sub_80BC980 -sub_80BC980: @ 80BC980 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl PauseVerticalScrollIndicator - movs r0, 0x1 - bl PauseVerticalScrollIndicator - movs r0, 0x1 - movs r1, 0 - movs r2, 0xC - movs r3, 0x5 - bl MenuDrawTextWindow - ldr r3, _080BC9D8 @ =gUnknown_083D13D4 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x2 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x1 - movs r3, 0x2 - bl InitMenu - ldr r1, _080BC9DC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BC9E0 @ =sub_80BC9E4 - str r1, [r0] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BC9D8: .4byte gUnknown_083D13D4 -_080BC9DC: .4byte gTasks -_080BC9E0: .4byte sub_80BC9E4 - thumb_func_end sub_80BC980 - - thumb_func_start sub_80BC9E4 -sub_80BC9E4: @ 80BC9E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _080BCA14 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080BCA18 - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - beq _080BCA7C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _080BCA7C - .align 2, 0 -_080BCA14: .4byte gMain -_080BCA18: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BCA3A - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080BCA7C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _080BCA7C -_080BCA3A: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BCA68 - movs r0, 0x5 - bl PlaySE - ldr r4, _080BCA64 @ =gUnknown_083D13D4 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _080BCA7C - .align 2, 0 -_080BCA64: .4byte gUnknown_083D13D4 -_080BCA68: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BCA7C - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80BCBF8 -_080BCA7C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80BC9E4 - - thumb_func_start sub_80BCA84 -sub_80BCA84: @ 80BCA84 - 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, _080BCAD8 @ =gTasks + 0x8 - adds r4, r0 - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - bl HandleDestroyMenuCursors - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _080BCADC @ =gStringVar1 - ldrb r1, [r4, 0x8] - bl sub_80BC190 - ldr r4, _080BCAE0 @ =gStringVar4 - ldr r1, _080BCAE4 @ =gOtherText_OkayToDeleteFromRegistry - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080BCAE8 @ =sub_80BCAEC - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BCAD8: .4byte gTasks + 0x8 -_080BCADC: .4byte gStringVar1 -_080BCAE0: .4byte gStringVar4 -_080BCAE4: .4byte gOtherText_OkayToDeleteFromRegistry -_080BCAE8: .4byte sub_80BCAEC - thumb_func_end sub_80BCA84 - - thumb_func_start sub_80BCAEC -sub_80BCAEC: @ 80BCAEC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r1, _080BCB0C @ =gUnknown_083D13E4 - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BCB0C: .4byte gUnknown_083D13E4 - thumb_func_end sub_80BCAEC - - thumb_func_start sub_80BCB10 -sub_80BCB10: @ 80BCB10 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _080BCB80 @ =gTasks + 0x8 - adds r4, r6, r7 - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r2, _080BCB84 @ =gSaveBlock1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 5 - adds r0, r2 - ldr r1, _080BCB88 @ =0x00001a09 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x3F - ands r1, r2 - strb r1, [r0] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - ldrh r1, [r4, 0x4] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080BCB5C - subs r0, r1, 0x1 - strh r0, [r4, 0x4] -_080BCB5C: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bgt _080BCB6A - ldrh r0, [r4, 0x6] - subs r0, 0x1 - strh r0, [r4, 0x6] -_080BCB6A: - adds r0, r5, 0 - bl sub_80BC7D8 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _080BCB8C @ =sub_80BC824 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BCB80: .4byte gTasks + 0x8 -_080BCB84: .4byte gSaveBlock1 -_080BCB88: .4byte 0x00001a09 -_080BCB8C: .4byte sub_80BC824 - thumb_func_end sub_80BCB10 - - thumb_func_start sub_80BCB90 -sub_80BCB90: @ 80BCB90 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1A - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r1, _080BCBB8 @ =gOtherText_RegisteredDataDeleted - ldr r2, _080BCBBC @ =sub_80BCB10 - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BCBB8: .4byte gOtherText_RegisteredDataDeleted -_080BCBBC: .4byte sub_80BCB10 - thumb_func_end sub_80BCB90 - - thumb_func_start sub_80BCBC0 -sub_80BCBC0: @ 80BCBC0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl sub_80BC7D8 - ldr r1, _080BCBF0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080BCBF4 @ =sub_80BC824 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BCBF0: .4byte gTasks -_080BCBF4: .4byte sub_80BC824 - thumb_func_end sub_80BCBC0 - - thumb_func_start sub_80BCBF8 -sub_80BCBF8: @ 80BCBF8 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, _080BCC4C @ =gTasks + 0x8 - adds r0, r4, r5 - ldrb r3, [r0, 0x6] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r0, 0x2] - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x12 - movs r2, 0x2 - bl InitMenu - movs r0, 0x1 - movs r1, 0 - movs r2, 0xC - movs r3, 0x5 - bl MenuZeroFillWindowRect - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - subs r5, 0x8 - adds r4, r5 - ldr r0, _080BCC50 @ =sub_80BC824 - str r0, [r4] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BCC4C: .4byte gTasks + 0x8 -_080BCC50: .4byte sub_80BC824 - thumb_func_end sub_80BCBF8 - - thumb_func_start sub_80BCC54 -sub_80BCC54: @ 80BCC54 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080BCC84 @ =0x00004054 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl BuyMenuFreeMemory - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - cmp r4, 0 - bne _080BCC8C - ldr r0, _080BCC88 @ =gUnknown_0815F399 - bl ScriptContext1_SetupScript - b _080BCC92 - .align 2, 0 -_080BCC84: .4byte 0x00004054 -_080BCC88: .4byte gUnknown_0815F399 -_080BCC8C: - ldr r0, _080BCCA0 @ =gUnknown_0815F49A - bl ScriptContext1_SetupScript -_080BCC92: - adds r0, r5, 0 - bl DestroyTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BCCA0: .4byte gUnknown_0815F49A - thumb_func_end sub_80BCC54 - - thumb_func_start sub_80BCCA4 -sub_80BCCA4: @ 80BCCA4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080BCCDC @ =gSaveBlock1 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 5 - adds r4, r1 - ldr r1, _080BCCE0 @ =0x00001a11 - adds r0, r4, r1 - ldrb r0, [r0] - movs r1, 0x5 - bl __umodsi3 - ldr r1, _080BCCE4 @ =0x00001a09 - adds r4, r1 - ldrb r2, [r4] - lsls r2, 27 - lsrs r2, 31 - lsls r1, r2, 2 - adds r1, r2 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080BCCDC: .4byte gSaveBlock1 -_080BCCE0: .4byte 0x00001a11 -_080BCCE4: .4byte 0x00001a09 - thumb_func_end sub_80BCCA4 - - thumb_func_start sub_80BCCE8 -sub_80BCCE8: @ 80BCCE8 - push {lr} - ldr r0, _080BCD08 @ =0x00004054 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl sub_80BCCA4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - bne _080BCD10 - ldr r0, _080BCD0C @ =UnknownString_81A1BB2 - b _080BCD72 - .align 2, 0 -_080BCD08: .4byte 0x00004054 -_080BCD0C: .4byte UnknownString_81A1BB2 -_080BCD10: - cmp r0, 0x1 - bne _080BCD1C - ldr r0, _080BCD18 @ =UnknownString_81A1F67 - b _080BCD72 - .align 2, 0 -_080BCD18: .4byte UnknownString_81A1F67 -_080BCD1C: - cmp r0, 0x2 - bne _080BCD28 - ldr r0, _080BCD24 @ =UnknownString_81A2254 - b _080BCD72 - .align 2, 0 -_080BCD24: .4byte UnknownString_81A2254 -_080BCD28: - cmp r0, 0x3 - bne _080BCD34 - ldr r0, _080BCD30 @ =UnknownString_81A25C3 - b _080BCD72 - .align 2, 0 -_080BCD30: .4byte UnknownString_81A25C3 -_080BCD34: - cmp r0, 0x4 - bne _080BCD40 - ldr r0, _080BCD3C @ =UnknownString_81A2925 - b _080BCD72 - .align 2, 0 -_080BCD3C: .4byte UnknownString_81A2925 -_080BCD40: - cmp r0, 0x5 - bne _080BCD4C - ldr r0, _080BCD48 @ =UnknownString_81A1D74 - b _080BCD72 - .align 2, 0 -_080BCD48: .4byte UnknownString_81A1D74 -_080BCD4C: - cmp r0, 0x6 - bne _080BCD58 - ldr r0, _080BCD54 @ =UnknownString_81A20C9 - b _080BCD72 - .align 2, 0 -_080BCD54: .4byte UnknownString_81A20C9 -_080BCD58: - cmp r0, 0x7 - bne _080BCD64 - ldr r0, _080BCD60 @ =UnknownString_81A2439 - b _080BCD72 - .align 2, 0 -_080BCD60: .4byte UnknownString_81A2439 -_080BCD64: - cmp r1, 0x8 - beq _080BCD70 - ldr r0, _080BCD6C @ =UnknownString_81A2B2A - b _080BCD72 - .align 2, 0 -_080BCD6C: .4byte UnknownString_81A2B2A -_080BCD70: - ldr r0, _080BCD78 @ =UnknownString_81A2754 -_080BCD72: - pop {r1} - bx r1 - .align 2, 0 -_080BCD78: .4byte UnknownString_81A2754 - thumb_func_end sub_80BCCE8 - - thumb_func_start unref_sub_80BCD7C -unref_sub_80BCD7C: @ 80BCD7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - ldr r7, _080BCDFC @ =gSaveBlock1 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 5 - ldr r0, _080BCE00 @ =0x00001a3c - adds r0, r7 - mov r10, r0 - ldr r1, _080BCE04 @ =0x00001a54 - adds r1, r7 - mov r9, r1 - ldr r2, _080BCE08 @ =0x00001a84 - adds r2, r7 - mov r8, r2 - ldr r0, _080BCE0C @ =0x00000115 - mov r12, r0 -_080BCDAA: - lsls r4, r5, 2 - adds r0, r4, r6 - add r0, r10 - adds r3, r5, 0x1 - str r3, [r0] - lsls r0, r5, 3 - adds r0, r6 - add r0, r9 - strh r3, [r0] - lsls r1, r5, 1 - adds r1, r6 - mov r2, r8 - adds r0, r1, r2 - mov r2, r12 - strh r2, [r0] - ldr r2, _080BCE10 @ =0x00001a90 - adds r0, r7, r2 - adds r1, r0 - strh r3, [r1] - adds r2, r5, r6 - ldr r1, _080BCE14 @ =0x00001a9c - adds r0, r7, r1 - adds r0, r2, r0 - adds r1, r5, 0x5 - strb r1, [r0] - ldr r1, _080BCE18 @ =0x00001aa2 - adds r0, r7, r1 - adds r2, r0 - adds r4, r5 - strb r4, [r2] - lsls r3, 16 - lsrs r5, r3, 16 - cmp r5, 0 - beq _080BCDAA - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BCDFC: .4byte gSaveBlock1 -_080BCE00: .4byte 0x00001a3c -_080BCE04: .4byte 0x00001a54 -_080BCE08: .4byte 0x00001a84 -_080BCE0C: .4byte 0x00000115 -_080BCE10: .4byte 0x00001a90 -_080BCE14: .4byte 0x00001a9c -_080BCE18: .4byte 0x00001aa2 - thumb_func_end unref_sub_80BCD7C - - thumb_func_start sub_80BCE1C -sub_80BCE1C: @ 80BCE1C - push {r4,lr} - ldr r0, _080BCE44 @ =0x00004054 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x1 - bl sub_810FB10 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 5 - ldr r1, _080BCE48 @ =gSaveBlock1 + 0x1A08 - adds r0, r1 - bl CreateSecretBaseEnemyParty - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BCE44: .4byte 0x00004054 -_080BCE48: .4byte gSaveBlock1 + 0x1A08 - thumb_func_end sub_80BCE1C - - thumb_func_start sub_80BCE4C -sub_80BCE4C: @ 80BCE4C - push {lr} - ldr r0, _080BCE80 @ =0x00004054 - bl VarGet - ldr r2, _080BCE84 @ =gSaveBlock1 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 5 - adds r1, r2 - ldr r0, _080BCE88 @ =gScriptResult - ldrb r0, [r0] - ldr r2, _080BCE8C @ =0x00001a09 - adds r1, r2 - movs r2, 0x1 - ands r2, r0 - lsls r2, 5 - ldrb r3, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080BCE80: .4byte 0x00004054 -_080BCE84: .4byte gSaveBlock1 -_080BCE88: .4byte gScriptResult -_080BCE8C: .4byte 0x00001a09 - thumb_func_end sub_80BCE4C - - thumb_func_start sub_80BCE90 -sub_80BCE90: @ 80BCE90 - push {r4-r7,lr} - ldr r0, _080BCF04 @ =0x00004054 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080BCF08 @ =0x000008c2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080BCED4 - movs r3, 0 - ldr r7, _080BCF0C @ =gSaveBlock1 - ldr r4, _080BCF10 @ =0x00001a09 - movs r6, 0x21 - negs r6, r6 -_080BCEB2: - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 5 - adds r1, r7 - adds r1, r4 - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x13 - bls _080BCEB2 - ldr r0, _080BCF08 @ =0x000008c2 - bl FlagSet -_080BCED4: - ldr r4, _080BCF14 @ =gSpecialVar_0x8004 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80BCCA4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r2, _080BCF18 @ =gScriptResult - ldr r1, _080BCF0C @ =gSaveBlock1 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 5 - adds r0, r1 - ldr r1, _080BCF10 @ =0x00001a09 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 31 - strh r0, [r2] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BCF04: .4byte 0x00004054 -_080BCF08: .4byte 0x000008c2 -_080BCF0C: .4byte gSaveBlock1 -_080BCF10: .4byte 0x00001a09 -_080BCF14: .4byte gSpecialVar_0x8004 -_080BCF18: .4byte gScriptResult - thumb_func_end sub_80BCE90 - - thumb_func_start sub_80BCF1C -sub_80BCF1C: @ 80BCF1C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080BCF40 @ =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080BCF54 - cmp r0, 0x1 - bgt _080BCF44 - cmp r0, 0 - beq _080BCF4A - b _080BD02C - .align 2, 0 -_080BCF40: .4byte gTasks + 0x8 -_080BCF44: - cmp r0, 0x2 - beq _080BD01C - b _080BD02C -_080BCF4A: - adds r0, r4, 0x4 - adds r1, r4, 0x6 - bl PlayerGetDestCoords - b _080BD028 -_080BCF54: - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r1, [r0, r3] - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080BCF7C - movs r0, 0 - ldrsh r1, [r5, r0] - movs r3, 0x6 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _080BD02C -_080BCF7C: - strh r2, [r4, 0x4] - ldrh r0, [r5] - strh r0, [r4, 0x6] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8057350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BCFA8 - bl DoYellowCave4Sparkle - b _080BD02C -_080BCFA8: - adds r0, r4, 0 - bl sub_8057314 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BCFD8 - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileIdAt - lsls r0, 16 - asrs r0, 16 - mov r1, sp - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - bl sub_80C68A4 - b _080BD02C -_080BCFD8: - adds r0, r4, 0 - bl sub_8057328 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BCFF6 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_80C6A54 - b _080BD02C -_080BCFF6: - adds r0, r4, 0 - bl sub_805733C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD02C - mov r0, sp - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileIdAt - lsls r0, 16 - asrs r0, 16 - bl DoDecorationSoundEffect - b _080BD02C -_080BD01C: - ldrb r0, [r4, 0x8] - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080BD02C -_080BD028: - movs r0, 0x1 - strh r0, [r4, 0x2] -_080BD02C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80BCF1C - - thumb_func_start sub_80BD034 -sub_80BD034: @ 80BD034 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BD064 @ =gSaveBlock1 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 5 - adds r4, r2 - ldr r2, _080BD068 @ =0x00001a08 - adds r0, r4, r2 - movs r2, 0xA0 - bl memcpy - ldr r0, _080BD06C @ =0x00001a09 - adds r4, r0 - ldrb r1, [r4] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BD064: .4byte gSaveBlock1 -_080BD068: .4byte 0x00001a08 -_080BD06C: .4byte 0x00001a09 - thumb_func_end sub_80BD034 - - thumb_func_start sub_80BD070 -sub_80BD070: @ 80BD070 - push {r4,lr} - movs r2, 0 - adds r4, r0, 0 - adds r4, 0x9 - adds r3, r1, 0 - adds r3, 0x9 -_080BD07C: - adds r0, r4, r2 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080BD08C - movs r0, 0 - b _080BD098 -_080BD08C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080BD07C - movs r0, 0x1 -_080BD098: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BD070 - - thumb_func_start sub_80BD0A0 -sub_80BD0A0: @ 80BD0A0 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r3, 0 - ldrb r0, [r6, 0x2] - cmp r0, 0xFF - bne _080BD0B4 - ldrb r0, [r5, 0x2] - cmp r0, 0xFF - beq _080BD0E2 -_080BD0B4: - adds r2, r6, 0x2 - adds r0, r2, r3 - adds r4, r5, 0x2 - adds r1, r4, r3 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080BD0C8 - movs r0, 0 - b _080BD0E4 -_080BD0C8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x6 - bhi _080BD0E2 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080BD0B4 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080BD0B4 -_080BD0E2: - movs r0, 0x1 -_080BD0E4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80BD0A0 - - thumb_func_start sub_80BD0EC -sub_80BD0EC: @ 80BD0EC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r2, [r4, 0x1] - movs r0, 0x10 - adds r1, r0, 0 - ands r1, r2 - ldrb r2, [r5, 0x1] - ands r0, r2 - cmp r1, r0 - bne _080BD122 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80BD070 - lsls r0, 24 - cmp r0, 0 - beq _080BD122 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80BD0A0 - lsls r0, 24 - cmp r0, 0 - beq _080BD122 - movs r0, 0x1 - b _080BD124 -_080BD122: - movs r0, 0 -_080BD124: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BD0EC - - thumb_func_start sub_80BD12C -sub_80BD12C: @ 80BD12C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r4, _080BD150 @ =gSaveBlock1 - ldr r3, _080BD154 @ =0x00001a08 -_080BD138: - lsls r0, r1, 16 - asrs r1, r0, 16 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 5 - adds r0, r4 - adds r0, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _080BD158 - adds r0, r1, 0 - b _080BD168 - .align 2, 0 -_080BD150: .4byte gSaveBlock1 -_080BD154: .4byte 0x00001a08 -_080BD158: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080BD138 - movs r0, 0x1 - negs r0, r0 -_080BD168: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BD12C - - thumb_func_start sub_80BD170 -sub_80BD170: @ 80BD170 - push {r4,lr} - movs r2, 0x1 - ldr r4, _080BD194 @ =gSaveBlock1 - ldr r3, _080BD198 @ =0x00001a08 -_080BD178: - lsls r0, r2, 16 - asrs r1, r0, 16 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 5 - adds r0, r4 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080BD19C - lsls r0, r2, 24 - lsrs r0, 24 - b _080BD1AA - .align 2, 0 -_080BD194: .4byte gSaveBlock1 -_080BD198: .4byte 0x00001a08 -_080BD19C: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080BD178 - movs r0, 0 -_080BD1AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BD170 - - thumb_func_start sub_80BD1B0 -sub_80BD1B0: @ 80BD1B0 - push {r4,lr} - movs r3, 0x1 - ldr r4, _080BD1DC @ =gSaveBlock1 -_080BD1B6: - lsls r2, r3, 16 - asrs r1, r2, 16 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 5 - adds r0, r4 - ldr r1, _080BD1E0 @ =0x00001a09 - adds r0, r1 - ldrb r1, [r0] - lsrs r0, r1, 6 - cmp r0, 0 - bne _080BD1E4 - lsls r0, r1, 28 - cmp r0, 0 - bne _080BD1E4 - lsls r0, r3, 24 - lsrs r0, 24 - b _080BD1F4 - .align 2, 0 -_080BD1DC: .4byte gSaveBlock1 -_080BD1E0: .4byte 0x00001a09 -_080BD1E4: - movs r1, 0x80 - lsls r1, 9 - adds r0, r2, r1 - lsrs r3, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080BD1B6 - movs r0, 0 -_080BD1F4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BD1B0 - - thumb_func_start sub_80BD1FC -sub_80BD1FC: @ 80BD1FC - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r0, [r5] - cmp r0, 0 - beq _080BD278 - ldrb r0, [r5] - bl sub_80BD12C - lsls r0, 16 - lsrs r4, r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - beq _080BD278 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _080BD254 - ldr r0, _080BD24C @ =gSaveBlock1 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 5 - adds r1, r0 - ldr r0, _080BD250 @ =0x00001a09 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 28 - lsrs r0, 28 - cmp r0, 0x1 - beq _080BD278 - lsrs r0, r1, 6 - cmp r0, 0x2 - bne _080BD246 - ldrb r1, [r5, 0x1] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _080BD278 -_080BD246: - lsls r4, 24 - lsrs r4, 24 - b _080BD26C - .align 2, 0 -_080BD24C: .4byte gSaveBlock1 -_080BD250: .4byte 0x00001a09 -_080BD254: - bl sub_80BD170 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080BD26C - bl sub_80BD1B0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080BD278 -_080BD26C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80BD034 - adds r0, r4, 0 - b _080BD27A -_080BD278: - movs r0, 0 -_080BD27A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BD1FC - - thumb_func_start sub_80BD280 -sub_80BD280: @ 80BD280 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xA0 - ldr r0, _080BD324 @ =gSaveBlock1 + 0x1A08 - mov r8, r0 - movs r2, 0x1 -_080BD290: - adds r1, r2, 0x1 - lsls r0, r1, 24 - lsrs r5, r0, 24 - mov r9, r1 - cmp r5, 0x13 - bhi _080BD30C - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 5 - mov r1, r8 - adds r6, r0, r1 - movs r7, 0xC0 -_080BD2A8: - ldrb r0, [r6, 0x1] - adds r3, r7, 0 - ands r3, r0 - cmp r3, 0 - bne _080BD2C6 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 5 - add r0, r8 - ldrb r1, [r0, 0x1] - adds r0, r7, 0 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0x40 - beq _080BD2DE -_080BD2C6: - cmp r3, 0x80 - bne _080BD302 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 5 - add r0, r8 - ldrb r1, [r0, 0x1] - adds r0, r7, 0 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0x80 - beq _080BD302 -_080BD2DE: - mov r0, sp - adds r1, r6, 0 - movs r2, 0xA0 - bl memcpy - adds r4, r5 - lsls r4, 5 - add r4, r8 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0xA0 - bl memcpy - adds r0, r4, 0 - mov r1, sp - movs r2, 0xA0 - bl memcpy -_080BD302: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080BD2A8 -_080BD30C: - mov r1, r9 - lsls r0, r1, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bls _080BD290 - add sp, 0xA0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BD324: .4byte gSaveBlock1 + 0x1A08 - thumb_func_end sub_80BD280 - - thumb_func_start sub_80BD328 -sub_80BD328: @ 80BD328 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0x1 -_080BD332: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 5 - adds r1, r0, r6 - ldrb r0, [r1, 0x1] - lsrs r0, 6 - cmp r0, r5 - bne _080BD348 - adds r0, r1, 0 - bl sub_80BD1FC -_080BD348: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _080BD332 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BD328 - - thumb_func_start sub_80BD358 -sub_80BD358: @ 80BD358 - push {r4-r6,lr} - adds r5, r0, 0 - ldrb r0, [r5] - cmp r0, 0 - beq _080BD372 - ldrb r0, [r5, 0x1] - lsls r0, 27 - ldr r1, _080BD378 @ =gSaveBlock2 - lsrs r0, 31 - adds r4, r1, 0 - ldrb r1, [r4, 0x8] - cmp r0, r1 - beq _080BD37C -_080BD372: - movs r0, 0 - b _080BD3D4 - .align 2, 0 -_080BD378: .4byte gSaveBlock2 -_080BD37C: - movs r2, 0 - adds r3, r5, 0 - adds r3, 0x9 - adds r6, r4, 0 - adds r6, 0xA -_080BD386: - adds r0, r3, r2 - adds r1, r2, r6 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _080BD372 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080BD386 - movs r2, 0 - ldrb r0, [r5, 0x2] - cmp r0, 0xFF - bne _080BD3AA - ldrb r0, [r4] - cmp r0, 0xFF - beq _080BD3D2 -_080BD3AA: - adds r3, r5, 0x2 - adds r0, r3, r2 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _080BD372 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x6 - bhi _080BD3D2 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080BD3AA - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080BD3AA -_080BD3D2: - movs r0, 0x1 -_080BD3D4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80BD358 - - thumb_func_start sub_80BD3DC -sub_80BD3DC: @ 80BD3DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - mov r9, r1 - mov r8, r2 - movs r5, 0 - movs r6, 0 -_080BD3F0: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - bne _080BD41A - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 5 - mov r1, r10 - adds r4, r1, r0 - adds r0, r4, 0 - bl sub_80BD358 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD41A - adds r0, r4, 0 - bl sub_80BB4AC - movs r0, 0x1 - orrs r5, r0 -_080BD41A: - movs r7, 0x2 - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - bne _080BD448 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 5 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - bl sub_80BD358 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD448 - adds r0, r4, 0 - bl sub_80BB4AC - orrs r5, r7 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080BD448: - movs r7, 0x4 - movs r0, 0x4 - ands r0, r5 - cmp r0, 0 - bne _080BD476 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - bl sub_80BD358 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD476 - adds r0, r4, 0 - bl sub_80BB4AC - orrs r5, r7 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080BD476: - cmp r5, 0x7 - beq _080BD484 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x13 - bls _080BD3F0 -_080BD484: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BD3DC - - thumb_func_start sub_80BD494 -sub_80BD494: @ 80BD494 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - movs r5, 0 -_080BD4A4: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 5 - mov r1, r8 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080BD4FE - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80BD0EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD4FE - cmp r7, 0 - bne _080BD4D0 - adds r0, r4, 0 - bl sub_80BB4AC - b _080BD508 -_080BD4D0: - ldrh r0, [r6, 0xE] - ldrh r3, [r4, 0xE] - cmp r0, r3 - bls _080BD4E0 - adds r0, r4, 0 - bl sub_80BB4AC - b _080BD508 -_080BD4E0: - ldrb r0, [r6, 0x1] - lsls r0, 28 - lsrs r0, 28 - ldrb r1, [r4, 0x1] - movs r3, 0x10 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x1] - adds r0, r6, 0 - bl sub_80BB4AC - movs r0, 0x1 - b _080BD50A -_080BD4FE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080BD4A4 -_080BD508: - movs r0, 0 -_080BD50A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80BD494 - - thumb_func_start sub_80BD514 -sub_80BD514: @ 80BD514 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - adds r7, r1, 0 - mov r8, r2 - adds r6, r3, 0 - movs r5, 0x1 -_080BD526: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 5 - mov r1, r9 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080BD578 - ldrb r1, [r4, 0x1] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - bne _080BD54E - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] -_080BD54E: - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r5, 0 - bl sub_80BD494 - lsls r0, 24 - cmp r0, 0 - bne _080BD578 - adds r0, r4, 0 - mov r1, r8 - adds r2, r5, 0 - bl sub_80BD494 - lsls r0, 24 - cmp r0, 0 - bne _080BD578 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80BD494 -_080BD578: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080BD526 - movs r5, 0 -_080BD584: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 5 - adds r4, r0, r7 - ldrb r0, [r4] - cmp r0, 0 - beq _080BD5B8 - ldrb r0, [r4, 0x1] - movs r2, 0x21 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - mov r1, r8 - adds r2, r5, 0 - bl sub_80BD494 - lsls r0, 24 - cmp r0, 0 - bne _080BD5B8 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80BD494 -_080BD5B8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080BD584 - movs r5, 0 - movs r0, 0x21 - negs r0, r0 - adds r7, r0, 0 -_080BD5CA: - lsls r0, r5, 2 - adds r0, r5 - lsls r4, r0, 5 - mov r2, r8 - adds r1, r4, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080BD5EA - ldrb r0, [r1, 0x1] - ands r0, r7 - strb r0, [r1, 0x1] - adds r0, r1, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80BD494 -_080BD5EA: - adds r1, r4, r6 - ldrb r0, [r1] - cmp r0, 0 - beq _080BD5F8 - ldrb r0, [r1, 0x1] - ands r0, r7 - strb r0, [r1, 0x1] -_080BD5F8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x13 - bls _080BD5CA - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BD514 - - thumb_func_start sub_80BD610 -sub_80BD610: @ 80BD610 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl sub_80BD3DC - ldr r0, _080BD670 @ =gSaveBlock1 + 0x1A08 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_80BD514 - adds r0, r4, 0 - bl sub_80BD1FC - adds r0, r5, 0 - bl sub_80BD1FC - adds r0, r6, 0 - bl sub_80BD1FC - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80BD328 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80BD328 - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80BD328 - adds r0, r4, 0 - movs r1, 0 - bl sub_80BD328 - adds r0, r5, 0 - movs r1, 0 - bl sub_80BD328 - adds r0, r6, 0 - movs r1, 0 - bl sub_80BD328 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BD670: .4byte gSaveBlock1 + 0x1A08 - thumb_func_end sub_80BD610 - - thumb_func_start sub_80BD674 -sub_80BD674: @ 80BD674 - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r7, r2, 24 - movs r0, 0x60 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080BD68C - b _080BD790 -_080BD68C: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080BD69E - cmp r0, 0x3 - beq _080BD6BA - b _080BD6C8 -_080BD69E: - lsls r4, r5, 1 - adds r0, r6, r4 - movs r1, 0 - adds r2, r5, 0 - bl memset - adds r4, r5 - adds r4, r6, r4 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - b _080BD6C8 -_080BD6BA: - lsls r0, r5, 1 - adds r0, r5 - adds r0, r6, r0 - movs r1, 0 - adds r2, r5, 0 - bl memset -_080BD6C8: - cmp r7, 0x1 - beq _080BD6F0 - cmp r7, 0x1 - bgt _080BD6D6 - cmp r7, 0 - beq _080BD6E0 - b _080BD71C -_080BD6D6: - cmp r7, 0x2 - beq _080BD700 - cmp r7, 0x3 - beq _080BD710 - b _080BD71C -_080BD6E0: - adds r0, r6, r5 - lsls r2, r5, 1 - adds r1, r6, r2 - adds r2, r5 - adds r2, r6, r2 - bl sub_80BD610 - b _080BD71C -_080BD6F0: - lsls r1, r5, 1 - adds r0, r6, r1 - adds r1, r5 - adds r1, r6, r1 - adds r2, r6, 0 - bl sub_80BD610 - b _080BD71C -_080BD700: - lsls r0, r5, 1 - adds r0, r5 - adds r0, r6, r0 - adds r2, r6, r5 - adds r1, r6, 0 - bl sub_80BD610 - b _080BD71C -_080BD710: - adds r1, r6, r5 - lsls r2, r5, 1 - adds r2, r6, r2 - adds r0, r6, 0 - bl sub_80BD610 -_080BD71C: - movs r3, 0x1 - ldr r6, _080BD798 @ =gSaveBlock1 - movs r5, 0x10 - negs r5, r5 - ldr r4, _080BD79C @ =0x00001a09 -_080BD726: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 5 - adds r0, r6 - adds r2, r0, r4 - ldrb r1, [r2] - lsls r0, r1, 28 - lsrs r0, 28 - cmp r0, 0x1 - bne _080BD746 - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - ands r0, r5 - strb r0, [r2] -_080BD746: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x13 - bls _080BD726 - bl sub_80BD280 - movs r3, 0x1 - ldr r4, _080BD798 @ =gSaveBlock1 - ldr r6, _080BD79C @ =0x00001a09 - adds r7, r4, 0 - movs r5, 0x3F -_080BD75E: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 5 - adds r0, r4 - adds r2, r0, r6 - ldrb r1, [r2] - lsrs r0, r1, 6 - cmp r0, 0x2 - bne _080BD776 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_080BD776: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x13 - bls _080BD75E - ldr r0, _080BD7A0 @ =0x00001a16 - adds r2, r7, r0 - ldrh r1, [r2] - ldr r0, _080BD7A4 @ =0x0000ffff - cmp r1, r0 - beq _080BD790 - adds r0, r1, 0x1 - strh r0, [r2] -_080BD790: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BD798: .4byte gSaveBlock1 -_080BD79C: .4byte 0x00001a09 -_080BD7A0: .4byte 0x00001a16 -_080BD7A4: .4byte 0x0000ffff - thumb_func_end sub_80BD674 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 46af5bc0f..bebe3633e 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -10098,13 +10098,13 @@ sub_81063C0: @ 81063C0 ldr r0, _081063F0 @ =gSlotMachineReelTimeLights_Gfx ldr r4, _081063F4 @ =0x02010000 adds r1, r4, 0 - bl sub_800D238 + bl LZDecompressWram ldr r0, _081063F8 @ =gUnknown_083EDE8C movs r1, 0xC8 lsls r1, 6 adds r4, r1 adds r1, r4, 0 - bl sub_800D238 + bl LZDecompressWram ldr r0, _081063FC @ =gUnknown_083EDC2C bl LoadSpriteSheets ldr r0, _08106400 @ =gSlotMachineSpritePalettes diff --git a/asm/trade.s b/asm/trade.s deleted file mode 100644 index b07a3b632..000000000 --- a/asm/trade.s +++ /dev/null @@ -1,12050 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - -.ifdef ENGLISH - .set sub_804A96C_alt, sub_804A96C -.endif - - thumb_func_start sub_8047CD8 -sub_8047CD8: @ 8047CD8 - push {lr} - ldr r0, _08047CE4 @ =sub_8047EC0 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08047CE4: .4byte sub_8047EC0 - thumb_func_end sub_8047CD8 - - thumb_func_start sub_8047CE8 -sub_8047CE8: @ 8047CE8 - push {r4-r6,lr} - ldr r6, _08047D44 @ =gWindowConfig_81E725C - ldr r5, _08047D48 @ =gUnknown_020296CC - ldr r1, [r5] - ldr r2, _08047D4C @ =gSaveBlock2 - adds r0, r6, 0 - movs r3, 0xC - bl sub_804AFB8 - bl GetMultiplayerId - lsls r0, 24 - ldr r1, [r5, 0xC] - movs r3, 0x80 - lsls r3, 17 - eors r3, r0 - lsrs r3, 24 - lsls r2, r3, 3 - subs r2, r3 - lsls r2, 2 - ldr r0, _08047D50 @ =gLinkPlayers + 0x8 - adds r2, r0 - adds r0, r6, 0 - movs r3, 0xC - bl sub_804AFB8 - ldr r1, [r5, 0x18] - ldr r4, _08047D54 @ =gUnknown_0820C14C - ldr r2, [r4] - adds r0, r6, 0 - movs r3, 0x8 - bl sub_804AFB8 - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x20] - movs r2, 0x14 - bl sub_804ACD8 - movs r0, 0x3 - movs r1, 0 - bl nullsub_5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047D44: .4byte gWindowConfig_81E725C -_08047D48: .4byte gUnknown_020296CC -_08047D4C: .4byte gSaveBlock2 -_08047D50: .4byte gLinkPlayers + 0x8 -_08047D54: .4byte gUnknown_0820C14C - thumb_func_end sub_8047CE8 - - thumb_func_start sub_8047D58 -sub_8047D58: @ 8047D58 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - ldr r0, _08047E30 @ =gSaveBlock2 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - cmp r0, 0x5 - bls _08047D72 - movs r1, 0x1 -_08047D72: - movs r5, 0 - lsls r2, r1, 2 - mov r6, sp - ldr r0, _08047E34 @ =gTradeUnknownSpriteCoords - adds r1, r0, 0x1 - adds r1, r2 - mov r8, r1 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 16 -_08047D86: - mov r1, sp - ldr r0, _08047E38 @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r6] - adds r0, r5 - strh r0, [r6] - asrs r1, r4, 16 - mov r0, sp - mov r3, r8 - ldrb r2, [r3] - movs r3, 0x1 - bl CreateSprite - movs r7, 0x80 - lsls r7, 14 - adds r4, r7 - adds r5, 0x1 - cmp r5, 0x2 - ble _08047D86 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _08047E3C @ =gLinkPlayers + 0x8 - adds r0, r1 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - cmp r0, 0x5 - bls _08047DDA - movs r1, 0x1 -_08047DDA: - movs r5, 0 - lsls r2, r1, 2 - mov r6, sp - ldr r0, _08047E40 @ =gTradeUnknownSpriteCoords + 0x3 - adds r1, r2, r0 - mov r8, r1 - subs r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 16 -_08047DEE: - mov r1, sp - ldr r0, _08047E38 @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r5, 0x3 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r6] - asrs r1, r4, 16 - mov r0, sp - mov r3, r8 - ldrb r2, [r3] - movs r3, 0x1 - bl CreateSprite - movs r7, 0x80 - lsls r7, 14 - adds r4, r7 - adds r5, 0x1 - cmp r5, 0x2 - ble _08047DEE - movs r0, 0x5 - movs r1, 0 - bl nullsub_5 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047E30: .4byte gSaveBlock2 -_08047E34: .4byte gTradeUnknownSpriteCoords -_08047E38: .4byte gSpriteTemplate_820C0EC -_08047E3C: .4byte gLinkPlayers + 0x8 -_08047E40: .4byte gTradeUnknownSpriteCoords + 0x3 - thumb_func_end sub_8047D58 - - thumb_func_start sub_8047E44 -sub_8047E44: @ 8047E44 - push {r4-r7,lr} - sub sp, 0x18 - movs r4, 0 - mov r5, sp - movs r6, 0xD6 - lsls r6, 16 -_08047E50: - mov r1, sp - ldr r0, _08047EBC @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r4, 0x6 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - asrs r1, r6, 16 - mov r0, sp - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - movs r2, 0x80 - lsls r2, 14 - adds r6, r2 - adds r4, 0x1 - cmp r4, 0x1 - ble _08047E50 - movs r4, 0 - mov r5, sp - movs r6, 0xC0 - lsls r6, 13 -_08047E84: - mov r1, sp - ldr r0, _08047EBC @ =gSpriteTemplate_820C0EC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r4, 0 - adds r0, 0x8 - ldrh r3, [r5] - adds r0, r3 - strh r0, [r5] - asrs r1, r6, 16 - mov r0, sp - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r7, 0x80 - lsls r7, 14 - adds r6, r7 - adds r4, 0x1 - cmp r4, 0x4 - ble _08047E84 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047EBC: .4byte gSpriteTemplate_820C0EC - thumb_func_end sub_8047E44 - - thumb_func_start sub_8047EC0 -sub_8047EC0: @ 8047EC0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r1, _08047EE4 @ =gMain - ldr r2, _08047EE8 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x15 - bls _08047ED8 - b _080484C6 -_08047ED8: - lsls r0, 2 - ldr r1, _08047EEC @ =_08047EF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08047EE4: .4byte gMain -_08047EE8: .4byte 0x0000043c -_08047EEC: .4byte _08047EF0 - .align 2, 0 -_08047EF0: - .4byte _08047F48 - .4byte _08048048 - .4byte _080480B4 - .4byte _080480E0 - .4byte _08048130 - .4byte _08048160 - .4byte _08048172 - .4byte _080482B4 - .4byte _080482DC - .4byte _08048300 - .4byte _08048328 - .4byte _0804834C - .4byte _08048360 - .4byte _080483B8 - .4byte _08048400 - .4byte _08048418 - .4byte _08048430 - .4byte _08048448 - .4byte _0804845A - .4byte _08048470 - .4byte _08048488 - .4byte _080484A8 -_08047F48: - ldr r5, _08048018 @ =gUnknown_03004824 - ldr r6, _0804801C @ =0x02017000 - str r6, [r5] - bl sub_804AA88 - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, [r5] - adds r0, 0xC8 - ldr r1, _08048020 @ =0x06002800 - bl sub_804A964 - ldr r0, _08048024 @ =sub_80489F4 - bl SetVBlankCallback - ldr r0, _08048028 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - ldr r4, _0804802C @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r5] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x14 - bl SetTextWindowBaseTileNum - ldr r1, [r5] - adds r1, 0x7A - movs r4, 0 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - bl sub_809D51C - ldr r0, [r5] - adds r0, 0x75 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7C - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x80 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x81 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0xB4 - strb r4, [r0] - ldr r0, _08048030 @ =gUnknown_03000508 - strb r4, [r0] - ldr r1, _08048034 @ =gMain - ldr r3, _08048038 @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl sub_804AA0C - add r0, sp, 0x10 - strh r4, [r0] - movs r0, 0xC0 - lsls r0, 7 - adds r1, r6, r0 - ldr r2, _0804803C @ =0x01000680 - add r0, sp, 0x10 - bl CpuSet - ldr r1, _08048040 @ =gUnknown_020296CC - movs r2, 0xD8 - lsls r2, 7 - adds r6, r2 - adds r0, r1, 0 - adds r0, 0x30 - ldr r2, _08048044 @ =0xffffff00 -_0804800A: - str r6, [r0] - adds r6, r2 - subs r0, 0x4 - cmp r0, r1 - bge _0804800A - b _080484C6 - .align 2, 0 -_08048018: .4byte gUnknown_03004824 -_0804801C: .4byte 0x02017000 -_08048020: .4byte 0x06002800 -_08048024: .4byte sub_80489F4 -_08048028: .4byte gWindowConfig_81E6CE4 -_0804802C: .4byte gWindowConfig_81E6F84 -_08048030: .4byte gUnknown_03000508 -_08048034: .4byte gMain -_08048038: .4byte 0x0000043c -_0804803C: .4byte 0x01000680 -_08048040: .4byte gUnknown_020296CC -_08048044: .4byte 0xffffff00 -_08048048: - ldr r1, _08048098 @ =gLinkType - ldr r3, _0804809C @ =0x00001122 - adds r0, r3, 0 - strh r0, [r1] - bl OpenLink - movs r6, 0 - movs r4, 0 -_08048058: - movs r0, 0x64 - muls r0, r6 - ldr r1, _080480A0 @ =gEnemyParty - adds r0, r1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r1, 0 - movs r2, 0 - movs r3, 0x20 - bl CreateMon - adds r6, 0x1 - cmp r6, 0x5 - ble _08048058 - ldr r1, _080480A4 @ =gMain - ldr r0, _080480A8 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _080480AC @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - strb r2, [r0] - ldr r0, _080480B0 @ =sub_8083C50 - movs r1, 0x1 - bl CreateTask - b _080484C6 - .align 2, 0 -_08048098: .4byte gLinkType -_0804809C: .4byte 0x00001122 -_080480A0: .4byte gEnemyParty -_080480A4: .4byte gMain -_080480A8: .4byte 0x0000043c -_080480AC: .4byte gUnknown_03004824 -_080480B0: .4byte sub_8083C50 -_080480B4: - ldr r2, _080480D8 @ =gUnknown_03004824 - ldr r1, [r2] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xB4 - ldrb r0, [r1] - cmp r0, 0xB - bhi _080480CE - b _080484C6 -_080480CE: - movs r0, 0 - strb r0, [r1] - ldr r2, _080480DC @ =0x0000043c - adds r1, r3, r2 - b _08048498 - .align 2, 0 -_080480D8: .4byte gUnknown_03004824 -_080480DC: .4byte 0x0000043c -_080480E0: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800820C - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _080480F4 - b _080484C6 -_080480F4: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _08048120 - ldr r0, _0804811C @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bhi _08048114 - b _080484C6 -_08048114: - bl sub_8007F4C - b _08048492 - .align 2, 0 -_0804811C: .4byte gUnknown_03004824 -_08048120: - ldr r1, _08048128 @ =gMain - ldr r0, _0804812C @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_08048128: .4byte gMain -_0804812C: .4byte 0x0000043c -_08048130: - ldr r0, _08048154 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804813A - b _080484C6 -_0804813A: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08048148 - b _080484C6 -_08048148: - bl CalculatePlayerPartyCount - ldr r1, _08048158 @ =gMain - ldr r2, _0804815C @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048154: .4byte gReceivedRemoteLinkPlayers -_08048158: .4byte gMain -_0804815C: .4byte 0x0000043c -_08048160: - bl sub_8048D44 - lsls r0, 24 - cmp r0, 0 - bne _0804816C - b _080484C6 -_0804816C: - bl sub_804AF84 - b _08048492 -_08048172: - bl CalculateEnemyPartyCount - ldr r4, _08048294 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1D - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - ldr r0, [r4] - ldr r1, _08048298 @ =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x42 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _0804829C @ =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - movs r6, 0 - ldr r0, [r4] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bge _08048216 - mov r8, r4 - ldr r7, _080482A0 @ =gTradeMonSpriteCoords -_080481BA: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080482A4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080482A8 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080482AC @ =sub_809D62C - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x34 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - blt _080481BA -_08048216: - movs r6, 0 - ldr r1, _08048294 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bge _0804828A - ldr r0, _080482A0 @ =gTradeMonSpriteCoords - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_0804822C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080482B0 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080482A8 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080482AC @ =sub_809D62C - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x3A - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - blt _0804822C -_0804828A: - movs r0, 0x2 - movs r1, 0 - bl nullsub_5 - b _08048492 - .align 2, 0 -_08048294: .4byte gUnknown_03004824 -_08048298: .4byte gPlayerPartyCount -_0804829C: .4byte gEnemyPartyCount -_080482A0: .4byte gTradeMonSpriteCoords -_080482A4: .4byte gPlayerParty -_080482A8: .4byte 0xfff40000 -_080482AC: .4byte sub_809D62C -_080482B0: .4byte gEnemyParty -_080482B4: - bl LoadHeldItemIconGraphics - ldr r0, _080482D0 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0 - bl CreateHeldItemIcons - ldr r1, _080482D4 @ =gMain - ldr r0, _080482D8 @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_080482D0: .4byte gUnknown_03004824 -_080482D4: .4byte gMain -_080482D8: .4byte 0x0000043c -_080482DC: - ldr r0, _080482F4 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0x1 - bl CreateHeldItemIcons - ldr r1, _080482F8 @ =gMain - ldr r2, _080482FC @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_080482F4: .4byte gUnknown_03004824 -_080482F8: .4byte gMain -_080482FC: .4byte 0x0000043c -_08048300: - bl sub_8047CE8 - ldr r1, _0804831C @ =gMain - ldr r3, _08048320 @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _08048324 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - strb r2, [r0] - b _080484C6 - .align 2, 0 -_0804831C: .4byte gMain -_08048320: .4byte 0x0000043c -_08048324: .4byte gUnknown_03004824 -_08048328: - movs r0, 0x4 - movs r1, 0 - bl nullsub_5 - bl sub_804ABF8 - lsls r0, 24 - cmp r0, 0 - bne _0804833C - b _080484C6 -_0804833C: - ldr r1, _08048344 @ =gMain - ldr r0, _08048348 @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_08048344: .4byte gMain -_08048348: .4byte 0x0000043c -_0804834C: - bl sub_8047D58 - ldr r1, _08048358 @ =gMain - ldr r2, _0804835C @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048358: .4byte gMain -_0804835C: .4byte 0x0000043c -_08048360: - bl sub_8047E44 - ldr r0, _080483A4 @ =gSpriteTemplate_820C134 - ldr r2, _080483A8 @ =gTradeMonSpriteCoords - ldrb r1, [r2] - lsls r1, 19 - movs r3, 0x80 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2, 0x1] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r2, _080483AC @ =gUnknown_03004824 - ldr r1, [r2] - adds r1, 0x40 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x41 - strb r3, [r0] - ldr r1, _080483B0 @ =gMain - ldr r0, _080483B4 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x6 - movs r1, 0 - bl nullsub_5 - b _080484C6 - .align 2, 0 -_080483A4: .4byte gSpriteTemplate_820C134 -_080483A8: .4byte gTradeMonSpriteCoords -_080483AC: .4byte gUnknown_03004824 -_080483B0: .4byte gMain -_080483B4: .4byte 0x0000043c -_080483B8: - movs r0, 0 - bl sub_804ACF4 - movs r0, 0 - bl sub_804A41C - ldr r2, _080483F0 @ =gUnknown_03004824 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8048C70 - ldr r1, _080483F4 @ =gMain - ldr r2, _080483F8 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x7 - movs r1, 0 - bl nullsub_5 - ldr r0, _080483FC @ =0x000001b3 - bl PlayBGM - b _080484C6 - .align 2, 0 -_080483F0: .4byte gUnknown_03004824 -_080483F4: .4byte gMain -_080483F8: .4byte 0x0000043c -_080483FC: .4byte 0x000001b3 -_08048400: - movs r0, 0x1 - bl sub_804ACF4 - movs r0, 0x1 - bl sub_804A41C - ldr r1, _08048428 @ =gMain - ldr r3, _0804842C @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08048418: - movs r0, 0 - bl sub_8048B0C - ldr r1, _08048428 @ =gMain - ldr r0, _0804842C @ =0x0000043c - adds r1, r0 - b _08048498 - .align 2, 0 -_08048428: .4byte gMain -_0804842C: .4byte 0x0000043c -_08048430: - movs r0, 0x1 - bl sub_8048B0C - ldr r1, _08048440 @ =gMain - ldr r2, _08048444 @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048440: .4byte gMain -_08048444: .4byte 0x0000043c -_08048448: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08048492 -_0804845A: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804846C @ =0x0000043c - adds r1, r3, r0 - b _08048498 - .align 2, 0 -_0804846C: .4byte 0x0000043c -_08048470: - movs r0, 0 - bl sub_804AE3C - ldr r1, _08048480 @ =gMain - ldr r2, _08048484 @ =0x0000043c - adds r1, r2 - b _08048498 - .align 2, 0 -_08048480: .4byte gMain -_08048484: .4byte 0x0000043c -_08048488: - movs r0, 0x1 - bl sub_804AE3C - bl sub_804AF10 -_08048492: - ldr r1, _080484A0 @ =gMain - ldr r3, _080484A4 @ =0x0000043c - adds r1, r3 -_08048498: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080484C6 - .align 2, 0 -_080484A0: .4byte gMain -_080484A4: .4byte 0x0000043c -_080484A8: - ldr r0, _080484E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080484C6 - ldr r0, _080484E8 @ =sub_80494D8 - str r0, [r3] - ldr r0, _080484EC @ =sub_8048AB4 - bl SetMainCallback2 - ldr r0, _080484F0 @ =gUnknown_03000508 - strb r4, [r0] -_080484C6: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080484E4: .4byte gPaletteFade -_080484E8: .4byte sub_80494D8 -_080484EC: .4byte sub_8048AB4 -_080484F0: .4byte gUnknown_03000508 - thumb_func_end sub_8047EC0 - - thumb_func_start sub_80484F4 -sub_80484F4: @ 80484F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r1, _08048518 @ =gMain - ldr r2, _0804851C @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x15 - bls _0804850C - b _080489CA -_0804850C: - lsls r0, 2 - ldr r1, _08048520 @ =_08048524 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08048518: .4byte gMain -_0804851C: .4byte 0x0000043c -_08048520: .4byte _08048524 - .align 2, 0 -_08048524: - .4byte _0804857C - .4byte _0804865C - .4byte _08048668 - .4byte _08048674 - .4byte _08048680 - .4byte _08048694 - .4byte _080486A0 - .4byte _080487E8 - .4byte _08048810 - .4byte _08048834 - .4byte _0804885C - .4byte _08048880 - .4byte _08048894 - .4byte _080489CA - .4byte _080489CA - .4byte _08048914 - .4byte _0804891C - .4byte _08048950 - .4byte _08048970 - .4byte _08048988 - .4byte _08048994 - .4byte _080489B0 -_0804857C: - ldr r5, _08048630 @ =gUnknown_03004824 - ldr r6, _08048634 @ =0x02017000 - str r6, [r5] - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, [r5] - adds r0, 0xC8 - ldr r1, _08048638 @ =0x06002800 - bl sub_804A964 - ldr r0, _0804863C @ =sub_80489F4 - bl SetVBlankCallback - ldr r0, _08048640 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - ldr r4, _08048644 @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r5] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x14 - bl SetTextWindowBaseTileNum - ldr r1, [r5] - adds r1, 0x7A - movs r4, 0 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - bl sub_809D51C - ldr r0, [r5] - adds r0, 0x75 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7C - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x80 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x81 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0xB4 - strb r4, [r0] - ldr r0, _08048648 @ =gUnknown_03000508 - strb r4, [r0] - ldr r1, _0804864C @ =gMain - ldr r3, _08048650 @ =0x0000043c - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _08048654 @ =gUnknown_020296CC - movs r5, 0xD8 - lsls r5, 7 - adds r6, r5 - adds r0, r1, 0 - adds r0, 0x30 - ldr r2, _08048658 @ =0xffffff00 -_08048622: - str r6, [r0] - adds r6, r2 - subs r0, 0x4 - cmp r0, r1 - bge _08048622 - b _080489CA - .align 2, 0 -_08048630: .4byte gUnknown_03004824 -_08048634: .4byte 0x02017000 -_08048638: .4byte 0x06002800 -_0804863C: .4byte sub_80489F4 -_08048640: .4byte gWindowConfig_81E6CE4 -_08048644: .4byte gWindowConfig_81E6F84 -_08048648: .4byte gUnknown_03000508 -_0804864C: .4byte gMain -_08048650: .4byte 0x0000043c -_08048654: .4byte gUnknown_020296CC -_08048658: .4byte 0xffffff00 -_0804865C: - ldr r0, _08048664 @ =0x0000043c - adds r1, r2, r0 - b _0804883E - .align 2, 0 -_08048664: .4byte 0x0000043c -_08048668: - ldr r3, _08048670 @ =0x0000043c - adds r1, r2, r3 - b _0804899E - .align 2, 0 -_08048670: .4byte 0x0000043c -_08048674: - ldr r5, _0804867C @ =0x0000043c - adds r1, r2, r5 - b _0804899E - .align 2, 0 -_0804867C: .4byte 0x0000043c -_08048680: - bl CalculatePlayerPartyCount - ldr r1, _0804868C @ =gMain - ldr r0, _08048690 @ =0x0000043c - adds r1, r0 - b _0804899E - .align 2, 0 -_0804868C: .4byte gMain -_08048690: .4byte 0x0000043c -_08048694: - ldr r3, _0804869C @ =0x0000043c - adds r1, r2, r3 - b _0804899E - .align 2, 0 -_0804869C: .4byte 0x0000043c -_080486A0: - bl CalculateEnemyPartyCount - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - ldr r4, _080487C0 @ =gUnknown_03004824 - ldr r0, [r4] - ldr r1, _080487C4 @ =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x42 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _080487C8 @ =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - movs r0, 0 - bl sub_804A41C - movs r0, 0x1 - bl sub_804A41C - movs r6, 0 - ldr r0, [r4] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bge _0804873C - mov r8, r4 - ldr r7, _080487CC @ =gTradeMonSpriteCoords -_080486DE: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080487D0 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080487D4 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080487D8 @ =sub_809D62C - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x34 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - blt _080486DE -_0804873C: - movs r6, 0 - ldr r1, _080487C0 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bge _080487B0 - ldr r0, _080487CC @ =gTradeMonSpriteCoords - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_08048752: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _080487DC @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _080487D4 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - ldr r1, _080487D8 @ =sub_809D62C - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x3A - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - blt _08048752 -_080487B0: - movs r0, 0x2 - movs r1, 0 - bl nullsub_5 - ldr r1, _080487E0 @ =gMain - ldr r3, _080487E4 @ =0x0000043c - adds r1, r3 - b _0804899E - .align 2, 0 -_080487C0: .4byte gUnknown_03004824 -_080487C4: .4byte gPlayerPartyCount -_080487C8: .4byte gEnemyPartyCount -_080487CC: .4byte gTradeMonSpriteCoords -_080487D0: .4byte gPlayerParty -_080487D4: .4byte 0xfff40000 -_080487D8: .4byte sub_809D62C -_080487DC: .4byte gEnemyParty -_080487E0: .4byte gMain -_080487E4: .4byte 0x0000043c -_080487E8: - bl LoadHeldItemIconGraphics - ldr r0, _08048804 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0 - bl CreateHeldItemIcons - ldr r1, _08048808 @ =gMain - ldr r5, _0804880C @ =0x0000043c - adds r1, r5 - b _0804899E - .align 2, 0 -_08048804: .4byte gUnknown_03004824 -_08048808: .4byte gMain -_0804880C: .4byte 0x0000043c -_08048810: - ldr r0, _08048828 @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x42 - adds r1, 0x34 - movs r2, 0x1 - bl CreateHeldItemIcons - ldr r1, _0804882C @ =gMain - ldr r0, _08048830 @ =0x0000043c - adds r1, r0 - b _0804899E - .align 2, 0 -_08048828: .4byte gUnknown_03004824 -_0804882C: .4byte gMain -_08048830: .4byte 0x0000043c -_08048834: - bl sub_8047CE8 - ldr r1, _08048850 @ =gMain - ldr r2, _08048854 @ =0x0000043c - adds r1, r2 -_0804883E: - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _08048858 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - strb r2, [r0] - b _080489CA - .align 2, 0 -_08048850: .4byte gMain -_08048854: .4byte 0x0000043c -_08048858: .4byte gUnknown_03004824 -_0804885C: - movs r0, 0x4 - movs r1, 0 - bl nullsub_5 - bl sub_804ABF8 - lsls r0, 24 - cmp r0, 0 - bne _08048870 - b _080489CA -_08048870: - ldr r1, _08048878 @ =gMain - ldr r3, _0804887C @ =0x0000043c - adds r1, r3 - b _0804899E - .align 2, 0 -_08048878: .4byte gMain -_0804887C: .4byte 0x0000043c -_08048880: - bl sub_8047D58 - ldr r1, _0804888C @ =gMain - ldr r5, _08048890 @ =0x0000043c - adds r1, r5 - b _0804899E - .align 2, 0 -_0804888C: .4byte gMain -_08048890: .4byte 0x0000043c -_08048894: - bl sub_8047E44 - ldr r2, _080488AC @ =0x02018000 - ldr r0, _080488B0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x41 - ldrb r0, [r1] - cmp r0, 0x5 - bhi _080488B4 - ldrb r0, [r2, 0x9] - b _080488B8 - .align 2, 0 -_080488AC: .4byte 0x02018000 -_080488B0: .4byte gUnknown_03004824 -_080488B4: - ldrb r0, [r2, 0x9] - adds r0, 0x6 -_080488B8: - strb r0, [r1] - ldr r0, _08048900 @ =gSpriteTemplate_820C134 - ldr r3, _08048904 @ =gTradeMonSpriteCoords - ldr r4, _08048908 @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0x41 - ldrb r2, [r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 19 - movs r5, 0x80 - lsls r5, 14 - adds r1, r5 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x40 - strb r0, [r1] - ldr r0, _0804890C @ =gMain - ldr r1, _08048910 @ =0x0000043c - adds r0, r1 - movs r1, 0xF - strb r1, [r0] - movs r0, 0x6 - movs r1, 0 - bl nullsub_5 - b _080489CA - .align 2, 0 -_08048900: .4byte gSpriteTemplate_820C134 -_08048904: .4byte gTradeMonSpriteCoords -_08048908: .4byte gUnknown_03004824 -_0804890C: .4byte gMain -_08048910: .4byte 0x0000043c -_08048914: - movs r0, 0 - bl sub_8048B0C - b _08048998 -_0804891C: - movs r0, 0x1 - bl sub_8048B0C - ldr r2, _08048944 @ =gUnknown_03004824 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8048C70 - movs r0, 0x7 - movs r1, 0 - bl nullsub_5 - ldr r1, _08048948 @ =gMain - ldr r3, _0804894C @ =0x0000043c - adds r1, r3 - b _0804899E - .align 2, 0 -_08048944: .4byte gUnknown_03004824 -_08048948: .4byte gMain -_0804894C: .4byte 0x0000043c -_08048950: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _08048968 @ =gMain - ldr r5, _0804896C @ =0x0000043c - adds r1, r5 - b _0804899E - .align 2, 0 -_08048968: .4byte gMain -_0804896C: .4byte 0x0000043c -_08048970: - movs r1, 0x80 - lsls r1, 19 - movs r3, 0xFA - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r1] - ldr r5, _08048984 @ =0x0000043c - adds r1, r2, r5 - b _0804899E - .align 2, 0 -_08048984: .4byte 0x0000043c -_08048988: - ldr r0, _08048990 @ =0x0000043c - adds r1, r2, r0 - b _0804899E - .align 2, 0 -_08048990: .4byte 0x0000043c -_08048994: - bl sub_804AF10 -_08048998: - ldr r1, _080489A8 @ =gMain - ldr r2, _080489AC @ =0x0000043c - adds r1, r2 -_0804899E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080489CA - .align 2, 0 -_080489A8: .4byte gMain -_080489AC: .4byte 0x0000043c -_080489B0: - ldr r0, _080489E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080489CA - ldr r0, _080489EC @ =sub_8048AB4 - bl SetMainCallback2 - ldr r0, _080489F0 @ =gUnknown_03000508 - strb r4, [r0] -_080489CA: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080489E8: .4byte gPaletteFade -_080489EC: .4byte sub_8048AB4 -_080489F0: .4byte gUnknown_03000508 - thumb_func_end sub_80484F4 - - thumb_func_start sub_80489F4 -sub_80489F4: @ 80489F4 - push {lr} - ldr r0, _08048A10 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xC8 - bl sub_804A940 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - .align 2, 0 -_08048A10: .4byte gUnknown_03004824 - thumb_func_end sub_80489F4 - - thumb_func_start sub_8048A14 -sub_8048A14: @ 8048A14 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08048A4C @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _08048A44 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0xA - strb r1, [r0] -_08048A44: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048A4C: .4byte gUnknown_03004824 - thumb_func_end sub_8048A14 - - thumb_func_start sub_8048A50 -sub_8048A50: @ 8048A50 - push {r4,lr} - ldr r0, _08048A84 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08048A7E - ldr r2, _08048A88 @ =gUnknown_020297D8 - ldr r4, _08048A8C @ =gUnknown_03004824 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x41 - ldrb r1, [r1] - strb r1, [r2] - adds r0, 0x8A - ldrb r0, [r0] - strb r0, [r2, 0x1] - bl sub_800832C - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0xD - strb r1, [r0] -_08048A7E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048A84: .4byte gPaletteFade -_08048A88: .4byte gUnknown_020297D8 -_08048A8C: .4byte gUnknown_03004824 - thumb_func_end sub_8048A50 - - thumb_func_start sub_8048A90 -sub_8048A90: @ 8048A90 - push {lr} - ldr r0, _08048AA8 @ =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _08048AA4 - ldr r0, _08048AAC @ =gMain - str r1, [r0] - ldr r0, _08048AB0 @ =sub_804B41C - bl SetMainCallback2 -_08048AA4: - pop {r0} - bx r0 - .align 2, 0 -_08048AA8: .4byte gReceivedRemoteLinkPlayers -_08048AAC: .4byte gMain -_08048AB0: .4byte sub_804B41C - thumb_func_end sub_8048A90 - - thumb_func_start sub_8048AB4 -sub_8048AB4: @ 8048AB4 - push {r4,lr} - bl sub_8049DE0 - bl sub_804AB30 - movs r0, 0 - bl sub_8049ED4 - movs r0, 0x1 - bl sub_8049ED4 - ldr r4, _08048B04 @ =REG_BG2HOFS - ldr r3, _08048B08 @ =gUnknown_03004824 - ldr r2, [r3] - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - adds r4, 0x4 - ldr r2, [r3] - ldrb r0, [r2, 0x1] - adds r1, r0, 0 - adds r1, 0xFF - strb r1, [r2, 0x1] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08048B04: .4byte REG_BG2HOFS -_08048B08: .4byte gUnknown_03004824 - thumb_func_end sub_8048AB4 - - thumb_func_start sub_8048B0C -sub_8048B0C: @ 8048B0C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08048B1C - cmp r0, 0x1 - beq _08048BD0 - b _08048C3A -_08048B1C: - ldr r5, _08048BA0 @ =gUnknown_08EA0348 - ldr r0, _08048BA4 @ =gTradeStripesBG2Tilemap - mov r12, r0 - ldr r1, _08048BA8 @ =gUnknown_08EA02C8 - ldr r4, _08048BAC @ =gPlttBufferFaded - ldr r3, _08048BB0 @ =gPlttBufferUnfaded - movs r2, 0x2F -_08048B2A: - ldrh r0, [r1] - strh r0, [r3] - ldrh r0, [r1] - strh r0, [r4] - adds r1, 0x2 - adds r4, 0x2 - adds r3, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _08048B2A - adds r3, r5, 0 - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0x94 - lsls r5, 5 - ldr r1, _08048BB4 @ =0x040000d4 - ldr r6, _08048BB8 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08048B54: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08048B54 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - ldr r5, _08048BBC @ =0x000003ff - ldr r4, _08048BC0 @ =gUnknown_03004824 - ldr r3, _08048BC4 @ =gUnknown_08EA15C8 -_08048B7A: - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0xDA - adds r0, r1 - ldrh r1, [r3] - strh r1, [r0] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, r5 - ble _08048B7A - ldr r1, _08048BC8 @ =0x06003000 - ldr r0, _08048BB4 @ =0x040000d4 - mov r2, r12 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _08048BCC @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _08048C3A - .align 2, 0 -_08048BA0: .4byte gUnknown_08EA0348 -_08048BA4: .4byte gTradeStripesBG2Tilemap -_08048BA8: .4byte gUnknown_08EA02C8 -_08048BAC: .4byte gPlttBufferFaded -_08048BB0: .4byte gPlttBufferUnfaded -_08048BB4: .4byte 0x040000d4 -_08048BB8: .4byte 0x80000800 -_08048BBC: .4byte 0x000003ff -_08048BC0: .4byte gUnknown_03004824 -_08048BC4: .4byte gUnknown_08EA15C8 -_08048BC8: .4byte 0x06003000 -_08048BCC: .4byte 0x80000400 -_08048BD0: - ldr r1, _08048C40 @ =gTradeStripesBG3Tilemap - ldr r2, _08048C44 @ =0x06003800 - ldr r0, _08048C48 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08048C4C @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0 - bl sub_804A6DC - movs r0, 0x1 - bl sub_804A6DC - ldr r0, _08048C50 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xC8 - bl sub_804A938 - ldr r2, _08048C54 @ =REG_BG0CNT - ldrh r1, [r2] - ldr r0, _08048C58 @ =0x0000fffc - ands r0, r1 - strh r0, [r2] - ldr r1, _08048C5C @ =REG_BG1CNT - ldr r2, _08048C60 @ =0x00000501 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _08048C64 @ =0x00000602 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _08048C68 @ =0x00000703 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08048C6C @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0xA - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] -_08048C3A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08048C40: .4byte gTradeStripesBG3Tilemap -_08048C44: .4byte 0x06003800 -_08048C48: .4byte 0x040000d4 -_08048C4C: .4byte 0x80000400 -_08048C50: .4byte gUnknown_03004824 -_08048C54: .4byte REG_BG0CNT -_08048C58: .4byte 0x0000fffc -_08048C5C: .4byte REG_BG1CNT -_08048C60: .4byte 0x00000501 -_08048C64: .4byte 0x00000602 -_08048C68: .4byte 0x00000703 -_08048C6C: .4byte REG_BG0HOFS - thumb_func_end sub_8048B0C - - thumb_func_start sub_8048C70 -sub_8048C70: @ 8048C70 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r3, 0 - ldr r5, _08048CC0 @ =gUnknown_03004824 - mov r8, r5 - ldr r0, _08048CC4 @ =gSprites - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 - movs r4, 0x6 - movs r7, 0x1 - movs r6, 0 -_08048C8E: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x42 - ldrb r1, [r1] - cmp r3, r1 - bge _08048CC8 - adds r0, 0x34 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x44 - adds r0, r3 - strb r7, [r0] - b _08048CCE - .align 2, 0 -_08048CC0: .4byte gUnknown_03004824 -_08048CC4: .4byte gSprites -_08048CC8: - adds r0, 0x44 - adds r0, r3 - strb r6, [r0] -_08048CCE: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x43 - ldrb r1, [r1] - cmp r3, r1 - bge _08048CFE - adds r0, 0x3A - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x44 - adds r0, r4 - strb r7, [r0] - b _08048D04 -_08048CFE: - adds r0, 0x44 - adds r0, r4 - strb r6, [r0] -_08048D04: - adds r4, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - ble _08048C8E - ldr r0, [r5] - adds r0, 0x50 - movs r1, 0x1 - strb r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8048C70 - - thumb_func_start nullsub_5 -nullsub_5: @ 8048D20 - bx lr - thumb_func_end nullsub_5 - - thumb_func_start sub_8048D24 -sub_8048D24: @ 8048D24 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r3, 0 - cmp r3, r2 - bcs _08048D3E -_08048D30: - adds r0, r5, r3 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, r2 - bcc _08048D30 -_08048D3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8048D24 - - thumb_func_start sub_8048D44 -sub_8048D44: @ 8048D44 - push {r4-r7,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _08048D90 @ =gUnknown_03004824 - ldr r0, [r6] - adds r0, 0x75 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetLinkDebugValues - ldr r0, [r6] - adds r0, 0x75 - ldrb r0, [r0] - cmp r0, 0x10 - bls _08048D86 - b _0804907C -_08048D86: - lsls r0, 2 - ldr r1, _08048D94 @ =_08048D98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08048D90: .4byte gUnknown_03004824 -_08048D94: .4byte _08048D98 - .align 2, 0 -_08048D98: - .4byte _08048DDC - .4byte _08048DF8 - .4byte _08048E28 - .4byte _08048E3C - .4byte _08048E74 - .4byte _08048E90 - .4byte _08048EA4 - .4byte _08048EDC - .4byte _08048EF8 - .4byte _08048F0C - .4byte _08048F44 - .4byte _08048F60 - .4byte _08048F74 - .4byte _08048FAC - .4byte _08048FC8 - .4byte _08048FDC - .4byte _08049018 -_08048DDC: - ldr r0, _08048DEC @ =gBlockSendBuffer - ldr r1, _08048DF0 @ =gPlayerParty - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048DF4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048DEC: .4byte gBlockSendBuffer -_08048DF0: .4byte gPlayerParty -_08048DF4: .4byte gUnknown_03004824 -_08048DF8: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _08048E04 - b _0804907C -_08048E04: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _08048E18 - ldr r0, _08048E14 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E14: .4byte gUnknown_03004824 -_08048E18: - bl ResetBlockReceivedFlags - ldr r0, _08048E24 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E24: .4byte gUnknown_03004824 -_08048E28: - cmp r7, 0 - bne _08048E32 - movs r0, 0x1 - bl sub_8007E9C -_08048E32: - ldr r0, _08048E38 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E38: .4byte gUnknown_03004824 -_08048E3C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048E4A - b _0804907C -_08048E4A: - ldr r0, _08048E68 @ =gEnemyParty - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048E6C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048E70 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E68: .4byte gEnemyParty -_08048E6C: .4byte gBlockRecvBuffer -_08048E70: .4byte gUnknown_03004824 -_08048E74: - ldr r0, _08048E84 @ =gBlockSendBuffer - ldr r1, _08048E88 @ =gPlayerParty + 2 * 0x64 - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048E8C @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048E84: .4byte gBlockSendBuffer -_08048E88: .4byte gPlayerParty + 2 * 0x64 -_08048E8C: .4byte gUnknown_03004824 -_08048E90: - cmp r7, 0 - bne _08048E9A - movs r0, 0x1 - bl sub_8007E9C -_08048E9A: - ldr r0, _08048EA0 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048EA0: .4byte gUnknown_03004824 -_08048EA4: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048EB2 - b _0804907C -_08048EB2: - ldr r0, _08048ED0 @ =gEnemyParty + 2 * 0x64 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048ED4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048ED8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048ED0: .4byte gEnemyParty + 2 * 0x64 -_08048ED4: .4byte gBlockRecvBuffer -_08048ED8: .4byte gUnknown_03004824 -_08048EDC: - ldr r0, _08048EEC @ =gBlockSendBuffer - ldr r1, _08048EF0 @ =gPlayerParty + 4 * 0x64 - movs r2, 0xC8 - bl sub_8048D24 - ldr r0, _08048EF4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048EEC: .4byte gBlockSendBuffer -_08048EF0: .4byte gPlayerParty + 4 * 0x64 -_08048EF4: .4byte gUnknown_03004824 -_08048EF8: - cmp r7, 0 - bne _08048F02 - movs r0, 0x1 - bl sub_8007E9C -_08048F02: - ldr r0, _08048F08 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F08: .4byte gUnknown_03004824 -_08048F0C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048F1A - b _0804907C -_08048F1A: - ldr r0, _08048F38 @ =gEnemyParty + 4 * 0x64 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048F3C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048F40 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F38: .4byte gEnemyParty + 4 * 0x64 -_08048F3C: .4byte gBlockRecvBuffer -_08048F40: .4byte gUnknown_03004824 -_08048F44: - ldr r0, _08048F54 @ =gBlockSendBuffer - ldr r1, _08048F58 @ =gSaveBlock1 + 0x2B4C - movs r2, 0xDC - bl sub_8048D24 - ldr r0, _08048F5C @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F54: .4byte gBlockSendBuffer -_08048F58: .4byte gSaveBlock1 + 0x2B4C -_08048F5C: .4byte gUnknown_03004824 -_08048F60: - cmp r7, 0 - bne _08048F6A - movs r0, 0x3 - bl sub_8007E9C -_08048F6A: - ldr r0, _08048F70 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048F70: .4byte gUnknown_03004824 -_08048F74: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08048F82 - b _0804907C -_08048F82: - ldr r0, _08048FA0 @ =gUnknown_02029700 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08048FA4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r0, _08048FA8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FA0: .4byte gUnknown_02029700 -_08048FA4: .4byte gBlockRecvBuffer -_08048FA8: .4byte gUnknown_03004824 -_08048FAC: - ldr r0, _08048FBC @ =gBlockSendBuffer - ldr r1, _08048FC0 @ =gSaveBlock1 + 0x3110 - movs r2, 0xB - bl sub_8048D24 - ldr r0, _08048FC4 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FBC: .4byte gBlockSendBuffer -_08048FC0: .4byte gSaveBlock1 + 0x3110 -_08048FC4: .4byte gUnknown_03004824 -_08048FC8: - cmp r7, 0 - bne _08048FD2 - movs r0, 0x4 - bl sub_8007E9C -_08048FD2: - ldr r0, _08048FD8 @ =gUnknown_03004824 - ldr r1, [r0] - b _08049006 - .align 2, 0 -_08048FD8: .4byte gUnknown_03004824 -_08048FDC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0804907C - ldr r4, _08049010 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0xB5 - movs r2, 0x1 - adds r1, r7, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _08049014 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_8048D24 - bl ResetBlockReceivedFlags - ldr r1, [r4] -_08049006: - adds r1, 0x75 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804907C - .align 2, 0 -_08049010: .4byte gUnknown_03004824 -_08049014: .4byte gBlockRecvBuffer -_08049018: - ldr r4, _0804906C @ =gEnemyParty - ldr r6, _08049070 @ =0x0000012f - movs r5, 0x5 -_0804901E: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0804905E - cmp r0, r6 - bne _0804905E - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _0804905E - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, _08049074 @ =gUnknown_0820C3B0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0804905E - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, _08049078 @ =gSpeciesNames + 0xD05 - bl SetMonData -_0804905E: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _0804901E - movs r0, 0x1 - b _0804907E - .align 2, 0 -_0804906C: .4byte gEnemyParty -_08049070: .4byte 0x0000012f -_08049074: .4byte gUnknown_0820C3B0 -_08049078: .4byte gSpeciesNames + 0xD05 -_0804907C: - movs r0, 0 -_0804907E: - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8048D44 - - thumb_func_start sub_8049088 -sub_8049088: @ 8049088 - push {lr} - sub sp, 0x1C - ldr r1, _080490B0 @ =gTradeText_TradeOkayPrompt - mov r0, sp - bl StringCopy - ldr r0, _080490B4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7E - ldrh r1, [r0] - lsls r1, 5 - ldr r0, _080490B8 @ =0x06010000 - adds r1, r0 - mov r0, sp - movs r2, 0x14 - bl sub_804ACD8 - add sp, 0x1C - pop {r0} - bx r0 - .align 2, 0 -_080490B0: .4byte gTradeText_TradeOkayPrompt -_080490B4: .4byte gUnknown_03004824 -_080490B8: .4byte 0x06010000 - thumb_func_end sub_8049088 - - thumb_func_start sub_80490BC -sub_80490BC: @ 80490BC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0x1 - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _08049148 - ldr r1, _080490EC @ =gBlockRecvBuffer - lsls r0, r2, 8 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _080490F0 @ =0x0000bbbb - cmp r1, r0 - beq _08049128 - cmp r1, r0 - bgt _080490F8 - ldr r0, _080490F4 @ =0x0000aabb - cmp r1, r0 - beq _08049118 - b _08049142 - .align 2, 0 -_080490EC: .4byte gBlockRecvBuffer -_080490F0: .4byte 0x0000bbbb -_080490F4: .4byte 0x0000aabb -_080490F8: - ldr r0, _0804910C @ =0x0000bbcc - cmp r1, r0 - beq _08049138 - ldr r0, _08049110 @ =0x0000eeaa - cmp r1, r0 - bne _08049142 - ldr r0, _08049114 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x84 - b _0804913E - .align 2, 0 -_0804910C: .4byte 0x0000bbcc -_08049110: .4byte 0x0000eeaa -_08049114: .4byte gUnknown_03004824 -_08049118: - ldr r0, _08049124 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x84 - strb r3, [r0] - b _08049142 - .align 2, 0 -_08049124: .4byte gUnknown_03004824 -_08049128: - ldr r0, _08049134 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x86 - strb r3, [r0] - b _08049142 - .align 2, 0 -_08049134: .4byte gUnknown_03004824 -_08049138: - ldr r0, _08049170 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x86 -_0804913E: - movs r1, 0x2 - strb r1, [r0] -_08049142: - movs r0, 0 - bl ResetBlockReceivedFlag -_08049148: - movs r2, 0x2 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _080491DA - ldr r3, _08049174 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - ldr r0, _08049178 @ =0x0000bbbb - cmp r1, r0 - beq _080491BC - cmp r1, r0 - bgt _08049180 - ldr r0, _0804917C @ =0x0000aabb - cmp r1, r0 - beq _080491A0 - b _080491D4 - .align 2, 0 -_08049170: .4byte gUnknown_03004824 -_08049174: .4byte gBlockRecvBuffer -_08049178: .4byte 0x0000bbbb -_0804917C: .4byte 0x0000aabb -_08049180: - ldr r0, _08049194 @ =0x0000bbcc - cmp r1, r0 - beq _080491CC - ldr r0, _08049198 @ =0x0000eeaa - cmp r1, r0 - bne _080491D4 - ldr r0, _0804919C @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x85 - b _080491D2 - .align 2, 0 -_08049194: .4byte 0x0000bbcc -_08049198: .4byte 0x0000eeaa -_0804919C: .4byte gUnknown_03004824 -_080491A0: - ldr r2, _080491B8 @ =gUnknown_03004824 - ldr r1, [r2] - movs r4, 0x81 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - adds r0, 0x6 - adds r1, 0x8A - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x85 - b _080491C2 - .align 2, 0 -_080491B8: .4byte gUnknown_03004824 -_080491BC: - ldr r0, _080491C8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x87 -_080491C2: - movs r1, 0x1 - strb r1, [r0] - b _080491D4 - .align 2, 0 -_080491C8: .4byte gUnknown_03004824 -_080491CC: - ldr r0, _080491E0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x87 -_080491D2: - strb r2, [r0] -_080491D4: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_080491DA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080491E0: .4byte gUnknown_03004824 - thumb_func_end sub_80490BC - - thumb_func_start sub_80491E4 -sub_80491E4: @ 80491E4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080492BE - ldr r2, _08049210 @ =gBlockRecvBuffer - ldrh r1, [r2] - ldr r0, _08049214 @ =0x0000ddee - cmp r1, r0 - beq _080492A8 - cmp r1, r0 - bgt _08049220 - ldr r0, _08049218 @ =0x0000ccdd - cmp r1, r0 - beq _08049288 - ldr r0, _0804921C @ =0x0000dddd - cmp r1, r0 - beq _0804925C - b _080492B8 - .align 2, 0 -_08049210: .4byte gBlockRecvBuffer -_08049214: .4byte 0x0000ddee -_08049218: .4byte 0x0000ccdd -_0804921C: .4byte 0x0000dddd -_08049220: - ldr r0, _08049230 @ =0x0000eebb - cmp r1, r0 - beq _08049234 - adds r0, 0x11 - cmp r1, r0 - beq _08049258 - b _080492B8 - .align 2, 0 -_08049230: .4byte 0x0000eebb -_08049234: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl sub_804AA0C - ldr r0, _08049254 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xB - b _080492B6 - .align 2, 0 -_08049254: .4byte gUnknown_03004824 -_08049258: - movs r0, 0x5 - b _080492AA -_0804925C: - ldr r4, _08049284 @ =gUnknown_03004824 - ldr r1, [r4] - ldrb r0, [r2, 0x2] - adds r0, 0x6 - adds r1, 0x8A - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x41 - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x8A - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x7 - b _080492B6 - .align 2, 0 -_08049284: .4byte gUnknown_03004824 -_08049288: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080492A4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xA - b _080492B6 - .align 2, 0 -_080492A4: .4byte gUnknown_03004824 -_080492A8: - movs r0, 0x1 -_080492AA: - bl sub_804AA0C - ldr r0, _080492D4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x8 -_080492B6: - strb r1, [r0] -_080492B8: - movs r0, 0 - bl ResetBlockReceivedFlag -_080492BE: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080492CC - movs r0, 0x1 - bl ResetBlockReceivedFlag -_080492CC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080492D4: .4byte gUnknown_03004824 - thumb_func_end sub_80491E4 - - thumb_func_start sub_80492D8 -sub_80492D8: @ 80492D8 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08049334 @ =gUnknown_03004824 - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x84 - ldrb r0, [r1] - cmp r0, 0 - bne _080492EC - b _08049420 -_080492EC: - adds r0, r2, 0 - adds r0, 0x85 - ldrb r0, [r0] - cmp r0, 0 - bne _080492F8 - b _08049420 -_080492F8: - ldrh r1, [r1] - ldr r0, _08049338 @ =0x00000101 - cmp r1, r0 - bne _08049340 - adds r1, r2, 0 - adds r1, 0x7B - movs r0, 0x6 - strb r0, [r1] - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x8C - movs r4, 0 - ldr r0, _0804933C @ =0x0000dddd - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x41 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0x85 - strb r4, [r2] - adds r0, 0x84 - strb r4, [r0] - b _08049420 - .align 2, 0 -_08049334: .4byte gUnknown_03004824 -_08049338: .4byte 0x00000101 -_0804933C: .4byte 0x0000dddd -_08049340: - ldr r0, _08049388 @ =0x00000201 - cmp r1, r0 - bne _08049390 - movs r0, 0x1 - bl sub_804AA0C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x8C - movs r4, 0 - movs r3, 0 - ldr r0, _0804938C @ =0x0000eecc - strh r0, [r2] - adds r1, 0x8E - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x87 - strb r4, [r1] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x85 - strb r4, [r1] - adds r0, 0x84 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x7B - movs r1, 0x8 - b _0804941E - .align 2, 0 -_08049388: .4byte 0x00000201 -_0804938C: .4byte 0x0000eecc -_08049390: - movs r0, 0x81 - lsls r0, 1 - cmp r1, r0 - bne _080493DC - movs r0, 0x5 - bl sub_804AA0C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x8C - movs r4, 0 - movs r3, 0 - ldr r0, _080493D8 @ =0x0000ddee - strh r0, [r2] - adds r1, 0x8E - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x87 - strb r4, [r1] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x85 - strb r4, [r1] - adds r0, 0x84 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x7B - movs r1, 0x8 - b _0804941E - .align 2, 0 -_080493D8: .4byte 0x0000ddee -_080493DC: - ldr r0, _080494C0 @ =0x00000202 - cmp r1, r0 - bne _08049420 - adds r1, r2, 0 - adds r1, 0x8C - movs r5, 0 - movs r4, 0 - ldr r0, _080494C4 @ =0x0000eebb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x8E - strh r4, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x85 - strb r5, [r1] - adds r0, 0x84 - strb r5, [r0] - ldr r0, [r6] - adds r0, 0x7B - movs r1, 0xB -_0804941E: - strb r1, [r0] -_08049420: - ldr r5, _080494C8 @ =gUnknown_03004824 - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x86 - ldrb r0, [r1] - cmp r0, 0 - beq _080494B8 - adds r0, r3, 0 - adds r0, 0x87 - ldrb r0, [r0] - cmp r0, 0 - beq _080494B8 - ldrh r1, [r1] - ldr r0, _080494CC @ =0x00000101 - cmp r1, r0 - bne _0804946E - adds r1, r3, 0 - adds r1, 0x8C - movs r4, 0 - movs r2, 0 - ldr r0, _080494D0 @ =0x0000ccdd - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x8E - strh r2, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - movs r1, 0x9 - strb r1, [r0] -_0804946E: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x86 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08049484 - adds r0, r1, 0 - adds r0, 0x87 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080494B8 -_08049484: - movs r0, 0x1 - bl sub_804AA0C - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x8C - movs r4, 0 - movs r3, 0 - ldr r0, _080494D4 @ =0x0000ddee - strh r0, [r2] - adds r1, 0x8E - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r0, [r5] - adds r0, 0x86 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x87 - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - movs r1, 0x8 - strb r1, [r0] -_080494B8: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080494C0: .4byte 0x00000202 -_080494C4: .4byte 0x0000eebb -_080494C8: .4byte gUnknown_03004824 -_080494CC: .4byte 0x00000101 -_080494D0: .4byte 0x0000ccdd -_080494D4: .4byte 0x0000ddee - thumb_func_end sub_80492D8 - - thumb_func_start sub_80494D8 -sub_80494D8: @ 80494D8 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08049504 - cmp r4, 0 - bne _080494FA - movs r0, 0 - bl sub_80490BC - b _08049500 -_080494FA: - adds r0, r4, 0 - bl sub_80491E4 -_08049500: - bl ResetBlockReceivedFlags -_08049504: - cmp r4, 0 - bne _0804950C - bl sub_80492D8 -_0804950C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80494D8 - - thumb_func_start sub_8049514 -sub_8049514: @ 8049514 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - movs r5, 0 - ldr r2, _08049548 @ =gUnknown_03004824 - ldr r3, [r2] - ldr r4, _0804954C @ =gTradeNextSelectedMonTable - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r3, 0x44 - adds r2, r1 - adds r2, r4 -_0804953A: - ldrb r1, [r2] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08049550 - adds r6, r1, 0 - b _08049558 - .align 2, 0 -_08049548: .4byte gUnknown_03004824 -_0804954C: .4byte gTradeNextSelectedMonTable -_08049550: - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0x5 - ble _0804953A -_08049558: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8049514 - - thumb_func_start sub_8049560 -sub_8049560: @ 8049560 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r7] - bl sub_8049514 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xC - bne _080495B8 - ldr r5, _080495B0 @ =gUnknown_03004824 - ldr r0, [r5] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080495B4 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, [r5] - adds r2, 0x40 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xE0 - strh r1, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA0 - strh r1, [r0, 0x22] - b _08049600 - .align 2, 0 -_080495B0: .4byte gUnknown_03004824 -_080495B4: .4byte gSprites -_080495B8: - ldr r4, _08049614 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08049618 @ =gSprites - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - ldr r4, [r4] - adds r4, 0x40 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r2, _0804961C @ =gTradeMonSpriteCoords - lsls r3, r6, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x20 - strh r0, [r1, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r2, 0x1 - adds r3, r2 - ldrb r0, [r3] - lsls r0, 3 - strh r0, [r1, 0x22] -_08049600: - ldrb r0, [r7] - cmp r0, r6 - beq _0804960C - movs r0, 0x5 - bl PlaySE -_0804960C: - strb r6, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08049614: .4byte gUnknown_03004824 -_08049618: .4byte gSprites -_0804961C: .4byte gTradeMonSpriteCoords - thumb_func_end sub_8049560 - - thumb_func_start sub_8049620 -sub_8049620: @ 8049620 - push {r4,lr} - movs r0, 0 - bl sub_804AA0C - ldr r4, _08049668 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x5 - strb r1, [r0] - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08049670 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x8C - ldr r0, _0804966C @ =0x0000aabb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x41 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock - b _08049678 - .align 2, 0 -_08049668: .4byte gUnknown_03004824 -_0804966C: .4byte 0x0000aabb -_08049670: - ldr r0, [r4] - adds r0, 0x84 - movs r1, 0x1 - strb r1, [r0] -_08049678: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8049620 - - thumb_func_start sub_8049680 -sub_8049680: @ 8049680 - push {r4,lr} - sub sp, 0x8 - ldr r0, _080496A0 @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080496A8 - ldr r0, _080496A4 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0 - bl sub_8049560 - b _080496F4 - .align 2, 0 -_080496A0: .4byte gMain -_080496A4: .4byte gUnknown_03004824 -_080496A8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080496C4 - ldr r0, _080496C0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0x1 - bl sub_8049560 - b _080496F4 - .align 2, 0 -_080496C0: .4byte gUnknown_03004824 -_080496C4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080496E0 - ldr r0, _080496DC @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0x2 - bl sub_8049560 - b _080496F4 - .align 2, 0 -_080496DC: .4byte gUnknown_03004824 -_080496E0: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080496F4 - ldr r0, _08049750 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x41 - movs r1, 0x3 - bl sub_8049560 -_080496F4: - ldr r0, _08049754 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080497B6 - movs r0, 0x5 - bl PlaySE - ldr r4, _08049750 @ =gUnknown_03004824 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x41 - ldrb r1, [r1] - cmp r1, 0x5 - bhi _0804975C - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0x12 - movs r2, 0xE - movs r3, 0x1C - bl DrawTextWindow - ldr r3, _08049758 @ =gUnknown_0820C320 - movs r0, 0x13 - movs r1, 0xF - movs r2, 0x2 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x13 - movs r2, 0xF - movs r3, 0x2 - bl InitMenu - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x1 - strb r1, [r0] - b _080497B6 - .align 2, 0 -_08049750: .4byte gUnknown_03004824 -_08049754: .4byte gMain -_08049758: .4byte gUnknown_0820C320 -_0804975C: - cmp r1, 0xB - bhi _0804977A - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x2 - strb r1, [r0] - b _080497B6 -_0804977A: - cmp r1, 0xC - bne _080497B6 - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0x18 - movs r2, 0xE - movs r3, 0x1D - bl DrawTextWindow - movs r0, 0x18 - movs r1, 0xE - movs r2, 0x4 - bl InitYesNoMenu - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x4 - strb r1, [r0] - ldr r0, _080497F4 @ =gUnknown_0820C14C - ldr r0, [r0, 0x10] - ldr r1, [r4] - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _080497F8 @ =0x06010000 - adds r1, r2 - movs r2, 0x14 - bl sub_804ACD8 -_080497B6: - ldr r0, _080497FC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080497EC - movs r2, 0 - ldr r3, _08049800 @ =gUnknown_03004824 -_080497C8: - ldr r0, [r3] - lsls r1, r2, 1 - adds r0, 0x8C - adds r0, r1 - strh r2, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _080497C8 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08049800 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock -_080497EC: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080497F4: .4byte gUnknown_0820C14C -_080497F8: .4byte 0x06010000 -_080497FC: .4byte gMain -_08049800: .4byte gUnknown_03004824 - thumb_func_end sub_8049680 - - thumb_func_start sub_8049804 -sub_8049804: @ 8049804 - push {lr} - bl HandleDestroyMenuCursors - bl sub_804A80C - ldr r3, _08049850 @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x7B - movs r1, 0 - strb r1, [r0] - ldr r2, _08049854 @ =gSprites - ldr r0, [r3] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _08049858 @ =gUnknown_0820C14C - ldr r0, [r0, 0x4] - ldr r1, [r3] - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804985C @ =0x06010000 - adds r1, r2 - movs r2, 0x14 - bl sub_804ACD8 - pop {r0} - bx r0 - .align 2, 0 -_08049850: .4byte gUnknown_03004824 -_08049854: .4byte gSprites -_08049858: .4byte gUnknown_0820C14C -_0804985C: .4byte 0x06010000 - thumb_func_end sub_8049804 - - thumb_func_start sub_8049860 -sub_8049860: @ 8049860 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0804987C @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08049880 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08049890 - .align 2, 0 -_0804987C: .4byte gMain -_08049880: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804989C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08049890: - bl MoveMenuCursor - ldr r1, _080498D8 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_0804989C: - ldr r0, _080498DC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049938 - movs r0, 0x5 - bl PlaySE - bl GetMenuCursorPos - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080498E0 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080498D8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x2 - strb r1, [r0] - b _0804994A - .align 2, 0 -_080498D8: .4byte gUnknown_03004824 -_080498DC: .4byte gMain -_080498E0: - ldr r4, _08049910 @ =gUnknown_03004824 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x51 - adds r1, r2, 0 - adds r1, 0x42 - ldrb r1, [r1] - adds r2, 0x41 - ldrb r2, [r2] - bl sub_80499F0 - lsls r0, 24 - cmp r0, 0 - bne _08049914 - movs r0, 0x3 - movs r1, 0x2 - bl sub_804AADC - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x8 - strb r1, [r0] - b _0804994A - .align 2, 0 -_08049910: .4byte gUnknown_03004824 -_08049914: - bl sub_8049620 - ldr r2, _08049934 @ =gSprites - ldr r0, [r4] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0804994A - .align 2, 0 -_08049934: .4byte gSprites -_08049938: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804994A - movs r0, 0x5 - bl PlaySE - bl sub_8049804 -_0804994A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8049860 - - thumb_func_start sub_8049954 -sub_8049954: @ 8049954 - push {lr} - ldr r0, _08049978 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0804996A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08049974 -_0804996A: - movs r0, 0x5 - bl PlaySE - bl sub_8049804 -_08049974: - pop {r0} - bx r0 - .align 2, 0 -_08049978: .4byte gMain - thumb_func_end sub_8049954 - - thumb_func_start sub_804997C -sub_804997C: @ 804997C - push {r4,lr} - sub sp, 0x4 - ldr r0, _080499B4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080499E0 - ldr r0, _080499B8 @ =gUnknown_03004824 - ldr r2, [r0] - adds r3, r2, 0 - adds r3, 0x41 - ldrb r1, [r3] - cmp r1, 0x5 - bhi _080499C4 - ldr r0, _080499BC @ =gPlayerParty - ldrb r1, [r3] - adds r2, 0x42 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080499C0 @ =sub_80484F4 - movs r4, 0x4 - str r4, [sp] - bl ShowPokemonSummaryScreen - b _080499E0 - .align 2, 0 -_080499B4: .4byte gPaletteFade -_080499B8: .4byte gUnknown_03004824 -_080499BC: .4byte gPlayerParty -_080499C0: .4byte sub_80484F4 -_080499C4: - ldr r0, _080499E8 @ =gEnemyParty - subs r1, 0x6 - lsls r1, 24 - lsrs r1, 24 - adds r2, 0x43 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080499EC @ =sub_80484F4 - movs r4, 0x4 - str r4, [sp] - bl ShowPokemonSummaryScreen -_080499E0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080499E8: .4byte gEnemyParty -_080499EC: .4byte sub_80484F4 - thumb_func_end sub_804997C - - thumb_func_start sub_80499F0 -sub_80499F0: @ 80499F0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - movs r3, 0 - cmp r1, r4 - bge _08049A18 -_08049A04: - cmp r2, r3 - beq _08049A12 - adds r0, r5, r3 - ldrb r0, [r0] - adds r0, r1, r0 - lsls r0, 24 - lsrs r1, r0, 24 -_08049A12: - adds r3, 0x1 - cmp r3, r4 - blt _08049A04 -_08049A18: - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80499F0 - - thumb_func_start sub_8049A20 -sub_8049A20: @ 8049A20 - push {r4,r5,lr} - sub sp, 0xC - movs r2, 0 - ldr r0, _08049A80 @ =gUnknown_03004824 - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x42 - adds r5, r0, 0 - ldrb r0, [r3] - cmp r2, r0 - bge _08049A4C - adds r4, r1, 0 - adds r4, 0x51 -_08049A3A: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - ldrb r0, [r3] - cmp r2, r0 - blt _08049A3A -_08049A4C: - adds r4, r5, 0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x42 - ldrb r1, [r1] - adds r0, 0x41 - ldrb r2, [r0] - mov r0, sp - bl sub_80499F0 - lsls r0, 24 - cmp r0, 0 - bne _08049A88 - movs r0, 0x3 - movs r1, 0x2 - bl sub_804AADC - ldr r0, [r4] - adds r0, 0x8C - ldr r1, _08049A84 @ =0x0000bbcc - strh r1, [r0] - movs r0, 0xB4 - movs r1, 0 - bl sub_804AADC - b _08049AB4 - .align 2, 0 -_08049A80: .4byte gUnknown_03004824 -_08049A84: .4byte 0x0000bbcc -_08049A88: - movs r0, 0x3 - movs r1, 0x1 - bl sub_804AADC - ldr r0, [r5] - adds r0, 0x8C - ldr r1, _08049ABC @ =0x0000bbbb - strh r1, [r0] - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _08049AB4 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r5] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock -_08049AB4: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08049ABC: .4byte 0x0000bbbb - thumb_func_end sub_8049A20 - - thumb_func_start sub_8049AC0 -sub_8049AC0: @ 8049AC0 - push {r4,lr} - ldr r0, _08049ADC @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08049AE0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08049AF0 - .align 2, 0 -_08049ADC: .4byte gMain -_08049AE0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08049AFC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08049AF0: - bl MoveMenuCursor - ldr r1, _08049B20 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_08049AFC: - ldr r0, _08049B24 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049B64 - movs r0, 0x5 - bl PlaySE - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - bne _08049B28 - bl sub_8049A20 - b _08049B56 - .align 2, 0 -_08049B20: .4byte gUnknown_03004824 -_08049B24: .4byte gMain -_08049B28: - movs r0, 0x3 - movs r1, 0x1 - bl sub_804AADC - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _08049B56 - ldr r4, _08049B5C @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x8C - ldr r1, _08049B60 @ =0x0000bbcc - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock -_08049B56: - ldr r0, _08049B5C @ =gUnknown_03004824 - ldr r0, [r0] - b _08049BAA - .align 2, 0 -_08049B5C: .4byte gUnknown_03004824 -_08049B60: .4byte 0x0000bbcc -_08049B64: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08049BB0 - movs r0, 0x3 - movs r1, 0x1 - bl sub_804AADC - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - bne _08049B8C - movs r0, 0x1 - bl MoveMenuCursor - ldr r1, _08049BB8 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_08049B8C: - ldr r4, _08049BB8 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x8C - ldr r1, _08049BBC @ =0x0000bbcc - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] -_08049BAA: - adds r0, 0x7B - movs r1, 0x64 - strb r1, [r0] -_08049BB0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049BB8: .4byte gUnknown_03004824 -_08049BBC: .4byte 0x0000bbcc - thumb_func_end sub_8049AC0 - - thumb_func_start sub_8049BC0 -sub_8049BC0: @ 8049BC0 - push {r4,r5,lr} - ldr r0, _08049BDC @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08049BE0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08049BF0 - .align 2, 0 -_08049BDC: .4byte gMain -_08049BE0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08049BFC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08049BF0: - bl MoveMenuCursor - ldr r1, _08049C5C @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x7C - strb r0, [r1] -_08049BFC: - ldr r0, _08049C60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049C72 - movs r0, 0x5 - bl PlaySE - bl GetMenuCursorPos - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08049C6C - movs r0, 0x4 - bl sub_804AA0C - ldr r4, _08049C5C @ =gUnknown_03004824 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x8C - ldr r1, _08049C64 @ =0x0000eeaa - strh r1, [r2] - adds r0, 0x8E - strh r5, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804AADC - ldr r2, _08049C68 @ =gSprites - ldr r0, [r4] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x64 - strb r1, [r0] - b _08049C84 - .align 2, 0 -_08049C5C: .4byte gUnknown_03004824 -_08049C60: .4byte gMain -_08049C64: .4byte 0x0000eeaa -_08049C68: .4byte gSprites -_08049C6C: - bl sub_8049804 - b _08049C84 -_08049C72: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08049C84 - movs r0, 0x5 - bl PlaySE - bl sub_8049804 -_08049C84: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8049BC0 - - thumb_func_start sub_8049C8C -sub_8049C8C: @ 8049C8C - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08049CAE - ldr r4, _08049CC0 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x41 - ldrb r0, [r0] - bl sub_8049E9C - ldr r0, [r4] - adds r0, 0x8A - ldrb r0, [r0] - bl sub_8049E9C -_08049CAE: - ldr r0, _08049CC0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0x7 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049CC0: .4byte gUnknown_03004824 - thumb_func_end sub_8049C8C - - thumb_func_start sub_8049CC4 -sub_8049CC4: @ 8049CC4 - push {r4,lr} - ldr r4, _08049CE8 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x80 - ldrh r1, [r0] - ldr r0, _08049CEC @ =0x00000505 - cmp r1, r0 - bne _08049CE0 - bl sub_8049088 - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0xE - strb r1, [r0] -_08049CE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049CE8: .4byte gUnknown_03004824 -_08049CEC: .4byte 0x00000505 - thumb_func_end sub_8049CC4 - - thumb_func_start DisplayMessageAndContinueTask -DisplayMessageAndContinueTask: @ 8049CF0 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08049D40 @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xB4 - ldrb r0, [r0] - cmp r0, 0x78 - bls _08049D36 - adds r0, r1, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0x18 - movs r2, 0xE - movs r3, 0x1D - bl DrawTextWindow - movs r0, 0x18 - movs r1, 0xE - movs r2, 0x4 - bl InitYesNoMenu - ldr r0, [r4] - adds r0, 0xB4 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7B - movs r1, 0x3 - strb r1, [r0] -_08049D36: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049D40: .4byte gUnknown_03004824 - thumb_func_end DisplayMessageAndContinueTask - - thumb_func_start sub_8049D44 -sub_8049D44: @ 8049D44 - push {lr} - ldr r0, _08049D90 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08049D8A - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_804A840 - movs r0, 0x1 - bl sub_804A840 - ldr r2, _08049D94 @ =gUnknown_03004824 - ldr r0, [r2] - adds r0, 0x7B - movs r1, 0 - strb r1, [r0] - ldr r3, _08049D98 @ =gSprites - ldr r0, [r2] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08049D8A: - pop {r0} - bx r0 - .align 2, 0 -_08049D90: .4byte gMain -_08049D94: .4byte gUnknown_03004824 -_08049D98: .4byte gSprites - thumb_func_end sub_8049D44 - - thumb_func_start sub_8049D9C -sub_8049D9C: @ 8049D9C - push {lr} - ldr r0, _08049DBC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08049DB8 - bl sub_800832C - ldr r0, _08049DC0 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - movs r1, 0xC - strb r1, [r0] -_08049DB8: - pop {r0} - bx r0 - .align 2, 0 -_08049DBC: .4byte gPaletteFade -_08049DC0: .4byte gUnknown_03004824 - thumb_func_end sub_8049D9C - - thumb_func_start sub_8049DC4 -sub_8049DC4: @ 8049DC4 - push {lr} - ldr r0, _08049DD8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08049DD4 - ldr r0, _08049DDC @ =sub_805465C - bl SetMainCallback2 -_08049DD4: - pop {r0} - bx r0 - .align 2, 0 -_08049DD8: .4byte gReceivedRemoteLinkPlayers -_08049DDC: .4byte sub_805465C - thumb_func_end sub_8049DC4 - - thumb_func_start sub_8049DE0 -sub_8049DE0: @ 8049DE0 - push {lr} - ldr r0, _08049DF8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0xF - bhi _08049E98 - lsls r0, 2 - ldr r1, _08049DFC @ =_08049E00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08049DF8: .4byte gUnknown_03004824 -_08049DFC: .4byte _08049E00 - .align 2, 0 -_08049E00: - .4byte _08049E40 - .4byte _08049E46 - .4byte _08049E4C - .4byte _08049E52 - .4byte _08049E58 - .4byte _08049E98 - .4byte _08049E5E - .4byte _08049E64 - .4byte _08049E6A - .4byte _08049E70 - .4byte _08049E76 - .4byte _08049E7C - .4byte _08049E82 - .4byte _08049E88 - .4byte _08049E8E - .4byte _08049E94 -_08049E40: - bl sub_8049680 - b _08049E98 -_08049E46: - bl sub_8049860 - b _08049E98 -_08049E4C: - bl sub_804997C - b _08049E98 -_08049E52: - bl sub_8049AC0 - b _08049E98 -_08049E58: - bl sub_8049BC0 - b _08049E98 -_08049E5E: - bl sub_8049C8C - b _08049E98 -_08049E64: - bl sub_8049CC4 - b _08049E98 -_08049E6A: - bl sub_8049D44 - b _08049E98 -_08049E70: - bl sub_8048A14 - b _08049E98 -_08049E76: - bl sub_8048A50 - b _08049E98 -_08049E7C: - bl sub_8049D9C - b _08049E98 -_08049E82: - bl sub_8049DC4 - b _08049E98 -_08049E88: - bl sub_8048A90 - b _08049E98 -_08049E8E: - bl DisplayMessageAndContinueTask - b _08049E98 -_08049E94: - bl sub_8049954 -_08049E98: - pop {r0} - bx r0 - thumb_func_end sub_8049DE0 - - thumb_func_start sub_8049E9C -sub_8049E9C: @ 8049E9C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, _08049ED0 @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x80 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _08049EC8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x82 - adds r0, r2 - strb r4, [r0] -_08049EC8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08049ED0: .4byte gUnknown_03004824 - thumb_func_end sub_8049E9C - - thumb_func_start sub_8049ED4 -sub_8049ED4: @ 8049ED4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x74 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08049F24 @ =gUnknown_03004824 - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x82 - add r0, r10 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp, 0x6C] - cmp r0, 0x5 - bhi _08049EFE - movs r2, 0 - str r2, [sp, 0x6C] -_08049EFE: - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r5, 0 - adds r0, 0x80 - mov r1, r10 - adds r3, r0, r1 - ldrb r0, [r3] - cmp r0, 0x2 - bne _08049F1A - b _0804A0AC -_08049F1A: - cmp r0, 0x2 - bgt _08049F28 - cmp r0, 0x1 - beq _08049F36 - b _0804A294 - .align 2, 0 -_08049F24: .4byte gUnknown_03004824 -_08049F28: - cmp r0, 0x3 - bne _08049F2E - b _0804A0E4 -_08049F2E: - cmp r0, 0x4 - bne _08049F34 - b _0804A244 -_08049F34: - b _0804A294 -_08049F36: - movs r4, 0 - adds r0, r5, 0 - adds r0, 0x42 - add r0, r10 - ldr r7, _0804A094 @ =gSprites - ldr r2, [sp, 0x6C] - lsls r2, 1 - mov r9, r2 - ldr r3, _0804A098 @ =gTradeMonSpriteCoords - mov r12, r3 - mov r5, r10 - lsls r5, 4 - str r5, [sp, 0x70] - ldrb r0, [r0] - cmp r4, r0 - bcs _08049F8E - adds r6, r7, 0 - ldr r2, _0804A09C @ =gUnknown_03004824 - ldr r0, [sp, 0x6C] - add r0, r9 - lsls r3, r0, 1 - movs r5, 0x4 -_08049F62: - ldr r0, [r2] - adds r1, r4, r3 - adds r0, 0x34 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r5 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r2] - adds r0, 0x42 - add r0, r10 - ldrb r0, [r0] - cmp r4, r0 - bcc _08049F62 -_08049F8E: - ldr r1, _0804A09C @ =gUnknown_03004824 - ldr r0, [r1] - ldr r5, [sp, 0x6C] - add r5, r9 - lsls r3, r5, 1 - mov r2, r8 - adds r6, r2, r3 - adds r0, 0x34 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _0804A09C @ =gUnknown_03004824 - ldr r4, [r0] - adds r4, 0x34 - adds r4, r6 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - lsls r5, 2 - mov r1, r12 - adds r0, r5, r1 - ldrb r0, [r0] - adds r3, 0x1 - lsls r3, 1 - add r3, r12 - ldrb r1, [r3] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - mov r0, r12 - adds r0, 0x1 - adds r5, r0 - ldrb r0, [r5] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, _0804A0A0 @ =sub_809D62C - bl oamt_set_x3A_32 - ldr r2, _0804A09C @ =gUnknown_03004824 - ldr r1, [r2] - adds r1, 0x80 - add r1, r10 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x34 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - bl sub_8078A34 - bl HandleDestroyMenuCursors - ldr r3, _0804A09C @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x4 - ldr r1, _0804A0A4 @ =gUnknown_0820C330 - mov r5, r9 - adds r2, r5, r1 - ldrb r2, [r2] - adds r1, 0x1 - add r1, r9 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r1, _0804A09C @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0xC8 - ldr r2, [sp, 0x70] - mov r3, r10 - subs r1, r2, r3 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0804A0A8 @ =gTradePartyBoxTilemap - movs r2, 0xF - str r2, [sp] - movs r2, 0x11 - str r2, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r2, 0 - bl sub_804A96C_alt - ldr r0, [sp, 0x6C] - cmp r0, 0 - beq _0804A08C - b _0804A294 -_0804A08C: - bl sub_804A80C - b _0804A294 - .align 2, 0 -_0804A094: .4byte gSprites -_0804A098: .4byte gTradeMonSpriteCoords -_0804A09C: .4byte gUnknown_03004824 -_0804A0A0: .4byte sub_809D62C -_0804A0A4: .4byte gUnknown_0820C330 -_0804A0A8: .4byte gTradePartyBoxTilemap -_0804A0AC: - ldr r2, _0804A0DC @ =gSprites - ldr r1, [sp, 0x6C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r8 - adds r1, r5, 0 - adds r1, 0x34 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0804A0E0 @ =sub_809D62C - cmp r1, r0 - beq _0804A0D4 - b _0804A294 -_0804A0D4: - movs r0, 0x3 - strb r0, [r3] - b _0804A294 - .align 2, 0 -_0804A0DC: .4byte gSprites -_0804A0E0: .4byte sub_809D62C -_0804A0E4: - adds r0, r5, 0 - adds r0, 0xC8 - ldr r2, [sp, 0x6C] - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0804A228 @ =gTradeMovesBoxTilemap - movs r2, 0xF - str r2, [sp] - movs r7, 0x11 - str r7, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r2, 0 - bl sub_804A96C_alt - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r3, [r0] - ldr r1, [sp, 0x6C] - lsls r6, r1, 1 - adds r1, r6 - mov r9, r1 - lsls r1, 1 - mov r2, r8 - adds r0, r2, r1 - adds r3, 0x34 - adds r3, r0 - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r5, _0804A230 @ =gSprites - adds r2, r5 - ldr r4, _0804A234 @ =gTradeMonSpriteCoords - mov r0, r9 - lsls r5, r0, 2 - adds r0, r5, r4 - ldrb r0, [r0] - adds r1, 0x1 - lsls r1, 1 - adds r1, r4 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x20] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, _0804A230 @ =gSprites - adds r1, r2 - adds r4, 0x1 - adds r5, r4 - ldrb r0, [r5] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r5, 0 - strh r5, [r0, 0x24] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x26] - mov r0, sp - adds r0, 0x12 - ldr r1, [sp, 0x6C] - mov r2, r8 - bl sub_804A2B4 - add r1, sp, 0xC - movs r3, 0xFC - strb r3, [r1] - adds r2, r1, 0 - movs r1, 0x6 - strb r1, [r2, 0x1] - movs r1, 0x4 - strb r1, [r2, 0x2] - adds r1, r2, 0 - strb r3, [r1, 0x3] - strb r7, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x40 - subs r1, r0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - strb r1, [r2, 0x5] - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0x4 - adds r1, 0x7A - ldrb r2, [r1] - mov r1, r9 - lsls r1, 6 - mov r9, r1 - add r2, r9 - ldr r4, _0804A238 @ =gUnknown_0820C334 - ldr r3, [sp, 0x6C] - lsls r1, r3, 2 - adds r3, r1, r4 - ldrb r3, [r3] - ldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1 - adds r1, r5 - ldrb r1, [r1] - str r1, [sp] - add r1, sp, 0xC - bl sub_8003460 - add r7, sp, 0x34 - adds r0, r7, 0 - ldr r1, [sp, 0x6C] - mov r2, r8 - bl sub_804A33C - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r2, [r0] - adds r0, r2, 0x4 - ldr r1, _0804A240 @ =gOtherText_Terminator2 - adds r2, 0x7A - ldrb r2, [r2] - add r2, r9 - adds r2, 0x20 - adds r6, 0x1 - lsls r6, 1 - adds r4, r6, r4 - ldrb r5, [r4] - ldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1 - adds r6, r3 - ldrb r4, [r6] - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - adds r3, r5, 0 - bl sub_8003460 - ldr r0, _0804A22C @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r1, 0x4 - adds r1, 0x7A - ldrb r2, [r1] - add r2, r9 - adds r2, 0x26 - str r4, [sp] - adds r1, r7, 0 - adds r3, r5, 0 - bl sub_8003460 - ldr r2, _0804A22C @ =gUnknown_03004824 - ldr r1, [r2] - b _0804A28A - .align 2, 0 -_0804A228: .4byte gTradeMovesBoxTilemap -_0804A22C: .4byte gUnknown_03004824 -_0804A230: .4byte gSprites -_0804A234: .4byte gTradeMonSpriteCoords -_0804A238: .4byte gUnknown_0820C334 -_0804A23C: .4byte gUnknown_0820C334 + 0x1 -_0804A240: .4byte gOtherText_Terminator2 -_0804A244: - ldr r0, _0804A2A4 @ =gUnknown_0820C14C - ldr r0, [r0, 0x14] - adds r1, r5, 0 - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r3, _0804A2A8 @ =0x06010000 - adds r1, r3 - movs r2, 0x14 - bl sub_804ACD8 - ldr r0, _0804A2AC @ =gUnknown_0820C3D1 - mov r5, r10 - lsls r1, r5, 1 - adds r4, r1, r0 - ldrb r2, [r4] - adds r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x1 - adds r1, r0 - ldrb r3, [r1] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r1] - str r0, [sp, 0x4] - mov r0, r10 - mov r1, r8 - bl sub_804A51C - ldr r0, _0804A2B0 @ =gUnknown_03004824 - ldr r1, [r0] -_0804A28A: - adds r1, 0x80 - add r1, r10 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804A294: - add sp, 0x74 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A2A4: .4byte gUnknown_0820C14C -_0804A2A8: .4byte 0x06010000 -_0804A2AC: .4byte gUnknown_0820C3D1 -_0804A2B0: .4byte gUnknown_03004824 - thumb_func_end sub_8049ED4 - - thumb_func_start sub_804A2B4 -sub_804A2B4: @ 804A2B4 - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - bne _0804A2F4 - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _0804A2F0 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r4, 0 - bl GetMonGender - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - b _0804A31E - .align 2, 0 -_0804A2F0: .4byte gPlayerParty -_0804A2F4: - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _0804A334 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r4, 0 - bl GetMonGender - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData -_0804A31E: - ldr r0, _0804A338 @ =gWindowConfig_81E7294 - adds r1, r5, 0 - bl GetStringWidthGivenWindowConfig - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0804A334: .4byte gEnemyParty -_0804A338: .4byte gWindowConfig_81E7294 - thumb_func_end sub_804A2B4 - - thumb_func_start sub_804A33C -sub_804A33C: @ 804A33C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0804A384 @ =gUnknown_03004824 - ldr r1, [r0] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 1 - adds r0, r2, r0 - adds r1, 0x5D - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0804A3F4 - movs r4, 0 - movs r0, 0x64 - adds r5, r2, 0 - muls r5, r0 - ldr r0, _0804A388 @ =gPlayerParty - mov r9, r0 - ldr r2, _0804A38C @ =gEnemyParty - mov r8, r2 -_0804A376: - cmp r7, 0 - bne _0804A390 - adds r1, r4, 0 - adds r1, 0xD - mov r2, r9 - b _0804A396 - .align 2, 0 -_0804A384: .4byte gUnknown_03004824 -_0804A388: .4byte gPlayerParty -_0804A38C: .4byte gEnemyParty -_0804A390: - adds r1, r4, 0 - adds r1, 0xD - mov r2, r8 -_0804A396: - adds r0, r5, r2 - movs r2, 0 - bl GetMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0804A376 - ldr r1, _0804A3E8 @ =gOtherText_Terminator - adds r0, r6, 0 - bl StringCopy - movs r4, 0 -_0804A3B8: - lsls r0, r4, 1 - mov r2, sp - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0804A3D4 - adds r1, r0, 0 - movs r0, 0xD - muls r1, r0 - ldr r0, _0804A3EC @ =gMoveNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend -_0804A3D4: - adds r0, r6, 0 - ldr r1, _0804A3F0 @ =gOtherText_ControlAndMiscText - bl StringAppend - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0804A3B8 - b _0804A404 - .align 2, 0 -_0804A3E8: .4byte gOtherText_Terminator -_0804A3EC: .4byte gMoveNames -_0804A3F0: .4byte gOtherText_ControlAndMiscText -_0804A3F4: - ldr r1, _0804A414 @ =gOtherText_Terminator - adds r0, r6, 0 - bl StringCopy - ldr r1, _0804A418 @ =gOtherText_FourQuestions - adds r0, r6, 0 - bl StringAppend -_0804A404: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A414: .4byte gOtherText_Terminator -_0804A418: .4byte gOtherText_FourQuestions - thumb_func_end sub_804A33C - - thumb_func_start sub_804A41C -sub_804A41C: @ 804A41C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x44 - lsls r0, 24 - lsrs r5, r0, 24 - add r3, sp, 0x1C - movs r2, 0 - movs r1, 0xFC - strb r1, [r3] - movs r0, 0x6 - strb r0, [r3, 0x1] - movs r0, 0x4 - strb r0, [r3, 0x2] - strb r1, [r3, 0x3] - movs r0, 0x11 - strb r0, [r3, 0x4] - strb r2, [r3, 0x5] - movs r6, 0 - ldr r1, _0804A470 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - adds r0, r5 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804A504 - mov r8, r3 - adds r7, r1, 0 - ldr r0, _0804A474 @ =gTradeMonSpriteCoords - mov r9, r0 - movs r4, 0x1 - add r4, r9 - mov r10, r4 -_0804A462: - cmp r5, 0 - bne _0804A47C - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804A478 @ =gPlayerParty - b _0804A484 - .align 2, 0 -_0804A470: .4byte gUnknown_03004824 -_0804A474: .4byte gTradeMonSpriteCoords -_0804A478: .4byte gPlayerParty -_0804A47C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804A514 @ =gEnemyParty -_0804A484: - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0x4 - bl GetMonData - mov r0, sp - adds r0, 0x22 - add r1, sp, 0x4 - bl StringCopy10 - adds r0, r4, 0 - bl GetMonGender - mov r1, sp - adds r1, 0x22 - ldr r0, _0804A518 @ =gWindowConfig_81E7294 - bl GetStringWidthGivenWindowConfig - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x32 - subs r1, r0 - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r1, [r7] - adds r0, r1, 0x4 - adds r1, 0x7A - lsls r2, r5, 5 - adds r2, r5 - lsls r2, 2 - ldrb r1, [r1] - adds r2, r1 - movs r1, 0x16 - muls r1, r6 - adds r2, r1 - lsls r2, 16 - lsrs r2, 16 - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 1 - adds r1, r6, r1 - lsls r1, 1 - mov r4, r9 - adds r3, r1, r4 - ldrb r3, [r3] - add r1, r10 - ldrb r1, [r1] - str r1, [sp] - mov r1, r8 - bl sub_8003460 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - adds r0, 0x42 - adds r0, r5 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804A462 -_0804A504: - add sp, 0x44 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A514: .4byte gEnemyParty -_0804A518: .4byte gWindowConfig_81E7294 - thumb_func_end sub_804A41C - - thumb_func_start sub_804A51C -sub_804A51C: @ 804A51C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - ldr r4, [sp, 0x48] - ldr r5, [sp, 0x4C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x24] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0804A59C @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xC8 - ldr r3, _0804A5A0 @ =gTradeMonBoxTilemap - movs r1, 0x6 - str r1, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_804A96C - mov r0, r8 - cmp r0, 0 - bne _0804A5A8 - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _0804A5A4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData - b _0804A5D4 - .align 2, 0 -_0804A59C: .4byte gUnknown_03004824 -_0804A5A0: .4byte gTradeMonBoxTilemap -_0804A5A4: .4byte gPlayerParty -_0804A5A8: - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _0804A65C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData -_0804A5D4: - ldr r1, _0804A660 @ =gUnknown_03004824 - ldr r5, [r1] - mov r3, r8 - lsls r0, r3, 1 - add r0, r8 - lsls r0, 1 - add r0, r9 - adds r1, r5, 0 - adds r1, 0x5D - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0804A690 - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [sp, 0x24] - lsls r2, r0, 5 - cmp r4, 0 - beq _0804A614 - mov r1, r10 - adds r0, r1, r2 - lsls r0, 1 - adds r1, r5, 0 - adds r1, 0xDA - adds r1, r0 - adds r0, r4, 0 - adds r0, 0x60 - strh r0, [r1] -_0804A614: - ldr r3, _0804A660 @ =gUnknown_03004824 - ldr r4, [r3] - mov r0, r10 - adds r5, r0, r2 - adds r0, r5, 0x1 - lsls r0, 1 - adds r4, 0xDA - adds r4, r0 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x70 - strh r0, [r4] - cmp r7, 0 - bne _0804A664 - add r0, sp, 0xC - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _0804A6CC - ldr r3, _0804A660 @ =gUnknown_03004824 - ldr r1, [r3] - adds r0, r5, 0 - subs r0, 0x1F - lsls r0, 1 - adds r1, 0xDA - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - b _0804A6CA - .align 2, 0 -_0804A65C: .4byte gEnemyParty -_0804A660: .4byte gUnknown_03004824 -_0804A664: - cmp r7, 0xFE - bne _0804A6CC - add r0, sp, 0xC - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _0804A6CC - ldr r0, _0804A68C @ =gUnknown_03004824 - ldr r1, [r0] - adds r0, r5, 0 - subs r0, 0x1F - lsls r0, 1 - adds r1, 0xDA - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x2 - b _0804A6CA - .align 2, 0 -_0804A68C: .4byte gUnknown_03004824 -_0804A690: - ldr r1, [sp, 0x24] - lsls r0, r1, 5 - mov r1, r10 - adds r3, r1, r0 - adds r1, r3, 0 - subs r1, 0x20 - lsls r1, 1 - adds r2, r5, 0 - adds r2, 0xDA - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x21 - lsls r0, 1 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, 0 - subs r1, 0x1F - lsls r1, 1 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x24 - lsls r0, 1 - adds r2, r0 - ldrh r2, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - orrs r0, r2 -_0804A6CA: - strh r0, [r1] -_0804A6CC: -.ifdef GERMAN - ldr r0, _0804A6E8 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xD8 - movs r1, 0x1 - strb r1, [r0] -.endif - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 -.ifdef GERMAN - .align 2, 0 -_0804A6E8: .4byte gUnknown_03004824 -.endif - thumb_func_end sub_804A51C - - thumb_func_start sub_804A6DC -sub_804A6DC: @ 804A6DC - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, _0804A734 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x42 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - bge _0804A72C - lsls r0, r6, 1 - adds r0, r6 - ldr r1, _0804A738 @ =gTradeLevelDisplayCoords - lsls r0, 2 - adds r5, r0, r1 - ldr r1, _0804A73C @ =gTradeMonBoxCoords - adds r4, r0, r1 -_0804A702: - lsls r1, r7, 24 - lsrs r1, 24 - ldrb r2, [r5] - ldrb r3, [r5, 0x1] - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r4, 0x1] - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_804A51C - adds r5, 0x2 - adds r4, 0x2 - adds r7, 0x1 - ldr r0, _0804A734 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x42 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - blt _0804A702 -_0804A72C: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A734: .4byte gUnknown_03004824 -_0804A738: .4byte gTradeLevelDisplayCoords -_0804A73C: .4byte gTradeMonBoxCoords - thumb_func_end sub_804A6DC - - thumb_func_start sub_804A740 -sub_804A740: @ 804A740 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r7, 0 - ldr r3, _0804A800 @ =gUnknown_03004824 - ldr r0, [r3] - adds r0, 0x42 - add r0, r12 - ldrb r0, [r0] - cmp r7, r0 - bge _0804A7F2 - ldr r6, _0804A804 @ =gSprites - mov r9, r3 - mov r1, r12 - lsls r0, r1, 1 - add r0, r12 - lsls r2, r0, 1 - mov r10, r2 - ldr r1, _0804A808 @ =gTradeMonSpriteCoords - movs r2, 0 - mov r8, r2 - lsls r0, 2 - adds r5, r0, r1 -_0804A778: - mov r1, r9 - ldr r0, [r1] - mov r2, r10 - adds r4, r7, r2 - adds r0, 0x34 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - mov r0, r9 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x34 - adds r2, r4 - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5] - lsls r0, 3 - adds r0, 0xE - strh r0, [r1, 0x20] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5, 0x1] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - adds r5, 0x2 - adds r7, 0x1 - adds r3, 0x42 - add r3, r12 - ldrb r3, [r3] - cmp r7, r3 - blt _0804A778 -_0804A7F2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804A800: .4byte gUnknown_03004824 -_0804A804: .4byte gSprites -_0804A808: .4byte gTradeMonSpriteCoords - thumb_func_end sub_804A740 - - thumb_func_start sub_804A80C -sub_804A80C: @ 804A80C - push {lr} - sub sp, 0x8 - ldr r0, _0804A838 @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0x4 - ldr r1, _0804A83C @ =gUnknown_0820C330 - ldrb r2, [r1, 0x2] - ldrb r1, [r1, 0x3] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - movs r0, 0x1 - bl sub_804A41C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0804A838: .4byte gUnknown_03004824 -_0804A83C: .4byte gUnknown_0820C330 - thumb_func_end sub_804A80C - - thumb_func_start sub_804A840 -sub_804A840: @ 804A840 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0804A8A8 - ldr r4, _0804A89C @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x4 - ldr r1, _0804A8A0 @ =gUnknown_0820C330 - ldrb r2, [r1] - ldrb r1, [r1, 0x1] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r0, [r4] - adds r0, 0xC8 - ldr r3, _0804A8A4 @ =gTradePartyBoxTilemap - movs r1, 0xF - str r1, [sp] - movs r1, 0x11 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_804A96C_alt - movs r0, 0 - bl sub_804A6DC - movs r0, 0 - bl sub_804A41C - movs r0, 0 - bl sub_804A740 - ldr r0, [r4] - adds r0, 0xC8 - bl sub_804A938 - b _0804A8FA - .align 2, 0 -_0804A89C: .4byte gUnknown_03004824 -_0804A8A0: .4byte gUnknown_0820C330 -_0804A8A4: .4byte gTradePartyBoxTilemap -_0804A8A8: - bl HandleDestroyMenuCursors - ldr r4, _0804A924 @ =gUnknown_03004824 - ldr r0, [r4] - adds r0, 0x4 - ldr r1, _0804A928 @ =gUnknown_0820C330 - ldrb r2, [r1, 0x2] - ldrb r1, [r1, 0x3] - str r1, [sp] - movs r1, 0x13 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r0, [r4] - adds r0, 0xC8 - ldr r3, _0804A92C @ =gTradePartyBoxTilemap - movs r1, 0xF - str r1, [sp] - movs r1, 0x11 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0xF - movs r2, 0 - bl sub_804A96C_alt - movs r0, 0x1 - bl sub_804A6DC - movs r0, 0x1 - bl sub_804A41C - movs r0, 0x1 - bl sub_804A740 - ldr r0, [r4] - adds r0, 0xC8 - bl sub_804A938 -_0804A8FA: - ldr r0, _0804A930 @ =gUnknown_0820C14C - ldr r0, [r0, 0x4] - ldr r4, _0804A924 @ =gUnknown_03004824 - ldr r1, [r4] - adds r1, 0x7E - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804A934 @ =0x06010000 - adds r1, r2 - movs r2, 0x14 - bl sub_804ACD8 - ldr r0, [r4] - adds r0, 0x80 - adds r0, r5 - movs r1, 0 - strb r1, [r0] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804A924: .4byte gUnknown_03004824 -_0804A928: .4byte gUnknown_0820C330 -_0804A92C: .4byte gTradePartyBoxTilemap -_0804A930: .4byte gUnknown_0820C14C -_0804A934: .4byte 0x06010000 - thumb_func_end sub_804A840 - - thumb_func_start sub_804A938 -sub_804A938: @ 804A938 - movs r1, 0x1 - strb r1, [r0, 0x10] - bx lr - thumb_func_end sub_804A938 - - thumb_func_start sub_804A940 -sub_804A940: @ 804A940 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x10] - cmp r0, 0 - beq _0804A95C - adds r0, r4, 0 - adds r0, 0x12 - ldr r1, [r4, 0x8] - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - movs r0, 0 - strb r0, [r4, 0x10] -_0804A95C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804A940 - - thumb_func_start sub_804A964 -sub_804A964: @ 804A964 - movs r2, 0 - strb r2, [r0, 0x10] - str r1, [r0, 0x8] - bx lr - thumb_func_end sub_804A964 - -.section .text.sub_804A9F4 - - thumb_func_start sub_804A9F4 -sub_804A9F4: @ 804A9F4 - push {lr} - bl MenuZeroFillScreen - pop {r0} - bx r0 - thumb_func_end sub_804A9F4 - - thumb_func_start sub_804AA00 -sub_804AA00: @ 804AA00 - push {lr} - bl MenuZeroFillScreen - pop {r0} - bx r0 - thumb_func_end sub_804AA00 - - thumb_func_start sub_804AA0C -sub_804AA0C: @ 804AA0C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - ldr r0, _0804AA7C @ =gUnknown_03004824 - mov r8, r0 - ldr r0, [r0] - adds r0, 0x4 - ldr r2, _0804AA80 @ =gTradeMessageWindowRects - lsrs r4, 22 - adds r1, r4, r2 - ldrb r6, [r1] - adds r1, r2, 0x1 - adds r1, r4, r1 - ldrb r5, [r1] - adds r1, r2, 0x2 - adds r1, r4, r1 - ldrb r3, [r1] - adds r2, 0x3 - adds r2, r4, r2 - ldrb r1, [r2] - str r1, [sp] - adds r1, r6, 0 - adds r2, r5, 0 - bl DrawTextWindow - mov r1, r8 - ldr r3, [r1] - adds r0, r3, 0x4 - ldr r1, _0804AA84 @ =gUnknown_0820C2F0 - adds r4, r1 - ldr r1, [r4] - adds r3, 0x7A - movs r4, 0xC0 - lsls r4, 1 - adds r2, r4, 0 - ldrb r3, [r3] - adds r2, r3 - adds r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - str r5, [sp] - adds r3, r6, 0 - bl sub_8003460 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804AA7C: .4byte gUnknown_03004824 -_0804AA80: .4byte gTradeMessageWindowRects -_0804AA84: .4byte gUnknown_0820C2F0 - thumb_func_end sub_804AA0C - - thumb_func_start sub_804AA88 -sub_804AA88: @ 804AA88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r3, 0 - ldr r5, _0804AAD0 @ =gUnknown_03004824 - ldr r0, _0804AAD4 @ =0x000008dc - mov r8, r0 - movs r4, 0 - ldr r2, _0804AAD8 @ =0x000008de - mov r12, r2 - movs r7, 0x8E - lsls r7, 4 - movs r6, 0xFF -_0804AAA2: - ldr r0, [r5] - lsls r2, r3, 3 - adds r0, r2 - add r0, r8 - strb r4, [r0] - ldr r1, [r5] - adds r1, r2 - mov r2, r12 - adds r0, r1, r2 - strh r4, [r0] - adds r1, r7 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0x3 - ble _0804AAA2 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AAD0: .4byte gUnknown_03004824 -_0804AAD4: .4byte 0x000008dc -_0804AAD8: .4byte 0x000008de - thumb_func_end sub_804AA88 - - thumb_func_start sub_804AADC -sub_804AADC: @ 804AADC - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - movs r3, 0 - ldr r4, _0804AB18 @ =gUnknown_03004824 - mov r12, r4 - ldr r7, _0804AB1C @ =0x000008dc -_0804AAEE: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 3 - adds r2, r0, r1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r0, 0 - bne _0804AB24 - ldr r3, _0804AB20 @ =0x000008de - adds r0, r2, r3 - strh r5, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strb r6, [r0] - ldr r0, [r4] - adds r0, r1 - ldr r1, _0804AB1C @ =0x000008dc - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0804AB2A - .align 2, 0 -_0804AB18: .4byte gUnknown_03004824 -_0804AB1C: .4byte 0x000008dc -_0804AB20: .4byte 0x000008de -_0804AB24: - adds r3, 0x1 - cmp r3, 0x3 - ble _0804AAEE -_0804AB2A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804AADC - - thumb_func_start sub_804AB30 -sub_804AB30: @ 804AB30 - push {r4,r5,lr} - movs r4, 0 - ldr r3, _0804AB58 @ =gUnknown_03004824 -_0804AB36: - ldr r0, [r3] - lsls r1, r4, 3 - adds r2, r0, r1 - ldr r5, _0804AB5C @ =0x000008dc - adds r0, r2, r5 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _0804ABE2 - ldr r0, _0804AB60 @ =0x000008de - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0804AB64 - subs r0, 0x1 - strh r0, [r1] - b _0804ABE2 - .align 2, 0 -_0804AB58: .4byte gUnknown_03004824 -_0804AB5C: .4byte 0x000008dc -_0804AB60: .4byte 0x000008de -_0804AB64: - movs r1, 0x8E - lsls r1, 4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0804ABD2 - lsls r0, 2 - ldr r1, _0804AB7C @ =_0804AB80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804AB7C: .4byte _0804AB80 - .align 2, 0 -_0804AB80: - .4byte _0804AB98 - .4byte _0804ABB4 - .4byte _0804ABBC - .4byte _0804ABC4 - .4byte _0804ABC4 - .4byte _0804ABCC -_0804AB98: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0804ABB0 @ =gUnknown_03004824 - ldr r1, [r1] - adds r1, 0x8C - movs r2, 0x14 - bl SendBlock - b _0804ABD2 - .align 2, 0 -_0804ABB0: .4byte gUnknown_03004824 -_0804ABB4: - movs r0, 0 - bl sub_804AA0C - b _0804ABD2 -_0804ABBC: - movs r0, 0x2 - bl sub_804AA0C - b _0804ABD2 -_0804ABC4: - movs r0, 0x3 - bl sub_804AA0C - b _0804ABD2 -_0804ABCC: - movs r0, 0x3 - bl sub_804AA0C -_0804ABD2: - ldr r0, _0804ABF0 @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, r5 - ldr r2, _0804ABF4 @ =0x000008dc - adds r1, r2 - movs r2, 0 - strb r2, [r1] - adds r3, r0, 0 -_0804ABE2: - adds r4, 0x1 - cmp r4, 0x3 - ble _0804AB36 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804ABF0: .4byte gUnknown_03004824 -_0804ABF4: .4byte 0x000008dc - thumb_func_end sub_804AB30 - - thumb_func_start sub_804ABF8 -sub_804ABF8: @ 804ABF8 - push {r4,lr} - ldr r0, _0804AC14 @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, 0xB4 - ldrb r1, [r1] - subs r1, 0x8 - adds r4, r0, 0 - cmp r1, 0x8 - bhi _0804ACB0 - lsls r0, r1, 2 - ldr r1, _0804AC18 @ =_0804AC1C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804AC14: .4byte gUnknown_03004824 -_0804AC18: .4byte _0804AC1C - .align 2, 0 -_0804AC1C: - .4byte _0804AC40 - .4byte _0804ACB0 - .4byte _0804ACB0 - .4byte _0804ACB0 - .4byte _0804ACB0 - .4byte _0804AC60 - .4byte _0804AC74 - .4byte _0804AC88 - .4byte _0804AC9A -_0804AC40: - ldr r0, [r4] - adds r0, 0xB4 - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _0804AC5C @ =gUnknown_0820C07C - adds r0, r1 - bl LoadSpriteSheet - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x7E - strh r0, [r2] - b _0804ACC2 - .align 2, 0 -_0804AC5C: .4byte gUnknown_0820C07C -_0804AC60: - ldr r0, _0804AC6C @ =gSpritePalette_TradeScreenText - bl LoadSpritePalette - ldr r0, _0804AC70 @ =gUnknown_03004824 - ldr r1, [r0] - b _0804ACC2 - .align 2, 0 -_0804AC6C: .4byte gSpritePalette_TradeScreenText -_0804AC70: .4byte gUnknown_03004824 -_0804AC74: - ldr r0, _0804AC80 @ =gUnknown_0820C12C - bl LoadSpritePalette - ldr r0, _0804AC84 @ =gUnknown_03004824 - ldr r1, [r0] - b _0804ACC2 - .align 2, 0 -_0804AC80: .4byte gUnknown_0820C12C -_0804AC84: .4byte gUnknown_03004824 -_0804AC88: - ldr r0, _0804ACA8 @ =gUnknown_0820C124 - bl LoadSpriteSheet - ldr r0, _0804ACAC @ =gUnknown_03004824 - ldr r1, [r0] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804AC9A: - ldr r0, _0804ACAC @ =gUnknown_03004824 - ldr r0, [r0] - adds r0, 0xB4 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0804ACCC - .align 2, 0 -_0804ACA8: .4byte gUnknown_0820C124 -_0804ACAC: .4byte gUnknown_03004824 -_0804ACB0: - ldr r0, [r4] - adds r0, 0xB4 - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _0804ACD4 @ =gUnknown_0820C07C - adds r0, r1 - bl LoadSpriteSheet - ldr r1, [r4] -_0804ACC2: - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_0804ACCC: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0804ACD4: .4byte gUnknown_0820C07C - thumb_func_end sub_804ABF8 - - thumb_func_start sub_804ACD8 -sub_804ACD8: @ 804ACD8 - push {r4,lr} - adds r4, r0, 0 - lsls r3, r2, 24 - lsrs r3, 24 - ldr r0, _0804ACF0 @ =gWindowConfig_81E725C - adds r2, r4, 0 - bl sub_804AFB8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804ACF0: .4byte gWindowConfig_81E725C - thumb_func_end sub_804ACD8 - - thumb_func_start sub_804ACF4 -sub_804ACF4: @ 804ACF4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - beq _0804AD0C - cmp r0, 0x1 - beq _0804ADA0 - b _0804AE2C -_0804AD0C: - movs r7, 0 - ldr r1, _0804AD4C @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - ldrb r0, [r0] - cmp r7, r0 - blt _0804AD1C - b _0804AE2C -_0804AD1C: - adds r6, r1, 0 - movs r5, 0 - mov r9, r5 -_0804AD22: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0804AD50 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0804AD54 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AD84 - .align 2, 0 -_0804AD4C: .4byte gUnknown_03004824 -_0804AD50: .4byte gPlayerParty -_0804AD54: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804AD72 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AD84 -_0804AD72: - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - mov r1, r9 -_0804AD84: - strb r1, [r0] - ldr r0, _0804AD9C @ =gUnknown_03004824 - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x42 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0804AD22 - b _0804AE2C - .align 2, 0 -_0804AD9C: .4byte gUnknown_03004824 -_0804ADA0: - movs r7, 0 - ldr r1, _0804ADE0 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r7, r0 - bge _0804AE2C - adds r6, r1, 0 - movs r5, 0x6 - movs r2, 0 - mov r9, r2 -_0804ADB6: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0804ADE4 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0804ADE8 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AE18 - .align 2, 0 -_0804ADE0: .4byte gUnknown_03004824 -_0804ADE4: .4byte gEnemyParty -_0804ADE8: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804AE06 - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - b _0804AE18 -_0804AE06: - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x5D - adds r0, r5 - mov r1, r9 -_0804AE18: - strb r1, [r0] - ldr r0, _0804AE38 @ =gUnknown_03004824 - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x42 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0804ADB6 -_0804AE2C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AE38: .4byte gUnknown_03004824 - thumb_func_end sub_804ACF4 - - thumb_func_start sub_804AE3C -sub_804AE3C: @ 804AE3C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0804AE4C - cmp r0, 0x1 - beq _0804AEAC - b _0804AF00 -_0804AE4C: - movs r6, 0 - ldr r1, _0804AEA4 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804AF00 - adds r7, r1, 0 -_0804AE5C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804AEA8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x69 - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x42 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804AE5C - b _0804AF00 - .align 2, 0 -_0804AEA4: .4byte gUnknown_03004824 -_0804AEA8: .4byte gPlayerParty -_0804AEAC: - movs r6, 0 - ldr r1, _0804AF08 @ =gUnknown_03004824 - ldr r0, [r1] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804AF00 - adds r7, r1, 0 -_0804AEBC: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804AF0C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x6F - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x43 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804AEBC -_0804AF00: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AF08: .4byte gUnknown_03004824 -_0804AF0C: .4byte gEnemyParty - thumb_func_end sub_804AE3C - - thumb_func_start sub_804AF10 -sub_804AF10: @ 804AF10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 -_0804AF18: - movs r4, 0 - ldr r2, _0804AF7C @ =gUnknown_03004824 - ldr r0, [r2] - adds r0, 0x42 - adds r0, r5 - adds r1, r5, 0x1 - mov r8, r1 - ldrb r0, [r0] - cmp r4, r0 - bge _0804AF6A - adds r6, r2, 0 - lsls r0, r5, 1 - adds r0, r5 - lsls r7, r0, 1 -_0804AF34: - ldr r2, [r6] - adds r3, r4, r7 - adds r0, r2, 0 - adds r0, 0x34 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804AF80 @ =gSprites - adds r0, r1 - adds r2, 0x69 - adds r2, r3 - ldrb r2, [r2] - movs r1, 0x4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_809D824 - adds r4, 0x1 - ldr r0, [r6] - adds r0, 0x42 - adds r0, r5 - ldrb r0, [r0] - cmp r4, r0 - blt _0804AF34 -_0804AF6A: - mov r5, r8 - cmp r5, 0x1 - ble _0804AF18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AF7C: .4byte gUnknown_03004824 -_0804AF80: .4byte gSprites - thumb_func_end sub_804AF10 - - thumb_func_start sub_804AF84 -sub_804AF84: @ 804AF84 - push {r4,lr} - movs r2, 0 - ldr r4, _0804AFB0 @ =gSaveBlock1 + 0x3110 - ldr r3, _0804AFB4 @ =gUnknown_03004824 -_0804AF8C: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, 0 - bne _0804AFA2 - ldr r0, [r3] - adds r0, 0xB5 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0804AFA2 - strb r0, [r1] -_0804AFA2: - adds r2, 0x1 - cmp r2, 0xA - ble _0804AF8C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804AFB0: .4byte gSaveBlock1 + 0x3110 -_0804AFB4: .4byte gUnknown_03004824 - thumb_func_end sub_804AF84 - - thumb_func_start sub_804AFB8 -sub_804AFB8: @ 804AFB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r0 - mov r8, r1 - mov r10, r2 - lsls r3, 24 - lsrs r6, r3, 24 - adds r0, r6, 0x3 - lsrs r6, r0, 2 - ldr r7, _0804B054 @ =gTileBuffer - mov r0, sp - movs r5, 0 - strh r5, [r0] - lsls r4, r6, 6 - movs r0, 0x80 - lsls r0, 17 - orrs r4, r0 - mov r0, sp - adds r1, r7, 0 - adds r2, r4, 0 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r5, [r0] - mov r2, r9 - ldrb r1, [r2, 0xD] - lsls r1, 5 - adds r1, r7 - adds r2, r4, 0 - bl CpuSet - mov r0, r9 - adds r1, r7, 0 - mov r2, r10 - bl sub_8004E3C - movs r4, 0 - cmp r4, r6 - bcs _0804B042 -_0804B010: - lsls r0, r4, 7 - adds r0, r7, r0 - lsls r1, r4, 8 - add r1, r8 - movs r2, 0x40 - bl CpuSet - lsls r0, r4, 2 - mov r1, r9 - ldrb r1, [r1, 0xD] - adds r0, r1 - lsls r0, 5 - adds r0, r7, r0 - lsls r1, r4, 3 - adds r1, 0x4 - lsls r1, 5 - add r1, r8 - movs r2, 0x40 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0804B010 -_0804B042: - 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 -_0804B054: .4byte gTileBuffer - thumb_func_end sub_804AFB8 - - thumb_func_start sub_804B058 -sub_804B058: @ 804B058 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804B074 - movs r0, 0x17 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0804B074: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804B058 - - thumb_func_start sub_804B07C -sub_804B07C: @ 804B07C - push {lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _0804B0B2 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0804B098 - strh r1, [r2, 0x2E] -_0804B098: - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - ldr r1, _0804B0B8 @ =gTradeGlow2PaletteAnimTable - adds r0, r1 - ldrb r1, [r2, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - adds r1, 0x4 - movs r2, 0x2 - bl LoadPalette -_0804B0B2: - pop {r0} - bx r0 - .align 2, 0 -_0804B0B8: .4byte gTradeGlow2PaletteAnimTable - thumb_func_end sub_804B07C - - thumb_func_start sub_804B0BC -sub_804B0BC: @ 804B0BC - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0804B0DA - adds r0, r2, 0 - bl DestroySprite -_0804B0DA: - pop {r0} - bx r0 - thumb_func_end sub_804B0BC - - thumb_func_start sub_804B0E0 -sub_804B0E0: @ 804B0E0 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - subs r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0804B0FE - adds r0, r2, 0 - bl DestroySprite -_0804B0FE: - pop {r0} - bx r0 - thumb_func_end sub_804B0E0 - - thumb_func_start sub_804B104 -sub_804B104: @ 804B104 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _0804B120 - movs r0, 0xCC - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0804B120: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804B104 - - thumb_func_start sub_804B128 -sub_804B128: @ 804B128 - push {r4,r5,lr} - sub sp, 0x20 - ldr r0, _0804B1B4 @ =gUnknown_03004828 - ldr r0, [r0] - mov r12, r0 - movs r0, 0x82 - lsls r0, 1 - add r0, r12 - ldrh r1, [r0] - lsls r1, 8 - movs r0, 0x83 - lsls r0, 1 - add r0, r12 - ldrh r2, [r0] - lsls r2, 8 - movs r0, 0x86 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r3, [r0, r4] - movs r0, 0x87 - lsls r0, 1 - add r0, r12 - movs r5, 0 - ldrsh r0, [r0, r5] - str r0, [sp] - movs r4, 0x8C - lsls r4, 1 - add r4, r12 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x8] - movs r0, 0x8E - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0x10 - bl DoBgAffineSet - ldr r1, _0804B1B8 @ =REG_BG2PA - add r0, sp, 0x10 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - add r0, sp, 0x10 - ldrh r0, [r0, 0x2] - strh r0, [r1] - adds r1, 0x2 - add r0, sp, 0x10 - ldrh r0, [r0, 0x4] - strh r0, [r1] - adds r1, 0x2 - add r0, sp, 0x10 - ldrh r0, [r0, 0x6] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [sp, 0x18] - str r0, [r1] - adds r1, 0x4 - ldr r0, [sp, 0x1C] - str r0, [r1] - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804B1B4: .4byte gUnknown_03004828 -_0804B1B8: .4byte REG_BG2PA - thumb_func_end sub_804B128 - - thumb_func_start sub_804B1BC -sub_804B1BC: @ 804B1BC - push {lr} - ldr r1, _0804B1FC @ =REG_BG1VOFS - ldr r0, _0804B200 @ =gUnknown_03004828 - ldr r2, [r0] - movs r3, 0x88 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0x80 - lsls r0, 19 - ldrh r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0804B208 - ldr r1, _0804B204 @ =REG_BG2VOFS - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - subs r1, 0x2 - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1] - b _0804B20C - .align 2, 0 -_0804B1FC: .4byte REG_BG1VOFS -_0804B200: .4byte gUnknown_03004828 -_0804B204: .4byte REG_BG2VOFS -_0804B208: - bl sub_804B128 -_0804B20C: - pop {r0} - bx r0 - thumb_func_end sub_804B1BC - - thumb_func_start sub_804B210 -sub_804B210: @ 804B210 - push {lr} - bl sub_804B1BC - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_804B210 - - thumb_func_start sub_804B228 -sub_804B228: @ 804B228 - push {r4,lr} - ldr r4, _0804B248 @ =gUnknown_03004828 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xB4 - movs r3, 0 - movs r0, 0 - strh r0, [r2] - adds r1, 0xB2 - strb r3, [r1] - ldr r0, [r4] - adds r0, 0xB3 - strb r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804B248: .4byte gUnknown_03004828 - thumb_func_end sub_804B228 - - thumb_func_start sub_804B24C -sub_804B24C: @ 804B24C - push {r4,r5,lr} - ldr r1, _0804B270 @ =gUnknown_03004828 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0xB2 - adds r3, r2, 0 - adds r3, 0xB3 - ldrb r0, [r0] - adds r5, r1, 0 - ldrb r3, [r3] - cmp r0, r3 - bne _0804B274 - adds r1, r2, 0 - adds r1, 0xB4 - ldrh r0, [r1] - adds r0, 0x1 - b _0804B27A - .align 2, 0 -_0804B270: .4byte gUnknown_03004828 -_0804B274: - adds r1, r2, 0 - adds r1, 0xB4 - movs r0, 0 -_0804B27A: - strh r0, [r1] - adds r4, r5, 0 - ldr r3, [r4] - adds r2, r3, 0 - adds r2, 0xB4 - ldrh r0, [r2] - cmp r0, 0xB4 - bls _0804B29C - movs r1, 0 - movs r0, 0 - strh r0, [r2] - adds r0, r3, 0 - adds r0, 0xB3 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xB2 - strb r1, [r0] -_0804B29C: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0xB2 - ldrb r1, [r1] - adds r0, 0xB3 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804B24C - - thumb_func_start sub_804B2B0 -sub_804B2B0: @ 804B2B0 - push {lr} - ldr r0, _0804B2C0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0804B2C4 - movs r0, 0 - b _0804B2CC - .align 2, 0 -_0804B2C0: .4byte gReceivedRemoteLinkPlayers -_0804B2C4: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 -_0804B2CC: - pop {r1} - bx r1 - thumb_func_end sub_804B2B0 - - thumb_func_start sub_804B2D0 -sub_804B2D0: @ 804B2D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - mov r10, r4 - cmp r7, 0 - bne _0804B2FC - ldr r0, _0804B324 @ =gUnknown_020297D8 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0804B328 @ =gPlayerParty - adds r1, r0 - mov r10, r1 - movs r4, 0x1 -_0804B2FC: - cmp r7, 0x1 - bne _0804B31A - ldr r0, _0804B324 @ =gUnknown_020297D8 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0804B32C @ =gEnemyParty - adds r1, r0 - mov r10, r1 - movs r4, 0x3 -_0804B31A: - cmp r5, 0 - beq _0804B330 - cmp r5, 0x1 - beq _0804B3A4 - b _0804B3FA - .align 2, 0 -_0804B324: .4byte gUnknown_020297D8 -_0804B328: .4byte gPlayerParty -_0804B32C: .4byte gEnemyParty -_0804B330: - mov r0, r10 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, r10 - movs r1, 0 - bl GetMonData - mov r9, r0 - lsls r0, r5, 3 - ldr r1, _0804B390 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _0804B394 @ =gMonFrontPicCoords - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - ldr r3, _0804B398 @ =0x02000000 - ldr r6, _0804B39C @ =gUnknown_081FAF4C - lsls r7, 1 - mov r8, r7 - mov r4, r8 - adds r4, 0x1 - lsls r4, 2 - adds r4, r6 - ldr r4, [r4] - str r4, [sp] - str r5, [sp, 0x4] - mov r4, r9 - str r4, [sp, 0x8] - bl HandleLoadSpecialPokePic - mov r0, r10 - bl sub_8040990 - bl LoadCompressedObjectPalette - ldr r0, _0804B3A0 @ =gUnknown_03004828 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - add r0, r8 - strh r5, [r0] - b _0804B3FA - .align 2, 0 -_0804B390: .4byte gMonFrontPicTable -_0804B394: .4byte gMonFrontPicCoords -_0804B398: .4byte 0x02000000 -_0804B39C: .4byte gUnknown_081FAF4C -_0804B3A0: .4byte gUnknown_03004828 -_0804B3A4: - mov r0, r10 - bl sub_8040990 - ldrh r0, [r0, 0x4] - adds r1, r4, 0 - bl GetMonSpriteTemplate_803C56C - ldr r0, _0804B40C @ =gUnknown_02024E8C - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0x6 - bl CreateSprite - ldr r4, _0804B410 @ =gUnknown_03004828 - ldr r1, [r4] - adds r1, 0xB8 - adds r1, r7 - strb r0, [r1] - ldr r3, _0804B414 @ =gSprites - ldr r0, [r4] - adds r0, 0xB8 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xB8 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, _0804B418 @ =SpriteCallbackDummy - str r1, [r0] -_0804B3FA: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B40C: .4byte gUnknown_02024E8C -_0804B410: .4byte gUnknown_03004828 -_0804B414: .4byte gSprites -_0804B418: .4byte SpriteCallbackDummy - thumb_func_end sub_804B2D0 - - thumb_func_start sub_804B41C -sub_804B41C: @ 804B41C - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0804B43C @ =gMain - ldr r2, _0804B440 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0804B430 - b _0804B76E -_0804B430: - lsls r0, 2 - ldr r1, _0804B444 @ =_0804B448 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804B43C: .4byte gMain -_0804B440: .4byte 0x0000043c -_0804B444: .4byte _0804B448 - .align 2, 0 -_0804B448: - .4byte _0804B47C - .4byte _0804B5AC - .4byte _0804B5D4 - .4byte _0804B5FC - .4byte _0804B648 - .4byte _0804B678 - .4byte _0804B6A8 - .4byte _0804B6B2 - .4byte _0804B6CC - .4byte _0804B6E4 - .4byte _0804B71C - .4byte _0804B726 - .4byte _0804B75C -_0804B47C: - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - bl ResetTasks - bl CloseLink - ldr r6, _0804B570 @ =gUnknown_03004828 - ldr r5, _0804B574 @ =0x0201f000 - str r5, [r6] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _0804B578 @ =sub_804B210 - bl SetVBlankCallback - bl sub_804B228 - ldr r4, _0804B57C @ =gWindowConfig_81E6F84 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r6] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x2 - bl SetTextWindowBaseTileNum - ldr r1, [r6] - adds r1, 0x34 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - ldr r1, _0804B580 @ =gLinkType - ldr r4, _0804B584 @ =0x00001144 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, _0804B588 @ =gMain - ldr r0, _0804B58C @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _0804B590 @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0804B594 @ =gUnknown_08D00524 - ldr r1, _0804B598 @ =0xfffe1000 - adds r5, r1 - movs r2, 0x80 - lsls r2, 4 - adds r1, r5, 0 - bl CpuSet - ldr r1, _0804B59C @ =0x06002800 - ldr r0, _0804B5A0 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _0804B5A4 @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804B5A8 @ =gUnknown_08D004E0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xB6 - movs r2, 0 - strh r2, [r0] - adds r0, 0xE - strh r2, [r0] - movs r4, 0x8F - lsls r4, 1 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1] - ldr r3, [r6] - movs r1, 0x82 - lsls r1, 1 - adds r0, r3, r1 - movs r1, 0x40 - strh r1, [r0] - subs r4, 0x18 - adds r0, r3, r4 - strh r1, [r0] - adds r1, 0xC8 - adds r0, r3, r1 - strh r2, [r0] - adds r4, 0x4 - adds r0, r3, r4 - strh r2, [r0] - movs r0, 0x86 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0x78 - strh r0, [r1] - adds r4, 0x4 - adds r1, r3, r4 - movs r0, 0x50 - strh r0, [r1] - adds r0, 0xC8 - adds r1, r3, r0 - subs r0, 0x18 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - b _0804B76E - .align 2, 0 -_0804B570: .4byte gUnknown_03004828 -_0804B574: .4byte 0x0201f000 -_0804B578: .4byte sub_804B210 -_0804B57C: .4byte gWindowConfig_81E6F84 -_0804B580: .4byte gLinkType -_0804B584: .4byte 0x00001144 -_0804B588: .4byte gMain -_0804B58C: .4byte 0x0000043c -_0804B590: .4byte gUnknown_08D00000 -_0804B594: .4byte gUnknown_08D00524 -_0804B598: .4byte 0xfffe1000 -_0804B59C: .4byte 0x06002800 -_0804B5A0: .4byte 0x040000d4 -_0804B5A4: .4byte 0x80000280 -_0804B5A8: .4byte gUnknown_08D004E0 -_0804B5AC: - bl OpenLink - ldr r1, _0804B5C8 @ =gMain - ldr r2, _0804B5CC @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _0804B5D0 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC0 - str r2, [r0] - b _0804B76E - .align 2, 0 -_0804B5C8: .4byte gMain -_0804B5CC: .4byte 0x0000043c -_0804B5D0: .4byte gUnknown_03004828 -_0804B5D4: - ldr r0, _0804B5F4 @ =gUnknown_03004828 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bhi _0804B5E8 - b _0804B76E -_0804B5E8: - movs r0, 0 - str r0, [r1] - ldr r4, _0804B5F8 @ =0x0000043c - adds r1, r2, r4 - b _0804B74C - .align 2, 0 -_0804B5F4: .4byte gUnknown_03004828 -_0804B5F8: .4byte 0x0000043c -_0804B5FC: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - bne _0804B608 - b _0804B746 -_0804B608: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800820C - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _0804B61C - b _0804B76E -_0804B61C: - ldr r0, _0804B63C @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x1E - bhi _0804B62E - b _0804B76E -_0804B62E: - bl sub_8007F4C - ldr r1, _0804B640 @ =gMain - ldr r0, _0804B644 @ =0x0000043c - adds r1, r0 - b _0804B74C - .align 2, 0 -_0804B63C: .4byte gUnknown_03004828 -_0804B640: .4byte gMain -_0804B644: .4byte 0x0000043c -_0804B648: - bl sub_804B24C - ldr r0, _0804B66C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804B656 - b _0804B76E -_0804B656: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804B664 - b _0804B76E -_0804B664: - ldr r1, _0804B670 @ =gMain - ldr r4, _0804B674 @ =0x0000043c - adds r1, r4 - b _0804B74C - .align 2, 0 -_0804B66C: .4byte gReceivedRemoteLinkPlayers -_0804B670: .4byte gMain -_0804B674: .4byte 0x0000043c -_0804B678: - ldr r2, _0804B69C @ =gUnknown_03004828 - ldr r0, [r2] - adds r0, 0x9C - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xBD - strb r1, [r0] - movs r0, 0 - bl sub_804B2D0 - ldr r1, _0804B6A0 @ =gMain - ldr r0, _0804B6A4 @ =0x0000043c - adds r1, r0 - b _0804B74C - .align 2, 0 -_0804B69C: .4byte gUnknown_03004828 -_0804B6A0: .4byte gMain -_0804B6A4: .4byte 0x0000043c -_0804B6A8: - movs r0, 0 - movs r1, 0x1 - bl sub_804B2D0 - b _0804B746 -_0804B6B2: - movs r0, 0x1 - movs r1, 0 - bl sub_804B2D0 - ldr r1, _0804B6C4 @ =gMain - ldr r4, _0804B6C8 @ =0x0000043c - adds r1, r4 - b _0804B74C - .align 2, 0 -_0804B6C4: .4byte gMain -_0804B6C8: .4byte 0x0000043c -_0804B6CC: - movs r0, 0x1 - movs r1, 0x1 - bl sub_804B2D0 - ldr r1, _0804B6DC @ =gMain - ldr r0, _0804B6E0 @ =0x0000043c - adds r1, r0 - b _0804B74C - .align 2, 0 -_0804B6DC: .4byte gMain -_0804B6E0: .4byte 0x0000043c -_0804B6E4: - bl sub_804C164 - ldr r0, _0804B704 @ =gUnknown_0821594C - bl LoadSpriteSheet - ldr r0, _0804B708 @ =gUnknown_08215954 - bl LoadSpritePalette - ldr r1, _0804B70C @ =REG_BG1CNT - ldr r2, _0804B710 @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0804B714 @ =gMain - ldr r4, _0804B718 @ =0x0000043c - adds r1, r4 - b _0804B74C - .align 2, 0 -_0804B704: .4byte gUnknown_0821594C -_0804B708: .4byte gUnknown_08215954 -_0804B70C: .4byte REG_BG1CNT -_0804B710: .4byte 0x00000502 -_0804B714: .4byte gMain -_0804B718: .4byte 0x0000043c -_0804B71C: - ldr r0, _0804B754 @ =0x0000043c - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804B726: - movs r0, 0x5 - bl sub_804BBE8 - movs r0, 0 - bl sub_804BBE8 - bl sub_804C1A8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0804B746: - ldr r1, _0804B758 @ =gMain - ldr r2, _0804B754 @ =0x0000043c - adds r1, r2 -_0804B74C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804B76E - .align 2, 0 -_0804B754: .4byte 0x0000043c -_0804B758: .4byte gMain -_0804B75C: - ldr r0, _0804B788 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804B76E - ldr r0, _0804B78C @ =sub_804DB84 - bl SetMainCallback2 -_0804B76E: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804B788: .4byte gPaletteFade -_0804B78C: .4byte sub_804DB84 - thumb_func_end sub_804B41C - - thumb_func_start sub_804B790 -sub_804B790: @ 804B790 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r1, _0804B7B4 @ =gMain - ldr r2, _0804B7B8 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0804B7A8 - b _0804B9F2 -_0804B7A8: - lsls r0, 2 - ldr r1, _0804B7BC @ =_0804B7C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804B7B4: .4byte gMain -_0804B7B8: .4byte 0x0000043c -_0804B7BC: .4byte _0804B7C0 - .align 2, 0 -_0804B7C0: - .4byte _0804B7F4 - .4byte _0804B9F2 - .4byte _0804B9F2 - .4byte _0804B9F2 - .4byte _0804B9F2 - .4byte _0804B914 - .4byte _0804B92C - .4byte _0804B944 - .4byte _0804B94E - .4byte _0804B968 - .4byte _0804B9A0 - .4byte _0804B9AA - .4byte _0804B9E0 -_0804B7F4: - ldr r1, _0804B8E0 @ =gUnknown_020297D8 - ldr r0, _0804B8E4 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r6, 0 - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, _0804B8E8 @ =gLinkPlayers + 0x8 - ldr r1, _0804B8EC @ =gSaveBlock2 - adds r0, r4, 0 - bl StringCopy - ldr r0, _0804B8F0 @ =gEnemyParty - movs r1, 0x7 - add r2, sp, 0x4 - bl GetMonData - adds r4, 0x1C - adds r0, r4, 0 - add r1, sp, 0x4 - bl StringCopy - movs r0, 0x80 - lsls r0, 19 - movs r3, 0 - mov r8, r3 - strh r6, [r0] - bl ResetTasks - ldr r5, _0804B8F4 @ =gUnknown_03004828 - ldr r0, _0804B8F8 @ =0x0201f000 - str r0, [r5] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _0804B8FC @ =sub_804B210 - bl SetVBlankCallback - bl sub_804B228 - ldr r4, _0804B900 @ =gWindowConfig_81E717C - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, [r5] - adds r0, 0x4 - adds r1, r4, 0 - bl InitWindowFromConfig - movs r0, 0x2 - bl SetTextWindowBaseTileNum - ldr r1, [r5] - adds r1, 0x34 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x4 - bl LoadTextWindowGraphics - bl MenuZeroFillScreen - ldr r1, _0804B904 @ =gLinkType - ldr r2, _0804B908 @ =0x00001144 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, [r5] - movs r3, 0x8F - lsls r3, 1 - adds r0, r3 - mov r1, r8 - strb r1, [r0] - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0xB6 - strh r6, [r0] - adds r0, 0xE - strh r6, [r0] - subs r3, 0x1A - adds r0, r2, r3 - movs r1, 0x40 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - adds r1, 0xC8 - adds r0, r2, r1 - strh r6, [r0] - adds r3, 0x4 - adds r0, r2, r3 - strh r6, [r0] - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x78 - strh r0, [r1] - adds r3, 0x4 - adds r1, r2, r3 - movs r0, 0x50 - strh r0, [r1] - adds r0, 0xC8 - adds r1, r2, r0 - subs r0, 0x18 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r2, r1 - strh r6, [r0] - adds r0, r2, 0 - adds r0, 0xC0 - str r6, [r0] - ldr r0, _0804B90C @ =gMain - ldr r2, _0804B910 @ =0x0000043c - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _0804B9F2 - .align 2, 0 -_0804B8E0: .4byte gUnknown_020297D8 -_0804B8E4: .4byte gSpecialVar_0x8005 -_0804B8E8: .4byte gLinkPlayers + 0x8 -_0804B8EC: .4byte gSaveBlock2 -_0804B8F0: .4byte gEnemyParty -_0804B8F4: .4byte gUnknown_03004828 -_0804B8F8: .4byte 0x0201f000 -_0804B8FC: .4byte sub_804B210 -_0804B900: .4byte gWindowConfig_81E717C -_0804B904: .4byte gLinkType -_0804B908: .4byte 0x00001144 -_0804B90C: .4byte gMain -_0804B910: .4byte 0x0000043c -_0804B914: - movs r0, 0 - movs r1, 0 - bl sub_804B2D0 - ldr r1, _0804B924 @ =gMain - ldr r3, _0804B928 @ =0x0000043c - adds r1, r3 - b _0804B9D0 - .align 2, 0 -_0804B924: .4byte gMain -_0804B928: .4byte 0x0000043c -_0804B92C: - movs r0, 0 - movs r1, 0x1 - bl sub_804B2D0 - ldr r1, _0804B93C @ =gMain - ldr r0, _0804B940 @ =0x0000043c - adds r1, r0 - b _0804B9D0 - .align 2, 0 -_0804B93C: .4byte gMain -_0804B940: .4byte 0x0000043c -_0804B944: - movs r0, 0x1 - movs r1, 0 - bl sub_804B2D0 - b _0804B9CA -_0804B94E: - movs r0, 0x1 - movs r1, 0x1 - bl sub_804B2D0 - ldr r1, _0804B960 @ =gMain - ldr r3, _0804B964 @ =0x0000043c - adds r1, r3 - b _0804B9D0 - .align 2, 0 -_0804B960: .4byte gMain -_0804B964: .4byte 0x0000043c -_0804B968: - bl sub_804C164 - ldr r0, _0804B988 @ =gUnknown_0821594C - bl LoadSpriteSheet - ldr r0, _0804B98C @ =gUnknown_08215954 - bl LoadSpritePalette - ldr r1, _0804B990 @ =REG_BG1CNT - ldr r2, _0804B994 @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0804B998 @ =gMain - ldr r3, _0804B99C @ =0x0000043c - adds r1, r3 - b _0804B9D0 - .align 2, 0 -_0804B988: .4byte gUnknown_0821594C -_0804B98C: .4byte gUnknown_08215954 -_0804B990: .4byte REG_BG1CNT -_0804B994: .4byte 0x00000502 -_0804B998: .4byte gMain -_0804B99C: .4byte 0x0000043c -_0804B9A0: - ldr r0, _0804B9D8 @ =0x0000043c - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804B9AA: - movs r0, 0x5 - bl sub_804BBE8 - movs r0, 0 - bl sub_804BBE8 - bl sub_804C1A8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0804B9CA: - ldr r1, _0804B9DC @ =gMain - ldr r2, _0804B9D8 @ =0x0000043c - adds r1, r2 -_0804B9D0: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804B9F2 - .align 2, 0 -_0804B9D8: .4byte 0x0000043c -_0804B9DC: .4byte gMain -_0804B9E0: - ldr r0, _0804BA10 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804B9F2 - ldr r0, _0804BA14 @ =sub_804BBCC - bl SetMainCallback2 -_0804B9F2: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804BA10: .4byte gPaletteFade -_0804BA14: .4byte sub_804BBCC - thumb_func_end sub_804B790 - - thumb_func_start sub_804BA18 -sub_804BA18: @ 804BA18 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0804BA60 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804BA5A - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetNationalPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - bl GetNationalPokedexFlag -_0804BA5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804BA60: .4byte gPlayerParty - thumb_func_end sub_804BA18 - - thumb_func_start sub_804BA64 -sub_804BA64: @ 804BA64 - push {lr} - bl GetMultiplayerId - lsls r0, 24 - ldr r2, _0804BA90 @ =gLinkPlayers - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2] - movs r0, 0x80 - lsls r0, 8 - cmp r1, r0 - bne _0804BA8C - bl EnableNationalPokedex -_0804BA8C: - pop {r0} - bx r0 - .align 2, 0 -_0804BA90: .4byte gLinkPlayers - thumb_func_end sub_804BA64 - - thumb_func_start sub_804BA94 -sub_804BA94: @ 804BA94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x64 - mov r1, r9 - muls r1, r5 - ldr r0, _0804BB60 @ =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r1, r4, 0 - muls r1, r5 - ldr r0, _0804BB64 @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r6, 0xFF - beq _0804BAE8 - lsls r0, r6, 3 - adds r0, r6 - lsls r0, 2 - ldr r1, _0804BB68 @ =gSaveBlock1 + 0x2B4C - adds r0, r1 - bl ClearMailStruct -_0804BAE8: - ldr r4, _0804BB6C @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x38 - adds r1, r7, 0 - movs r2, 0x64 - bl memcpy - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r1, [r4] - adds r1, 0x38 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x46 - mov r0, sp - strb r1, [r0] - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804BB28 - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0804BB28: - mov r0, r8 - cmp r0, 0xFF - beq _0804BB3E - lsls r1, r0, 3 - add r1, r8 - lsls r1, 2 - ldr r0, _0804BB70 @ =gUnknown_02029700 - adds r1, r0 - adds r0, r7, 0 - bl GiveMailToMon2 -_0804BB3E: - mov r0, r9 - bl sub_804BA18 - ldr r0, _0804BB74 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0804BB50 - bl sub_804BA64 -_0804BB50: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804BB60: .4byte gPlayerParty -_0804BB64: .4byte gEnemyParty -_0804BB68: .4byte gSaveBlock1 + 0x2B4C -_0804BB6C: .4byte gUnknown_03004828 -_0804BB70: .4byte gUnknown_02029700 -_0804BB74: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_804BA94 - - thumb_func_start sub_804BB78 -sub_804BB78: @ 804BB78 - push {r4,lr} - ldr r4, _0804BB8C @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0xBD - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804BB90 - cmp r0, 0x2 - beq _0804BBB6 - b _0804BBC0 - .align 2, 0 -_0804BB8C: .4byte gUnknown_03004828 -_0804BB90: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804BBB6 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x9E - movs r2, 0x14 - bl SendBlock - ldr r1, [r4] - adds r1, 0xBD - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804BBB6: - ldr r0, _0804BBC8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xBD - movs r1, 0 - strb r1, [r0] -_0804BBC0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804BBC8: .4byte gUnknown_03004828 - thumb_func_end sub_804BB78 - - thumb_func_start sub_804BBCC -sub_804BBCC: @ 804BBCC - push {lr} - bl sub_804C29C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_804BBCC - - thumb_func_start sub_804BBE8 -sub_804BBE8: @ 804BBE8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _0804BBF4 - b _0804C0CA -_0804BBF4: - lsls r0, 2 - ldr r1, _0804BC00 @ =_0804BC04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804BC00: .4byte _0804BC04 - .align 2, 0 -_0804BC04: - .4byte _0804BC24 - .4byte _0804BCC4 - .4byte _0804BD5C - .4byte _0804BDA4 - .4byte _0804BE48 - .4byte _0804BEF8 - .4byte _0804BFA0 - .4byte _0804C060 -_0804BC24: - ldr r0, _0804BCA0 @ =gUnknown_0820C9F8 - movs r1, 0x10 - movs r2, 0xA0 - bl LoadPalette - ldr r3, _0804BCA4 @ =gUnknown_0820CA98 - ldr r4, _0804BCA8 @ =0x06004000 - movs r5, 0x98 - lsls r5, 5 - ldr r1, _0804BCAC @ =0x040000d4 - ldr r6, _0804BCB0 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804BC42: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804BC42 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804BCB4 @ =gUnknown_0820F798 - ldr r2, _0804BCB8 @ =0x06009000 - ldr r0, _0804BCAC @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804BCB0 @ =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804BCBC @ =gUnknown_03004828 - ldr r2, [r0] - movs r0, 0x8A - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - movs r3, 0x8B - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0xB4 - strh r0, [r1] - movs r1, 0x80 - lsls r1, 19 - movs r4, 0xBA - lsls r4, 5 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0xC - ldr r2, _0804BCC0 @ =0x00005206 - adds r0, r2, 0 - strh r0, [r1] - b _0804C0CA - .align 2, 0 -_0804BCA0: .4byte gUnknown_0820C9F8 -_0804BCA4: .4byte gUnknown_0820CA98 -_0804BCA8: .4byte 0x06004000 -_0804BCAC: .4byte 0x040000d4 -_0804BCB0: .4byte 0x80000800 -_0804BCB4: .4byte gUnknown_0820F798 -_0804BCB8: .4byte 0x06009000 -_0804BCBC: .4byte gUnknown_03004828 -_0804BCC0: .4byte 0x00005206 -_0804BCC4: - ldr r0, _0804BD3C @ =gUnknown_03004828 - ldr r2, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0 - strh r0, [r1] - movs r4, 0x88 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0xAE - lsls r1, 1 - strh r1, [r0] - ldr r0, _0804BD40 @ =REG_BG1VOFS - strh r1, [r0] - ldr r1, _0804BD44 @ =REG_BG1CNT - ldr r2, _0804BD48 @ =0x00008502 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804BD4C @ =gUnknown_08210798 - ldr r2, _0804BD50 @ =0x06002800 - movs r3, 0x80 - lsls r3, 5 - adds r1, 0xCA - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - movs r2, 0x80 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r4, [r1, 0x8] - ldr r4, _0804BD54 @ =gUnknown_0820CA98 - movs r5, 0xC0 - lsls r5, 19 - movs r6, 0x98 - lsls r6, 5 - adds r7, r0, 0 -_0804BD10: - str r4, [r1] - str r5, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r4, r3 - adds r5, r3 - subs r6, r3 - cmp r6, r3 - bhi _0804BD10 - str r4, [r1] - str r5, [r1, 0x4] - lsrs r0, r6, 1 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r1, 0x80 - lsls r1, 19 - ldr r3, _0804BD58 @ =0x00001241 - adds r0, r3, 0 - strh r0, [r1] - b _0804C0CA - .align 2, 0 -_0804BD3C: .4byte gUnknown_03004828 -_0804BD40: .4byte REG_BG1VOFS -_0804BD44: .4byte REG_BG1CNT -_0804BD48: .4byte 0x00008502 -_0804BD4C: .4byte gUnknown_08210798 -_0804BD50: .4byte 0x06002800 -_0804BD54: .4byte gUnknown_0820CA98 -_0804BD58: .4byte 0x00001241 -_0804BD5C: - ldr r0, _0804BD8C @ =gUnknown_03004828 - ldr r2, [r0] - movs r4, 0x88 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0 - strh r1, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r1, 0x80 - lsls r1, 19 - ldr r4, _0804BD90 @ =0x00001241 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, _0804BD94 @ =gUnknown_08211798 - ldr r2, _0804BD98 @ =0x06002800 - ldr r0, _0804BD9C @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804BDA0 @ =0x80000400 - b _0804C0C6 - .align 2, 0 -_0804BD8C: .4byte gUnknown_03004828 -_0804BD90: .4byte 0x00001241 -_0804BD94: .4byte gUnknown_08211798 -_0804BD98: .4byte 0x06002800 -_0804BD9C: .4byte 0x040000d4 -_0804BDA0: .4byte 0x80000400 -_0804BDA4: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x92 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804BE24 @ =gUnknown_03004828 - ldr r3, [r0] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r4, 0x2 - adds r1, r3, r4 - strh r0, [r1] - adds r0, 0xCC - adds r1, r3, r0 - movs r0, 0x78 - strh r0, [r1] - adds r4, 0x8 - adds r1, r3, r4 - ldr r0, _0804BE28 @ =0x0000ffba - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - ldr r3, _0804BE2C @ =gUnknown_0820DD98 - ldr r4, _0804BE30 @ =0x06004000 - movs r5, 0xD0 - lsls r5, 5 - ldr r2, _0804BE34 @ =gUnknown_08211F98 - mov r12, r2 - ldr r1, _0804BE38 @ =0x040000d4 - ldr r6, _0804BE3C @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804BDF6: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804BDF6 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804BE40 @ =0x06009000 - ldr r0, _0804BE38 @ =0x040000d4 - mov r3, r12 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0804BE44 @ =0x80000080 - b _0804C0C6 - .align 2, 0 -_0804BE24: .4byte gUnknown_03004828 -_0804BE28: .4byte 0x0000ffba -_0804BE2C: .4byte gUnknown_0820DD98 -_0804BE30: .4byte 0x06004000 -_0804BE34: .4byte gUnknown_08211F98 -_0804BE38: .4byte 0x040000d4 -_0804BE3C: .4byte 0x80000800 -_0804BE40: .4byte 0x06009000 -_0804BE44: .4byte 0x80000080 -_0804BE48: - movs r1, 0x80 - lsls r1, 19 - ldr r4, _0804BED0 @ =0x00001441 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0xC - ldr r2, _0804BED4 @ =0x00001287 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0804BED8 @ =gUnknown_03004828 - ldr r3, [r0] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r0, 0xC6 - adds r1, r3, r0 - movs r0, 0x5C - strh r0, [r1] - adds r4, 0x14 - adds r1, r3, r4 - movs r0, 0x20 - strh r0, [r1] - adds r0, 0xFA - adds r1, r3, r0 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - ldr r3, _0804BEDC @ =gUnknown_08213738 - ldr r4, _0804BEE0 @ =0x06004000 - movs r5, 0x81 - lsls r5, 6 - ldr r2, _0804BEE4 @ =gUnknown_08215778 - mov r12, r2 - ldr r1, _0804BEE8 @ =0x040000d4 - ldr r6, _0804BEEC @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804BEA4: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804BEA4 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804BEF0 @ =0x06009000 - ldr r0, _0804BEE8 @ =0x040000d4 - mov r3, r12 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0804BEF4 @ =0x80000080 - b _0804C0C6 - .align 2, 0 -_0804BED0: .4byte 0x00001441 -_0804BED4: .4byte 0x00001287 -_0804BED8: .4byte gUnknown_03004828 -_0804BEDC: .4byte gUnknown_08213738 -_0804BEE0: .4byte 0x06004000 -_0804BEE4: .4byte gUnknown_08215778 -_0804BEE8: .4byte 0x040000d4 -_0804BEEC: .4byte 0x80000800 -_0804BEF0: .4byte 0x06009000 -_0804BEF4: .4byte 0x80000080 -_0804BEF8: - ldr r0, _0804BF78 @ =gUnknown_03004828 - ldr r2, [r0] - movs r4, 0x88 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0 - strh r1, [r0] - movs r3, 0x89 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _0804BF7C @ =REG_BG1CNT - ldr r4, _0804BF80 @ =0x00000502 - adds r0, r4, 0 - strh r0, [r1] - ldr r0, _0804BF84 @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0804BF88 @ =gUnknown_08D00524 - ldr r4, _0804BF8C @ =0x02000000 - movs r2, 0x80 - lsls r2, 4 - adds r1, r4, 0 - bl CpuSet - ldr r0, _0804BF90 @ =gUnknown_08D004E0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadCompressedPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - movs r0, 0xE0 - lsls r0, 7 - adds r2, r0, 0 - movs r1, 0xA0 - lsls r1, 2 -_0804BF4C: - ldrh r0, [r4] - orrs r0, r2 - strh r0, [r4] - adds r4, 0x2 - subs r1, 0x1 - cmp r1, 0 - bne _0804BF4C - ldr r1, _0804BF8C @ =0x02000000 - ldr r2, _0804BF94 @ =0x06002800 - ldr r0, _0804BF98 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804BF9C @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0x2 - movs r1, 0xF - movs r2, 0x1B - movs r3, 0x12 - bl MenuZeroFillWindowRect - b _0804C0CA - .align 2, 0 -_0804BF78: .4byte gUnknown_03004828 -_0804BF7C: .4byte REG_BG1CNT -_0804BF80: .4byte 0x00000502 -_0804BF84: .4byte gUnknown_08D00000 -_0804BF88: .4byte gUnknown_08D00524 -_0804BF8C: .4byte 0x02000000 -_0804BF90: .4byte gUnknown_08D004E0 -_0804BF94: .4byte 0x06002800 -_0804BF98: .4byte 0x040000d4 -_0804BF9C: .4byte 0x80000280 -_0804BFA0: - movs r1, 0x80 - lsls r1, 19 - ldr r2, _0804C038 @ =0x00001441 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0xC - ldr r3, _0804C03C @ =0x00001287 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0804C040 @ =gUnknown_03004828 - ldr r3, [r0] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r0, 0xC6 - adds r1, r3, r0 - movs r0, 0x5C - strh r0, [r1] - adds r4, 0x14 - adds r1, r3, r4 - adds r0, 0xA4 - strh r0, [r1] - adds r0, 0x1A - adds r1, r3, r0 - movs r0, 0x80 - strh r0, [r1] - subs r4, 0xC - adds r1, r3, r4 - movs r0, 0x78 - strh r0, [r1] - adds r0, 0x96 - adds r1, r3, r0 - movs r0, 0x50 - strh r0, [r1] - movs r1, 0x8E - lsls r1, 1 - adds r0, r3, r1 - strh r2, [r0] - ldr r3, _0804C044 @ =gUnknown_08213738 - ldr r4, _0804C048 @ =0x06004000 - movs r5, 0x81 - lsls r5, 6 - ldr r2, _0804C04C @ =gUnknown_08215778 - mov r12, r2 - ldr r1, _0804C050 @ =0x040000d4 - ldr r6, _0804C054 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804C00A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804C00A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804C058 @ =0x06009000 - ldr r0, _0804C050 @ =0x040000d4 - mov r3, r12 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0804C05C @ =0x80000080 - b _0804C0C6 - .align 2, 0 -_0804C038: .4byte 0x00001441 -_0804C03C: .4byte 0x00001287 -_0804C040: .4byte gUnknown_03004828 -_0804C044: .4byte gUnknown_08213738 -_0804C048: .4byte 0x06004000 -_0804C04C: .4byte gUnknown_08215778 -_0804C050: .4byte 0x040000d4 -_0804C054: .4byte 0x80000800 -_0804C058: .4byte 0x06009000 -_0804C05C: .4byte 0x80000080 -_0804C060: - ldr r0, _0804C0D0 @ =gUnknown_03004828 - ldr r2, [r0] - movs r4, 0x8A - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0 - strh r1, [r0] - movs r3, 0x8B - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _0804C0D4 @ =REG_BG2CNT - ldr r4, _0804C0D8 @ =0x00005206 - adds r0, r4, 0 - strh r0, [r1] - ldr r0, _0804C0DC @ =gUnknown_0820C9F8 - movs r1, 0x10 - movs r2, 0xA0 - bl LoadPalette - ldr r3, _0804C0E0 @ =gUnknown_0820CA98 - ldr r4, _0804C0E4 @ =0x06004000 - movs r5, 0x98 - lsls r5, 5 - ldr r1, _0804C0E8 @ =0x040000d4 - ldr r6, _0804C0EC @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0804C09C: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0804C09C - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _0804C0F0 @ =gUnknown_0820F798 - ldr r2, _0804C0F4 @ =0x06009000 - ldr r0, _0804C0E8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0804C0EC @ =0x80000800 -_0804C0C6: - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] -_0804C0CA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804C0D0: .4byte gUnknown_03004828 -_0804C0D4: .4byte REG_BG2CNT -_0804C0D8: .4byte 0x00005206 -_0804C0DC: .4byte gUnknown_0820C9F8 -_0804C0E0: .4byte gUnknown_0820CA98 -_0804C0E4: .4byte 0x06004000 -_0804C0E8: .4byte 0x040000d4 -_0804C0EC: .4byte 0x80000800 -_0804C0F0: .4byte gUnknown_0820F798 -_0804C0F4: .4byte 0x06009000 - thumb_func_end sub_804BBE8 - - thumb_func_start sub_804C0F8 -sub_804C0F8: @ 804C0F8 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0804C130 - ldr r0, _0804C128 @ =gUnknown_03004828 - ldr r2, [r0] - movs r1, 0x88 - lsls r1, 1 - adds r0, r2, r1 - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r0, _0804C12C @ =0x00000109 - cmp r1, r0 - bgt _0804C15A - adds r0, 0x5 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r3, 0x8E - lsls r3, 1 - adds r1, r2, r3 - b _0804C154 - .align 2, 0 -_0804C128: .4byte gUnknown_03004828 -_0804C12C: .4byte 0x00000109 -_0804C130: - ldr r0, _0804C160 @ =gUnknown_03004828 - ldr r0, [r0] - mov r12, r0 - movs r2, 0x87 - lsls r2, 1 - add r2, r12 - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - ble _0804C15A - subs r0, r3, 0x1 - strh r0, [r2] - movs r1, 0x8E - lsls r1, 1 - add r1, r12 -_0804C154: - ldrh r0, [r1] - adds r0, 0x40 - strh r0, [r1] -_0804C15A: - pop {r0} - bx r0 - .align 2, 0 -_0804C160: .4byte gUnknown_03004828 - thumb_func_end sub_804C0F8 - - thumb_func_start sub_804C164 -sub_804C164: @ 804C164 - push {lr} - ldr r0, _0804C190 @ =gUnknown_082159A4 - bl LoadSpriteSheet - ldr r0, _0804C194 @ =gUnknown_082159F4 - bl LoadSpriteSheet - ldr r0, _0804C198 @ =gUnknown_08215A28 - bl LoadSpriteSheet - ldr r0, _0804C19C @ =gUnknown_08215A78 - bl LoadSpriteSheet - ldr r0, _0804C1A0 @ =gUnknown_082159AC - bl LoadSpritePalette - ldr r0, _0804C1A4 @ =gUnknown_082159B4 - bl LoadSpritePalette - pop {r0} - bx r0 - .align 2, 0 -_0804C190: .4byte gUnknown_082159A4 -_0804C194: .4byte gUnknown_082159F4 -_0804C198: .4byte gUnknown_08215A28 -_0804C19C: .4byte gUnknown_08215A78 -_0804C1A0: .4byte gUnknown_082159AC -_0804C1A4: .4byte gUnknown_082159B4 - thumb_func_end sub_804C164 - - thumb_func_start sub_804C1A8 -sub_804C1A8: @ 804C1A8 - push {r4,r5,lr} - sub sp, 0x14 - ldr r0, _0804C21C @ =gUnknown_03004828 - ldr r0, [r0] - movs r1, 0x8F - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0804C23C - bl GetMultiplayerId - lsls r0, 24 - ldr r3, _0804C220 @ =gStringVar1 - movs r2, 0x80 - lsls r2, 17 - eors r2, r0 - lsrs r2, 24 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _0804C224 @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - ldr r5, _0804C228 @ =gUnknown_020297D8 - ldrb r0, [r5, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x64 - muls r0, r4 - ldr r1, _0804C22C @ =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804C230 @ =gStringVar3 - mov r1, sp - bl StringCopy10 - ldrb r0, [r5] - muls r0, r4 - ldr r1, _0804C234 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804C238 @ =gStringVar2 - mov r1, sp - bl StringCopy10 - b _0804C278 - .align 2, 0 -_0804C21C: .4byte gUnknown_03004828 -_0804C220: .4byte gStringVar1 -_0804C224: .4byte gLinkPlayers + 0x8 -_0804C228: .4byte gUnknown_020297D8 -_0804C22C: .4byte gEnemyParty -_0804C230: .4byte gStringVar3 -_0804C234: .4byte gPlayerParty -_0804C238: .4byte gStringVar2 -_0804C23C: - ldr r0, _0804C280 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _0804C284 @ =gIngameTrades - adds r4, r0 - ldr r0, _0804C288 @ =gStringVar1 - adds r1, r4, 0 - adds r1, 0x2B - bl StringCopy - ldr r0, _0804C28C @ =gStringVar3 - adds r1, r4, 0 - bl StringCopy10 - ldr r0, _0804C290 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804C294 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804C298 @ =gStringVar2 - mov r1, sp - bl StringCopy10 -_0804C278: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804C280: .4byte gSpecialVar_0x8004 -_0804C284: .4byte gIngameTrades -_0804C288: .4byte gStringVar1 -_0804C28C: .4byte gStringVar3 -_0804C290: .4byte gSpecialVar_0x8005 -_0804C294: .4byte gPlayerParty -_0804C298: .4byte gStringVar2 - thumb_func_end sub_804C1A8 - - thumb_func_start sub_804C29C -sub_804C29C: @ 804C29C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r1, _0804C2C0 @ =gUnknown_03004828 - ldr r0, [r1] - adds r0, 0xC4 - ldrh r0, [r0] - adds r6, r1, 0 - cmp r0, 0xC8 - bls _0804C2B6 - bl _0804D570 -_0804C2B6: - lsls r0, 2 - ldr r1, _0804C2C4 @ =_0804C2C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804C2C0: .4byte gUnknown_03004828 -_0804C2C4: .4byte _0804C2C8 - .align 2, 0 -_0804C2C8: - .4byte _0804C5EC - .4byte _0804C66C - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804C6C8 - .4byte _0804C704 - .4byte _0804C79C - .4byte _0804D570 - .4byte _0804C824 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804C848 - .4byte _0804C868 - .4byte _0804C87A - .4byte _0804C89C - .4byte _0804C8F4 - .4byte _0804C92C - .4byte _0804C978 - .4byte _0804C9C8 - .4byte _0804CA1C - .4byte _0804CAB4 - .4byte _0804CAD8 - .4byte _0804CB24 - .4byte _0804CB70 - .4byte _0804CBCC - .4byte _0804CC2C - .4byte _0804CC40 - .4byte _0804CC54 - .4byte _0804CC68 - .4byte _0804CD94 - .4byte _0804CE64 - .4byte _0804CEEC - .4byte _0804CF68 - .4byte _0804CF78 - .4byte _0804CFA0 - .4byte _0804CFFC - .4byte _0804D028 - .4byte _0804D054 - .4byte _0804D06A - .4byte _0804D0D4 - .4byte _0804D570 - .4byte _0804D0FC - .4byte _0804D13C - .4byte _0804D182 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D1A4 - .4byte _0804D1C4 - .4byte _0804D1D2 - .4byte _0804D1F4 - .4byte _0804D2A8 - .4byte _0804D2E4 - .4byte _0804D314 - .4byte _0804D3C4 - .4byte _0804D41C - .4byte _0804D48C - .4byte _0804D4A0 - .4byte _0804D4A6 - .4byte _0804D4CC - .4byte _0804D528 - .4byte _0804D54C - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804D570 - .4byte _0804CA54 -_0804C5EC: - ldr r3, _0804C65C @ =gSprites - ldr r0, [r6] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r6] - adds r2, r4, 0 - adds r2, 0xB8 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _0804C660 @ =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, _0804C664 @ =gMonFrontPicCoords - movs r3, 0x90 - lsls r3, 1 - adds r0, r4, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r6] - movs r7, 0x92 - lsls r7, 1 - adds r1, r7 - strh r0, [r1] - ldr r0, _0804C668 @ =0x00000179 - bl PlayBGM - bl _0804D570 - .align 2, 0 -_0804C65C: .4byte gSprites -_0804C660: .4byte 0x0000ff4c -_0804C664: .4byte gMonFrontPicCoords -_0804C668: .4byte 0x00000179 -_0804C66C: - ldr r4, [r6] - movs r0, 0x8B - lsls r0, 1 - adds r5, r4, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - ble _0804C6A0 - ldr r2, _0804C69C @ =gSprites - adds r0, r4, 0 - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r5] - subs r0, 0x3 - strh r0, [r5] - bl _0804D570 - .align 2, 0 -_0804C69C: .4byte gSprites -_0804C6A0: - ldr r2, _0804C6C4 @ =gSprites - adds r0, r4, 0 - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r5] - adds r1, r4, 0 - adds r1, 0xC4 - movs r0, 0xA - strh r0, [r1] - bl _0804D570 - .align 2, 0 -_0804C6C4: .4byte gSprites -_0804C6C8: - ldr r5, _0804C6F8 @ =gStringVar4 - ldr r1, _0804C6FC @ =gTradeText_WillBeSent - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r4, _0804C700 @ =gUnknown_03004828 - ldr r1, [r4] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r5, 0 - movs r3, 0x2 - bl sub_8003460 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xC4 - movs r3, 0 - movs r0, 0xB - bl _0804D40C - .align 2, 0 -_0804C6F8: .4byte gStringVar4 -_0804C6FC: .4byte gTradeText_WillBeSent -_0804C700: .4byte gUnknown_03004828 -_0804C704: - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x50 - beq _0804C718 - bl _0804D570 -_0804C718: - adds r0, r2, 0 - adds r0, 0xB8 - ldrb r0, [r0] - ldr r2, _0804C78C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _0804C790 @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_8047580 - ldr r1, [r6] - movs r2, 0x81 - lsls r2, 1 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0xC4 - ldrh r1, [r2] - adds r1, 0x1 - strh r1, [r2] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804C794 @ =gStringVar4 - ldr r1, _0804C798 @ =gTradeText_ByeBye - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8003460 - bl _0804D570 - .align 2, 0 -_0804C78C: .4byte gSprites -_0804C790: .4byte 0x000fffff -_0804C794: .4byte gStringVar4 -_0804C798: .4byte gTradeText_ByeBye -_0804C79C: - ldr r7, _0804C810 @ =gSprites - ldr r2, [r6] - movs r5, 0x81 - lsls r5, 1 - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r7, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, _0804C814 @ =SpriteCallbackDummy - cmp r1, r0 - beq _0804C7C0 - bl _0804D570 -_0804C7C0: - adds r0, r2, 0x4 - bl sub_80035AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804C7D2 - bl _0804D570 -_0804C7D2: - ldr r0, _0804C818 @ =gSpriteTemplate_821595C - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - ldr r2, _0804C81C @ =0x00000103 - adds r1, r2 - strb r0, [r1] - ldr r3, [r6] - adds r2, r3, r2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0804C820 @ =sub_804D738 - str r1, [r0] - adds r3, r5 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - bl DestroySprite - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804C810: .4byte gSprites -_0804C814: .4byte SpriteCallbackDummy -_0804C818: .4byte gSpriteTemplate_821595C -_0804C81C: .4byte 0x00000103 -_0804C820: .4byte sub_804D738 -_0804C824: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804C844 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x14 - strh r1, [r0] - bl _0804D570 - .align 2, 0 -_0804C844: .4byte gUnknown_03004828 -_0804C848: - ldr r0, _0804C864 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804C858 - bl _0804D570 -_0804C858: - movs r0, 0x4 - bl sub_804BBE8 - bl _0804D538 - .align 2, 0 -_0804C864: .4byte gPaletteFade -_0804C868: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _0804D534 -_0804C87A: - ldr r0, _0804C898 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804C88A - bl _0804D570 -_0804C88A: - ldr r0, [r6] - adds r0, 0xC4 - movs r1, 0x17 - strh r1, [r0] - bl _0804D570 - .align 2, 0 -_0804C898: .4byte gPaletteFade -_0804C89C: - ldr r4, _0804C8B8 @ =gUnknown_03004828 - ldr r0, [r4] - movs r3, 0x8D - lsls r3, 1 - adds r2, r0, r3 - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _0804C8BC - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0804C8E0 - .align 2, 0 -_0804C8B8: .4byte gUnknown_03004828 -_0804C8BC: - movs r0, 0x1 - bl sub_804BBE8 - ldr r3, [r4] - movs r7, 0x8D - lsls r7, 1 - adds r1, r3, r7 - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - adds r1, r3, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xC0 - str r2, [r0] -_0804C8E0: - ldr r0, _0804C8F0 @ =gUnknown_03004828 - ldr r4, [r0] - movs r1, 0x8D - lsls r1, 1 - adds r0, r4, r1 - bl _0804D16E - .align 2, 0 -_0804C8F0: .4byte gUnknown_03004828 -_0804C8F4: - ldr r1, [r6] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bhi _0804C906 - bl _0804D570 -_0804C906: - movs r0, 0x3 - bl sub_804BBE8 - bl sub_804B128 - ldr r0, _0804C928 @ =gSpriteTemplate_8215A80 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBB - strb r0, [r1] - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804C928: .4byte gSpriteTemplate_8215A80 -_0804C92C: - ldr r2, _0804C96C @ =gSprites - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0804C94C - bl _0804D570 -_0804C94C: - adds r0, r1, 0 - bl DestroySprite - ldr r1, _0804C970 @ =REG_BLDCNT - movs r3, 0xC8 - lsls r3, 3 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r7, _0804C974 @ =0x0000040c - adds r0, r7, 0 - strh r0, [r1] - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804C96C: .4byte gSprites -_0804C970: .4byte REG_BLDCNT -_0804C974: .4byte 0x0000040c -_0804C978: - ldr r2, [r6] - movs r3, 0x88 - lsls r3, 1 - adds r0, r2, r3 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - bne _0804C99A - adds r1, r2, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804C99A: - ldr r0, [r6] - adds r0, r3 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _0804C9AE - bl _0804D570 -_0804C9AE: - ldr r0, _0804C9C4 @ =gSpriteTemplate_8215A30 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBC - strb r0, [r1] - bl _0804D570 - .align 2, 0 -_0804C9C4: .4byte gSpriteTemplate_8215A30 -_0804C9C8: - ldr r0, _0804CA0C @ =gSpriteTemplate_82159BC - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, _0804CA10 @ =gUnknown_03004828 - ldr r1, [r4] - adds r1, 0xBA - strb r0, [r1] - ldr r0, _0804CA14 @ =gSpriteTemplate_82159FC - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0xBB - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804CA18 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _0804D53C - .align 2, 0 -_0804CA0C: .4byte gSpriteTemplate_82159BC -_0804CA10: .4byte gUnknown_03004828 -_0804CA14: .4byte gSpriteTemplate_82159FC -_0804CA18: .4byte gSprites -_0804CA1C: - ldr r2, [r6] - movs r3, 0x88 - lsls r3, 1 - adds r1, r2, r3 - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0804CA3A - adds r1, r2, 0 - adds r1, 0xC4 - movs r0, 0xC8 - strh r0, [r1] -_0804CA3A: - movs r0, 0 - bl sub_804C0F8 - movs r1, 0x80 - lsls r1, 19 - ldr r7, _0804CA50 @ =0x00001641 - adds r0, r7, 0 - strh r0, [r1] - bl _0804D570 - .align 2, 0 -_0804CA50: .4byte 0x00001641 -_0804CA54: - ldr r4, _0804CAB0 @ =gSprites - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r2, 0xBB - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - movs r0, 0 - bl sub_804C0F8 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0804CAA4 - bl _0804D570 -_0804CAA4: - adds r1, r2, 0 - adds r1, 0xC4 - movs r0, 0x1D - strh r0, [r1] - bl _0804D570 - .align 2, 0 -_0804CAB0: .4byte gSprites -_0804CAB4: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804CAD4 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x1E - strh r1, [r0] - bl _0804D570 - .align 2, 0 -_0804CAD4: .4byte gUnknown_03004828 -_0804CAD8: - ldr r0, _0804CB1C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804CAE8 - bl _0804D570 -_0804CAE8: - ldr r0, [r6] - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804CB20 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_804BBE8 - ldr r1, [r6] - bl _0804D53C - .align 2, 0 -_0804CB1C: .4byte gPaletteFade -_0804CB20: .4byte gSprites -_0804CB24: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, _0804CB68 @ =gSpriteTemplate_82159FC - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, _0804CB6C @ =gUnknown_03004828 - ldr r1, [r4] - adds r1, 0xBA - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0xBB - strb r0, [r1] - ldr r1, [r4] - bl _0804D53C - .align 2, 0 -_0804CB68: .4byte gSpriteTemplate_82159FC -_0804CB6C: .4byte gUnknown_03004828 -_0804CB70: - ldr r0, _0804CBC0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804CB8E - movs r0, 0x2E - bl PlaySE - ldr r0, _0804CBC4 @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804CB8E: - ldr r3, _0804CBC8 @ =gSprites - ldr r0, _0804CBC4 @ =gUnknown_03004828 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0xBB - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _0804D570 - .align 2, 0 -_0804CBC0: .4byte gPaletteFade -_0804CBC4: .4byte gUnknown_03004828 -_0804CBC8: .4byte gSprites -_0804CBCC: - ldr r5, _0804CC28 @ =gSprites - ldr r4, [r6] - adds r2, r4, 0 - adds r2, 0xBA - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0xBB - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r7, 0x26 - ldrsh r1, [r3, r7] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _0804CC12 - bl _0804D570 -_0804CC12: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - bl _0804D53C - .align 2, 0 -_0804CC28: .4byte gSprites -_0804CC2C: - ldr r2, _0804CC3C @ =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0804D538 - .align 2, 0 -_0804CC3C: .4byte 0x0000ffff -_0804CC40: - ldr r2, _0804CC50 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - bl _0804D538 - .align 2, 0 -_0804CC50: .4byte 0x0000ffff -_0804CC54: - ldr r2, _0804CC64 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0804D538 - .align 2, 0 -_0804CC64: .4byte 0x0000ffff -_0804CC68: - ldr r5, _0804CCD8 @ =gUnknown_03004828 - ldr r0, [r5] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_8040A3C - lsls r0, 24 - cmp r0, 0 - bne _0804CCE4 - ldr r4, _0804CCDC @ =gSprites - ldr r2, [r5] - adds r2, 0xB8 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, _0804CCE0 @ =gSpriteAffineAnimTable_8215AC0 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _0804CCFA - .align 2, 0 -_0804CCD8: .4byte gUnknown_03004828 -_0804CCDC: .4byte gSprites -_0804CCE0: .4byte gSpriteAffineAnimTable_8215AC0 -_0804CCE4: - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804CD88 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_0804CCFA: - ldr r5, _0804CD8C @ =gUnknown_03004828 - ldr r0, [r5] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804CD88 @ =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0xB8 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3C - strh r1, [r0, 0x20] - adds r2, 0xB9 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB4 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0804CD90 @ =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r1, [r5] - bl _0804D53C - .align 2, 0 -_0804CD88: .4byte gSprites -_0804CD8C: .4byte gUnknown_03004828 -_0804CD90: .4byte 0x0000ffe0 -_0804CD94: - ldr r4, _0804CE5C @ =gSprites - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0xB8 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0xB9 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0804CDDC - movs r0, 0x2D - bl PlaySE -_0804CDDC: - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0xB8 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r7, 0x26 - ldrsh r1, [r0, r7] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _0804CDFA - b _0804D570 -_0804CDFA: - adds r0, r2, 0 - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r2, _0804CE60 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - b _0804D570 - .align 2, 0 -_0804CE5C: .4byte gSprites -_0804CE60: .4byte 0x0000ffff -_0804CE64: - ldr r4, _0804CEE8 @ =gSprites - ldr r2, [r6] - adds r3, r2, 0 - adds r3, 0xBA - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0xBB - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _0804CEA6 - b _0804D570 -_0804CEA6: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0xC4 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0xBA - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0804D570 - .align 2, 0 -_0804CEE8: .4byte gSprites -_0804CEEC: - ldr r0, _0804CF58 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804CEFA - b _0804D570 -_0804CEFA: - ldr r1, [r6] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_804BBE8 - ldr r0, [r6] - movs r3, 0x88 - lsls r3, 1 - adds r0, r3 - movs r1, 0xA6 - strh r1, [r0] - ldr r0, _0804CF5C @ =gSpriteTemplate_82159BC - movs r4, 0x14 - negs r4, r4 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBA - strb r0, [r1] - ldr r0, _0804CF60 @ =gSpriteTemplate_82159FC - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBB - strb r0, [r1] - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804CF64 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _0804D570 - .align 2, 0 -_0804CF58: .4byte gPaletteFade -_0804CF5C: .4byte gSpriteTemplate_82159BC -_0804CF60: .4byte gSpriteTemplate_82159FC -_0804CF64: .4byte gSprites -_0804CF68: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _0804D534 -_0804CF78: - movs r1, 0x80 - lsls r1, 19 - ldr r7, _0804CF98 @ =0x00001641 - adds r0, r7, 0 - strh r0, [r1] - movs r0, 0x1 - bl sub_804C0F8 - ldr r0, _0804CF9C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804CF96 - b _0804D570 -_0804CF96: - b _0804D538 - .align 2, 0 -_0804CF98: .4byte 0x00001641 -_0804CF9C: .4byte gPaletteFade -_0804CFA0: - movs r0, 0x1 - bl sub_804C0F8 - ldr r2, _0804CFF4 @ =gSprites - ldr r0, _0804CFF8 @ =gUnknown_03004828 - ldr r3, [r0] - adds r4, r3, 0 - adds r4, 0xBA - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - adds r0, r3, 0 - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r7, 0x22 - ldrsh r0, [r0, r7] - adds r1, r0 - cmp r1, 0x40 - beq _0804CFEE - b _0804D570 -_0804CFEE: - adds r1, r3, 0 - b _0804D53C - .align 2, 0 -_0804CFF4: .4byte gSprites -_0804CFF8: .4byte gUnknown_03004828 -_0804CFFC: - movs r0, 0x1 - bl sub_804C0F8 - ldr r0, _0804D024 @ =gUnknown_03004828 - ldr r1, [r0] - movs r0, 0x88 - lsls r0, 1 - adds r2, r1, r0 - ldrh r0, [r2] - adds r0, 0x2 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x9E - lsls r3, 1 - cmp r0, r3 - bgt _0804D020 - b _0804D570 -_0804D020: - strh r3, [r2] - b _0804D53C - .align 2, 0 -_0804D024: .4byte gUnknown_03004828 -_0804D028: - ldr r0, [r6] - adds r0, 0xBA - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804D050 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0804D400 - .align 2, 0 -_0804D050: .4byte gSprites -_0804D054: - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xA - beq _0804D066 - b _0804D570 -_0804D066: - adds r1, 0x4 - b _0804D53E -_0804D06A: - ldr r1, [r6] - movs r4, 0x88 - lsls r4, 1 - adds r2, r1, r4 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xAE - lsls r3, 1 - cmp r0, r3 - ble _0804D08E - strh r3, [r2] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804D08E: - ldr r0, [r6] - adds r0, r4 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _0804D0B0 - ldr r0, _0804D0C8 @ =gSpriteTemplate_8215A30 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r1, 0xBC - strb r0, [r1] -_0804D0B0: - ldr r2, _0804D0CC @ =gSprites - ldr r0, [r6] - adds r0, 0xBC - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0804D0D0 @ =sub_804B0E0 - str r1, [r0] - b _0804D570 - .align 2, 0 -_0804D0C8: .4byte gSpriteTemplate_8215A30 -_0804D0CC: .4byte gSprites -_0804D0D0: .4byte sub_804B0E0 -_0804D0D4: - ldr r0, _0804D0F4 @ =gSpriteTemplate_8215A80 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, _0804D0F8 @ =gUnknown_03004828 - ldr r1, [r2] - adds r1, 0xBB - strb r0, [r1] - ldr r0, [r2] - adds r0, 0xC4 - movs r1, 0x32 - strh r1, [r0] - b _0804D570 - .align 2, 0 -_0804D0F4: .4byte gSpriteTemplate_8215A80 -_0804D0F8: .4byte gUnknown_03004828 -_0804D0FC: - ldr r2, _0804D138 @ =gSprites - ldr r0, [r6] - adds r0, 0xBB - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0804D11A - b _0804D570 -_0804D11A: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_804BBE8 - ldr r1, [r6] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x9F - bl PlaySE - b _0804D570 - .align 2, 0 -_0804D138: .4byte gSprites -_0804D13C: - ldr r1, [r6] - movs r3, 0x8D - lsls r3, 1 - adds r2, r1, r3 - ldrh r3, [r2] - ldr r0, _0804D154 @ =0x000003ff - cmp r3, r0 - bhi _0804D158 - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0804D166 - .align 2, 0 -_0804D154: .4byte 0x000003ff -_0804D158: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0804D166: - ldr r4, [r6] - movs r7, 0x8D - lsls r7, 1 - adds r0, r4, r7 -_0804D16E: - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - movs r2, 0x8C - lsls r2, 1 - adds r1, r4, r2 - strh r0, [r1] - b _0804D570 -_0804D182: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804D1A0 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0x3C - strh r1, [r0] - b _0804D570 - .align 2, 0 -_0804D1A0: .4byte gUnknown_03004828 -_0804D1A4: - ldr r0, _0804D1C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804D1B2 - b _0804D570 -_0804D1B2: - movs r0, 0x5 - bl sub_804BBE8 - movs r0, 0x7 - bl sub_804BBE8 - b _0804D538 - .align 2, 0 -_0804D1C0: .4byte gPaletteFade -_0804D1C4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _0804D534 -_0804D1D2: - movs r1, 0x80 - lsls r1, 19 - movs r3, 0xA2 - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0804D1F0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804D1EC - b _0804D570 -_0804D1EC: - ldr r1, [r6] - b _0804D53C - .align 2, 0 -_0804D1F0: .4byte gPaletteFade -_0804D1F4: - ldr r0, _0804D290 @ =gSpriteTemplate_821595C - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r6, _0804D294 @ =gUnknown_03004828 - ldr r1, [r6] - ldr r5, _0804D298 @ =0x00000103 - adds r1, r5 - movs r7, 0 - mov r8, r7 - strb r0, [r1] - ldr r4, _0804D29C @ =gSprites - ldr r2, [r6] - adds r2, r5 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0804D2A0 @ =sub_804D80C - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, _0804D2A4 @ =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0xC4 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0xC0 - mov r0, r8 - str r0, [r1] - b _0804D570 - .align 2, 0 -_0804D290: .4byte gSpriteTemplate_821595C -_0804D294: .4byte gUnknown_03004828 -_0804D298: .4byte 0x00000103 -_0804D29C: .4byte gSprites -_0804D2A0: .4byte sub_804D80C -_0804D2A4: .4byte 0x0000ffff -_0804D2A8: - ldr r2, _0804D2D8 @ =gSprites - ldr r0, [r6] - ldr r1, _0804D2DC @ =0x00000103 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, _0804D2E0 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r6] - b _0804D53C - .align 2, 0 -_0804D2D8: .4byte gSprites -_0804D2DC: .4byte 0x00000103 -_0804D2E0: .4byte 0x0000ffff -_0804D2E4: - ldr r2, _0804D308 @ =gSprites - ldr r3, [r6] - ldr r7, _0804D30C @ =0x00000103 - adds r0, r3, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0804D310 @ =SpriteCallbackDummy - cmp r1, r0 - beq _0804D302 - b _0804D570 -_0804D302: - adds r1, r3, 0 - b _0804D53C - .align 2, 0 -_0804D308: .4byte gSprites -_0804D30C: .4byte 0x00000103 -_0804D310: .4byte SpriteCallbackDummy -_0804D314: - ldr r4, _0804D3B4 @ =gSprites - ldr r0, [r6] - mov r8, r0 - mov r5, r8 - adds r5, 0xB9 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r2, _0804D3B8 @ =gMonFrontPicCoords - movs r0, 0x91 - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x24] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x26] - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _0804D3BC @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSprite - ldr r0, [r6] - ldr r5, _0804D3C0 @ =0x00000103 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r6] - b _0804D53C - .align 2, 0 -_0804D3B4: .4byte gSprites -_0804D3B8: .4byte gMonFrontPicCoords -_0804D3BC: .4byte 0x000fffff -_0804D3C0: .4byte 0x00000103 -_0804D3C4: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804D414 @ =gStringVar4 - ldr r1, _0804D418 @ =gTradeText_SentOverPoke - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8003460 -_0804D400: - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0xC4 - ldrh r0, [r2] - adds r0, 0x1 - movs r3, 0 -_0804D40C: - strh r0, [r2] - adds r1, 0xC0 - str r3, [r1] - b _0804D570 - .align 2, 0 -_0804D414: .4byte gStringVar4 -_0804D418: .4byte gTradeText_SentOverPoke -_0804D41C: - ldr r1, [r6] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x4 - bne _0804D430 - ldr r0, _0804D480 @ =0x00000173 - bl PlayFanfare -_0804D430: - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xC0 - ldr r0, [r0] - cmp r0, 0xF0 - beq _0804D43E - b _0804D570 -_0804D43E: - adds r1, r2, 0 - adds r1, 0xC4 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - adds r0, r2, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804D484 @ =gStringVar4 - ldr r1, _0804D488 @ =gTradeText_TakeGoodCare - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x2 - bl sub_8003460 - ldr r0, [r6] - adds r0, 0xC0 - str r5, [r0] - b _0804D570 - .align 2, 0 -_0804D480: .4byte 0x00000173 -_0804D484: .4byte gStringVar4 -_0804D488: .4byte gTradeText_TakeGoodCare -_0804D48C: - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bne _0804D570 - adds r1, 0x4 - b _0804D53E -_0804D4A0: - bl sub_804E1DC - b _0804D538 -_0804D4A6: - ldr r2, [r6] - movs r3, 0x8F - lsls r3, 1 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _0804D4B8 - movs r0, 0x1 - b _0804D572 -_0804D4B8: - ldr r0, _0804D4C8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0804D570 - adds r1, r2, 0 - b _0804D53C - .align 2, 0 -_0804D4C8: .4byte gMain -_0804D4CC: - ldr r0, _0804D510 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_804BA94 - ldr r1, _0804D514 @ =gCB2_AfterEvolution - ldr r0, _0804D518 @ =sub_804BBCC - str r0, [r1] - ldr r7, _0804D51C @ =gUnknown_020297D8 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0804D520 @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0804D538 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _0804D524 @ =gUnknown_03004828 - ldr r1, [r1] - adds r1, 0xB9 - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0804D538 - .align 2, 0 -_0804D510: .4byte gSpecialVar_0x8005 -_0804D514: .4byte gCB2_AfterEvolution -_0804D518: .4byte sub_804BBCC -_0804D51C: .4byte gUnknown_020297D8 -_0804D520: .4byte gPlayerParty -_0804D524: .4byte gUnknown_03004828 -_0804D528: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_0804D534: - bl BeginNormalPaletteFade -_0804D538: - ldr r0, _0804D548 @ =gUnknown_03004828 - ldr r1, [r0] -_0804D53C: - adds r1, 0xC4 -_0804D53E: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0804D570 - .align 2, 0 -_0804D548: .4byte gUnknown_03004828 -_0804D54C: - ldr r0, _0804D580 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804D570 - ldr r0, [r6] - movs r7, 0x92 - lsls r7, 1 - adds r0, r7 - ldrh r0, [r0] - bl PlayBGM - ldr r0, _0804D584 @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - bl sub_804D8E4 -_0804D570: - movs r0, 0 -_0804D572: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804D580: .4byte gPaletteFade -_0804D584: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_804C29C - - thumb_func_start sub_804D588 -sub_804D588: @ 804D588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0804D5A0 @ =gMain - ldr r2, _0804D5A4 @ =0x0000043c - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0804D5A8 - cmp r0, 0x4 - beq _0804D5B8 - b _0804D614 - .align 2, 0 -_0804D5A0: .4byte gMain -_0804D5A4: .4byte 0x0000043c -_0804D5A8: - movs r0, 0x4 - strb r0, [r1] - ldr r1, _0804D5B4 @ =gSoftResetDisabled - movs r0, 0x1 - b _0804D612 - .align 2, 0 -_0804D5B4: .4byte gSoftResetDisabled -_0804D5B8: - ldr r0, _0804D5F4 @ =gCB2_AfterEvolution - ldr r1, _0804D5F8 @ =sub_804DC88 - mov r8, r1 - str r1, [r0] - ldr r7, _0804D5FC @ =gUnknown_020297D8 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0804D600 @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0804D608 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _0804D604 @ =gUnknown_03004828 - ldr r1, [r1] - adds r1, 0xB9 - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0804D60E - .align 2, 0 -_0804D5F4: .4byte gCB2_AfterEvolution -_0804D5F8: .4byte sub_804DC88 -_0804D5FC: .4byte gUnknown_020297D8 -_0804D600: .4byte gPlayerParty -_0804D604: .4byte gUnknown_03004828 -_0804D608: - mov r0, r8 - bl SetMainCallback2 -_0804D60E: - ldr r1, _0804D638 @ =gUnknown_020297D8 - movs r0, 0xFF -_0804D612: - strb r0, [r1] -_0804D614: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0804D622 - bl RunTasks -_0804D622: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804D638: .4byte gUnknown_020297D8 - thumb_func_end sub_804D588 - - thumb_func_start sub_804D63C -sub_804D63C: @ 804D63C - push {r4-r6,lr} - bl sub_804B2B0 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - adds r0, r5, 0 - ands r0, r6 - cmp r0, 0 - beq _0804D67A - ldr r4, _0804D6A8 @ =gBlockRecvBuffer - ldrh r1, [r4] - ldr r0, _0804D6AC @ =0x0000dcba - cmp r1, r0 - bne _0804D664 - ldr r0, _0804D6B0 @ =sub_804D588 - bl SetMainCallback2 -_0804D664: - ldrh r1, [r4] - ldr r0, _0804D6B4 @ =0x0000abcd - cmp r1, r0 - bne _0804D674 - ldr r0, _0804D6B8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0x9C - strb r6, [r0] -_0804D674: - movs r0, 0 - bl ResetBlockReceivedFlag -_0804D67A: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0804D6A2 - ldr r0, _0804D6A8 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _0804D6B4 @ =0x0000abcd - cmp r1, r0 - bne _0804D69C - ldr r0, _0804D6B8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0x9D - movs r1, 0x1 - strb r1, [r0] -_0804D69C: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_0804D6A2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804D6A8: .4byte gBlockRecvBuffer -_0804D6AC: .4byte 0x0000dcba -_0804D6B0: .4byte sub_804D588 -_0804D6B4: .4byte 0x0000abcd -_0804D6B8: .4byte gUnknown_03004828 - thumb_func_end sub_804D63C - - thumb_func_start sub_804D6BC -sub_804D6BC: @ 804D6BC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - ldrh r4, [r5, 0x22] - adds r4, r0 - strh r4, [r5, 0x22] - ldrh r0, [r5, 0x30] - ldrh r2, [r5, 0x38] - adds r0, r2 - strh r0, [r5, 0x38] - movs r1, 0x38 - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0x4C - ble _0804D70A - movs r0, 0x4C - strh r0, [r5, 0x22] - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - muls r0, r1 - negs r0, r0 - movs r1, 0x64 - bl __divsi3 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] -_0804D70A: - movs r1, 0x20 - ldrsh r0, [r5, r1] - cmp r0, 0x78 - bne _0804D716 - movs r0, 0 - strh r0, [r5, 0x30] -_0804D716: - ldrh r0, [r5, 0x36] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bne _0804D72E - movs r0, 0x1 - strh r0, [r5, 0x3C] - ldr r0, _0804D734 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0804D72E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804D734: .4byte SpriteCallbackDummy - thumb_func_end sub_804D6BC - - thumb_func_start sub_804D738 -sub_804D738: @ 804D738 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _0804D7A0 @ =gTradeBallVerticalVelocityTable - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _0804D760 - movs r0, 0x38 - bl PlaySE -_0804D760: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bne _0804D796 - movs r0, 0x8C - bl PlaySE - ldr r0, _0804D7A4 @ =sub_804D7AC - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x2E] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x1 - negs r1, r1 - ldr r2, _0804D7A8 @ =0x0000ffff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0804D796: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D7A0: .4byte gTradeBallVerticalVelocityTable -_0804D7A4: .4byte sub_804D7AC -_0804D7A8: .4byte 0x0000ffff - thumb_func_end sub_804D738 - - thumb_func_start sub_804D7AC -sub_804D7AC: @ 804D7AC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x14 - bne _0804D7C0 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0804D7C0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0804D7FE - ldr r1, _0804D804 @ =gTradeBallVerticalVelocityTable - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - bne _0804D7FE - adds r0, r4, 0 - bl DestroySprite - ldr r0, _0804D808 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC4 - movs r1, 0xE - strh r1, [r0] -_0804D7FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D804: .4byte gTradeBallVerticalVelocityTable -_0804D808: .4byte gUnknown_03004828 - thumb_func_end sub_804D7AC - - thumb_func_start sub_804D80C -sub_804D80C: @ 804D80C - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0804D83C - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _0804D88C - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x16 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _0804D88C -_0804D83C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x42 - bne _0804D84A - movs r0, 0x39 - bl PlaySE -_0804D84A: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5C - bne _0804D858 - movs r0, 0x3A - bl PlaySE -_0804D858: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x6B - bne _0804D866 - movs r0, 0x3B - bl PlaySE -_0804D866: - ldr r1, _0804D894 @ =gTradeBallVerticalVelocityTable - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6C - bne _0804D88C - ldr r0, _0804D898 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0804D88C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D894: .4byte gTradeBallVerticalVelocityTable -_0804D898: .4byte SpriteCallbackDummy - thumb_func_end sub_804D80C - - thumb_func_start sub_804D89C -sub_804D89C: @ 804D89C - push {r4-r6,lr} - ldr r0, _0804D8D0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _0804D8D4 @ =gIngameTrades - adds r4, r0 - ldr r0, _0804D8D8 @ =gStringVar1 - ldrh r1, [r4, 0x38] - movs r6, 0xB - muls r1, r6 - ldr r5, _0804D8DC @ =gSpeciesNames - adds r1, r5 - bl StringCopy - ldr r0, _0804D8E0 @ =gStringVar2 - ldrh r1, [r4, 0xC] - muls r1, r6 - adds r1, r5 - bl StringCopy - ldrh r0, [r4, 0x38] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0804D8D0: .4byte gSpecialVar_0x8004 -_0804D8D4: .4byte gIngameTrades -_0804D8D8: .4byte gStringVar1 -_0804D8DC: .4byte gSpeciesNames -_0804D8E0: .4byte gStringVar2 - thumb_func_end sub_804D89C - - thumb_func_start sub_804D8E4 -sub_804D8E4: @ 804D8E4 - push {r4,lr} - sub sp, 0x20 - ldr r0, _0804D92C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _0804D930 @ =gIngameTrades - adds r4, r0 - ldr r0, _0804D934 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804D938 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _0804D93C @ =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r0, _0804D940 @ =gStringVar2 - ldrh r2, [r4, 0xC] - movs r1, 0xB - muls r1, r2 - ldr r2, _0804D944 @ =gSpeciesNames - adds r1, r2 - bl StringCopy - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D92C: .4byte gSpecialVar_0x8004 -_0804D930: .4byte gIngameTrades -_0804D934: .4byte gSpecialVar_0x8005 -_0804D938: .4byte gPlayerParty -_0804D93C: .4byte gStringVar1 -_0804D940: .4byte gStringVar2 -_0804D944: .4byte gSpeciesNames - thumb_func_end sub_804D8E4 - - thumb_func_start sub_804D948 -sub_804D948: @ 804D948 - push {r4-r7,lr} - sub sp, 0x38 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r1, 4 - subs r2, r1 - lsls r2, 2 - ldr r1, _0804DAA4 @ =gIngameTrades - adds r5, r2, r1 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0804DAA8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - add r4, sp, 0x34 - movs r0, 0xFE - strb r0, [r4] - ldr r6, _0804DAAC @ =gEnemyParty - ldrh r1, [r5, 0xC] - movs r3, 0x1 - str r3, [sp] - ldr r0, [r5, 0x24] - str r0, [sp, 0x4] - str r3, [sp, 0x8] - ldr r0, [r5, 0x18] - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r3, 0x20 - bl CreateMon - adds r2, r5, 0 - adds r2, 0xE - adds r0, r6, 0 - movs r1, 0x27 - bl SetMonData - adds r2, r5, 0 - adds r2, 0xF - adds r0, r6, 0 - movs r1, 0x28 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x10 - adds r0, r6, 0 - movs r1, 0x29 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x11 - adds r0, r6, 0 - movs r1, 0x2A - bl SetMonData - adds r2, r5, 0 - adds r2, 0x12 - adds r0, r6, 0 - movs r1, 0x2B - bl SetMonData - adds r2, r5, 0 - adds r2, 0x13 - adds r0, r6, 0 - movs r1, 0x2C - bl SetMonData - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x2B - adds r0, r6, 0 - movs r1, 0x7 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x36 - adds r0, r6, 0 - movs r1, 0x31 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - movs r1, 0x2E - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1D - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1E - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1C - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1F - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x20 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - adds r2, r5, 0 - adds r2, 0x37 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x23 - adds r2, r4, 0 - bl SetMonData - mov r4, sp - adds r4, 0x35 - movs r0, 0 - strb r0, [r4] - ldrh r0, [r5, 0x28] - cmp r0, 0 - beq _0804DAC0 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0804DAB4 - add r0, sp, 0x10 - adds r1, r5, 0 - bl sub_804DAD4 - ldr r0, _0804DAB0 @ =gUnknown_02029700 - add r1, sp, 0x10 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData - b _0804DAC0 - .align 2, 0 -_0804DAA4: .4byte gIngameTrades -_0804DAA8: .4byte gPlayerParty -_0804DAAC: .4byte gEnemyParty -_0804DAB0: .4byte gUnknown_02029700 -_0804DAB4: - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData -_0804DAC0: - ldr r0, _0804DAD0 @ =gEnemyParty - bl CalculateMonStats - add sp, 0x38 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804DAD0: .4byte gEnemyParty - thumb_func_end sub_804D948 - -.section .text.sub_804DB2C - - thumb_func_start sub_804DB2C -sub_804DB2C: @ 804DB2C - push {r4-r6,lr} - ldr r6, _0804DB58 @ =gSpecialVar_0x8005 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _0804DB5C @ =gPlayerParty - adds r0, r4 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0804DB60 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - b _0804DB62 - .align 2, 0 -_0804DB58: .4byte gSpecialVar_0x8005 -_0804DB5C: .4byte gPlayerParty -_0804DB60: - movs r0, 0 -_0804DB62: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_804DB2C - - thumb_func_start sub_804DB68 -sub_804DB68: @ 804DB68 - push {lr} - ldr r0, _0804DB7C @ =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, _0804DB80 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_804D948 - pop {r0} - bx r0 - .align 2, 0 -_0804DB7C: .4byte gSpecialVar_0x8005 -_0804DB80: .4byte gSpecialVar_0x8004 - thumb_func_end sub_804DB68 - - thumb_func_start sub_804DB84 -sub_804DB84: @ 804DB84 - push {r4-r6,lr} - bl sub_804C29C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _0804DBE6 - ldr r5, _0804DC04 @ =gUnknown_03004828 - ldr r0, [r5] - adds r0, 0xB8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804DC08 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r5] - adds r0, 0xB9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, _0804DC0C @ =gUnknown_020297D8 - ldrb r4, [r0] - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_804BA94 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x9E - ldr r1, _0804DC10 @ =0x0000abcd - strh r1, [r2] - adds r0, 0xBD - strb r6, [r0] - ldr r0, _0804DC14 @ =sub_804DC18 - bl SetMainCallback2 -_0804DBE6: - bl sub_804BB78 - bl sub_804D63C - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804DC04: .4byte gUnknown_03004828 -_0804DC08: .4byte gSprites -_0804DC0C: .4byte gUnknown_020297D8 -_0804DC10: .4byte 0x0000abcd -_0804DC14: .4byte sub_804DC18 - thumb_func_end sub_804DB84 - - thumb_func_start sub_804DC18 -sub_804DC18: @ 804DC18 - push {r4,lr} - bl sub_804B2B0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_804D63C - cmp r4, 0 - bne _0804DC64 - ldr r4, _0804DC7C @ =gUnknown_03004828 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x9C - ldrh r1, [r0] - ldr r0, _0804DC80 @ =0x00000101 - cmp r1, r0 - bne _0804DC64 - adds r1, r2, 0 - adds r1, 0x9E - ldr r0, _0804DC84 @ =0x0000dcba - strh r0, [r1] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x9E - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] - adds r0, 0x9C - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9D - strb r1, [r0] -_0804DC64: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804DC7C: .4byte gUnknown_03004828 -_0804DC80: .4byte 0x00000101 -_0804DC84: .4byte 0x0000dcba - thumb_func_end sub_804DC18 - - thumb_func_start sub_804DC88 -sub_804DC88: @ 804DC88 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _0804DCA8 @ =gMain - ldr r2, _0804DCAC @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x65 - bls _0804DC9C - b _0804E11A -_0804DC9C: - lsls r0, 2 - ldr r1, _0804DCB0 @ =_0804DCB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804DCA8: .4byte gMain -_0804DCAC: .4byte 0x0000043c -_0804DCB0: .4byte _0804DCB4 - .align 2, 0 -_0804DCB4: - .4byte _0804DE4C - .4byte _0804DE9C - .4byte _0804DF14 - .4byte _0804E11A - .4byte _0804DFE0 - .4byte _0804E078 - .4byte _0804E0A0 - .4byte _0804E0BC - .4byte _0804E0E4 - .4byte _0804E10C - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E008 - .4byte _0804E034 - .4byte _0804E04C - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804DF54 - .4byte _0804DF7C - .4byte _0804DF9C - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804E11A - .4byte _0804DEB4 - .4byte _0804DEF4 -_0804DE4C: - ldr r5, _0804DE88 @ =gUnknown_03004828 - ldr r0, _0804DE8C @ =0x0201f000 - str r0, [r5] - ldr r1, _0804DE90 @ =0x0000043c - adds r2, r1 - ldrb r1, [r2] - adds r1, 0x1 - strb r1, [r2] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r4, _0804DE94 @ =gStringVar4 - ldr r1, _0804DE98 @ =gOtherText_LinkStandby2 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, [r5] - adds r0, r1, 0x4 - adds r1, 0x34 - ldrb r2, [r1] - movs r1, 0xF - str r1, [sp] - adds r1, r4, 0 - b _0804DF3E - .align 2, 0 -_0804DE88: .4byte gUnknown_03004828 -_0804DE8C: .4byte 0x0201f000 -_0804DE90: .4byte 0x0000043c -_0804DE94: .4byte gStringVar4 -_0804DE98: .4byte gOtherText_LinkStandby2 -_0804DE9C: - bl sub_80084A4 - ldr r0, _0804DEAC @ =gMain - ldr r2, _0804DEB0 @ =0x0000043c - adds r0, r2 - movs r2, 0 - movs r1, 0x64 - b _0804DFEE - .align 2, 0 -_0804DEAC: .4byte gMain -_0804DEB0: .4byte 0x0000043c -_0804DEB4: - ldr r0, _0804DEE8 @ =gUnknown_03004828 - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0xC0 - ldr r0, [r3] - adds r0, 0x1 - str r0, [r3] - cmp r0, 0xB4 - bls _0804DED2 - ldr r1, _0804DEEC @ =0x0000043c - adds r0, r2, r1 - movs r2, 0 - movs r1, 0x65 - strb r1, [r0] - str r2, [r3] -_0804DED2: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0804DEDE - b _0804E11A -_0804DEDE: - ldr r0, _0804DEF0 @ =gMain - ldr r2, _0804DEEC @ =0x0000043c - adds r0, r2 - b _0804DF06 - .align 2, 0 -_0804DEE8: .4byte gUnknown_03004828 -_0804DEEC: .4byte 0x0000043c -_0804DEF0: .4byte gMain -_0804DEF4: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0804DF00 - b _0804E11A -_0804DF00: - ldr r0, _0804DF0C @ =gMain - ldr r1, _0804DF10 @ =0x0000043c - adds r0, r1 -_0804DF06: - movs r1, 0x2 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804DF0C: .4byte gMain -_0804DF10: .4byte 0x0000043c -_0804DF14: - ldr r0, _0804DF48 @ =0x0000043c - adds r1, r2, r0 - movs r0, 0x32 - strb r0, [r1] - ldr r4, _0804DF4C @ =gUnknown_03004828 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x13 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1D - bl ZeroFillWindowRect - ldr r2, [r4] - adds r0, r2, 0x4 - ldr r1, _0804DF50 @ =gSystemText_Saving - adds r2, 0x34 - ldrb r2, [r2] - movs r3, 0xF - str r3, [sp] -_0804DF3E: - movs r3, 0x2 - bl sub_8003460 - b _0804E11A - .align 2, 0 -_0804DF48: .4byte 0x0000043c -_0804DF4C: .4byte gUnknown_03004828 -_0804DF50: .4byte gSystemText_Saving -_0804DF54: - bl SetSecretBase2Field_9_AndHideBG - movs r0, 0x15 - bl IncrementGameStat - bl sub_8125D80 - ldr r1, _0804DF74 @ =gMain - ldr r2, _0804DF78 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - b _0804DFF0 - .align 2, 0 -_0804DF74: .4byte gMain -_0804DF78: .4byte 0x0000043c -_0804DF7C: - ldr r0, _0804DF94 @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x5 - beq _0804DF8E - b _0804E11A -_0804DF8E: - ldr r0, _0804DF98 @ =0x0000043c - adds r1, r2, r0 - b _0804E0FA - .align 2, 0 -_0804DF94: .4byte gUnknown_03004828 -_0804DF98: .4byte 0x0000043c -_0804DF9C: - bl sub_8125DA8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0804DFC0 - bl ClearSecretBase2Field_9_2 - ldr r0, _0804DFB8 @ =gMain - ldr r1, _0804DFBC @ =0x0000043c - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804DFB8: .4byte gMain -_0804DFBC: .4byte 0x0000043c -_0804DFC0: - ldr r0, _0804DFD4 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC0 - str r1, [r0] - ldr r0, _0804DFD8 @ =gMain - ldr r2, _0804DFDC @ =0x0000043c - adds r0, r2 - movs r1, 0x33 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804DFD4: .4byte gUnknown_03004828 -_0804DFD8: .4byte gMain -_0804DFDC: .4byte 0x0000043c -_0804DFE0: - bl sub_8125DDC - ldr r0, _0804DFFC @ =gMain - ldr r1, _0804E000 @ =0x0000043c - adds r0, r1 - movs r2, 0 - movs r1, 0x28 -_0804DFEE: - strb r1, [r0] -_0804DFF0: - ldr r0, _0804E004 @ =gUnknown_03004828 - ldr r0, [r0] - adds r0, 0xC0 - str r2, [r0] - b _0804E11A - .align 2, 0 -_0804DFFC: .4byte gMain -_0804E000: .4byte 0x0000043c -_0804E004: .4byte gUnknown_03004828 -_0804E008: - ldr r0, _0804E02C @ =gUnknown_03004828 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x32 - bhi _0804E01C - b _0804E11A -_0804E01C: - movs r0, 0 - str r0, [r1] - ldr r0, _0804E030 @ =0x0000043c - adds r1, r2, r0 - movs r0, 0x29 - strb r0, [r1] - b _0804E11A - .align 2, 0 -_0804E02C: .4byte gUnknown_03004828 -_0804E030: .4byte 0x0000043c -_0804E034: - bl sub_80084A4 - ldr r0, _0804E044 @ =gMain - ldr r1, _0804E048 @ =0x0000043c - adds r0, r1 - movs r1, 0x2A - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804E044: .4byte gMain -_0804E048: .4byte 0x0000043c -_0804E04C: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804E11A - bl sub_8125E04 - ldr r1, _0804E06C @ =gSoftResetDisabled - movs r0, 0 - strb r0, [r1] - ldr r0, _0804E070 @ =gMain - ldr r2, _0804E074 @ =0x0000043c - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _0804E11A - .align 2, 0 -_0804E06C: .4byte gSoftResetDisabled -_0804E070: .4byte gMain -_0804E074: .4byte 0x0000043c -_0804E078: - ldr r0, _0804E098 @ =gUnknown_03004828 - ldr r1, [r0] - adds r1, 0xC0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bls _0804E11A - ldr r0, _0804E09C @ =0x0000043c - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_80084A4 - b _0804E11A - .align 2, 0 -_0804E098: .4byte gUnknown_03004828 -_0804E09C: .4byte 0x0000043c -_0804E0A0: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0804E11A - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0804E0F4 -_0804E0BC: - ldr r0, _0804E0D8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E11A - movs r0, 0x3 - bl FadeOutBGM - ldr r1, _0804E0DC @ =gMain - ldr r0, _0804E0E0 @ =0x0000043c - adds r1, r0 - b _0804E0FA - .align 2, 0 -_0804E0D8: .4byte gPaletteFade -_0804E0DC: .4byte gMain -_0804E0E0: .4byte 0x0000043c -_0804E0E4: - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0804E11A - bl sub_800832C -_0804E0F4: - ldr r1, _0804E104 @ =gMain - ldr r2, _0804E108 @ =0x0000043c - adds r1, r2 -_0804E0FA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804E11A - .align 2, 0 -_0804E104: .4byte gMain -_0804E108: .4byte 0x0000043c -_0804E10C: - ldr r0, _0804E13C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0804E11A - ldr r0, _0804E140 @ =sub_804E144 - bl SetMainCallback2 -_0804E11A: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0804E128 - bl RunTasks -_0804E128: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E13C: .4byte gReceivedRemoteLinkPlayers -_0804E140: .4byte sub_804E144 - thumb_func_end sub_804DC88 - - thumb_func_start sub_804E144 -sub_804E144: @ 804E144 - push {lr} - ldr r0, _0804E16C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E158 - ldr r0, _0804E170 @ =sub_8047CD8 - bl SetMainCallback2 -_0804E158: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - .align 2, 0 -_0804E16C: .4byte gPaletteFade -_0804E170: .4byte sub_8047CD8 - thumb_func_end sub_804E144 - - thumb_func_start sub_804E174 -sub_804E174: @ 804E174 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _0804E19C @ =sub_804E1A0 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0804E19C: .4byte sub_804E1A0 - thumb_func_end sub_804E174 - - thumb_func_start sub_804E1A0 -sub_804E1A0: @ 804E1A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0804E1CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E1C4 - ldr r0, _0804E1D0 @ =sub_804B790 - bl SetMainCallback2 - ldr r1, _0804E1D4 @ =gFieldCallback - ldr r0, _0804E1D8 @ =sub_8080990 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0804E1C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E1CC: .4byte gPaletteFade -_0804E1D0: .4byte sub_804B790 -_0804E1D4: .4byte gFieldCallback -_0804E1D8: .4byte sub_8080990 - thumb_func_end sub_804E1A0 - - thumb_func_start sub_804E1DC -sub_804E1DC: @ 804E1DC - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0804E1E2: - ldr r0, _0804E220 @ =gUnknown_020297D8 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0804E224 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - bl GetMonData - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _0804E1E2 - cmp r5, 0 - beq _0804E21A - ldr r0, _0804E228 @ =0x0000083b - bl FlagSet -_0804E21A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E220: .4byte gUnknown_020297D8 -_0804E224: .4byte gEnemyParty -_0804E228: .4byte 0x0000083b - thumb_func_end sub_804E1DC - - thumb_func_start sub_804E22C -sub_804E22C: @ 804E22C - push {r4,lr} - ldr r0, _0804E26C @ =gUnknown_08D00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, _0804E270 @ =gUnknown_08D00524 - ldr r4, _0804E274 @ =0x02000000 - movs r2, 0x80 - lsls r2, 4 - adds r1, r4, 0 - bl CpuSet - ldr r1, _0804E278 @ =0x06002800 - ldr r0, _0804E27C @ =0x040000d4 - str r4, [r0] - str r1, [r0, 0x4] - ldr r1, _0804E280 @ =0x80000280 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _0804E284 @ =gUnknown_08D004E0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, _0804E288 @ =REG_BG1CNT - ldr r2, _0804E28C @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E26C: .4byte gUnknown_08D00000 -_0804E270: .4byte gUnknown_08D00524 -_0804E274: .4byte 0x02000000 -_0804E278: .4byte 0x06002800 -_0804E27C: .4byte 0x040000d4 -_0804E280: .4byte 0x80000280 -_0804E284: .4byte gUnknown_08D004E0 -_0804E288: .4byte REG_BG1CNT -_0804E28C: .4byte 0x00000502 - thumb_func_end sub_804E22C - - .align 2, 0 @ Don't pad with nop. diff --git a/asmdiff.sh b/asmdiff.sh new file mode 100644 index 000000000..a4b465b6e --- /dev/null +++ b/asmdiff.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb" +OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))" +$OBJDUMP $OPTIONS baserom.gba > baserom.dump +$OBJDUMP $OPTIONS pokeruby.gba > pokeruby.dump +diff baserom.dump pokeruby.dump diff --git a/common_syms/battle_anim.txt b/common_syms/battle/battle_anim.txt index a93ac9b5d..a93ac9b5d 100644 --- a/common_syms/battle_anim.txt +++ b/common_syms/battle/battle_anim.txt diff --git a/common_syms/mori_debug_menu.txt b/common_syms/debug/mori_debug_menu.txt index 77ab5531c..77ab5531c 100644 --- a/common_syms/mori_debug_menu.txt +++ b/common_syms/debug/mori_debug_menu.txt diff --git a/common_syms/sound_check_menu.txt b/common_syms/debug/sound_check_menu.txt index ba350ad8e..e9e3032e6 100644 --- a/common_syms/sound_check_menu.txt +++ b/common_syms/debug/sound_check_menu.txt @@ -1 +1,2 @@ gUnknown_03005D30 +gSoundTestCryNum diff --git a/common_syms/link.txt b/common_syms/engine/link.txt index faafda4d0..faafda4d0 100644 --- a/common_syms/link.txt +++ b/common_syms/engine/link.txt diff --git a/common_syms/load_save.txt b/common_syms/engine/load_save.txt index 3b969deca..3b969deca 100644 --- a/common_syms/load_save.txt +++ b/common_syms/engine/load_save.txt diff --git a/common_syms/main.txt b/common_syms/engine/main.txt index a620083d1..a620083d1 100644 --- a/common_syms/main.txt +++ b/common_syms/engine/main.txt diff --git a/common_syms/record_mixing.txt b/common_syms/engine/record_mixing.txt index a6f4f8df3..a6f4f8df3 100644 --- a/common_syms/record_mixing.txt +++ b/common_syms/engine/record_mixing.txt diff --git a/common_syms/rng.txt b/common_syms/engine/rng.txt index 794439ea5..794439ea5 100644 --- a/common_syms/rng.txt +++ b/common_syms/engine/rng.txt diff --git a/common_syms/rtc.txt b/common_syms/engine/rtc.txt index fa00a34d5..fa00a34d5 100644 --- a/common_syms/rtc.txt +++ b/common_syms/engine/rtc.txt diff --git a/common_syms/save.txt b/common_syms/engine/save.txt index d09a52bcf..d09a52bcf 100644 --- a/common_syms/save.txt +++ b/common_syms/engine/save.txt diff --git a/common_syms/sound.txt b/common_syms/engine/sound.txt index 0f6f2fc75..0f6f2fc75 100644 --- a/common_syms/sound.txt +++ b/common_syms/engine/sound.txt diff --git a/common_syms/sprite.txt b/common_syms/engine/sprite.txt index fe38dc61f..fe38dc61f 100644 --- a/common_syms/sprite.txt +++ b/common_syms/engine/sprite.txt diff --git a/common_syms/string_util.txt b/common_syms/engine/string_util.txt index 1ee62aaad..1ee62aaad 100644 --- a/common_syms/string_util.txt +++ b/common_syms/engine/string_util.txt diff --git a/common_syms/task.txt b/common_syms/engine/task.txt index 6601bd11b..6601bd11b 100644 --- a/common_syms/task.txt +++ b/common_syms/engine/task.txt diff --git a/common_syms/field_camera.txt b/common_syms/field/field_camera.txt index 7aad967f8..7aad967f8 100644 --- a/common_syms/field_camera.txt +++ b/common_syms/field/field_camera.txt diff --git a/common_syms/field_control_avatar.txt b/common_syms/field/field_control_avatar.txt index 040a9e6c1..040a9e6c1 100644 --- a/common_syms/field_control_avatar.txt +++ b/common_syms/field/field_control_avatar.txt diff --git a/common_syms/field_map_obj.txt b/common_syms/field/field_map_obj.txt index 32d8b1915..32d8b1915 100644 --- a/common_syms/field_map_obj.txt +++ b/common_syms/field/field_map_obj.txt diff --git a/common_syms/fieldmap.txt b/common_syms/field/fieldmap.txt index 7819b3b40..7819b3b40 100644 --- a/common_syms/fieldmap.txt +++ b/common_syms/field/fieldmap.txt diff --git a/common_syms/overworld.txt b/common_syms/field/overworld.txt index ecdb190b2..ecdb190b2 100644 --- a/common_syms/overworld.txt +++ b/common_syms/field/overworld.txt diff --git a/common_syms/start_menu.txt b/common_syms/field/start_menu.txt index bc0c247d1..bc0c247d1 100644 --- a/common_syms/start_menu.txt +++ b/common_syms/field/start_menu.txt diff --git a/common_syms/tv.txt b/common_syms/field/tv.txt index 829139f8f..829139f8f 100644 --- a/common_syms/tv.txt +++ b/common_syms/field/tv.txt diff --git a/common_syms/agb_flash.txt b/common_syms/libs/agb_flash.txt index cb421ec80..cb421ec80 100644 --- a/common_syms/agb_flash.txt +++ b/common_syms/libs/agb_flash.txt diff --git a/common_syms/m4a_2.txt b/common_syms/libs/m4a_2.txt index a80d8a79d..a80d8a79d 100644 --- a/common_syms/m4a_2.txt +++ b/common_syms/libs/m4a_2.txt diff --git a/common_syms/pokeblock_feed.txt b/common_syms/pokemon/pokeblock_feed.txt index 827e6526e..827e6526e 100644 --- a/common_syms/pokeblock_feed.txt +++ b/common_syms/pokemon/pokeblock_feed.txt diff --git a/common_syms/pokedex.txt b/common_syms/pokemon/pokedex.txt index 18b14f3ed..18b14f3ed 100644 --- a/common_syms/pokedex.txt +++ b/common_syms/pokemon/pokedex.txt diff --git a/common_syms/pokemon_1.txt b/common_syms/pokemon/pokemon_1.txt index c588d53a7..c588d53a7 100644 --- a/common_syms/pokemon_1.txt +++ b/common_syms/pokemon/pokemon_1.txt diff --git a/common_syms/pokemon_menu.txt b/common_syms/pokemon/pokemon_menu.txt index 98a1bf53b..98a1bf53b 100644 --- a/common_syms/pokemon_menu.txt +++ b/common_syms/pokemon/pokemon_menu.txt diff --git a/common_syms/berry_blender.txt b/common_syms/scene/berry_blender.txt index 524a31411..524a31411 100644 --- a/common_syms/berry_blender.txt +++ b/common_syms/scene/berry_blender.txt diff --git a/common_syms/contest_painting.txt b/common_syms/scene/contest_painting.txt index 2e8490348..2e8490348 100644 --- a/common_syms/contest_painting.txt +++ b/common_syms/scene/contest_painting.txt diff --git a/common_syms/cute_sketch.txt b/common_syms/scene/cute_sketch.txt index e69de29bb..e69de29bb 100644 --- a/common_syms/cute_sketch.txt +++ b/common_syms/scene/cute_sketch.txt diff --git a/common_syms/egg_hatch.txt b/common_syms/scene/egg_hatch.txt index 891ccc104..891ccc104 100644 --- a/common_syms/egg_hatch.txt +++ b/common_syms/scene/egg_hatch.txt diff --git a/common_syms/evolution_scene.txt b/common_syms/scene/evolution_scene.txt index 137cd3e05..137cd3e05 100644 --- a/common_syms/evolution_scene.txt +++ b/common_syms/scene/evolution_scene.txt diff --git a/common_syms/intro.txt b/common_syms/scene/intro.txt index d069b1014..d069b1014 100644 --- a/common_syms/intro.txt +++ b/common_syms/scene/intro.txt diff --git a/constants/battle_tower_constants.inc b/constants/battle_tower_constants.inc deleted file mode 100644 index 136b43bd7..000000000 --- a/constants/battle_tower_constants.inc +++ /dev/null @@ -1,70 +0,0 @@ - .set F_EV_SPREAD_HP, 1 << 0 - .set F_EV_SPREAD_ATTACK, 1 << 1 - .set F_EV_SPREAD_DEFENSE, 1 << 2 - .set F_EV_SPREAD_SPEED, 1 << 3 - .set F_EV_SPREAD_SP_ATTACK, 1 << 4 - .set F_EV_SPREAD_SP_DEFENSE, 1 << 5 - - .set BATTLE_TOWER_ITEM_NONE, 0 - .set BATTLE_TOWER_ITEM_KINGS_ROCK, 1 - .set BATTLE_TOWER_ITEM_SITRUS_BERRY, 2 - .set BATTLE_TOWER_ITEM_ORAN_BERRY, 3 - .set BATTLE_TOWER_ITEM_CHESTO_BERRY, 4 - .set BATTLE_TOWER_ITEM_HARD_STONE, 5 - .set BATTLE_TOWER_ITEM_FOCUS_BAND, 6 - .set BATTLE_TOWER_ITEM_PERSIM_BERRY, 7 - .set BATTLE_TOWER_ITEM_MIRACLE_SEED, 8 - .set BATTLE_TOWER_ITEM_BERRY_JUICE, 9 - .set BATTLE_TOWER_ITEM_MACHO_BRACE, 10 - .set BATTLE_TOWER_ITEM_SILVER_POWDER, 11 - .set BATTLE_TOWER_ITEM_CHERI_BERRY, 12 - .set BATTLE_TOWER_ITEM_BLACK_GLASSES, 13 - .set BATTLE_TOWER_ITEM_BLACK_BELT, 14 - .set BATTLE_TOWER_ITEM_SOUL_DEW, 15 - .set BATTLE_TOWER_ITEM_CHOICE_BAND, 16 - .set BATTLE_TOWER_ITEM_MAGNET, 17 - .set BATTLE_TOWER_ITEM_SILK_SCARF, 18 - .set BATTLE_TOWER_ITEM_WHITE_HERB, 19 - .set BATTLE_TOWER_ITEM_DEEP_SEA_SCALE, 20 - .set BATTLE_TOWER_ITEM_DEEP_SEA_TOOTH, 21 - .set BATTLE_TOWER_ITEM_MYSTIC_WATER, 22 - .set BATTLE_TOWER_ITEM_SHARP_BEAK, 23 - .set BATTLE_TOWER_ITEM_QUICK_CLAW, 24 - .set BATTLE_TOWER_ITEM_LEFTOVERS, 25 - .set BATTLE_TOWER_ITEM_RAWST_BERRY, 26 - .set BATTLE_TOWER_ITEM_LIGHT_BALL, 27 - .set BATTLE_TOWER_ITEM_POISON_BARB, 28 - .set BATTLE_TOWER_ITEM_NEVER_MELT_ICE, 29 - .set BATTLE_TOWER_ITEM_ASPEAR_BERRY, 30 - .set BATTLE_TOWER_ITEM_SPELL_TAG, 31 - .set BATTLE_TOWER_ITEM_BRIGHT_POWDER, 32 - .set BATTLE_TOWER_ITEM_LEPPA_BERRY, 33 - .set BATTLE_TOWER_ITEM_SCOPE_LENS, 34 - .set BATTLE_TOWER_ITEM_TWISTED_SPOON, 35 - .set BATTLE_TOWER_ITEM_METAL_COAT, 36 - .set BATTLE_TOWER_ITEM_MENTAL_HERB, 37 - .set BATTLE_TOWER_ITEM_CHARCOAL, 38 - .set BATTLE_TOWER_ITEM_PECHA_BERRY, 39 - .set BATTLE_TOWER_ITEM_SOFT_SAND, 40 - .set BATTLE_TOWER_ITEM_LUM_BERRY, 41 - .set BATTLE_TOWER_ITEM_DRAGON_SCALE, 42 - .set BATTLE_TOWER_ITEM_DRAGON_FANG, 43 - .set BATTLE_TOWER_ITEM_IAPAPA_BERRY, 44 - .set BATTLE_TOWER_ITEM_WIKI_BERRY, 45 - .set BATTLE_TOWER_ITEM_SEA_INCENSE, 46 - .set BATTLE_TOWER_ITEM_SHELL_BELL, 47 - .set BATTLE_TOWER_ITEM_SALAC_BERRY, 48 - .set BATTLE_TOWER_ITEM_LANSAT_BERRY, 49 - .set BATTLE_TOWER_ITEM_APICOT_BERRY, 50 - .set BATTLE_TOWER_ITEM_STARF_BERRY, 51 - .set BATTLE_TOWER_ITEM_LIECHI_BERRY, 52 - .set BATTLE_TOWER_ITEM_STICK, 53 - .set BATTLE_TOWER_ITEM_LAX_INCENSE, 54 - .set BATTLE_TOWER_ITEM_AGUAV_BERRY, 55 - .set BATTLE_TOWER_ITEM_FIGY_BERRY, 56 - .set BATTLE_TOWER_ITEM_THICK_CLUB, 57 - .set BATTLE_TOWER_ITEM_MAGO_BERRY, 58 - .set BATTLE_TOWER_ITEM_METAL_POWDER, 59 - .set BATTLE_TOWER_ITEM_PETAYA_BERRY, 60 - .set BATTLE_TOWER_ITEM_LUCKY_PUNCH, 61 - .set BATTLE_TOWER_ITEM_GANLON_BERRY, 62 diff --git a/constants/constants.inc b/constants/constants.inc index 81d3b72fe..bc55f6723 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -14,7 +14,6 @@ .include "constants/map_constants.inc" .include "constants/berry_constants.inc" .include "constants/map_object_constants.inc" - .include "constants/battle_tower_constants.inc" .include "constants/opponent_constants.inc" .include "constants/decorations.inc" .include "constants/songs.inc" diff --git a/data-de/battle_tower/trainers.inc b/data-de/battle_tower/trainers.inc deleted file mode 100644 index 9791a08a6..000000000 --- a/data-de/battle_tower/trainers.inc +++ /dev/null @@ -1,1301 +0,0 @@ - .align 2 -gBattleTowerTrainers:: @ 8402F00 -@ 0 - .byte TRAINER_CLASS_YOUNGSTER - .string "ALWIN$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word READY - ec_word QUES - ec_word HERE_I_COME - ec_word EXCL - -@ 1 - .byte TRAINER_CLASS_BIRD_KEEPER - .string "DIRK$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word OH_KAY - ec_word I_AM - ec_word READY - ec_word EXCL - .2byte 0xFFFF - .2byte 0xFFFF - -@ 2 - .byte TRAINER_CLASS_LADY - .string "SIBILLE$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THAT - ec_word BECOMES - ec_word A - ec_word CHILD_S_PLAY - ec_word GO - .2byte 0xFFFF - -@ 3 - .byte TRAINER_CLASS_BLACK_BELT - .string "OLAF$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word GHOST - ec_word IS - ec_word FULL - ec_word TOUGHNESS - ec_word SNORT - -@ 4 - .byte TRAINER_CLASS_NINJA_BOY - .string "JOST$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GO - ec_word WHO_WAS - ec_word POKEMON - ec_word FIGHT - ec_word FIGHT - ec_word FIGHT - -@ 5 - .byte TRAINER_CLASS_SCHOOL_KID_F - .string "TINA$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word STUDY - ec_word IS - ec_word BORING - ec_word LET_S - ec_word BETTER - ec_word FIGHT - -@ 6 - .byte TRAINER_CLASS_BUG_MANIAC - .string "HAJO$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TOUGHNESS - ec_word AND - ec_move2 TRANSFORM - ec_word WILL - ec_word BABE - ec_word FAINT - -@ 7 - .byte TRAINER_CLASS_FISHERMAN - .string "GEORG$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT - ec_word GOES - ec_word NOTHING - ec_word OVER - ec_word FISHING - .2byte 0xFFFF - -@ 8 - .byte TRAINER_CLASS_TUBER_F - .string "ANNE$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word POKEMON - ec_word MUST_BE - ec_word MAN - ec_word SIMPLE - ec_word ADORE - .2byte 0xFFFF - -@ 9 - .byte TRAINER_CLASS_POKEFAN_F - .string "JULIA$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word CUTE - ec_word I_AM - ec_word QUITE - ec_word AN - ec_word LADY - -@ 10 - .byte TRAINER_CLASS_GENTLEMAN - .string "JOHANN$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THE - ec_word DAY - ec_word IS - ec_word PERFECT - ec_word FOR - ec_word BATTLE - -@ 11 - .byte TRAINER_CLASS_CAMPER - .string "KARL$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word NOW - ec_word ARE - ec_word YOU - ec_word MY - ec_word FRIEND - .2byte 0xFFFF - -@ 12 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F - .string "KENDRA$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word SMART - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word AND - ec_word YOU - ec_word QUES - -@ 13 - .byte TRAINER_CLASS_HIKER - .string "DAVID$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WAHAHAHA - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word TODAY - ec_word IS - ec_move2 PAY_DAY - .2byte 0xFFFF - -@ 14 - .byte TRAINER_CLASS_BATTLE_GIRL - .string "KEA$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word TOUGH - ec_word OR - ec_word QUES - .2byte 0xFFFF - .2byte 0xFFFF - -@ 15 - .byte TRAINER_CLASS_PSYCHIC_M - .string "JULIAN$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word FUFUFU - ec_word YOU - ec_word CAN_T - ec_word DON_T - ec_word WINS - ec_word KID - -@ 16 - .byte TRAINER_CLASS_LASS - .string "JOSI$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BE - ec_word KIND - ec_word TO - ec_word GIRL - .2byte 0xFFFF - .2byte 0xFFFF - -@ 17 - .byte TRAINER_CLASS_GUITARIST - .string "LEIF$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word GREAT - ec_word YOU_RE - ec_word RATHER - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word OKAY - -@ 18 - .byte TRAINER_CLASS_RICH_BOY - .string "INGO$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word HAVE - ec_word ROUGH_SKIN - ec_word NATURAL_CURE - ec_word IS - ec_word ALL_RIGHT - -@ 19 - .byte TRAINER_CLASS_BUG_CATCHER - .string "LUDWIG$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IF_I_WIN - ec_word IS - ec_word THAT - ec_word EXCITING - .2byte 0xFFFF - .2byte 0xFFFF - -@ 20 - .byte TRAINER_CLASS_PICNICKER - .string "RAJA$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WITH - ec_word POKEMON - ec_word TO - ec_word WALKING - ec_word IS - ec_word GREAT - -@ 21 - .byte TRAINER_CLASS_COLLECTOR - .string "HARALD$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HERE_GOES - ec_word MY - ec_word HUGE_POWER - .2byte 0xFFFF - ec_word POKEMON - .2byte 0xFFFF - -@ 22 - .byte TRAINER_CLASS_TUBER_M - .string "KIM$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word A - ec_word GENIUS - ec_word WE - ec_word WILL - ec_word WINS - -@ 23 - .byte TRAINER_CLASS_KINDLER - .string "ERWIN$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word FIRE - ec_word IS - ec_word VERY - ec_word HOT - .2byte 0xFFFF - -@ 24 - .byte TRAINER_CLASS_PSYCHIC_F - .string "EIKA$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word FIGHTING - ec_move1 ASTONISH - ec_word AND - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - .2byte 0xFFFF - .2byte 0xFFFF - -@ 25 - .byte TRAINER_CLASS_SWIMMER_F - .string "ANNINA$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word SORRY - ec_word YOURS - ec_word POKEMON - ec_word WILL - ec_word DON_T - ec_word WINS - -@ 26 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F - .string "RUTH$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word TOUGH - ec_word WHO_WAS - ec_word POKEMON - ec_word TOO - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - -@ 27 - .byte TRAINER_CLASS_POKEMANIAC - .string "JENS$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WHO_WAS - ec_word POKEMON - ec_word THOSE - ec_word COOL - ec_word YOURS - ec_word LOSE - -@ 28 - .byte TRAINER_CLASS_SAILOR - .string "TITUS$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word FOE - ec_word IS - ec_word FINALLY - ec_word HERE - ec_word EXCELLENT - -@ 29 - .byte TRAINER_CLASS_POKEMON_BREEDER_F - .string "NICOLA$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word VORACIOUS - ec_move2 POUND - ec_word AND - ec_move2 BELLY_DRUM - .2byte 0xFFFF - -@ 30 - .byte TRAINER_CLASS_HEX_MANIAC - .string "PAULA$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IS_IT_QUES - ec_word THOSE_ARE - ec_word UGLY - ec_move1 SPITE - ec_word TO - ec_word TAKE - -@ 31 - .byte TRAINER_CLASS_RUIN_MANIAC - .string "SÖREN$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ADVENTURE - ec_word AND - ec_word BATTLE - ec_word THOSE - ec_word WHO_WAS - ec_word LIKES - -@ 32 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M - .string "RAINER$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WE - ec_word CAN - ec_word VERSUS - ec_word CHILDREN - ec_word DON_T - ec_word LOSE - -@ 33 - .byte TRAINER_CLASS_SCHOOL_KID_M - .string "FABIAN$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word DAILY - ec_word POKEMON - ec_word IN - ec_word THE - ec_word SCHOOL - ec_word AWESOME - -@ 34 - .byte TRAINER_CLASS_POKEMON_RANGER_F - .string "ELLEN$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word ALL_RIGHT - ec_word TO - ec_word POKEMON - ec_word QUES - -@ 35 - .byte TRAINER_CLASS_SWIMMER_M - .string "ARNIE$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word FIGHTING - ec_word IS - ec_word PERFECTION - ec_word YOUR - ec_word USELESS - -@ 36 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M - .string "HARDI$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BOY - ec_word I_AM - ec_word MAYBE - ec_word TIRED - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - .2byte 0xFFFF - -@ 37 - .byte TRAINER_CLASS_BEAUTY - .string "LINA$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word A - ec_word TRAINER - ec_word HOW_DO - ec_word YOU - ec_word IS - ec_word EXCITING - -@ 38 - .byte TRAINER_CLASS_AROMA_LADY - .string "SELINA$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_VE - ec_word STENCH - ec_word OR - ec_move1 SWEET_SCENT - ec_word QUES - .2byte 0xFFFF - -@ 39 - .byte TRAINER_CLASS_COLLECTOR - .string "DANTE$", 8 - .byte 0x81 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOURS - ec_word POKEMON - ec_word I - ec_word WANTS - ec_word SHE - ec_word EXCL_EXCL - -@ 40 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F - .string "KATJA$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TODAY - ec_word WANTS - ec_word I - ec_word MY - ec_word BEST - ec_word GIVE - -@ 41 - .byte TRAINER_CLASS_POKEMON_RANGER_M - .string "HORST$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WAAAH - ec_word WAAAH - ec_word WAAAH - ec_word WAAAH - ec_word EHEHE - ec_move1 FAKE_TEARS - -@ 42 - .byte TRAINER_CLASS_POKEFAN_M - .string "GERRIT$", 8 - .byte 0x80 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word ANIME - ec_word SONG - ec_word IS - ec_word DON_T - ec_word LOUSY - -@ 43 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M - .string "NIKO$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BATTLE - ec_word DON_T - ec_word JUST - ec_word DO - ec_word SOMETHING - ec_word ELSE - -@ 44 - .byte TRAINER_CLASS_POKEMON_BREEDER_M - .string "BALDO$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word BUSY - ec_word HAS - ec_word THAT - ec_word TIME - -@ 45 - .byte TRAINER_CLASS_PARASOL_LADY - .string "ALMA$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THAT - ec_move1 MORNING_SUN - ec_word HAS - ec_word SO - ec_word A_LOT - ec_move1 COSMIC_POWER - -@ 46 - .byte TRAINER_CLASS_CAMPER - .string "ADAM$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word EXCITING - ec_word BATTLE - ec_word THOSE - ec_word GREAT - ec_word YEEHAW_EXCL - .2byte 0xFFFF - -@ 47 - .byte TRAINER_CLASS_SCHOOL_KID_F - .string "GRETE$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word WANTS - ec_word SOMETHING - ec_move1 GROWTH - ec_word WORKS - .2byte 0xFFFF - -@ 48 - .byte TRAINER_CLASS_BEAUTY - .string "NAOMI$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT - ec_word WAS - ec_word GREAT - ec_word YOUNG - ec_word TO - ec_word HIS - -@ 49 - .byte TRAINER_CLASS_NINJA_BOY - .string "KENO$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word PLEASE - ec_word BE - ec_word DON_T - ec_word SO - ec_word MEAN - ec_word TO_ME - -@ 50 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M - .string "REMUS$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WAKES_UP - ec_move2 HIDDEN_POWER - ec_word AND - ec_move1 ASTONISH - .2byte 0xFFFF - .2byte 0xFFFF - -@ 51 - .byte TRAINER_CLASS_POKEMON_RANGER_F - .string "EDITH$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THE - ec_word BATTLE_TOWER - ec_word IS - ec_word SO - ec_word ENTERTAINING - ec_word AWESOME - -@ 52 - .byte TRAINER_CLASS_RUIN_MANIAC - .string "ANTON$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THICK_FAT - ec_word AND - ec_word CHLOROPHYLL - ec_word BLEND - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word TASTY - -@ 53 - .byte TRAINER_CLASS_SWIMMER_M - .string "MALTE$", 8 - .byte 0x81 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word AN - ec_move1 SCARY_FACE - ec_word IS - ec_word DON_T - ec_word QUITE - ec_word TERRIBLE - -@ 54 - .byte TRAINER_CLASS_HEX_MANIAC - .string "RAOUL$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word RUN_AWAY - ec_word GIVE_ME - ec_word SON - ec_word BEST - .2byte 0xFFFF - .2byte 0xFFFF - -@ 55 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M - .string "RICK$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WATER - ec_word IS - ec_word TASTY - ec_word HIP_AND - ec_word REFRESHING - ec_word YES_SIR_EXCL - -@ 56 - .byte TRAINER_CLASS_POKEFAN_M - .string "DENNIS$", 8 - .byte 0x80 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GO - ec_word WHO_WAS - ec_word POKEMON - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - .2byte 0xFFFF - .2byte 0xFFFF - -@ 57 - .byte TRAINER_CLASS_PSYCHIC_F - .string "GLORIA$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THE - ec_word FIGHTING - ec_word MUST_BE - ec_word HOT - ec_word HIS - ec_word FIERY - -@ 58 - .byte TRAINER_CLASS_GUITARIST - .string "NINO$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MUSIC - ec_word IS - ec_word MY - ec_word EVERY - ec_word MY - ec_word DESTINY - -@ 59 - .byte TRAINER_CLASS_KINDLER - .string "FIETE$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT_S - ec_word ALL_RIGHT - ec_word VERY - ec_word ALL_RIGHT - .2byte 0xFFFF - .2byte 0xFFFF - -@ 60 - .byte TRAINER_CLASS_AROMA_LADY - .string "AMANDA$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WHAT - ec_word FOR - ec_word A - ec_word TRAINER - ec_word ARE - ec_word YOU - -@ 61 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M - .string "MAREK$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WE_VE - ec_word UNTIL - ec_word NOW - ec_word TOTALLY - ec_word NEVER - ec_word LOST - -@ 62 - .byte TRAINER_CLASS_DRAGON_TAMER - .string "NATHAN$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word DRAGON - .2byte 0xFFFF - ec_word POKEMON - ec_word THOSE - ec_word FANTASTIC - .2byte 0xFFFF - -@ 63 - .byte TRAINER_CLASS_LASS - .string "MIRIAM$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word QUITE - ec_word TOO_STRONG - ec_word AM - ec_word BAD - ec_word NEWS - -@ 64 - .byte TRAINER_CLASS_POKEMANIAC - .string "THEO$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word PLUSH_DOLL - ec_word MUST_BE - ec_word MAN - ec_word SIMPLE - ec_word ADORE - .2byte 0xFFFF - -@ 65 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F - .string "PIA$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HERE_I_COME - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word CUTE - ec_word A - ec_word CHANNEL - ec_word IDOL - -@ 66 - .byte TRAINER_CLASS_POKEFAN_F - .string "ALISSA$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOURS - ec_word POKEMON - ec_word THOSE - ec_word PREPOSTEROUS - ec_word I_AM - ec_word SHOCKED - -@ 67 - .byte TRAINER_CLASS_GENTLEMAN - .string "ARTUR$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word PLEASE - ec_word ALL - ec_word BATTLE - ec_word WEREN_T - ec_word GREAT - ec_word HIS - -@ 68 - .byte TRAINER_CLASS_SWIMMER_F - .string "MAJA$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word PRETTY - ec_word YOU - ec_word CAN_T - ec_word DON_T - ec_word WINS - -@ 69 - .byte TRAINER_CLASS_COOL_TRAINER_M - .string "MARIUS$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word BATTLE - ec_word DAILY - ec_word I - ec_word WON_T - ec_word LOSE - -@ 70 - .byte TRAINER_CLASS_BIRD_KEEPER - .string "OLIVER$", 8 - .byte 0x11 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GIGGLE - ec_word GIGGLE - ec_word SNORT - ec_word HAPPILY - ec_word GIGGLE - ec_word MUFUFU - -@ 71 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F - .string "MOLLY$", 8 - .byte 0x12 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IS - ec_word TODAY - ec_word MONDAY - ec_word QUES - .2byte 0xFFFF - .2byte 0xFFFF - -@ 72 - .byte TRAINER_CLASS_BUG_MANIAC - .string "JÖRG$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WATER - .2byte 0xFFFF - ec_word AND - ec_word BUG - .2byte 0xFFFF - ec_word POKEMON - -@ 73 - .byte TRAINER_CLASS_BATTLE_GIRL - .string "ANKE$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WHAT - ec_word IS - ec_word PRESSURE - ec_word STATIC - ec_word IS - ec_word SUPER - -@ 74 - .byte TRAINER_CLASS_FISHERMAN - .string "HANS$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word KID - ec_word YOU - ec_word CAN_T - ec_word DON_T - ec_word WINS - .2byte 0xFFFF - -@ 75 - .byte TRAINER_CLASS_SAILOR - .string "PETER$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT_S - ec_word QUITE - ec_word TERRIBLE - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word MODE - ec_word I - -@ 76 - .byte TRAINER_CLASS_EXPERT_F - .string "MARA$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word VERY - ec_word ALL_RIGHT - ec_word TRAINS - ec_word OR - ec_word QUES - -@ 77 - .byte TRAINER_CLASS_BUG_MANIAC - .string "DARIUS$", 8 - .byte 0x11 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word TOUGH - ec_word ARE - ec_word YOU - ec_word SCARY - -@ 78 - .byte TRAINER_CLASS_POKEMON_BREEDER_F - .string "REGINA$", 8 - .byte 0x12 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TODAY - ec_word WIN - ec_word I - ec_word MAYBE - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - .2byte 0xFFFF - -@ 79 - .byte TRAINER_CLASS_PARASOL_LADY - .string "MAIKE$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word SO - ec_word AN - ec_move1 SCARY_FACE - ec_word IS - ec_word NOT_VERY - ec_word KIND - -@ 80 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F - .string "SANDRA$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word SPORTS - ec_word IS - ec_word HEALTHY - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word SPIRALING - .2byte 0xFFFF - -@ 81 - .byte TRAINER_CLASS_POKEMON_RANGER_M - .string "ARNOLD$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word AWESOME - ec_word WHO_WAS - ec_word POKEMON - ec_word THOSE - ec_word ROCK_SOLID - .2byte 0xFFFF - -@ 82 - .byte TRAINER_CLASS_BLACK_BELT - .string "XENO$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HOO_HAH - ec_word ARE - ec_word YOU - ec_word READY - ec_word FOR - ec_word SHADY - -@ 83 - .byte TRAINER_CLASS_COOL_TRAINER_F - .string "KARLA$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU - ec_word CAN_T - ec_word ME - ec_word NEVER - ec_word SMITE - ec_word KID - -@ 84 - .byte TRAINER_CLASS_COLLECTOR - .string "VOLKER$", 8 - .byte 0x80 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word FROM - ec_word PLACE - ec_word TO - ec_word PLACE - ec_word POKEMON - ec_word WOWEE - -@ 85 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M - .string "TOBIAS$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THAT - ec_word ISN_T - ec_word SPORTS - ec_word IT_S - ec_word A - ec_word FIGHTING - -@ 86 - .byte TRAINER_CLASS_GENTLEMAN - .string "NORBERT$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word MUST_BE - ec_word WINS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word PLEASE - ec_word PLEASE - -@ 87 - .byte TRAINER_CLASS_BATTLE_GIRL - .string "ZITA$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THAT - ec_word IS - ec_word SCARY - ec_word PLEASE - ec_word BE - ec_word NICE - -@ 88 - .byte TRAINER_CLASS_BEAUTY - .string "ELKE$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WITHOUT - ec_move1 FLAIL - ec_word NONE - ec_move1 WITHDRAW - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - .2byte 0xFFFF - -@ 89 - .byte TRAINER_CLASS_HIKER - .string "VITUS$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YAHOO - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word LISTENS - ec_word HER - ec_word TO - ec_word QUES - -@ 90 - .byte TRAINER_CLASS_EXPERT_M - .string "MALTE$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word LEARN - ec_word CORRECT - ec_word TO - ec_word FIGHT - .2byte 0xFFFF - .2byte 0xFFFF - -@ 91 - .byte TRAINER_CLASS_POKEMON_BREEDER_M - .string "TIM$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT_S - ec_word A - ec_word FIGHTING - ec_word NONE - ec_word CHILD_S_PLAY - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - -@ 92 - .byte TRAINER_CLASS_GUITARIST - .string "GAVIN$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word SHADY - ec_word BABY - ec_word BABY - ec_word BABY - .2byte 0xFFFF - .2byte 0xFFFF - -@ 93 - .byte TRAINER_CLASS_PSYCHIC_M - .string "RALF$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word STICKY_HOLD - ec_word THOSE - ec_word IMPORTANT - ec_word ISN_T_IT_QUES - .2byte 0xFFFF - .2byte 0xFFFF - -@ 94 - .byte TRAINER_CLASS_COOL_TRAINER_F - .string "JENNY$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word SEARCH - ec_word TRAINER - ec_word ABSOLUTELY - ec_word TOUGH - ec_word THOSE - -@ 95 - .byte TRAINER_CLASS_EXPERT_M - .string "JOEL$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BELIEVE - ec_word ON - ec_word YOURS - ec_word POKEMON - ec_word AND - ec_word WIN - -@ 96 - .byte TRAINER_CLASS_DRAGON_TAMER - .string "KOLJA$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GIRL - ec_word WITH - ec_move2 FORESIGHT - ec_word THOSE - ec_word NICE - .2byte 0xFFFF - -@ 97 - .byte TRAINER_CLASS_COOL_TRAINER_M - .string "BILL$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WHO_WAS - ec_word POWER - ec_word IS - ec_word OVERWHELMING - ec_word DISAPPEAR - ec_word BETTER - -@ 98 - .byte TRAINER_CLASS_EXPERT_F - .string "CALLA$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TRAINER - ec_word YOU - ec_word ARE - ec_word SEEMS - ec_word CAPABLE - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - -@ 99 - .byte TRAINER_CLASS_LADY - .string "GESA$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word COME_ON - ec_word ABSOLUTELY - ec_word TIME - ec_word BECOMES - ec_word EXCELLENT - .2byte 0xFFFF diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s index 114bc4d97..677aa9f21 100644 --- a/data-de/event_scripts.s +++ b/data-de/event_scripts.s @@ -386,27 +386,27 @@ gStdScripts_End:: gUnknown_0815F36C:: @ 815F36C lockall - playsfx 2 + playse 2 message UnknownString_81A3A72 - doanimation 61 + dofieldeffect 61 waitstate - waittext + waitmessage waitbutton - playsfx 5 - jump EventScript_15F384 + playse 5 + goto EventScript_15F384 end EventScript_15F384: message UnknownString_81A3A87 - waittext + waitmessage checkflag 268 - jumpeq EventScript_15F3A0 - jump EventScript_15F3E2 + goto_if_eq EventScript_15F3A0 + goto EventScript_15F3E2 end gUnknown_0815F399:: @ 815F399 lockall - jump EventScript_15F384 + goto EventScript_15F384 end EventScript_15F3A0: @@ -431,8 +431,8 @@ EventScript_15F3E2: EventScript_15F419: msgbox UnknownString_81A38FB, 5 compare RESULT, 0 - jumpeq EventScript_15F384 - closebutton + goto_if_eq EventScript_15F384 + closemessage special SecretBasePC_PackUp releaseall end @@ -448,18 +448,18 @@ EventScript_15F436: gUnknown_0815F43A:: @ 815F43A lockall message UnknownString_81A3A72 - playsfx 2 - doanimation 61 + playse 2 + dofieldeffect 61 waitstate - waittext + waitmessage waitbutton - playsfx 5 - jump EventScript_15F452 + playse 5 + goto EventScript_15F452 end EventScript_15F452: message UnknownString_81A3A87 - waittext + waitmessage multichoice 0, 0, 7, 0 switch RESULT case 0, EventScript_15F4A1 @@ -471,19 +471,19 @@ EventScript_15F452: gUnknown_0815F49A:: @ 815F49A lockall - jump EventScript_15F452 + goto EventScript_15F452 end EventScript_15F4A1: special sub_80BC56C compare RESULT, 1 - jumpeq EventScript_15F4E0 + goto_if_eq EventScript_15F4E0 compare RESULT, 2 - jumpeq EventScript_15F503 + goto_if_eq EventScript_15F503 special sub_80BC224 msgbox UnknownString_81A3958, 5 compare RESULT, 0 - jumpeq EventScript_15F452 + goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A22, 3 special sub_80BC5BC special sub_80C683C @@ -493,7 +493,7 @@ EventScript_15F4A1: EventScript_15F4E0: msgbox UnknownString_81A3982, 5 compare RESULT, 0 - jumpeq EventScript_15F452 + goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A3A, 3 special sub_80BC5BC special sub_80C683C @@ -503,37 +503,37 @@ EventScript_15F4E0: EventScript_15F503: msgbox UnknownString_81A39C0, 3 special sub_80C683C - closebutton + closemessage releaseall end EventScript_15F511: message UnknownString_81A3AA2 - waittext - jump EventScript_15F452 + waitmessage + goto EventScript_15F452 end EventScript_15F51D: special sub_80C683C - closebutton + closemessage releaseall end gUnknown_0815F523:: @ 815F523 - doanimation 52 + dofieldeffect 52 waitstate end gUnknown_0815F528:: @ 815F528 special GetShieldToyTVDecorationInfo compare RESULT, 0 - jumpeq EventScript_15F558 + goto_if_eq EventScript_15F558 compare RESULT, 1 - jumpeq EventScript_15F561 + goto_if_eq EventScript_15F561 compare RESULT, 2 - jumpeq EventScript_15F56A + goto_if_eq EventScript_15F56A compare RESULT, 3 - jumpeq EventScript_15F573 + goto_if_eq EventScript_15F573 end EventScript_15F558: @@ -891,7 +891,7 @@ Std_2: lock faceplayer message 0x0 - waittext + waitmessage waitbutton release return @@ -899,20 +899,20 @@ Std_2: Std_3: lockall message 0x0 - waittext + waitmessage waitbutton releaseall return Std_4: message 0x0 - waittext + waitmessage waitbutton return Std_5: message 0x0 - waittext + waitmessage yesnobox 20, 8 return @@ -934,63 +934,63 @@ gUnknown_0819F80B:: @ 819F80B special PlayTrainerEncounterMusic special ScrSpecial_EndTrainerApproach waitstate - jump EventScript_19F8F2 + goto EventScript_19F8F2 gUnknown_0819F818:: @ 819F818 lock faceplayer - move LAST_TALKED, Movement_19F8F0 - waitmove 0 - specialval RESULT, ScrSpecial_HasTrainerBeenFought + applymovement LAST_TALKED, Movement_19F8F0 + waitmovement 0 + specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - jumpif 5, EventScript_19F83F + goto_if 5, EventScript_19F83F special PlayTrainerEncounterMusic special sub_8082524 - jump EventScript_19F8F2 + goto EventScript_19F8F2 EventScript_19F83F: - endtrainerbattle + ontrainerbattleend gUnknown_0819F840:: @ 819F840 lock faceplayer call EventScript_19F8E5 - specialval RESULT, ScrSpecial_HasTrainerBeenFought + specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - jumpif 5, EventScript_19F877 + goto_if 5, EventScript_19F877 special CheckForAlivePartyMons compare RESULT, 0 - jumpif 5, EventScript_19F870 + goto_if 5, EventScript_19F870 special PlayTrainerEncounterMusic special sub_8082524 - jump EventScript_19F8F2 + goto EventScript_19F8F2 EventScript_19F870: special ScrSpecial_ShowTrainerNonBattlingSpeech - waittext + waitmessage waitbutton release end EventScript_19F877: - endtrainerbattle + ontrainerbattleend gUnknown_0819F878:: @ 819F878 - move LAST_TALKED, Movement_19F8F0 - waitmove 0 + applymovement LAST_TALKED, Movement_19F8F0 + waitmovement 0 special PlayTrainerEncounterMusic - reptrainerbattle - endtrainerbattle + battlebegin + ontrainerbattleend gUnknown_0819F887:: @ 819F887 call EventScript_19F8E5 - specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag + specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag compare RESULT, 0 - jumpeq EventScript_19F8AD + goto_if_eq EventScript_19F8AD special PlayTrainerEncounterMusic special sub_8082524 special ScrSpecial_ShowTrainerIntroSpeech - waittext + waitmessage waitbutton special ScrSpecial_StartTrainerEyeRematch waitstate @@ -998,19 +998,19 @@ gUnknown_0819F887:: @ 819F887 end EventScript_19F8AD: - endtrainerbattle + ontrainerbattleend gUnknown_0819F8AE:: @ 819F8AE - specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag + specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag compare RESULT, 0 - jumpeq EventScript_19F8DD + goto_if_eq EventScript_19F8DD special CheckForAlivePartyMons compare RESULT, 0 - jumpif 5, EventScript_19F8DE + goto_if 5, EventScript_19F8DE special PlayTrainerEncounterMusic special sub_8082524 special ScrSpecial_ShowTrainerIntroSpeech - waittext + waitmessage waitbutton special ScrSpecial_StartTrainerEyeRematch waitstate @@ -1018,18 +1018,18 @@ gUnknown_0819F8AE:: @ 819F8AE end EventScript_19F8DD: - endtrainerbattle + ontrainerbattleend EventScript_19F8DE: special ScrSpecial_ShowTrainerNonBattlingSpeech - waittext + waitmessage waitbutton release end EventScript_19F8E5: - move LAST_TALKED, Movement_19F8F0 - waitmove 0 + applymovement LAST_TALKED, Movement_19F8F0 + waitmovement 0 return Movement_19F8F0:: @@ -1038,116 +1038,116 @@ Movement_19F8F0:: EventScript_19F8F2: special ScrSpecial_ShowTrainerIntroSpeech - waittext + waitmessage waitbutton - reptrainerbattle - specialval RESULT, ScrSpecial_GetTrainerBattleMode + battlebegin + specialvar RESULT, ScrSpecial_GetTrainerBattleMode compare RESULT, 0 - jumpeq EventScript_19F934 + goto_if_eq EventScript_19F934 compare RESULT, 2 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 compare RESULT, 1 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 compare RESULT, 6 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 compare RESULT, 8 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 EventScript_19F934: releaseall end EventScript_19F936: - endtrainerbattle2 + ontrainerbattleendgoto Std_6:: message 0x0 - waittext + waitmessage waitbutton release return Event_ResetBerryTrees: @ 19F940 - event_8a 2, 7, 5 - event_8a 1, 3, 5 - event_8a 11, 7, 5 - event_8a 13, 3, 5 - event_8a 4, 7, 5 - event_8a 76, 1, 5 - event_8a 8, 1, 5 - event_8a 10, 6, 5 - event_8a 25, 20, 5 - event_8a 26, 2, 5 - event_8a 66, 2, 5 - event_8a 67, 20, 5 - event_8a 69, 22, 5 - event_8a 70, 22, 5 - event_8a 71, 22, 5 - event_8a 55, 17, 5 - event_8a 56, 17, 5 - event_8a 5, 1, 5 - event_8a 6, 6, 5 - event_8a 7, 1, 5 - event_8a 16, 18, 5 - event_8a 17, 18, 5 - event_8a 18, 18, 5 - event_8a 29, 19, 5 - event_8a 28, 19, 5 - event_8a 27, 19, 5 - event_8a 24, 4, 5 - event_8a 23, 3, 5 - event_8a 22, 3, 5 - event_8a 21, 4, 5 - event_8a 19, 16, 5 - event_8a 20, 16, 5 - event_8a 80, 7, 5 - event_8a 81, 7, 5 - event_8a 77, 8, 5 - event_8a 78, 8, 5 - event_8a 68, 8, 5 - event_8a 31, 10, 5 - event_8a 33, 10, 5 - event_8a 34, 21, 5 - event_8a 35, 21, 5 - event_8a 36, 21, 5 - event_8a 83, 24, 5 - event_8a 84, 24, 5 - event_8a 85, 10, 5 - event_8a 86, 6, 5 - event_8a 37, 5, 5 - event_8a 38, 5, 5 - event_8a 39, 5, 5 - event_8a 40, 3, 5 - event_8a 41, 3, 5 - event_8a 42, 3, 5 - event_8a 46, 19, 5 - event_8a 45, 20, 5 - event_8a 44, 18, 5 - event_8a 43, 16, 5 - event_8a 47, 8, 5 - event_8a 48, 5, 5 - event_8a 49, 4, 5 - event_8a 50, 2, 5 - event_8a 52, 18, 5 - event_8a 53, 18, 5 - event_8a 62, 6, 5 - event_8a 64, 6, 5 - event_8a 58, 21, 5 - event_8a 59, 21, 5 - event_8a 60, 25, 5 - event_8a 61, 25, 5 - event_8a 79, 23, 5 - event_8a 14, 23, 5 - event_8a 15, 21, 5 - event_8a 30, 21, 5 - event_8a 65, 25, 5 - event_8a 72, 25, 5 - event_8a 73, 23, 5 - event_8a 74, 23, 5 - event_8a 87, 3, 5 - event_8a 88, 10, 5 - event_8a 89, 4, 5 - event_8a 82, 36, 5 + plantberrytree 2, 7, 5 + plantberrytree 1, 3, 5 + plantberrytree 11, 7, 5 + plantberrytree 13, 3, 5 + plantberrytree 4, 7, 5 + plantberrytree 76, 1, 5 + plantberrytree 8, 1, 5 + plantberrytree 10, 6, 5 + plantberrytree 25, 20, 5 + plantberrytree 26, 2, 5 + plantberrytree 66, 2, 5 + plantberrytree 67, 20, 5 + plantberrytree 69, 22, 5 + plantberrytree 70, 22, 5 + plantberrytree 71, 22, 5 + plantberrytree 55, 17, 5 + plantberrytree 56, 17, 5 + plantberrytree 5, 1, 5 + plantberrytree 6, 6, 5 + plantberrytree 7, 1, 5 + plantberrytree 16, 18, 5 + plantberrytree 17, 18, 5 + plantberrytree 18, 18, 5 + plantberrytree 29, 19, 5 + plantberrytree 28, 19, 5 + plantberrytree 27, 19, 5 + plantberrytree 24, 4, 5 + plantberrytree 23, 3, 5 + plantberrytree 22, 3, 5 + plantberrytree 21, 4, 5 + plantberrytree 19, 16, 5 + plantberrytree 20, 16, 5 + plantberrytree 80, 7, 5 + plantberrytree 81, 7, 5 + plantberrytree 77, 8, 5 + plantberrytree 78, 8, 5 + plantberrytree 68, 8, 5 + plantberrytree 31, 10, 5 + plantberrytree 33, 10, 5 + plantberrytree 34, 21, 5 + plantberrytree 35, 21, 5 + plantberrytree 36, 21, 5 + plantberrytree 83, 24, 5 + plantberrytree 84, 24, 5 + plantberrytree 85, 10, 5 + plantberrytree 86, 6, 5 + plantberrytree 37, 5, 5 + plantberrytree 38, 5, 5 + plantberrytree 39, 5, 5 + plantberrytree 40, 3, 5 + plantberrytree 41, 3, 5 + plantberrytree 42, 3, 5 + plantberrytree 46, 19, 5 + plantberrytree 45, 20, 5 + plantberrytree 44, 18, 5 + plantberrytree 43, 16, 5 + plantberrytree 47, 8, 5 + plantberrytree 48, 5, 5 + plantberrytree 49, 4, 5 + plantberrytree 50, 2, 5 + plantberrytree 52, 18, 5 + plantberrytree 53, 18, 5 + plantberrytree 62, 6, 5 + plantberrytree 64, 6, 5 + plantberrytree 58, 21, 5 + plantberrytree 59, 21, 5 + plantberrytree 60, 25, 5 + plantberrytree 61, 25, 5 + plantberrytree 79, 23, 5 + plantberrytree 14, 23, 5 + plantberrytree 15, 21, 5 + plantberrytree 30, 21, 5 + plantberrytree 65, 25, 5 + plantberrytree 72, 25, 5 + plantberrytree 73, 23, 5 + plantberrytree 74, 23, 5 + plantberrytree 87, 3, 5 + plantberrytree 88, 10, 5 + plantberrytree 89, 4, 5 + plantberrytree 82, 36, 5 return gUnknown_0819FA81:: @ 819FA81 @@ -1298,13 +1298,13 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13 clearflag 861 special sub_810FAA0 checkflag 291 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62 + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62 checkflag 255 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC70 + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70 checkflag 298 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5A + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A checkflag 123 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5E + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E return EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A @@ -1328,25 +1328,25 @@ EverGrandeCity_HallOfFame_EventScript_19FC70:: @ 819FC70 S_WhiteOut:: @ 819FC74 call EverGrandeCity_HallOfFame_EventScript_19FD09 call EventScript_19FC84 - jump gUnknown_0819FC9F + goto gUnknown_0819FC9F end EventScript_19FC84: checkflag 221 - jumpeq Route101_EventScript_1A14DC + goto_if_eq Route101_EventScript_1A14DC checkflag 1213 - jumpif 0, Route101_EventScript_1A14DC + goto_if 0, Route101_EventScript_1A14DC clearflag 929 setvar 0x4053, 2 return gUnknown_0819FC9F:: @ 819FC9F compare 0x4096, 1 - jumpeq EventScript_19FCC1 + goto_if_eq EventScript_19FCC1 compare 0x4096, 2 - jumpeq EventScript_19FCD7 + goto_if_eq EventScript_19FCD7 compare 0x4096, 3 - jumpeq EventScript_19FCF0 + goto_if_eq EventScript_19FCF0 end EventScript_19FCC1: @@ -1399,15 +1399,15 @@ RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B checkflag 188 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC checkflag 1217 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC checkflag 742 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49 checkflag 740 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F checkflag 741 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55 return OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49 @@ -1440,52 +1440,52 @@ VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B faceplayer msgbox gText_NurseJoy_Welcome, 5 compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FD7C + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FD7C compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDC7 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDC7 end OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C - inccounter GAME_STAT_USED_POKECENTER + incrementgamestat GAME_STAT_USED_POKECENTER message gText_NurseJoy_OkayIllTakeYourPokemon - waittext - move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F - waitmove 0 - doanimation 25 - checkanimation 25 - move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845 - waitmove 0 + waitmessage + applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F + waitmovement 0 + dofieldeffect 25 + waitfieldeffect 25 + applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845 + waitmovement 0 special ScrSpecial_HealPlayerParty checkflag 273 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE - jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE + goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0 end OldaleTown_PokemonCenter_1F_EventScript_19FDB0:: @ 819FDB0 message gText_NurseJoy_ThankYouForWaiting - waittext - move 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4 - waitmove 0 + waitmessage + applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4 + waitmovement 0 message gText_NurseJoy_WeHopeToSeeYouAgain - waittext + waitmessage return OldaleTown_PokemonCenter_1F_EventScript_19FDC7:: @ 819FDC7 message gText_NurseJoy_WeHopeToSeeYouAgain - waittext + waitmessage return OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE - specialval RESULT, IsPokerusInParty + specialvar RESULT, IsPokerusInParty compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDEA compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDB0 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDB0 end OldaleTown_PokemonCenter_1F_EventScript_19FDEA:: @ 819FDEA message gText_NurseJoy_Pokerus - waittext + waitmessage setflag 273 return @@ -1501,13 +1501,13 @@ Std_ObtainItem: @ 819FDF7 return Std_ObtainItem_: @ 819FE07 - bufferitem 1, 0x8000 + getitemname 1, 0x8000 checkitemtype 0x8000 call GetItem_HandlePocket compare 0x8007, 0x1 - callif 1, Std_ObtainItem_Success + call_if 1, Std_ObtainItem_Success compare 0x8007, 0x0 - callif 1, Std_ObtainItem_Fail + call_if 1, Std_ObtainItem_Fail return GetItem_HandlePocket: @@ -1520,39 +1520,39 @@ GetItem_HandlePocket: end GetItem_HandlePocket_Items: - bufferstd 2, 0xE + getstdstring 2, 0xE compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return GetItem_HandlePocket_KeyItems: - bufferstd 2, 0xF + getstdstring 2, 0xF compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return GetItem_HandlePocket_PokeBalls: - bufferstd 2, 0x10 + getstdstring 2, 0x10 compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return GetItem_HandlePocket_TMsHMs: - bufferstd 2, 0x11 + getstdstring 2, 0x11 compare 0x8007, 1 - callif 1, PlayGetTMHMFanfare + call_if 1, PlayGetTMHMFanfare return GetItem_HandlePocket_Berries: - bufferstd 2, 0x12 + getstdstring 2, 0x12 compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return Std_ObtainItem_Success: @ 819FEB7 message Message_ObtainedItem waitfanfare - waittext + waitmessage msgbox Message_PutAwayItem setvar RESULT, 1 return @@ -1562,11 +1562,11 @@ Std_ObtainItem_Fail: @ 819FECC return PlayGetItemFanfare: - fanfare 0x172 + playfanfare 0x172 return PlayGetTMHMFanfare: - fanfare 0x174 + playfanfare 0x174 return Std_ObtainDecoration: @ 819FEDA @@ -1576,18 +1576,18 @@ Std_ObtainDecoration: @ 819FEDA return Std_ObtainDecoration_: @ 819FEE8 - bufferdecor 1, 0x8000 + getdecorname 1, 0x8000 compare 0x8007, 1 - callif 1, Std_ObtainDecoration_Success + call_if 1, Std_ObtainDecoration_Success compare 0x8007, 0 - callif 1, Std_ObtainDecoration_Fail + call_if 1, Std_ObtainDecoration_Fail return Std_ObtainDecoration_Success: @ 819FF03 - fanfare 0x172 + playfanfare 0x172 message Message_ObtainedDecoration waitfanfare - waittext + waitmessage msgbox Message_TransferredToPC setvar RESULT, 1 return @@ -1599,24 +1599,24 @@ Std_ObtainDecoration_Fail: @ 819FF1B Std_FindItem: @ 819FF21 lock faceplayer - checksound + waitse additem 0x8000, 0x8001 copyvar 0x8007, RESULT - bufferitem 1, 0x8000 + getitemname 1, 0x8000 checkitemtype 0x8000 call GetItem_HandlePocket compare 0x8007, 1 - callif 1, Std_FindItem_Success + call_if 1, Std_FindItem_Success compare 0x8007, 0 - callif 1, Std_FindItem_Fail + call_if 1, Std_FindItem_Fail release return Std_FindItem_Success: @ 819FF52 - disappear LAST_TALKED + removeobject LAST_TALKED message Message_FoundOneItem waitfanfare - waittext + waitmessage msgbox Message_PutAwayItem return @@ -1628,22 +1628,22 @@ Std_FindItem_Fail: @ 819FF65 HiddenItemScript:: @ 819FF7B lockall - checksound + waitse additem 0x8005, 1 copyvar 0x8007, RESULT - bufferitem 0x1, 0x8005 + getitemname 0x1, 0x8005 checkitemtype 0x8005 call GetItem_HandlePocket compare 0x8007, 1 - jumpeq HiddenItemScript_Success + goto_if_eq HiddenItemScript_Success compare 0x8007, 0 - jumpeq HiddenItemScript_Fail + goto_if_eq HiddenItemScript_Fail end HiddenItemScript_Success: message Message_FoundOneItem waitfanfare - waittext + waitmessage msgbox Message_PutAwayItem special SetFlagInVar releaseall @@ -1661,10 +1661,10 @@ UnusedMixRecordsScript: @ 819FFD5 faceplayer msgbox UnusedMixRecordsPromptText, 5 compare RESULT, 1 - jumpeq UnusedMixRecordsScript_Yes + goto_if_eq UnusedMixRecordsScript_Yes compare RESULT, 0 - jumpeq UnusedMixRecordsScript_Done - jump UnusedMixRecordsScript_Done + goto_if_eq UnusedMixRecordsScript_Done + goto UnusedMixRecordsScript_Done UnusedMixRecordsScript_Yes: @ 819FFFA special sub_80B929C waitstate @@ -1672,7 +1672,7 @@ UnusedMixRecordsScript_Yes: @ 819FFFA faceplayer UnusedMixRecordsScript_Done: @ 81A0000 message UnusedMixRecordsSeeYouAgainText - waittext + waitmessage waitbutton release end @@ -1681,17 +1681,17 @@ gUnknown_081A0009:: @ 81A0009 lockall setvar 0x8004, 0 special DoPCTurnOnEffect - playsfx 4 + playse 4 msgbox UnknownString_81A09EC, 4 - jump EventScript_1A0023 + goto EventScript_1A0023 end EventScript_1A0023: message gPCText_WhichPCShouldBeAccessed - waittext + waitmessage special ScrSpecial_CreatePCMenu waitstate - jump EventScript_1A0033 + goto EventScript_1A0033 end EventScript_1A0033: @@ -1704,23 +1704,23 @@ EventScript_1A0033: end EventScript_1A0070: - playsfx 2 + playse 2 msgbox UnknownString_81A0A54, 4 special PlayerPC waitstate - jump EventScript_1A0023 + goto EventScript_1A0023 end EventScript_1A0085: - playsfx 2 + playse 2 checkflag 2123 - callif 0, EventScript_1A00AC + call_if 0, EventScript_1A00AC checkflag 2123 - callif 1, EventScript_1A00B5 + call_if 1, EventScript_1A00B5 msgbox UnknownString_81A0A35, 4 special ShowPokemonStorageSystem waitstate - jump EventScript_1A0023 + goto EventScript_1A0023 end EventScript_1A00AC: @@ -1733,18 +1733,18 @@ EventScript_1A00B5: EventScript_1A00BE: setvar 0x8004, 0 - playsfx 3 + playse 3 special DoPCTurnOffEffect releaseall end EventScript_1A00CB: checkflag 2052 - jumpif 0, EventScript_1A00BE - playsfx 2 + goto_if 0, EventScript_1A00BE + playse 2 special AccessHallOfFamePC waitstate - jump EventScript_1A0033 + goto EventScript_1A0033 end FallarborTown_EventScript_1A00E1:: @ 81A00E1 @@ -1803,7 +1803,7 @@ RustboroCity_Gym_EventScript_1A00FB:: @ 81A00FB DewfordTown_EventScript_1A0102:: @ 81A0102 DewfordTown_Hall_EventScript_1A0102:: @ 81A0102 - checkdailyflags + dodailyevents setvar 0x8004, 0 special sub_80FA5BC return @@ -1816,17 +1816,17 @@ Route109_EventScript_1A010C:: @ 81A010C return UseSurfScript:: @ 81A0117 - checkattack MOVE_SURF + checkpokemove MOVE_SURF compare RESULT, 6 - jumpeq UseSurfScript_NoMon - bufferpartypoke 0, RESULT - setanimation 0, RESULT + goto_if_eq UseSurfScript_NoMon + getpartypokename 0, RESULT + setfieldeffect 0, RESULT lockall msgbox UseSurfPromptText, 5 compare RESULT, 0 - jumpeq UseSurfScript_No + goto_if_eq UseSurfScript_No msgbox UsedSurfText, 4 - doanimation 9 + dofieldeffect 9 UseSurfScript_No: @ 81A014C releaseall UseSurfScript_NoMon: @ 81A014D @@ -1841,11 +1841,11 @@ Route103_EventScript_1A014E:: @ 81A014E Route110_EventScript_1A014E:: @ 81A014E Route119_EventScript_1A014E:: @ 81A014E RustboroCity_EventScript_1A014E:: @ 81A014E - checkgender + checkplayergender compare RESULT, 0 - jumpeq RustboroCity_EventScript_1A0166 + goto_if_eq RustboroCity_EventScript_1A0166 compare RESULT, 1 - jumpeq RustboroCity_EventScript_1A016C + goto_if_eq RustboroCity_EventScript_1A016C end RustboroCity_EventScript_1A0166:: @ 81A0166 @@ -1859,11 +1859,11 @@ RustboroCity_EventScript_1A016C:: @ 81A016C LavaridgeTown_EventScript_1A0172:: @ 81A0172 Route110_EventScript_1A0172:: @ 81A0172 Route119_EventScript_1A0172:: @ 81A0172 - checkgender + checkplayergender compare RESULT, 0 - jumpeq LavaridgeTown_EventScript_1A018A + goto_if_eq LavaridgeTown_EventScript_1A018A compare RESULT, 1 - jumpeq LavaridgeTown_EventScript_1A0190 + goto_if_eq LavaridgeTown_EventScript_1A0190 end LavaridgeTown_EventScript_1A018A:: @ 81A018A @@ -1945,66 +1945,66 @@ SootopolisCity_Gym_1F_EventScript_1A01C0:: @ 81A01C0 end DewfordTown_Gym_EventScript_1A021E:: @ 81A021E - cleartrainerflag OPPONENT_JOSH - cleartrainerflag OPPONENT_TOMMY + settrainerflag OPPONENT_JOSH + settrainerflag OPPONENT_TOMMY return DewfordTown_Gym_EventScript_1A0225:: @ 81A0225 - cleartrainerflag OPPONENT_HIDEKI - cleartrainerflag OPPONENT_TESSA - cleartrainerflag OPPONENT_LAURA + settrainerflag OPPONENT_HIDEKI + settrainerflag OPPONENT_TESSA + settrainerflag OPPONENT_LAURA return DewfordTown_Gym_EventScript_1A022F:: @ 81A022F - cleartrainerflag OPPONENT_KIRK - cleartrainerflag OPPONENT_SHAWN - cleartrainerflag OPPONENT_BEN - cleartrainerflag OPPONENT_VIVIAN + settrainerflag OPPONENT_KIRK + settrainerflag OPPONENT_SHAWN + settrainerflag OPPONENT_BEN + settrainerflag OPPONENT_VIVIAN return DewfordTown_Gym_EventScript_1A023C:: @ 81A023C - cleartrainerflag OPPONENT_COLE - cleartrainerflag OPPONENT_AXLE - cleartrainerflag OPPONENT_ANDY - cleartrainerflag OPPONENT_ZANE - cleartrainerflag OPPONENT_SADIE + settrainerflag OPPONENT_COLE + settrainerflag OPPONENT_AXLE + settrainerflag OPPONENT_ANDY + settrainerflag OPPONENT_ZANE + settrainerflag OPPONENT_SADIE return DewfordTown_Gym_EventScript_1A024C:: @ 81A024C - cleartrainerflag OPPONENT_RANDALL - cleartrainerflag OPPONENT_PARKER - cleartrainerflag OPPONENT_GEORGE - cleartrainerflag OPPONENT_BERKE - cleartrainerflag OPPONENT_MARY - cleartrainerflag OPPONENT_LORI - cleartrainerflag OPPONENT_JODY + settrainerflag OPPONENT_RANDALL + settrainerflag OPPONENT_PARKER + settrainerflag OPPONENT_GEORGE + settrainerflag OPPONENT_BERKE + settrainerflag OPPONENT_MARY + settrainerflag OPPONENT_LORI + settrainerflag OPPONENT_JODY return DewfordTown_Gym_EventScript_1A0262:: @ 81A0262 - cleartrainerflag OPPONENT_JARED - cleartrainerflag OPPONENT_TERRELL - cleartrainerflag OPPONENT_KYLEE - cleartrainerflag OPPONENT_WILL + settrainerflag OPPONENT_JARED + settrainerflag OPPONENT_TERRELL + settrainerflag OPPONENT_KYLEE + settrainerflag OPPONENT_WILL return DewfordTown_Gym_EventScript_1A026F:: @ 81A026F - cleartrainerflag OPPONENT_PRESTON - cleartrainerflag OPPONENT_VIRGIL - cleartrainerflag OPPONENT_FRITZ - cleartrainerflag OPPONENT_HANNAH - cleartrainerflag OPPONENT_SAMANTHA - cleartrainerflag OPPONENT_MAURA + settrainerflag OPPONENT_PRESTON + settrainerflag OPPONENT_VIRGIL + settrainerflag OPPONENT_FRITZ + settrainerflag OPPONENT_HANNAH + settrainerflag OPPONENT_SAMANTHA + settrainerflag OPPONENT_MAURA return DewfordTown_Gym_EventScript_1A0282:: @ 81A0282 - cleartrainerflag OPPONENT_ANDREA - cleartrainerflag OPPONENT_CRISSY - cleartrainerflag OPPONENT_BRIANNA_2 - cleartrainerflag OPPONENT_CONNIE - cleartrainerflag OPPONENT_BRIDGET - cleartrainerflag OPPONENT_OLIVIA - cleartrainerflag OPPONENT_TIFFANY - cleartrainerflag OPPONENT_MARISSA + settrainerflag OPPONENT_ANDREA + settrainerflag OPPONENT_CRISSY + settrainerflag OPPONENT_BRIANNA_2 + settrainerflag OPPONENT_CONNIE + settrainerflag OPPONENT_BRIDGET + settrainerflag OPPONENT_OLIVIA + settrainerflag OPPONENT_TIFFANY + settrainerflag OPPONENT_MARISSA return DewfordTown_Gym_EventScript_1A029B:: @ 81A029B @@ -2101,7 +2101,7 @@ MossdeepCity_Gym_EventScript_1A02C5:: @ 81A02C5 PetalburgCity_Gym_EventScript_1A02C5:: @ 81A02C5 RustboroCity_Gym_EventScript_1A02C5:: @ 81A02C5 SootopolisCity_Gym_1F_EventScript_1A02C5:: @ 81A02C5 - fanfare 369 + playfanfare 369 waitfanfare return @@ -2110,7 +2110,7 @@ Route111_OldLadysRestStop_EventScript_1A02CA:: @ 81A02CA Route119_WeatherInstitute_1F_EventScript_1A02CA:: @ 81A02CA SSTidalRooms_EventScript_1A02CA:: @ 81A02CA fadescreen 1 - fanfare 368 + playfanfare 368 waitfanfare special ScrSpecial_HealPlayerParty fadescreen 0 @@ -2129,37 +2129,37 @@ DewfordTown_EventScript_1A02E7:: @ 81A02E7 Route104_EventScript_1A02E7:: @ 81A02E7 Route109_EventScript_1A02E7:: @ 81A02E7 setflag 0x4001 - playmusic 431, 0 + playbgm 431, 0 return DewfordTown_EventScript_1A02EF:: @ 81A02EF Route104_EventScript_1A02EF:: @ 81A02EF Route109_EventScript_1A02EF:: @ 81A02EF clearflag 0x4001 - fadedefault + fadedefaultbgm return LittlerootTown_ProfessorBirchsLab_EventScript_1A02F4:: @ 81A02F4 Route101_EventScript_1A02F4:: @ 81A02F4 Route103_EventScript_1A02F4:: @ 81A02F4 compare 0x4085, 0 - jumpeq Route101_EventScript_1A14DC + goto_if_eq Route101_EventScript_1A14DC compare 0x4049, 0 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 compare 0x4049, 1 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 compare 0x4049, 2 - callif 1, Route101_EventScript_1A0365 + call_if 1, Route101_EventScript_1A0365 compare 0x4049, 3 - callif 1, Route101_EventScript_1A0365 + call_if 1, Route101_EventScript_1A0365 compare 0x4049, 4 - callif 1, Route101_EventScript_1A0372 + call_if 1, Route101_EventScript_1A0372 compare 0x4049, 5 - callif 1, Route101_EventScript_1A0372 + call_if 1, Route101_EventScript_1A0372 compare 0x4049, 6 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 compare 0x4049, 7 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 return Route101_EventScript_1A0358:: @ 81A0358 @@ -2190,7 +2190,7 @@ Route103_EventScript_1A037F:: @ 81A037F faceplayer msgbox Route101_Text_1C4449, 5 compare RESULT, 0 - jumpeq Route101_EventScript_1A039B + goto_if_eq Route101_EventScript_1A039B call Route101_EventScript_1A03B0 release end @@ -2203,38 +2203,38 @@ Route101_EventScript_1A039B:: @ 81A039B Route101_EventScript_1A03A5:: @ 81A03A5 copyvar 0x8004, 0x8009 special ShowPokedexRatingMessage - waittext + waitmessage waitbutton return EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0 Route101_EventScript_1A03B0:: @ 81A03B0 setvar 0x8004, 0 - specialval RESULT, ScriptGetPokedexInfo + specialvar RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 copyvar 0x800a, RESULT - buffernum 0, 0x8008 - buffernum 1, 0x8009 + getnumberstring 0, 0x8008 + getnumberstring 1, 0x8009 msgbox Route101_Text_1C44DC, 4 call Route101_EventScript_1A03A5 compare 0x800a, 0 - jumpeq Route101_EventScript_1A14DC + goto_if_eq Route101_EventScript_1A14DC setvar 0x8004, 1 - specialval RESULT, ScriptGetPokedexInfo + specialvar RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 - buffernum 0, 0x8008 - buffernum 1, 0x8009 + getnumberstring 0, 0x8008 + getnumberstring 1, 0x8009 msgbox Route101_Text_1C4B05, 4 return BattleTower_Outside_EventScript_1A040E:: @ 81A040E LilycoveCity_Harbor_EventScript_1A040E:: @ 81A040E SlateportCity_Harbor_EventScript_1A040E:: @ 81A040E - pause 60 - move 0x8004, SlateportCity_Harbor_Movement_1A041C - waitmove 0 + delay 60 + applymovement 0x8004, SlateportCity_Harbor_Movement_1A041C + waitmovement 0 return SlateportCity_Harbor_Movement_1A041C:: @ 81A041C @@ -2260,8 +2260,8 @@ PetalburgCity_Gym_EventScript_1A0424:: @ 81A0424 return RusturfTunnel_EventScript_1A0442:: @ 81A0442 - disappear 1 - disappear 10 + removeobject 1 + removeobject 10 clearflag 808 clearflag 984 setvar 0x409a, 6 @@ -2269,14 +2269,14 @@ RusturfTunnel_EventScript_1A0442:: @ 81A0442 return EventScript_1A0457: @ unreferenced? - pause 30 - move 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841 - waitmove 0 - spritevisible 255, 0, 0 - pause 30 - move 255, Movement_1A047A - waitmove 0 - pause 30 + delay 30 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841 + waitmovement 0 + showobject 255, 0, 0 + delay 30 + applymovement 255, Movement_1A047A + waitmovement 0 + delay 30 return Movement_1A047A: @@ -2286,18 +2286,18 @@ Movement_1A047A: BattleTower_Outside_EventScript_1A047C:: @ 81A047C SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C compare FACING, 1 - callif 1, BattleTower_Outside_EventScript_160B2F + call_if 1, BattleTower_Outside_EventScript_160B2F compare FACING, 3 - callif 1, BattleTower_Outside_EventScript_160B3A - pause 30 - spriteinvisible 255, 0, 0 + call_if 1, BattleTower_Outside_EventScript_160B3A + delay 30 + hideobject 255, 0, 0 call BattleTower_Outside_EventScript_1A040E return CaveOfOrigin_B4F_EventScript_1A04A0:: @ 81A04A0 lockall - checksound - pokecry SPECIES_GROUDON_OR_KYOGRE, 2 + waitse + playpokecry SPECIES_GROUDON_OR_KYOGRE, 2 waitpokecry setvar 0x4005, 1 releaseall @@ -2309,20 +2309,20 @@ CaveOfOrigin_B2F_EventScript_1A04AF:: @ 81A04AF CaveOfOrigin_B3F_EventScript_1A04AF:: @ 81A04AF lockall setvar 0x4001, 1 - jump CaveOfOrigin_1F_EventScript_1A04D3 + goto CaveOfOrigin_1F_EventScript_1A04D3 end CaveOfOrigin_B2F_EventScript_1A04BB:: @ 81A04BB CaveOfOrigin_B3F_EventScript_1A04BB:: @ 81A04BB lockall setvar 0x4002, 1 - jump CaveOfOrigin_B2F_EventScript_1A04D3 + goto CaveOfOrigin_B2F_EventScript_1A04D3 end @ 81A04C7 lockall setvar 0x4003, 1 - jump CaveOfOrigin_B2F_EventScript_1A04D3 + goto CaveOfOrigin_B2F_EventScript_1A04D3 end CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3 @@ -2351,9 +2351,9 @@ MagmaHideout_B1F_EventScript_1A04FD:: @ 81A04FD lock faceplayer setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE - checksound - pokecry SPECIES_ELECTRODE, 2 - pause 40 + waitse + playpokecry SPECIES_ELECTRODE, 2 + delay 40 waitpokecry setflag 977 setflag 2145 @@ -2367,9 +2367,9 @@ MagmaHideout_B1F_EventScript_1A051B:: @ 81A051B lock faceplayer setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE - checksound - pokecry SPECIES_ELECTRODE, 2 - pause 40 + waitse + playpokecry SPECIES_ELECTRODE, 2 + delay 40 waitpokecry setflag 978 setflag 2145 @@ -2382,56 +2382,56 @@ Route120_EventScript_1A0539:: @ 81A0539 lock faceplayer setvar 0x8004, 1 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A0546:: @ 81A0546 lock faceplayer setvar 0x8004, 2 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A0553:: @ 81A0553 lock faceplayer setvar 0x8004, 3 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A0560:: @ 81A0560 lock faceplayer setvar 0x8004, 4 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A056D:: @ 81A056D lock faceplayer setvar 0x8004, 5 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route119_EventScript_1A057A:: @ 81A057A lock faceplayer setvar 0x8004, 6 - jump Route119_EventScript_1A0594 + goto Route119_EventScript_1A0594 end Route119_EventScript_1A0587:: @ 81A0587 lock faceplayer setvar 0x8004, 7 - jump Route119_EventScript_1A0594 + goto Route119_EventScript_1A0594 end Route119_EventScript_1A0594:: @ 81A0594 Route120_EventScript_1A0594:: @ 81A0594 checkitem ITEM_DEVON_SCOPE, 1 compare RESULT, 1 - jumpeq Route119_EventScript_1A05AE + goto_if_eq Route119_EventScript_1A05AE msgbox Route119_Text_171B93, 4 release end @@ -2439,36 +2439,36 @@ Route120_EventScript_1A0594:: @ 81A0594 Route119_EventScript_1A05AE:: @ 81A05AE msgbox Route119_Text_171BB6, 5 compare RESULT, 1 - jumpeq Route119_EventScript_1A05C3 + goto_if_eq Route119_EventScript_1A05C3 release end Route119_EventScript_1A05C3:: @ 81A05C3 msgbox Route119_Text_171BF6, 4 - closebutton - move LAST_TALKED, Route119_Movement_1A0839 - waitmove 0 - move LAST_TALKED, Route119_Movement_1A0662 - waitmove 0 - checksound - pokecry SPECIES_KECLEON, 2 - pause 40 + closemessage + applymovement LAST_TALKED, Route119_Movement_1A0839 + waitmovement 0 + applymovement LAST_TALKED, Route119_Movement_1A0662 + waitmovement 0 + waitse + playpokecry SPECIES_KECLEON, 2 + delay 40 waitpokecry setwildbattle SPECIES_KECLEON, 30, ITEM_NONE compare 0x8004, 1 - callif 1, Route119_EventScript_1A0646 + call_if 1, Route119_EventScript_1A0646 compare 0x8004, 2 - callif 1, Route119_EventScript_1A064A + call_if 1, Route119_EventScript_1A064A compare 0x8004, 3 - callif 1, Route119_EventScript_1A064E + call_if 1, Route119_EventScript_1A064E compare 0x8004, 4 - callif 1, Route119_EventScript_1A0652 + call_if 1, Route119_EventScript_1A0652 compare 0x8004, 5 - callif 1, Route119_EventScript_1A0656 + call_if 1, Route119_EventScript_1A0656 compare 0x8004, 6 - callif 1, Route119_EventScript_1A065A + call_if 1, Route119_EventScript_1A065A compare 0x8004, 7 - callif 1, Route119_EventScript_1A065E + call_if 1, Route119_EventScript_1A065E setflag 2145 dowildbattle clearflag 2145 @@ -2542,10 +2542,10 @@ FallarborTown_House1_EventScript_1A067F:: @ 81A067F GraniteCave_StevensRoom_EventScript_1A067F:: @ 81A067F MtPyre_Summit_EventScript_1A067F:: @ 81A067F SlateportCity_OceanicMuseum_2F_EventScript_1A067F:: @ 81A067F - bufferitem 0, 0x8004 - fanfare 372 + getitemname 0, 0x8004 + playfanfare 372 message FallarborTown_House1_Text_1A1498 - waittext + waitmessage waitfanfare removeitem 0x8004, 1 return @@ -2554,9 +2554,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_GlaciasRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_PhoebesRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693 - move 255, EverGrandeCity_SidneysRoom_Movement_1A0853 - waitmove 0 - playsfx 8 + applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0853 + waitmovement 0 + playse 8 setmaptile 6, 1, 836, 0 setmaptile 6, 2, 837, 0 setmaptile 0, 2, 734, 1 @@ -2576,9 +2576,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_GlaciasRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_PhoebesRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710 - move 255, EverGrandeCity_SidneysRoom_Movement_1A0847 - waitmove 0 - playsfx 52 + applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0847 + waitmovement 0 + playse 52 setmaptile 5, 12, 518, 1 setmaptile 6, 12, 518, 1 setmaptile 7, 12, 518, 1 @@ -3264,13 +3264,13 @@ gUnknown_081A14B8:: @ 81A14B8 special ExecuteWhiteOut waitstate compare RESULT, 1 - jumpeq EventScript_1A14CA + goto_if_eq EventScript_1A14CA releaseall end EventScript_1A14CA:: message UnknownString_81A1141 - waittext + waitmessage waitbutton special sub_8081924 waitstate @@ -3619,44 +3619,44 @@ gUnknown_081A2C51:: @ 81A2C51 special sub_80BB70C special sub_80BB63C compare RESULT, 1 - jumpeq EventScript_1A2E45 - checkattack MOVE_SECRET_POWER - setanimation 0, RESULT - bufferattack 1, MOVE_SECRET_POWER + goto_if_eq EventScript_1A2E45 + checkpokemove MOVE_SECRET_POWER + setfieldeffect 0, RESULT + getmovename 1, MOVE_SECRET_POWER compare 0x8007, 1 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 2 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 3 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 4 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 5 - jumpeq EventScript_1A2D08 + goto_if_eq EventScript_1A2D08 compare 0x8007, 6 - jumpeq EventScript_1A2D60 + goto_if_eq EventScript_1A2D60 end EventScript_1A2CB0: lockall compare RESULT, 6 - jumpeq EventScript_1A2CF1 - bufferpartypoke 0, RESULT + goto_if_eq EventScript_1A2CF1 + getpartypokename 0, RESULT msgbox UnknownString_8198F34, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 11 + closemessage + dofieldeffect 11 waitstate - jump EventScript_1A2CFA + goto EventScript_1A2CFA end gUnknown_081A2CE6:: @ 81A2CE6 lockall - doanimation 11 + dofieldeffect 11 waitstate - jump EventScript_1A2CFA + goto EventScript_1A2CFA end EventScript_1A2CF1: @@ -3665,29 +3665,29 @@ EventScript_1A2CF1: EventScript_1A2CFA: msgbox UnknownString_8198F6E, 4 - jump EventScript_1A2DB8 + goto EventScript_1A2DB8 end EventScript_1A2D08: lockall compare RESULT, 6 - jumpeq EventScript_1A2D49 - bufferpartypoke 0, RESULT + goto_if_eq EventScript_1A2D49 + getpartypokename 0, RESULT msgbox UnknownString_81A197B, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 26 + closemessage + dofieldeffect 26 waitstate - jump EventScript_1A2D52 + goto EventScript_1A2D52 end gUnknown_081A2D3E:: @ 81A2D3E lockall - doanimation 26 + dofieldeffect 26 waitstate - jump EventScript_1A2D52 + goto EventScript_1A2D52 end EventScript_1A2D49: @@ -3696,29 +3696,29 @@ EventScript_1A2D49: EventScript_1A2D52: msgbox UnknownString_81A19C4, 4 - jump EventScript_1A2DB8 + goto EventScript_1A2DB8 end EventScript_1A2D60: lockall compare RESULT, 6 - jumpeq EventScript_1A2DA1 - bufferpartypoke 0, RESULT + goto_if_eq EventScript_1A2DA1 + getpartypokename 0, RESULT msgbox UnknownString_81A1A4B, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 27 + closemessage + dofieldeffect 27 waitstate - jump EventScript_1A2DAA + goto EventScript_1A2DAA end gUnknown_081A2D96:: @ 81A2D96 lockall - doanimation 27 + dofieldeffect 27 waitstate - jump EventScript_1A2DAA + goto EventScript_1A2DAA end EventScript_1A2DA1: @@ -3727,12 +3727,12 @@ EventScript_1A2DA1: EventScript_1A2DAA: msgbox UnknownString_81A1AA9, 4 - jump EventScript_1A2DB8 + goto EventScript_1A2DB8 end EventScript_1A2DB8: - closebutton - playsfx 9 + closemessage + playse 9 setvar 0x4097, 0 setflag 173 special sub_80BB8CC @@ -3745,19 +3745,19 @@ EventScript_1A2DB8: end SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE - move 255, SecretBase_RedCave1_Movement_1A2E11 - waitmove 0 + applymovement 255, SecretBase_RedCave1_Movement_1A2E11 + waitmovement 0 setvar 0x4097, 1 msgbox SecretBase_RedCave1_Text_198F89, 5 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A2E08 - closebutton - playsfx 9 + goto_if_eq SecretBase_RedCave1_EventScript_1A2E08 + closemessage + playse 9 special sub_80BC440 end SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08 - closebutton + closemessage setflag 96 special sub_80BBC78 waitstate @@ -3771,10 +3771,10 @@ SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11 gUnknown_081A2E14:: @ 81A2E14 lockall setvar 0x4097, 1 - playsfx 9 + playse 9 special sub_80BC114 compare RESULT, 0 - jumpeq EventScript_1A2E38 + goto_if_eq EventScript_1A2E38 clearflag 173 special sub_80BBAF0 setvar 0x4089, 0 @@ -3789,63 +3789,63 @@ EventScript_1A2E38: end EventScript_1A2E45: - checkattack MOVE_SECRET_POWER + checkpokemove MOVE_SECRET_POWER compare RESULT, 6 - jumpeq EventScript_1A2EF7 - setanimation 0, RESULT + goto_if_eq EventScript_1A2EF7 + setfieldeffect 0, RESULT setorcopyvar 0x8004, RESULT lockall special GetSecretBaseNearbyMapName msgbox UnknownString_81A3C71, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UnknownString_81A38FB, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A fadescreen 1 special sub_80BC50C - closebutton + closemessage fadescreen 0 msgbox UnknownString_81A3CC9, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A - bufferpartypoke 0, 0x8004 - bufferattack 1, MOVE_SECRET_POWER + goto_if_eq EventScript_1A2F3A + getpartypokename 0, 0x8004 + getmovename 1, MOVE_SECRET_POWER msgbox UsedCutRockSmashText, 4 - closebutton - closebutton + closemessage + closemessage compare 0x8007, 1 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 2 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 3 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 4 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 5 - jumpeq gUnknown_081A2D3E + goto_if_eq gUnknown_081A2D3E compare 0x8007, 6 - jumpeq gUnknown_081A2D96 + goto_if_eq gUnknown_081A2D96 releaseall end EventScript_1A2EF7:: compare 0x8007, 1 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 2 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 3 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 4 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 5 - jumpeq EventScript_1A2D49 + goto_if_eq EventScript_1A2D49 compare 0x8007, 6 - jumpeq EventScript_1A2DA1 + goto_if_eq EventScript_1A2DA1 end EventScript_1A2F3A:: - closebutton + closemessage releaseall end @@ -3879,7 +3879,7 @@ SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68 gUnknown_081A2F7B:: @ 81A2F7B setvar 0x8005, 0 - jump EventScript_1A2F86 + goto EventScript_1A2F86 end EventScript_1A2F86: @@ -3888,19 +3888,19 @@ EventScript_1A2F86: gUnknown_081A2F8A:: @ 81A2F8A setvar 0x8004, 0 - jump EventScript_1A2F95 + goto EventScript_1A2F95 end EventScript_1A2F95: special sub_8100A7C compare RESULT, 1 - jumpeq EventScript_1A2FBF + goto_if_eq EventScript_1A2FBF addvar 0x8004, 1 compare 0x8005, 0 - jumpeq EventScript_1A2F95 - disappear 0x8006 + goto_if_eq EventScript_1A2F95 + removeobject 0x8006 setflag 0x8005 - jump EventScript_1A2F95 + goto EventScript_1A2F95 end EventScript_1A2FBF: @@ -3932,45 +3932,45 @@ SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0 special sub_80BCE90 compare 0x8004, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3032 + goto_if_eq SecretBase_RedCave1_EventScript_1A3032 compare 0x8004, 1 - jumpeq SecretBase_RedCave1_EventScript_1A30AE + goto_if_eq SecretBase_RedCave1_EventScript_1A30AE compare 0x8004, 2 - jumpeq SecretBase_RedCave1_EventScript_1A312A + goto_if_eq SecretBase_RedCave1_EventScript_1A312A compare 0x8004, 3 - jumpeq SecretBase_RedCave1_EventScript_1A31A6 + goto_if_eq SecretBase_RedCave1_EventScript_1A31A6 compare 0x8004, 4 - jumpeq SecretBase_RedCave1_EventScript_1A3222 + goto_if_eq SecretBase_RedCave1_EventScript_1A3222 compare 0x8004, 5 - jumpeq SecretBase_RedCave1_EventScript_1A329E + goto_if_eq SecretBase_RedCave1_EventScript_1A329E compare 0x8004, 6 - jumpeq SecretBase_RedCave1_EventScript_1A331A + goto_if_eq SecretBase_RedCave1_EventScript_1A331A compare 0x8004, 7 - jumpeq SecretBase_RedCave1_EventScript_1A3396 + goto_if_eq SecretBase_RedCave1_EventScript_1A3396 compare 0x8004, 8 - jumpeq SecretBase_RedCave1_EventScript_1A3412 + goto_if_eq SecretBase_RedCave1_EventScript_1A3412 compare 0x8004, 9 - jumpeq SecretBase_RedCave1_EventScript_1A348E + goto_if_eq SecretBase_RedCave1_EventScript_1A348E end SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3086 + goto_if 0, SecretBase_RedCave1_EventScript_1A3086 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A30A5 + goto_if_eq SecretBase_RedCave1_EventScript_1A30A5 lock faceplayer msgbox SecretBase_RedCave1_Text_1A1AEA, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A308F + goto_if_eq SecretBase_RedCave1_EventScript_1A308F setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A308F - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A308F + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1B83, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086 @@ -3980,7 +3980,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086 SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1B97, 2 end @@ -3990,22 +3990,22 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5 SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3102 + goto_if 0, SecretBase_RedCave1_EventScript_1A3102 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3121 + goto_if_eq SecretBase_RedCave1_EventScript_1A3121 lock faceplayer msgbox SecretBase_RedCave1_Text_1A1E67, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A310B + goto_if_eq SecretBase_RedCave1_EventScript_1A310B setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A310B - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A310B + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1F04, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102 @@ -4015,7 +4015,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102 SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1F2E, 2 end @@ -4025,22 +4025,22 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121 SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A317E + goto_if 0, SecretBase_RedCave1_EventScript_1A317E compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A319D + goto_if_eq SecretBase_RedCave1_EventScript_1A319D lock faceplayer msgbox SecretBase_RedCave1_Text_1A218F, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3187 + goto_if_eq SecretBase_RedCave1_EventScript_1A3187 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3187 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A3187 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2220, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E @@ -4050,7 +4050,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2230, 2 end @@ -4060,22 +4060,22 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A31FA + goto_if 0, SecretBase_RedCave1_EventScript_1A31FA compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3219 + goto_if_eq SecretBase_RedCave1_EventScript_1A3219 lock faceplayer msgbox SecretBase_RedCave1_Text_1A24E1, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3203 + goto_if_eq SecretBase_RedCave1_EventScript_1A3203 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3203 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A3203 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A256F, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA @@ -4085,7 +4085,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A258A, 2 end @@ -4095,22 +4095,22 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219 SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3276 + goto_if 0, SecretBase_RedCave1_EventScript_1A3276 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3295 + goto_if_eq SecretBase_RedCave1_EventScript_1A3295 lock faceplayer msgbox SecretBase_RedCave1_Text_1A2830, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A327F + goto_if_eq SecretBase_RedCave1_EventScript_1A327F setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A327F - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A327F + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A28D7, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276 @@ -4120,7 +4120,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276 SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A28F4, 2 end @@ -4130,22 +4130,22 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295 SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A32F2 + goto_if 0, SecretBase_RedCave1_EventScript_1A32F2 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3311 + goto_if_eq SecretBase_RedCave1_EventScript_1A3311 lock faceplayer msgbox SecretBase_RedCave1_Text_1A1CB2, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A32FB + goto_if_eq SecretBase_RedCave1_EventScript_1A32FB setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A32FB - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A32FB + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1D48, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2 @@ -4155,7 +4155,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2 SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1D59, 2 end @@ -4165,22 +4165,22 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311 SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A336E + goto_if 0, SecretBase_RedCave1_EventScript_1A336E compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A338D + goto_if_eq SecretBase_RedCave1_EventScript_1A338D lock faceplayer msgbox SecretBase_RedCave1_Text_1A2026, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3377 + goto_if_eq SecretBase_RedCave1_EventScript_1A3377 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3377 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A3377 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2095, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E @@ -4190,7 +4190,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A20AE, 2 end @@ -4200,22 +4200,22 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A33EA + goto_if 0, SecretBase_RedCave1_EventScript_1A33EA compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3409 + goto_if_eq SecretBase_RedCave1_EventScript_1A3409 lock faceplayer msgbox SecretBase_RedCave1_Text_1A236A, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A33F3 + goto_if_eq SecretBase_RedCave1_EventScript_1A33F3 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A33F3 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A33F3 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2405, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA @@ -4225,7 +4225,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2420, 2 end @@ -4235,22 +4235,22 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409 SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3466 + goto_if 0, SecretBase_RedCave1_EventScript_1A3466 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3485 + goto_if_eq SecretBase_RedCave1_EventScript_1A3485 lock faceplayer msgbox SecretBase_RedCave1_Text_1A2663, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A346F + goto_if_eq SecretBase_RedCave1_EventScript_1A346F setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A346F - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A346F + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2710, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466 @@ -4260,7 +4260,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466 SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2736, 2 end @@ -4270,22 +4270,22 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485 SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A34E2 + goto_if 0, SecretBase_RedCave1_EventScript_1A34E2 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3501 + goto_if_eq SecretBase_RedCave1_EventScript_1A3501 lock faceplayer msgbox SecretBase_RedCave1_Text_1A2A13, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A34EB + goto_if_eq SecretBase_RedCave1_EventScript_1A34EB setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A34EB - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A34EB + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2AE2, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2 @@ -4295,7 +4295,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2 SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2AFB, 2 end @@ -4406,7 +4406,7 @@ FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46 SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46 SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46 special sub_80BDE48 - inccounter GAME_STAT_GOT_INTERVIEWED + incrementgamestat GAME_STAT_GOT_INTERVIEWED release end @@ -4414,13 +4414,13 @@ SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D setvar 0x8005, 1 special sub_80BF2C4 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADED6 copyvar 0x8009, 0x8006 msgbox SlateportCity_PokemonFanClub_Text_1A8704, 5 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE84 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE84 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9 end SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84 @@ -4432,9 +4432,9 @@ SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84 lock faceplayer compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEC3 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEC3 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9 end SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9 @@ -4445,7 +4445,7 @@ SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9 SlateportCity_PokemonFanClub_EventScript_1ADEC3:: @ 81ADEC3 msgbox SlateportCity_PokemonFanClub_Text_1A8818, 4 setvar 0x8005, 1 - jump SlateportCity_PokemonFanClub_EventScript_1ADE46 + goto SlateportCity_PokemonFanClub_EventScript_1ADE46 end SlateportCity_PokemonFanClub_EventScript_1ADED6:: @ 81ADED6 @@ -4459,24 +4459,24 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 setvar 0x8005, 2 special sub_80BF2C4 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 copyvar 0x8009, 0x8006 checkflag 105 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 setflag 105 msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, 5 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF25:: @ 81ADF25 msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, 5 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44 @@ -4488,9 +4488,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44 lock faceplayer compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79 @@ -4501,7 +4501,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79 SlateportCity_OceanicMuseum_1F_EventScript_1ADF83:: @ 81ADF83 msgbox SlateportCity_OceanicMuseum_1F_Text_1A949A, 4 setvar 0x8005, 2 - jump SlateportCity_OceanicMuseum_1F_EventScript_1ADE46 + goto SlateportCity_OceanicMuseum_1F_EventScript_1ADE46 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96 @@ -4512,19 +4512,19 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96 SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0 lock faceplayer - specialval RESULT, sub_80BF544 + specialvar RESULT, sub_80BF544 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE4D setvar 0x8005, 3 special sub_80BF2C4 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0AC copyvar 0x8009, 0x8006 msgbox SlateportCity_PokemonFanClub_Text_1A82F1, 5 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADFE9 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADFE9 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 end SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9 @@ -4539,17 +4539,17 @@ SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9 SlateportCity_PokemonFanClub_EventScript_1AE020:: @ 81AE020 msgbox SlateportCity_PokemonFanClub_Text_1A8414, 4 - jump SlateportCity_PokemonFanClub_EventScript_1AE04A + goto SlateportCity_PokemonFanClub_EventScript_1AE04A end SlateportCity_PokemonFanClub_EventScript_1AE02E:: @ 81AE02E msgbox SlateportCity_PokemonFanClub_Text_1A8470, 4 - jump SlateportCity_PokemonFanClub_EventScript_1AE04A + goto SlateportCity_PokemonFanClub_EventScript_1AE04A end SlateportCity_PokemonFanClub_EventScript_1AE03C:: @ 81AE03C msgbox SlateportCity_PokemonFanClub_Text_1A84D5, 4 - jump SlateportCity_PokemonFanClub_EventScript_1AE04A + goto SlateportCity_PokemonFanClub_EventScript_1AE04A end SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A @@ -4560,18 +4560,18 @@ SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A lock faceplayer compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 msgbox SlateportCity_PokemonFanClub_Text_1A852D, 4 setvar 0x8006, 1 call SlateportCity_PokemonFanClub_EventScript_1A00F3 lock faceplayer compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 msgbox SlateportCity_PokemonFanClub_Text_1A85A6, 4 copyvar 0x8007, 0x800a setvar 0x8005, 3 - jump SlateportCity_PokemonFanClub_EventScript_1ADE46 + goto SlateportCity_PokemonFanClub_EventScript_1ADE46 end SlateportCity_PokemonFanClub_EventScript_1AE0A2:: @ 81AE0A2 @@ -4591,17 +4591,17 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 lock faceplayer checkflag 2 - jumpeq FallarborTown_ContestLobby_EventScript_1AE17E + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E setvar 0x8005, 6 special sub_80BF2C4 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE17E + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E copyvar 0x8009, 0x8006 msgbox FallarborTown_ContestLobby_Text_1A6F7C, 5 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE0F8 + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE0F8 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1AE12D + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D end FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8 @@ -4613,9 +4613,9 @@ FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8 lock faceplayer compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE137 + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE137 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1AE12D + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D end FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D @@ -4634,11 +4634,11 @@ FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137 lock faceplayer compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1AE12D + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D msgbox FallarborTown_ContestLobby_Text_1A7153, 4 setflag 2 setvar 0x8005, 6 - jump FallarborTown_ContestLobby_EventScript_1ADE46 + goto FallarborTown_ContestLobby_EventScript_1ADE46 end FallarborTown_ContestLobby_EventScript_1AE17E:: @ 81AE17E @@ -4651,11 +4651,11 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188 SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188 VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188 compare 0x4086, 2 - jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE + goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE setvar 0x8005, 6 special sub_80BF2C4 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE1FE switch 0x4088 case 0, FallarborTown_ContestLobby_EventScript_1AE1FE case 2, FallarborTown_ContestLobby_EventScript_1AE1EE @@ -4688,28 +4688,28 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF lock faceplayer checkflag 2 - jumpeq BattleTower_Lobby_EventScript_1AE2E3 + goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 setvar 0x8005, 7 special sub_80BF2C4 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE2E3 + goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 copyvar 0x8009, 0x8006 msgbox BattleTower_Lobby_Text_1A776D, 5 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE241 + goto_if_eq BattleTower_Lobby_EventScript_1AE241 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1AE297 + goto_if_eq BattleTower_Lobby_EventScript_1AE297 end BattleTower_Lobby_EventScript_1AE241:: @ 81AE241 message BattleTower_Lobby_Text_1A7823 - waittext + waitmessage multichoice 19, 8, 45, 1 copyvar 0x8008, RESULT compare RESULT, 0 - callif 1, BattleTower_Lobby_EventScript_1AE2A1 + call_if 1, BattleTower_Lobby_EventScript_1AE2A1 compare RESULT, 1 - callif 1, BattleTower_Lobby_EventScript_1AE2AA + call_if 1, BattleTower_Lobby_EventScript_1AE2AA msgbox BattleTower_Lobby_Text_1A79EB, 4 setvar 0x8004, 12 copyvar 0x8005, 0x8009 @@ -4717,9 +4717,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241 lock faceplayer compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE2B3 + goto_if_eq BattleTower_Lobby_EventScript_1AE2B3 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1AE2D9 + goto_if_eq BattleTower_Lobby_EventScript_1AE2D9 end BattleTower_Lobby_EventScript_1AE297:: @ 81AE297 @@ -4737,12 +4737,12 @@ BattleTower_Lobby_EventScript_1AE2AA:: @ 81AE2AA BattleTower_Lobby_EventScript_1AE2B3:: @ 81AE2B3 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1AE2D9 + goto_if_eq BattleTower_Lobby_EventScript_1AE2D9 msgbox BattleTower_Lobby_Text_1A7A6E, 4 setflag 2 copyvar 0x8004, 0x8008 setvar 0x8005, 7 - jump BattleTower_Lobby_EventScript_1ADE46 + goto BattleTower_Lobby_EventScript_1ADE46 end BattleTower_Lobby_EventScript_1AE2D9:: @ 81AE2D9 @@ -4757,11 +4757,11 @@ BattleTower_Lobby_EventScript_1AE2E3:: @ 81AE2E3 BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED compare 0x40bc, 0 - jumpeq BattleTower_Lobby_EventScript_1AE30F + goto_if_eq BattleTower_Lobby_EventScript_1AE30F setvar 0x8005, 7 special sub_80BF2C4 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE30F + goto_if_eq BattleTower_Lobby_EventScript_1AE30F clearflag 918 return @@ -4795,8 +4795,8 @@ BattleTower_Lobby_EventScript_1AE30F:: @ 81AE30F .include "data/text/magma_summit.inc" gUnknown_081B694A:: @ 81B694A - lighten 1 - darken 1 + animdarklevel 1 + setdarklevel 1 end .include "data/scripts/players_house.inc" @@ -4823,25 +4823,25 @@ Text_RepelWoreOff: @ 81C33EF MauvilleCity_GameCorner_EventScript_1C407E:: @ 81C407E checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 0 - event_96 2 + getpricereduction 2 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1C40DA + goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA addvar 0x8004, 128 - jump MauvilleCity_GameCorner_EventScript_1C40DA + goto MauvilleCity_GameCorner_EventScript_1C40DA end MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 1 - event_96 2 + getpricereduction 2 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1C40DA + goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA addvar 0x8004, 128 - jump MauvilleCity_GameCorner_EventScript_1C40DA + goto MauvilleCity_GameCorner_EventScript_1C40DA end MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA @@ -4902,22 +4902,22 @@ SkyPillar_4F_MapScript1_1C6BBF:: @ 81C6BBF S_FallDownHole:: @ 81C6BC5 lockall - pause 20 - move 255, GraniteCave_B1F_Movement_1C6BF7 - waitmove 0 - playsfx 43 - pause 60 + delay 20 + applymovement 255, GraniteCave_B1F_Movement_1C6BF7 + waitmovement 0 + playse 43 + delay 60 warphole UNDEFINED waitstate end gUnknown_081C6BDE:: @ 81C6BDE lockall - pause 20 - move 255, GraniteCave_B1F_Movement_1C6BF7 - waitmove 0 - playsfx 43 - pause 60 + delay 20 + applymovement 255, GraniteCave_B1F_Movement_1C6BF7 + waitmovement 0 + playse 43 + delay 60 special sp13F_fall_to_last_warp waitstate end @@ -4949,9 +4949,9 @@ gUnknown_081C6C02:: @ 81C6C02 @ 81C6C1D lockall - braillemsg Underwater_SealedChamber_Braille_1C533D + braillemessage Underwater_SealedChamber_Braille_1C533D waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc index 017198c2d..497408299 100644 --- a/data-de/field_move_scripts.inc +++ b/data-de/field_move_scripts.inc @@ -1,34 +1,34 @@ S_CuttableTree:: @ 81B0DCC lockall checkflag 2055 - jumpif 0, CannotUseCut - checkattack MOVE_CUT + goto_if 0, CannotUseCut + checkpokemove MOVE_CUT compare RESULT, 6 - jumpeq CannotUseCut - setanimation 0, RESULT - bufferpartypoke 0, RESULT - bufferattack 1, MOVE_CUT + goto_if_eq CannotUseCut + setfieldeffect 0, RESULT + getpartypokename 0, RESULT + getmovename 1, MOVE_CUT msgbox UseCutPromptText, 5 compare RESULT, 0 - jumpeq Cut_ChoseNo + goto_if_eq Cut_ChoseNo msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 2 + closemessage + dofieldeffect 2 waitstate - jump DoTreeCutMovement + goto DoTreeCutMovement end S_UseCut:: @ 81B0E16 lockall - doanimation 2 + dofieldeffect 2 waitstate - jump DoTreeCutMovement + goto DoTreeCutMovement end DoTreeCutMovement: @ 81B0E21 - move LAST_TALKED, TreeCutMovement @ tree cut animation - waitmove 0 - disappear LAST_TALKED @ tree disappears + applymovement LAST_TALKED, TreeCutMovement @ tree cut animation + waitmovement 0 + removeobject LAST_TALKED @ tree disappears releaseall end @@ -42,7 +42,7 @@ CannotUseCut: @ 81B0E32 end Cut_ChoseNo: @ 81B0E3C - closebutton + closemessage releaseall end @@ -62,40 +62,40 @@ CannotUseCutText: @ 81B0E8E S_BreakableRock:: @ 81B0EB7 lockall checkflag 2057 - jumpif 0, CannotUseRockSmash - checkattack MOVE_ROCK_SMASH + goto_if 0, CannotUseRockSmash + checkpokemove MOVE_ROCK_SMASH compare RESULT, 6 - jumpeq CannotUseRockSmash - setanimation 0, RESULT - bufferpartypoke 0, RESULT - bufferattack 1, MOVE_ROCK_SMASH + goto_if_eq CannotUseRockSmash + setfieldeffect 0, RESULT + getpartypokename 0, RESULT + getmovename 1, MOVE_ROCK_SMASH msgbox UseRockSmashPromptText, 5 compare RESULT, 0 - jumpeq RockSmash_ChoseNo + goto_if_eq RockSmash_ChoseNo msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 37 + closemessage + dofieldeffect 37 waitstate - jump DoRockSmashMovement + goto DoRockSmashMovement end S_UseRockSmash:: @ 81B0F01 lockall - doanimation 37 + dofieldeffect 37 waitstate - jump DoRockSmashMovement + goto DoRockSmashMovement end DoRockSmashMovement: @ 81B0F0C - move LAST_TALKED, RockSmashMovement - waitmove 0 - disappear LAST_TALKED - specialval RESULT, sub_810F5BC + applymovement LAST_TALKED, RockSmashMovement + waitmovement 0 + removeobject LAST_TALKED + specialvar RESULT, sub_810F5BC compare RESULT, 1 - jumpeq DoRockSmashMovement_Done + goto_if_eq DoRockSmashMovement_Done special ScrSpecial_RockSmashWildEncounter compare RESULT, 0 - jumpeq DoRockSmashMovement_Done + goto_if_eq DoRockSmashMovement_Done waitstate releaseall end @@ -114,7 +114,7 @@ CannotUseRockSmash: @ 81B0F3E end RockSmash_ChoseNo: @ 81B0F48 - closebutton + closemessage releaseall end @@ -129,27 +129,27 @@ CannotUseRockSmashText: @ 81B0F90 S_PushableBoulder:: @ 81B0FCB lockall checkflag 2058 - jumpif 0, CannotUseStrength + goto_if 0, CannotUseStrength checkflag 2089 - jumpeq AlreadyUsedStrength - checkattack 70 + goto_if_eq AlreadyUsedStrength + checkpokemove 70 compare RESULT, 6 - jumpeq CannotUseStrength - setanimation 0, RESULT + goto_if_eq CannotUseStrength + setfieldeffect 0, RESULT msgbox UseStrengthPromptText, 5 compare RESULT, 0 - jumpeq Strength_ChoseNo - closebutton - doanimation 40 + goto_if_eq Strength_ChoseNo + closemessage + dofieldeffect 40 waitstate - jump UsedStrength + goto UsedStrength end S_UseStrength:: @ 81B100E lockall - doanimation 40 + dofieldeffect 40 waitstate - jump UsedStrength + goto UsedStrength end UsedStrength: @ 81B1019 @@ -169,7 +169,7 @@ AlreadyUsedStrength: @ 81B1030 end Strength_ChoseNo: @ 81B103A - closebutton + closemessage releaseall end @@ -193,17 +193,17 @@ AlreadyUsedStrengthText: @ 81B1127 S_UseWaterfall:: @ 81B115A lockall - checkattack MOVE_WATERFALL + checkpokemove MOVE_WATERFALL compare RESULT, 6 - jumpeq Waterfall_NoMonKnows - bufferpartypoke 0, RESULT - setanimation 0, RESULT + goto_if_eq Waterfall_NoMonKnows + getpartypokename 0, RESULT + setfieldeffect 0, RESULT msgbox UseWaterfallPromptText, 5 compare RESULT, 0 - jumpeq Waterfall_Done + goto_if_eq Waterfall_Done msgbox UsedWaterfallText, 4 - doanimation 43 - jump Waterfall_Done + dofieldeffect 43 + goto Waterfall_Done S_CannotUseWaterfall:: @ 81B1194 lockall @@ -226,18 +226,18 @@ UsedWaterfallText: @ 81B120D UseDiveScript:: @ 81B1220 lockall - checkattack MOVE_DIVE + checkpokemove MOVE_DIVE compare RESULT, 6 - jumpeq CannotUseDive - bufferpartypoke 0, RESULT - setanimation 0, RESULT - setanimation 1, 1 + goto_if_eq CannotUseDive + getpartypokename 0, RESULT + setfieldeffect 0, RESULT + setfieldeffect 1, 1 msgbox UseDivePromptText, 5 compare RESULT, 0 - jumpeq Dive_Done + goto_if_eq Dive_Done msgbox UsedDiveText, 4 - doanimation 44 - jump Dive_Done + dofieldeffect 44 + goto Dive_Done lockall CannotUseDive: @ 81B125F @@ -249,23 +249,23 @@ Dive_Done: @ 81B1267 S_UseDiveUnderwater:: @ 81B1269 lockall - checkattack MOVE_DIVE + checkpokemove MOVE_DIVE compare RESULT, 6 - jumpeq UnderwaterCannotUseDive - bufferpartypoke 0, RESULT - setanimation 0, RESULT - setanimation 1, 1 + goto_if_eq UnderwaterCannotUseDive + getpartypokename 0, RESULT + setfieldeffect 0, RESULT + setfieldeffect 1, 1 msgbox UnderwaterUseDivePromptText, 5 compare RESULT, 0 - jumpeq UnderwaterDive_Done + goto_if_eq UnderwaterDive_Done msgbox UsedDiveText, 4 - doanimation 44 - jump UnderwaterDive_Done + dofieldeffect 44 + goto UnderwaterDive_Done UnderwaterCannotUseDive: @ 81B12A7 lockall msgbox UnderwaterCannotUseDiveText, 4 - jump UnderwaterDive_Done + goto UnderwaterDive_Done @ not used SurfacingBlocked: @ 81B12B5 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0945d75c8..e046794b3 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3485,7 +3485,7 @@ BattleScript_PerishSongTimerGoesDown:: @ 81D921D waitmessage 64 end2 -gUnknown_081D9224:: @ 81D9224 +BattleScript_AllStatsUp:: @ 81D9224 jumpifstat USER, 3, 1, 12, BattleScript_1D9251 jumpifstat USER, 3, 2, 12, BattleScript_1D9251 jumpifstat USER, 3, 3, 12, BattleScript_1D9251 @@ -3659,7 +3659,7 @@ BattleScript_1D93EC: @ 81D93EC waitmessage 64 jump BattleScript_EndTurn -gUnknown_081D93FA:: @ 81D93FA +BattleScript_AtkDefDown:: @ 81D93FA setbyte 0x20160dc, 0 playstatchangeanimation USER, 6, 13 playstatchangeanimation USER, 2, 9 @@ -3731,7 +3731,7 @@ BattleScript_OneHitKOMsg:: @ 81D94A9 waitmessage 64 return -gUnknown_081D94B0:: @ 81D94B0 +BattleScript_SAtkDown2:: @ 81D94B0 setbyte 0x20160dc, 0 playstatchangeanimation USER, 16, 11 setbyte 0x201601e, 164 diff --git a/data/battle_tower.s b/data/battle_tower.s deleted file mode 100644 index a45dcf72c..000000000 --- a/data/battle_tower.s +++ /dev/null @@ -1,159 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 8402F00 - .include "data/battle_tower/trainers.inc" - -@ 8403860 - .include "data/battle_tower/held_items.inc" - -@ 84038E0 - .include "data/battle_tower/level_50_mons.inc" - -@ 8404BA0 - .include "data/battle_tower/level_100_mons.inc" - -gUnknown_08405E60:: @ 8405E60 - .byte 4 - .byte 7 - .byte 8 - .byte 13 - .byte 14 - .byte 15 - .byte 16 - .byte 17 - .byte 18 - .byte 19 - .byte 20 - .byte 21 - .byte 23 - .byte 29 - .byte 32 - .byte 34 - .byte 36 - .byte 38 - .byte 39 - .byte 41 - .byte 43 - .byte 45 - .byte 46 - .byte 47 - .byte 53 - .byte 56 - .byte 64 - .byte 66 - .byte 72 - .byte 73 - -gUnknown_08405E7E:: @ 8405E7E - .byte 3 - .byte 6 - .byte 9 - .byte 10 - .byte 11 - .byte 12 - .byte 22 - .byte 30 - .byte 33 - .byte 35 - .byte 40 - .byte 42 - .byte 44 - .byte 48 - .byte 49 - .byte 50 - .byte 51 - .byte 65 - .byte 67 - .byte 71 - -gUnknown_08405E92:: @ 8405E92 - .byte MAP_OBJ_GFX_HIKER - .byte MAP_OBJ_GFX_TUBER_M - .byte MAP_OBJ_GFX_MAN_4 - .byte MAP_OBJ_GFX_BOY_4 - .byte MAP_OBJ_GFX_MANIAC - .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M - .byte MAP_OBJ_GFX_BLACK_BELT - .byte MAP_OBJ_GFX_MAN_6 - .byte MAP_OBJ_GFX_MAN_6 - .byte MAP_OBJ_GFX_CAMPER - .byte MAP_OBJ_GFX_MANIAC - .byte MAP_OBJ_GFX_PSYCHIC_M - .byte MAP_OBJ_GFX_GENTLEMAN - .byte MAP_OBJ_GFX_SCHOOL_KID_M - .byte MAP_OBJ_GFX_MAN_3 - .byte MAP_OBJ_GFX_OLD_MAN_1 - .byte MAP_OBJ_GFX_YOUNGSTER - .byte MAP_OBJ_GFX_FISHERMAN - .byte MAP_OBJ_GFX_CYCLING_TRIATHLETE_M - .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M - .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_M - .byte MAP_OBJ_GFX_MAN_4 - .byte MAP_OBJ_GFX_MAN_6 - .byte MAP_OBJ_GFX_LITTLE_BOY_1 - .byte MAP_OBJ_GFX_SAILOR - .byte MAP_OBJ_GFX_MANIAC - .byte MAP_OBJ_GFX_MAN_5 - .byte MAP_OBJ_GFX_CAMPER - .byte MAP_OBJ_GFX_BUG_CATCHER - .byte MAP_OBJ_GFX_HIKER - -gUnknown_08405EB0:: @ 8405EB0 - .byte MAP_OBJ_GFX_WOMAN_3 - .byte MAP_OBJ_GFX_TUBER_F - .byte MAP_OBJ_GFX_WOMAN_7 - .byte MAP_OBJ_GFX_WOMAN_1 - .byte MAP_OBJ_GFX_WOMAN_3 - .byte MAP_OBJ_GFX_BEAUTY - .byte MAP_OBJ_GFX_LASS - .byte MAP_OBJ_GFX_GIRL_3 - .byte MAP_OBJ_GFX_WOMAN_2 - .byte MAP_OBJ_GFX_OLD_WOMAN_1 - .byte MAP_OBJ_GFX_CYCLING_TRIATHLETE_F - .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F - .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F - .byte MAP_OBJ_GFX_GIRL_3 - .byte MAP_OBJ_GFX_WOMAN_7 - .byte MAP_OBJ_GFX_RUNNING_TRIATHLETE_F - .byte MAP_OBJ_GFX_PICNICKER - .byte MAP_OBJ_GFX_WOMAN_3 - .byte MAP_OBJ_GFX_PICNICKER - .byte MAP_OBJ_GFX_LASS - - .align 1 -gBattleTowerBanlist:: @ 8405EC4 - .2byte SPECIES_MEW - .2byte SPECIES_MEWTWO - .2byte SPECIES_HO_OH - .2byte SPECIES_LUGIA - .2byte SPECIES_CELEBI - .2byte SPECIES_KYOGRE - .2byte SPECIES_GROUDON - .2byte SPECIES_RAYQUAZA - .2byte SPECIES_JIRACHI - .2byte SPECIES_DEOXYS - .2byte -1 - - .align 1 -gUnknown_08405EDA:: @ 8405EDA - .2byte ITEM_HP_UP - .2byte ITEM_PROTEIN - .2byte ITEM_IRON - .2byte ITEM_CALCIUM - .2byte ITEM_CARBOS - .2byte ITEM_ZINC - - .align 1 -gUnknown_08405EE6:: @ 8405EE6 - .2byte ITEM_BRIGHT_POWDER - .2byte ITEM_WHITE_HERB - .2byte ITEM_QUICK_CLAW - .2byte ITEM_LEFTOVERS - .2byte ITEM_MENTAL_HERB - .2byte ITEM_KINGS_ROCK - .2byte ITEM_FOCUS_BAND - .2byte ITEM_SCOPE_LENS - .2byte ITEM_CHOICE_BAND diff --git a/data/battle_tower/held_items.inc b/data/battle_tower/held_items.inc deleted file mode 100644 index 6c4f0838b..000000000 --- a/data/battle_tower/held_items.inc +++ /dev/null @@ -1,65 +0,0 @@ - .align 1 -gBattleTowerHeldItems:: @ 8403860 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .2byte ITEM_SITRUS_BERRY - .2byte ITEM_ORAN_BERRY - .2byte ITEM_CHESTO_BERRY - .2byte ITEM_HARD_STONE - .2byte ITEM_FOCUS_BAND - .2byte ITEM_PERSIM_BERRY - .2byte ITEM_MIRACLE_SEED - .2byte ITEM_BERRY_JUICE - .2byte ITEM_MACHO_BRACE - .2byte ITEM_SILVER_POWDER - .2byte ITEM_CHERI_BERRY - .2byte ITEM_BLACK_GLASSES - .2byte ITEM_BLACK_BELT - .2byte ITEM_SOUL_DEW - .2byte ITEM_CHOICE_BAND - .2byte ITEM_MAGNET - .2byte ITEM_SILK_SCARF - .2byte ITEM_WHITE_HERB - .2byte ITEM_DEEP_SEA_SCALE - .2byte ITEM_DEEP_SEA_TOOTH - .2byte ITEM_MYSTIC_WATER - .2byte ITEM_SHARP_BEAK - .2byte ITEM_QUICK_CLAW - .2byte ITEM_LEFTOVERS - .2byte ITEM_RAWST_BERRY - .2byte ITEM_LIGHT_BALL - .2byte ITEM_POISON_BARB - .2byte ITEM_NEVER_MELT_ICE - .2byte ITEM_ASPEAR_BERRY - .2byte ITEM_SPELL_TAG - .2byte ITEM_BRIGHT_POWDER - .2byte ITEM_LEPPA_BERRY - .2byte ITEM_SCOPE_LENS - .2byte ITEM_TWISTED_SPOON - .2byte ITEM_METAL_COAT - .2byte ITEM_MENTAL_HERB - .2byte ITEM_CHARCOAL - .2byte ITEM_PECHA_BERRY - .2byte ITEM_SOFT_SAND - .2byte ITEM_LUM_BERRY - .2byte ITEM_DRAGON_SCALE - .2byte ITEM_DRAGON_FANG - .2byte ITEM_IAPAPA_BERRY - .2byte ITEM_WIKI_BERRY - .2byte ITEM_SEA_INCENSE - .2byte ITEM_SHELL_BELL - .2byte ITEM_SALAC_BERRY - .2byte ITEM_LANSAT_BERRY - .2byte ITEM_APICOT_BERRY - .2byte ITEM_STARF_BERRY - .2byte ITEM_LIECHI_BERRY - .2byte ITEM_STICK - .2byte ITEM_LAX_INCENSE - .2byte ITEM_AGUAV_BERRY - .2byte ITEM_FIGY_BERRY - .2byte ITEM_THICK_CLUB - .2byte ITEM_MAGO_BERRY - .2byte ITEM_METAL_POWDER - .2byte ITEM_PETAYA_BERRY - .2byte ITEM_LUCKY_PUNCH - .2byte ITEM_GANLON_BERRY diff --git a/data/battle_tower/level_100_mons.inc b/data/battle_tower/level_100_mons.inc deleted file mode 100644 index 9e678153e..000000000 --- a/data/battle_tower/level_100_mons.inc +++ /dev/null @@ -1,2701 +0,0 @@ - .align 2 -gBattleTowerLevel100Mons:: @ 8404BA0 -@ 0 - .2byte SPECIES_LINOONE - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0x42 @ team flags - .2byte MOVE_SLASH, MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_SAND_ATTACK - .byte F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 1 - .2byte SPECIES_MIGHTYENA - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x41 @ team flags - .2byte MOVE_BITE, MOVE_HOWL, MOVE_ODOR_SLEUTH, MOVE_SCARY_FACE - .byte F_EV_SPREAD_ATTACK - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 2 - .2byte SPECIES_BEAUTIFLY - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x41 @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_GUST, MOVE_STUN_SPORE, MOVE_PROTECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 3 - .2byte SPECIES_DUSTOX - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x41 @ team flags - .2byte MOVE_PSYBEAM, MOVE_GUST, MOVE_DOUBLE_TEAM, MOVE_SILVER_WIND - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 4 - .2byte SPECIES_LOMBRE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x03 @ team flags - .2byte MOVE_ASTONISH, MOVE_GROWL, MOVE_MEGA_DRAIN, MOVE_SURF - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 5 - .2byte SPECIES_NUZLEAF - .byte BATTLE_TOWER_ITEM_WHITE_HERB - .byte 0x01 @ team flags - .2byte MOVE_BULLET_SEED, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK, MOVE_GROWTH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 6 - .2byte SPECIES_SWELLOW - .byte BATTLE_TOWER_ITEM_SHARP_BEAK - .byte 0x42 @ team flags - .2byte MOVE_AERIAL_ACE, MOVE_GROWL, MOVE_ENDEAVOR, MOVE_FOCUS_ENERGY - .byte F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 7 - .2byte SPECIES_PELIPPER - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x02 @ team flags - .2byte MOVE_SURF, MOVE_WATER_SPORT, MOVE_PROTECT, MOVE_SUPERSONIC - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_MILD - .2byte 0 @ padding - -@ 8 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x42 @ team flags - .2byte MOVE_MACH_PUNCH, MOVE_MEGA_DRAIN, MOVE_HEADBUTT, MOVE_STUN_SPORE - .byte F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 9 - .2byte SPECIES_NINJASK - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0x41 @ team flags - .2byte MOVE_SCRATCH, MOVE_SCREECH, MOVE_LEECH_LIFE, MOVE_FLASH - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 10 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x01 @ team flags - .2byte MOVE_BITE, MOVE_FLY, MOVE_SUPERSONIC, MOVE_HAZE - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 11 - .2byte SPECIES_MAWILE - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x03 @ team flags - .2byte MOVE_VICE_GRIP, MOVE_SWEET_SCENT, MOVE_ASTONISH, MOVE_STRENGTH - .byte F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 12 - .2byte SPECIES_NOSEPASS - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x01 @ team flags - .2byte MOVE_ROCK_THROW, MOVE_SANDSTORM, MOVE_HARDEN, MOVE_PROTECT - .byte F_EV_SPREAD_ATTACK - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 13 - .2byte SPECIES_DELCATTY - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x42 @ team flags - .2byte MOVE_DOUBLE_SLAP, MOVE_TAIL_WHIP, MOVE_ATTRACT, MOVE_CHARM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 14 - .2byte SPECIES_CAMERUPT - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x01 @ team flags - .2byte MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_GROWL, MOVE_SANDSTORM - .byte F_EV_SPREAD_SP_DEFENSE - .byte NATURE_RASH - .2byte 0 @ padding - -@ 15 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_ORAN_BERRY - .byte 0x01 @ team flags - .2byte MOVE_POISON_GAS, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_SCREECH - .byte F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 16 - .2byte SPECIES_SANDSLASH - .byte BATTLE_TOWER_ITEM_SOFT_SAND - .byte 0x03 @ team flags - .2byte MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_DEFENSE_CURL, MOVE_SWIFT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 17 - .2byte SPECIES_SPINDA - .byte BATTLE_TOWER_ITEM_SILK_SCARF - .byte 0x42 @ team flags - .2byte MOVE_UPROAR, MOVE_WATER_PULSE, MOVE_THRASH, MOVE_SAFEGUARD - .byte F_EV_SPREAD_SPEED - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 18 - .2byte SPECIES_WHISCASH - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x01 @ team flags - .2byte MOVE_TICKLE, MOVE_MUD_SPORT, MOVE_WATER_GUN, MOVE_WATER_SPORT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 19 - .2byte SPECIES_CACTURNE - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x01 @ team flags - .2byte MOVE_POISON_STING, MOVE_PIN_MISSILE, MOVE_ABSORB, MOVE_COTTON_SPORE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 20 - .2byte SPECIES_JIGGLYPUFF - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x42 @ team flags - .2byte MOVE_SING, MOVE_ROLLOUT, MOVE_POUND, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 21 - .2byte SPECIES_MARILL - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x42 @ team flags - .2byte MOVE_BUBBLE_BEAM, MOVE_DEFENSE_CURL, MOVE_RAIN_DANCE, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SP_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 22 - .2byte SPECIES_MAGNETON - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0x01 @ team flags - .2byte MOVE_THUNDER_SHOCK, MOVE_SUPERSONIC, MOVE_FLASH, MOVE_SCREECH - .byte F_EV_SPREAD_SPEED - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 23 - .2byte SPECIES_CARVANHA - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x01 @ team flags - .2byte MOVE_BITE, MOVE_RAGE, MOVE_SCARY_FACE, MOVE_LEER - .byte F_EV_SPREAD_ATTACK - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 24 - .2byte SPECIES_KECLEON - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x03 @ team flags - .2byte MOVE_THIEF, MOVE_LICK, MOVE_BIND, MOVE_FURY_SWIPES - .byte F_EV_SPREAD_DEFENSE - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 25 - .2byte SPECIES_NINETALES - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x02 @ team flags - .2byte MOVE_EMBER, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_SAFEGUARD - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 26 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x42 @ team flags - .2byte MOVE_SHOCK_WAVE, MOVE_GROWL, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_DEFENSE - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 27 - .2byte SPECIES_SEALEO - .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE - .byte 0x01 @ team flags - .2byte MOVE_ICE_BALL, MOVE_WATER_GUN, MOVE_ENCORE, MOVE_HAIL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_LAX - .2byte 0 @ padding - -@ 28 - .2byte SPECIES_GRAVELER - .byte BATTLE_TOWER_ITEM_HARD_STONE - .byte 0x01 @ team flags - .2byte MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_SANDSTORM, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 29 - .2byte SPECIES_SHUPPET - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x03 @ team flags - .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SCREECH, MOVE_KNOCK_OFF - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 30 - .2byte SPECIES_LUVDISC - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0A @ team flags - .2byte MOVE_ATTRACT, MOVE_FLAIL, MOVE_SWEET_KISS, MOVE_WATER_PULSE - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 31 - .2byte SPECIES_LANTURN - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x0A @ team flags - .2byte MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_WATER_GUN, MOVE_SPARK - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 32 - .2byte SPECIES_CORSOLA - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0A @ team flags - .2byte MOVE_MIRROR_COAT, MOVE_BUBBLE, MOVE_HARDEN, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 33 - .2byte SPECIES_WAILMER - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x05 @ team flags - .2byte MOVE_SURF, MOVE_ROAR, MOVE_GROWL, MOVE_MIST - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 34 - .2byte SPECIES_RHYDON - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x05 @ team flags - .2byte MOVE_TAKE_DOWN, MOVE_SCARY_FACE, MOVE_TAIL_WHIP, MOVE_ROAR - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 35 - .2byte SPECIES_DODRIO - .byte BATTLE_TOWER_ITEM_SHARP_BEAK - .byte 0x05 @ team flags - .2byte MOVE_FURY_ATTACK, MOVE_PURSUIT, MOVE_AERIAL_ACE, MOVE_AGILITY - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 36 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x05 @ team flags - .2byte MOVE_FURY_SWIPES, MOVE_TAIL_WHIP, MOVE_DISABLE, MOVE_PSYCH_UP - .byte F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 37 - .2byte SPECIES_BELLOSSOM - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x0A @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_ACID - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 38 - .2byte SPECIES_TROPIUS - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x05 @ team flags - .2byte MOVE_STOMP, MOVE_RAZOR_LEAF, MOVE_GUST, MOVE_SYNTHESIS - .byte F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 39 - .2byte SPECIES_SABLEYE - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x0A @ team flags - .2byte MOVE_NIGHT_SHADE, MOVE_FAKE_OUT, MOVE_PSYCH_UP, MOVE_DETECT - .byte F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 40 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x03 @ team flags - .2byte MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_SPARK, MOVE_SELF_DESTRUCT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 41 - .2byte SPECIES_TENTACRUEL - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x01 @ team flags - .2byte MOVE_ACID, MOVE_WATER_PULSE, MOVE_BARRIER, MOVE_WRAP - .byte F_EV_SPREAD_SPEED - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 42 - .2byte SPECIES_CLAYDOL - .byte BATTLE_TOWER_ITEM_SOFT_SAND - .byte 0x05 @ team flags - .2byte MOVE_ANCIENT_POWER, MOVE_MUD_SLAP, MOVE_RAPID_SPIN, MOVE_CONFUSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 43 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0A @ team flags - .2byte MOVE_PSYBEAM, MOVE_PSYCH_UP, MOVE_BOUNCE, MOVE_MAGIC_COAT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 44 - .2byte SPECIES_CRAWDAUNT - .byte BATTLE_TOWER_ITEM_MENTAL_HERB - .byte 0x05 @ team flags - .2byte MOVE_CRABHAMMER, MOVE_BUBBLE_BEAM, MOVE_BRICK_BREAK, MOVE_PROTECT - .byte F_EV_SPREAD_ATTACK - .byte NATURE_CALM - .2byte 0 @ padding - -@ 45 - .2byte SPECIES_SEVIPER - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x01 @ team flags - .2byte MOVE_POISON_TAIL, MOVE_GLARE, MOVE_WRAP, MOVE_THIEF - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 46 - .2byte SPECIES_ZANGOOSE - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x05 @ team flags - .2byte MOVE_FURY_CUTTER, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_DETECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 47 - .2byte SPECIES_ALTARIA - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x03 @ team flags - .2byte MOVE_DRAGON_BREATH, MOVE_SING, MOVE_SAFEGUARD, MOVE_TAKE_DOWN - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 48 - .2byte SPECIES_ROSELIA - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x0A @ team flags - .2byte MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GROWTH, MOVE_STUN_SPORE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 49 - .2byte SPECIES_VOLBEAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x09 @ team flags - .2byte MOVE_SIGNAL_BEAM, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 50 - .2byte SPECIES_ILLUMISE - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x09 @ team flags - .2byte MOVE_CHARM, MOVE_ENCORE, MOVE_SOLAR_BEAM, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 51 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_MAGNET - .byte 0x03 @ team flags - .2byte MOVE_BITE, MOVE_HOWL, MOVE_THUNDER_WAVE, MOVE_SPARK - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 52 - .2byte SPECIES_MAWILE - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0A @ team flags - .2byte MOVE_CRUNCH, MOVE_IRON_DEFENSE, MOVE_TORMENT, MOVE_SANDSTORM - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_RASH - .2byte 0 @ padding - -@ 53 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x05 @ team flags - .2byte MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_WHIRLWIND, MOVE_REVERSAL - .byte F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 54 - .2byte SPECIES_SKARMORY - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x01 @ team flags - .2byte MOVE_STEEL_WING, MOVE_AGILITY, MOVE_TAUNT, MOVE_FLY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 55 - .2byte SPECIES_TORKOAL - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x03 @ team flags - .2byte MOVE_FIRE_SPIN, MOVE_SMOKESCREEN, MOVE_BODY_SLAM, MOVE_AMNESIA - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_MILD - .2byte 0 @ padding - -@ 56 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x05 @ team flags - .2byte MOVE_THRASH, MOVE_DRAGON_RAGE, MOVE_TWISTER, MOVE_HYDRO_PUMP - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 57 - .2byte SPECIES_MIGHTYENA - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x05 @ team flags - .2byte MOVE_CRUNCH, MOVE_HOWL, MOVE_IRON_TAIL, MOVE_TORMENT - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 58 - .2byte SPECIES_LINOONE - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x06 @ team flags - .2byte MOVE_SLASH, MOVE_ATTRACT, MOVE_SHOCK_WAVE, MOVE_TOXIC - .byte F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 59 - .2byte SPECIES_MASQUERAIN - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0A @ team flags - .2byte MOVE_TOXIC, MOVE_STUN_SPORE, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_LAX - .2byte 0 @ padding - -@ 60 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x06 @ team flags - .2byte MOVE_BULLET_SEED, MOVE_SLAM, MOVE_SCREECH, MOVE_DETECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 61 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x06 @ team flags - .2byte MOVE_DOUBLE_KICK, MOVE_FLAMETHROWER, MOVE_DOUBLE_TEAM, MOVE_ROAR - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 62 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x49 @ team flags - .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_MUD_SPORT, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 63 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x49 @ team flags - .2byte MOVE_DRAGON_BREATH, MOVE_FLY, MOVE_TOXIC, MOVE_FACADE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 64 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x49 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_SMOKESCREEN, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 65 - .2byte SPECIES_CORSOLA - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x03 @ team flags - .2byte MOVE_ANCIENT_POWER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_REFLECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 66 - .2byte SPECIES_RHYDON - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x41 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROAR, MOVE_THUNDERBOLT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 67 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x06 @ team flags - .2byte MOVE_MEGAHORN, MOVE_COUNTER, MOVE_PROTECT, MOVE_LEER - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 68 - .2byte SPECIES_GIRAFARIG - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x09 @ team flags - .2byte MOVE_PSYCHIC, MOVE_CRUNCH, MOVE_BATON_PASS, MOVE_AGILITY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 69 - .2byte SPECIES_XATU - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x09 @ team flags - .2byte MOVE_PSYCHIC, MOVE_FLY, MOVE_CONFUSE_RAY, MOVE_TOXIC - .byte F_EV_SPREAD_SPEED - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 70 - .2byte SPECIES_DODRIO - .byte BATTLE_TOWER_ITEM_SHARP_BEAK - .byte 0x03 @ team flags - .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_PURSUIT, MOVE_TORMENT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 71 - .2byte SPECIES_VILEPLUME - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x89 @ team flags - .2byte MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER, MOVE_PETAL_DANCE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MODEST - .2byte 0 @ padding - -@ 72 - .2byte SPECIES_MEDICHAM - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x06 @ team flags - .2byte MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_BULK_UP, MOVE_PSYCHIC - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 73 - .2byte SPECIES_ABSOL - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x06 @ team flags - .2byte MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM, MOVE_ATTRACT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 74 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x4B @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_DISABLE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_LAX - .2byte 0 @ padding - -@ 75 - .2byte SPECIES_SHUPPET - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x43 @ team flags - .2byte MOVE_GRUDGE, MOVE_SHADOW_BALL, MOVE_CURSE, MOVE_KNOCK_OFF - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 76 - .2byte SPECIES_CASTFORM - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x82 @ team flags - .2byte MOVE_WEATHER_BALL, MOVE_HAIL, MOVE_SUNNY_DAY, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SPEED - .byte NATURE_MODEST - .2byte 0 @ padding - -@ 77 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x02 @ team flags - .2byte MOVE_SURF, MOVE_REFRESH, MOVE_RECOVER, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 78 - .2byte SPECIES_SHARPEDO - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x01 @ team flags - .2byte MOVE_CRUNCH, MOVE_FOCUS_ENERGY, MOVE_SCARY_FACE, MOVE_SCREECH - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_LAX - .2byte 0 @ padding - -@ 79 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x06 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SAND_ATTACK, MOVE_DRAGON_BREATH, MOVE_SAND_TOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 80 - .2byte SPECIES_TRAPINCH - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x09 @ team flags - .2byte MOVE_TOXIC, MOVE_SAND_TOMB, MOVE_CRUNCH, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 81 - .2byte SPECIES_LUNATONE - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x43 @ team flags - .2byte MOVE_PSYCHIC, MOVE_ROCK_THROW, MOVE_HYPNOSIS, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 82 - .2byte SPECIES_SOLROCK - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x43 @ team flags - .2byte MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_COSMIC_POWER, MOVE_CALM_MIND - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 83 - .2byte SPECIES_BALTOY - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x43 @ team flags - .2byte MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_REFLECT, MOVE_SELF_DESTRUCT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 84 - .2byte SPECIES_CRAWDAUNT - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x06 @ team flags - .2byte MOVE_CRABHAMMER, MOVE_SURF, MOVE_PROTECT, MOVE_BRICK_BREAK - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 85 - .2byte SPECIES_WHISCASH - .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY - .byte 0x06 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_TICKLE, MOVE_AMNESIA, MOVE_SURF - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 86 - .2byte SPECIES_SEVIPER - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x09 @ team flags - .2byte MOVE_POISON_TAIL, MOVE_CRUNCH, MOVE_GIGA_DRAIN, MOVE_HAZE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 87 - .2byte SPECIES_MAGCARGO - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x89 @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_LIGHT_SCREEN, MOVE_AMNESIA, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 88 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_BLACK_BELT - .byte 0x09 @ team flags - .2byte MOVE_KARATE_CHOP, MOVE_SEISMIC_TOSS, MOVE_BRICK_BREAK, MOVE_LOW_KICK - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 89 - .2byte SPECIES_SWALOT - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x86 @ team flags - .2byte MOVE_YAWN, MOVE_WATER_PULSE, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 90 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0C @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_GIGA_DRAIN, MOVE_FURY_CUTTER, MOVE_DETECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 91 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x0C @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_QUICK_ATTACK - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 92 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x4C @ team flags - .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_MUD_SLAP, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 93 - .2byte SPECIES_MIGHTYENA - .byte BATTLE_TOWER_ITEM_BLACK_GLASSES - .byte 0x04 @ team flags - .2byte MOVE_CRUNCH, MOVE_HOWL, MOVE_SWAGGER, MOVE_SHADOW_BALL - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 94 - .2byte SPECIES_LINOONE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x04 @ team flags - .2byte MOVE_SLASH, MOVE_REST, MOVE_BELLY_DRUM, MOVE_THUNDERBOLT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_MILD - .2byte 0 @ padding - -@ 95 - .2byte SPECIES_BEAUTIFLY - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x08 @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_ATTRACT, MOVE_MORNING_SUN, MOVE_STUN_SPORE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 96 - .2byte SPECIES_DUSTOX - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x08 @ team flags - .2byte MOVE_PSYCHIC, MOVE_SILVER_WIND, MOVE_MOONLIGHT, MOVE_TOXIC - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 97 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x0C @ team flags - .2byte MOVE_FAKE_OUT, MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_UPROAR - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 98 - .2byte SPECIES_SHIFTRY - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x0C @ team flags - .2byte MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_TORMENT, MOVE_SWAGGER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 99 - .2byte SPECIES_SWELLOW - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x88 @ team flags - .2byte MOVE_FLY, MOVE_ENDEAVOR, MOVE_AERIAL_ACE, MOVE_TOXIC - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 100 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_BLACK_GLASSES - .byte 0x4A @ team flags - .2byte MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_PSYCHIC, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 101 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x0C @ team flags - .2byte MOVE_DYNAMIC_PUNCH, MOVE_MIND_READER, MOVE_SNATCH, MOVE_MEGA_DRAIN - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 102 - .2byte SPECIES_VIGOROTH - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x04 @ team flags - .2byte MOVE_SLASH, MOVE_UPROAR, MOVE_ENCORE, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 103 - .2byte SPECIES_NINJASK - .byte BATTLE_TOWER_ITEM_SILVER_POWDER - .byte 0x04 @ team flags - .2byte MOVE_FURY_CUTTER, MOVE_GIGA_DRAIN, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 104 - .2byte SPECIES_SHEDINJA - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0xCA @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_GRUDGE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 105 - .2byte SPECIES_LOUDRED - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x04 @ team flags - .2byte MOVE_HYPER_VOICE, MOVE_HOWL, MOVE_SHADOW_BALL, MOVE_TORMENT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 106 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x04 @ team flags - .2byte MOVE_ARM_THRUST, MOVE_BULK_UP, MOVE_BRICK_BREAK, MOVE_HIDDEN_POWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 107 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x88 @ team flags - .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_FUTURE_SIGHT, MOVE_DISABLE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 108 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x88 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_MEAN_LOOK, MOVE_SNATCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 109 - .2byte SPECIES_MAWILE - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x04 @ team flags - .2byte MOVE_CRUNCH, MOVE_IRON_DEFENSE, MOVE_FAKE_TEARS, MOVE_POISON_FANG - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 110 - .2byte SPECIES_AGGRON - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x45 @ team flags - .2byte MOVE_METAL_CLAW, MOVE_FLAMETHROWER, MOVE_METAL_SOUND, MOVE_ICE_BEAM - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 111 - .2byte SPECIES_GOLEM - .byte BATTLE_TOWER_ITEM_SOFT_SAND - .byte 0xC5 @ team flags - .2byte MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, MOVE_SELF_DESTRUCT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 112 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_MAGNET - .byte 0x04 @ team flags - .2byte MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_CHARGE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 113 - .2byte SPECIES_VOLBEAT - .byte BATTLE_TOWER_ITEM_SILVER_POWDER - .byte 0x08 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_SIGNAL_BEAM, MOVE_MOONLIGHT, MOVE_TAIL_GLOW - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 114 - .2byte SPECIES_ILLUMISE - .byte BATTLE_TOWER_ITEM_SILVER_POWDER - .byte 0x08 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_FLATTER, MOVE_WISH, MOVE_ENCORE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 115 - .2byte SPECIES_MASQUERAIN - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x88 @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_SILVER_WIND, MOVE_STUN_SPORE, MOVE_TOXIC - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 116 - .2byte SPECIES_ROSELIA - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x08 @ team flags - .2byte MOVE_PETAL_DANCE, MOVE_GROWTH, MOVE_SYNTHESIS, MOVE_GRASS_WHISTLE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 117 - .2byte SPECIES_DELCATTY - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x08 @ team flags - .2byte MOVE_SING, MOVE_ATTRACT, MOVE_DOUBLE_SLAP, MOVE_HEAL_BELL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 118 - .2byte SPECIES_SEAKING - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x88 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_ATTRACT, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 119 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x8C @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_DRAGON_RAGE, MOVE_PROTECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 120 - .2byte SPECIES_SWALOT - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x42 @ team flags - .2byte MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_YAWN - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 121 - .2byte SPECIES_MAGCARGO - .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY - .byte 0x41 @ team flags - .2byte MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_BODY_SLAM, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 122 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0xC3 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_ACID_ARMOR, MOVE_DISABLE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 123 - .2byte SPECIES_SPINDA - .byte BATTLE_TOWER_ITEM_SILK_SCARF - .byte 0x42 @ team flags - .2byte MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYCH_UP, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_MODEST - .2byte 0 @ padding - -@ 124 - .2byte SPECIES_ALTARIA - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x03 @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_REFRESH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 125 - .2byte SPECIES_ZANGOOSE - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x03 @ team flags - .2byte MOVE_CRUSH_CLAW, MOVE_TAUNT, MOVE_SWORDS_DANCE, MOVE_DETECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 126 - .2byte SPECIES_SEVIPER - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x41 @ team flags - .2byte MOVE_SWAGGER, MOVE_TAUNT, MOVE_GLARE, MOVE_POISON_TAIL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 127 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x42 @ team flags - .2byte MOVE_TOXIC, MOVE_BOUNCE, MOVE_CONFUSE_RAY, MOVE_ATTRACT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 128 - .2byte SPECIES_CACTURNE - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x41 @ team flags - .2byte MOVE_NEEDLE_ARM, MOVE_INGRAIN, MOVE_SPIKES, MOVE_COTTON_SPORE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 129 - .2byte SPECIES_CLAYDOL - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x03 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SANDSTORM, MOVE_COSMIC_POWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 130 - .2byte SPECIES_TENTACRUEL - .byte BATTLE_TOWER_ITEM_MENTAL_HERB - .byte 0xC1 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_HYDRO_PUMP, MOVE_BARRIER, MOVE_SUPERSONIC - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 131 - .2byte SPECIES_WIGGLYTUFF - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0xC3 @ team flags - .2byte MOVE_SING, MOVE_FOCUS_PUNCH, MOVE_DISABLE, MOVE_FACADE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 132 - .2byte SPECIES_AZUMARILL - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0xC2 @ team flags - .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_DEFENSE_CURL, MOVE_ROLLOUT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 133 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0xC3 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_MIRROR_COAT, MOVE_LIGHT_SCREEN, MOVE_SELF_DESTRUCT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 134 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x42 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_ATTRACT, MOVE_RECOVER, MOVE_REFRESH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 135 - .2byte SPECIES_KECLEON - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x43 @ team flags - .2byte MOVE_SKILL_SWAP, MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_THUNDERBOLT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 136 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x43 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_REST, MOVE_MEAN_LOOK - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 137 - .2byte SPECIES_ABSOL - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x41 @ team flags - .2byte MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM, MOVE_SNATCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 138 - .2byte SPECIES_NINETALES - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0xC2 @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_WILL_O_WISP - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 139 - .2byte SPECIES_PIKACHU - .byte BATTLE_TOWER_ITEM_LIGHT_BALL - .byte 0xC2 @ team flags - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_ATTRACT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 140 - .2byte SPECIES_VILEPLUME - .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY - .byte 0xC3 @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_MOONLIGHT, MOVE_SLUDGE_BOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 141 - .2byte SPECIES_DONPHAN - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x41 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_IRON_TAIL, MOVE_FISSURE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 142 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0xC3 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 143 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE - .byte 0x43 @ team flags - .2byte MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_ENCORE, MOVE_HAIL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 144 - .2byte SPECIES_RELICANTH - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x41 @ team flags - .2byte MOVE_YAWN, MOVE_MUD_SPORT, MOVE_DOUBLE_EDGE, MOVE_SANDSTORM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 145 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x43 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_ICE_BEAM, MOVE_HYDRO_PUMP, MOVE_AGILITY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 146 - .2byte SPECIES_CRADILY - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x43 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_INGRAIN, MOVE_ANCIENT_POWER, MOVE_GIGA_DRAIN - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MILD - .2byte 0 @ padding - -@ 147 - .2byte SPECIES_ARMALDO - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x43 @ team flags - .2byte MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_WATER_PULSE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 148 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x41 @ team flags - .2byte MOVE_METAL_CLAW, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_AGILITY - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 149 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x42 @ team flags - .2byte MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_AERIAL_ACE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 150 - .2byte SPECIES_MIGHTYENA - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x01 @ team flags - .2byte MOVE_CRUNCH, MOVE_YAWN, MOVE_FACADE, MOVE_HOWL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 151 - .2byte SPECIES_LINOONE - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x02 @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_FACADE, MOVE_ATTRACT, MOVE_TRICK - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 152 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x03 @ team flags - .2byte MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_FAKE_OUT, MOVE_SYNTHESIS - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 153 - .2byte SPECIES_EXPLOUD - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x01 @ team flags - .2byte MOVE_UPROAR, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 154 - .2byte SPECIES_SWELLOW - .byte BATTLE_TOWER_ITEM_LANSAT_BERRY - .byte 0x02 @ team flags - .2byte MOVE_FACADE, MOVE_SUPERSONIC, MOVE_WING_ATTACK, MOVE_ENDEAVOR - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 155 - .2byte SPECIES_PELIPPER - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x82 @ team flags - .2byte MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 156 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x01 @ team flags - .2byte MOVE_DYNAMIC_PUNCH, MOVE_COUNTER, MOVE_BULK_UP, MOVE_MIND_READER - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 157 - .2byte SPECIES_SHEDINJA - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x01 @ team flags - .2byte MOVE_RETURN, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SHADOW_BALL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 158 - .2byte SPECIES_EXPLOUD - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x01 @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_FLAMETHROWER, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 159 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x01 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_FACADE, MOVE_FAKE_OUT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 160 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x83 @ team flags - .2byte MOVE_PSYCHIC, MOVE_ENCORE, MOVE_DISABLE, MOVE_RECOVER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 161 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x81 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER, MOVE_TORMENT, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 162 - .2byte SPECIES_SABLEYE - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x83 @ team flags - .2byte MOVE_TOXIC, MOVE_DETECT, MOVE_RECOVER, MOVE_TORMENT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 163 - .2byte SPECIES_MAWILE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x02 @ team flags - .2byte MOVE_CRUNCH, MOVE_SWORDS_DANCE, MOVE_IRON_DEFENSE, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 164 - .2byte SPECIES_AGGRON - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x01 @ team flags - .2byte MOVE_DOUBLE_EDGE, MOVE_IRON_DEFENSE, MOVE_ROAR, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 165 - .2byte SPECIES_GOLEM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x01 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER, MOVE_FACADE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 166 - .2byte SPECIES_NOSEPASS - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x81 @ team flags - .2byte MOVE_THUNDER_WAVE, MOVE_ROCK_SLIDE, MOVE_TORMENT, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 167 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x02 @ team flags - .2byte MOVE_THUNDER, MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 168 - .2byte SPECIES_ROSELIA - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x82 @ team flags - .2byte MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_GROWTH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 169 - .2byte SPECIES_DELCATTY - .byte BATTLE_TOWER_ITEM_STARF_BERRY - .byte 0x02 @ team flags - .2byte MOVE_ASSIST, MOVE_SING, MOVE_ATTRACT, MOVE_SUBSTITUTE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 170 - .2byte SPECIES_TROPIUS - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0xC2 @ team flags - .2byte MOVE_RAZOR_LEAF, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_SYNTHESIS - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 171 - .2byte SPECIES_SWALOT - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x03 @ team flags - .2byte MOVE_YAWN, MOVE_SLUDGE_BOMB, MOVE_ATTRACT, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 172 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_BLACK_BELT - .byte 0x01 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_BULK_UP, MOVE_LOW_KICK, MOVE_BRICK_BREAK - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 173 - .2byte SPECIES_CAMERUPT - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x40 @ team flags - .2byte MOVE_ERUPTION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_OVERHEAT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 174 - .2byte SPECIES_MAGCARGO - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x03 @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_REFLECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 175 - .2byte SPECIES_WEEZING - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x81 @ team flags - .2byte MOVE_WILL_O_WISP, MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 176 - .2byte SPECIES_SPINDA - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x82 @ team flags - .2byte MOVE_TRICK, MOVE_TEETER_DANCE, MOVE_FOCUS_PUNCH, MOVE_FACADE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 177 - .2byte SPECIES_SKARMORY - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x01 @ team flags - .2byte MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_TORMENT, MOVE_PROTECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 178 - .2byte SPECIES_ALTARIA - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x02 @ team flags - .2byte MOVE_SING, MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 179 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x82 @ team flags - .2byte MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_CALM_MIND, MOVE_REST - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 180 - .2byte SPECIES_SHIFTRY - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x20 @ team flags - .2byte MOVE_SWAGGER, MOVE_FRUSTRATION, MOVE_ATTRACT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 181 - .2byte SPECIES_CLAYDOL - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x20 @ team flags - .2byte MOVE_COSMIC_POWER, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 182 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x33 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_BELLY_DRUM, MOVE_REST - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 183 - .2byte SPECIES_NOSEPASS - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x20 @ team flags - .2byte MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 184 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x33 @ team flags - .2byte MOVE_SHADOW_PUNCH, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_DESTINY_BOND - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 185 - .2byte SPECIES_SEAKING - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x20 @ team flags - .2byte MOVE_HORN_DRILL, MOVE_AGILITY, MOVE_SLEEP_TALK, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 186 - .2byte SPECIES_CAMERUPT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x73 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_ROCK_SLIDE, MOVE_FISSURE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 187 - .2byte SPECIES_LANTURN - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x13 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 188 - .2byte SPECIES_WEEZING - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x33 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 189 - .2byte SPECIES_WHISCASH - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x20 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_SPARK, MOVE_FISSURE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 190 - .2byte SPECIES_AGGRON - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x51 @ team flags - .2byte MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 191 - .2byte SPECIES_KECLEON - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x12 @ team flags - .2byte MOVE_TRICK, MOVE_FOCUS_PUNCH, MOVE_ATTRACT, MOVE_SNATCH - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MILD - .2byte 0 @ padding - -@ 192 - .2byte SPECIES_SHARPEDO - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x11 @ team flags - .2byte MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_SWAGGER - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 193 - .2byte SPECIES_ABSOL - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x12 @ team flags - .2byte MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_SWORDS_DANCE, MOVE_QUICK_ATTACK - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 194 - .2byte SPECIES_WAILORD - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x72 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_FISSURE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 195 - .2byte SPECIES_TENTACRUEL - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x20 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_BARRIER, MOVE_MIRROR_COAT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 196 - .2byte SPECIES_SABLEYE - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x32 @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_RECOVER, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 197 - .2byte SPECIES_WOBBUFFET - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x20 @ team flags - .2byte MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MILD - .2byte 0 @ padding - -@ 198 - .2byte SPECIES_RHYDON - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x71 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_HORN_DRILL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 199 - .2byte SPECIES_GLALIE - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x31 @ team flags - .2byte MOVE_CRUNCH, MOVE_BLIZZARD, MOVE_HAIL, MOVE_SHEER_COLD - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 200 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x8C @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 201 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x8C @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_COUNTER, MOVE_ENDURE, MOVE_REVERSAL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 202 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x8C @ team flags - .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MIRROR_COAT, MOVE_BLIZZARD - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 203 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x1A @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND, MOVE_SNATCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 204 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x15 @ team flags - .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_MACH_PUNCH, MOVE_ATTRACT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 205 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x58 @ team flags - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_RECOVER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 206 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x15 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FAKE_OUT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 207 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x55 @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 208 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x58 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 209 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x5D @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 210 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x1A @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 211 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x60 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_MIRROR_COAT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 212 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x64 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 213 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x1C @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 214 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x5C @ team flags - .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 215 - .2byte SPECIES_NINETALES - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x4A @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FIRE_SPIN, MOVE_HEAT_WAVE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 216 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x5A @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_REVERSAL, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 217 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x55 @ team flags - .2byte MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_DIG - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 218 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x5D @ team flags - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 219 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x26 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_SHEER_COLD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 220 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x5B @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 221 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x0D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_FIRE_BLAST - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 222 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x3D @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 223 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x3C @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 224 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_LAX_INCENSE - .byte 0x3C @ team flags - .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 225 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x3C @ team flags - .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 226 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x0E @ team flags - .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 227 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x0D @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 228 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x1A @ team flags - .2byte MOVE_SURF, MOVE_TOXIC, MOVE_RECOVER, MOVE_MIRROR_COAT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 229 - .2byte SPECIES_SLAKING - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x15 @ team flags - .2byte MOVE_YAWN, MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SLACK_OFF - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 230 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x8C @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 231 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x8C @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_QUICK_ATTACK - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 232 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x8C @ team flags - .2byte MOVE_MUDDY_WATER, MOVE_MUD_SHOT, MOVE_MIRROR_COAT, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 233 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x0A @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_HYPNOSIS, MOVE_DREAM_EATER - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 234 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x05 @ team flags - .2byte MOVE_SPORE, MOVE_COUNTER, MOVE_SKY_UPPERCUT, MOVE_GIGA_DRAIN - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 235 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x58 @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_RECOVER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 236 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x04 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_ENDURE, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 237 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x44 @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 238 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x48 @ team flags - .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_FLY - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 239 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x5D @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_EARTHQUAKE, MOVE_FACADE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 240 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x0A @ team flags - .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 241 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x60 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_LIGHT_SCREEN, MOVE_MIRROR_COAT, MOVE_EXPLOSION - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 242 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x64 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_FLAMETHROWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 243 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x1C @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 244 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x5C @ team flags - .2byte MOVE_BLIZZARD, MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_RECOVER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 245 - .2byte SPECIES_DODRIO - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x5A @ team flags - .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_AGILITY, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 246 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x4A @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_FOCUS_PUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 247 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x45 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 248 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x5D @ team flags - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 249 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x26 @ team flags - .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_ROCK_SLIDE, MOVE_SHEER_COLD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 250 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x5C @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 251 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x1D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 252 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x3D @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 253 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x3C @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_FOCUS_PUNCH, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 254 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x3C @ team flags - .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_HAIL, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 255 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x3C @ team flags - .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 256 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x1E @ team flags - .2byte MOVE_MIST_BALL, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 257 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_LAX_INCENSE - .byte 0x1D @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 258 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x1A @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_MIRROR_COAT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 259 - .2byte SPECIES_SLAKING - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x15 @ team flags - .2byte MOVE_YAWN, MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_PURSUIT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 260 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x8C @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 261 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_GANLON_BERRY - .byte 0x8C @ team flags - .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SWAGGER, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 262 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x8C @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_ATTRACT, MOVE_REST - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 263 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_LAX_INCENSE - .byte 0x0A @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ATTRACT, MOVE_WILL_O_WISP - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 264 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x05 @ team flags - .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_MACH_PUNCH, MOVE_COUNTER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 265 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x58 @ team flags - .2byte MOVE_PSYCHIC, MOVE_TRICK, MOVE_RECOVER, MOVE_SNATCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 266 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x05 @ team flags - .2byte MOVE_REVENGE, MOVE_COUNTER, MOVE_FOCUS_PUNCH, MOVE_REVERSAL - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 267 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x0A @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_DIVE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 268 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x48 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_SNATCH - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 269 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x5D @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_FIRE_BLAST, MOVE_LOW_KICK, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 270 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x08 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 271 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x60 @ team flags - .2byte MOVE_THUNDER, MOVE_SWIFT, MOVE_MIRROR_COAT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 272 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x64 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_PUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 273 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_LAX_INCENSE - .byte 0x0C @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_SANDSTORM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 274 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x4C @ team flags - .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_PSYCHIC - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 275 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x4A @ team flags - .2byte MOVE_LEECH_SEED, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_PROTECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 276 - .2byte SPECIES_SKARMORY - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x4B @ team flags - .2byte MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_ATTRACT, MOVE_PURSUIT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 277 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x49 @ team flags - .2byte MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_CROSS_CHOP - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 278 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x5D @ team flags - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 279 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x26 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_FISSURE, MOVE_SHEER_COLD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 280 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x5C @ team flags - .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_HYPER_BEAM, MOVE_FLAIL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 281 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x1D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_HYDRO_PUMP - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 282 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x3D @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 283 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x3C @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_SUPERPOWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 284 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_LAX_INCENSE - .byte 0x3C @ team flags - .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_ANCIENT_POWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 285 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x3C @ team flags - .2byte MOVE_METAL_CLAW, MOVE_THUNDERBOLT, MOVE_HYPER_BEAM, MOVE_EXPLOSION - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 286 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x1E @ team flags - .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 287 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_GANLON_BERRY - .byte 0x1D @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 288 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x1A @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 289 - .2byte SPECIES_ALTARIA - .byte BATTLE_TOWER_ITEM_GANLON_BERRY - .byte 0x0A @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_SING, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 290 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x9C @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_DETECT, MOVE_DRAGON_CLAW, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 291 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x9C @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_SKY_UPPERCUT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 292 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x9C @ team flags - .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 293 - .2byte SPECIES_SHEDINJA - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x20 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_GRUDGE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 294 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x1D @ team flags - .2byte MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_PROTECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 295 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x58 @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 296 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x1E @ team flags - .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 297 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x1D @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 298 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x1D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 299 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x5D @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_LOW_KICK, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding diff --git a/data/battle_tower/level_50_mons.inc b/data/battle_tower/level_50_mons.inc deleted file mode 100644 index 3dfc269a8..000000000 --- a/data/battle_tower/level_50_mons.inc +++ /dev/null @@ -1,2701 +0,0 @@ - .align 2 -gBattleTowerLevel50Mons:: @ 84038E0 -@ 0 - .2byte SPECIES_PIKACHU - .byte BATTLE_TOWER_ITEM_ORAN_BERRY - .byte 0x42 @ team flags - .2byte MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_THUNDER_SHOCK, MOVE_GROWL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 1 - .2byte SPECIES_BEAUTIFLY - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x41 @ team flags - .2byte MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_GUST, MOVE_SAFEGUARD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 2 - .2byte SPECIES_SWELLOW - .byte BATTLE_TOWER_ITEM_SHARP_BEAK - .byte 0x07 @ team flags - .2byte MOVE_PECK, MOVE_WING_ATTACK, MOVE_AERIAL_ACE, MOVE_AGILITY - .byte F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 3 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x0B @ team flags - .2byte MOVE_HAIL, MOVE_ENCORE, MOVE_ICE_BALL, MOVE_TOXIC - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 4 - .2byte SPECIES_SEAKING - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x07 @ team flags - .2byte MOVE_PECK, MOVE_FLAIL, MOVE_FURY_ATTACK, MOVE_SURF - .byte F_EV_SPREAD_SPEED - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 5 - .2byte SPECIES_TORCHIC - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x42 @ team flags - .2byte MOVE_FIRE_SPIN, MOVE_PROTECT, MOVE_SAND_ATTACK, MOVE_SLASH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 6 - .2byte SPECIES_MASQUERAIN - .byte BATTLE_TOWER_ITEM_WHITE_HERB - .byte 0x41 @ team flags - .2byte MOVE_STUN_SPORE, MOVE_WATER_SPORT, MOVE_QUICK_ATTACK, MOVE_GUST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 7 - .2byte SPECIES_ILLUMISE - .byte BATTLE_TOWER_ITEM_NONE - .byte 0x41 @ team flags - .2byte MOVE_FLATTER, MOVE_COVET, MOVE_WISH, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 8 - .2byte SPECIES_DELCATTY - .byte BATTLE_TOWER_ITEM_SILK_SCARF - .byte 0x42 @ team flags - .2byte MOVE_ATTRACT, MOVE_TAIL_WHIP, MOVE_FAINT_ATTACK, MOVE_DIG - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 9 - .2byte SPECIES_KECLEON - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x0B @ team flags - .2byte MOVE_TAIL_WHIP, MOVE_SLASH, MOVE_LICK, MOVE_SCREECH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 10 - .2byte SPECIES_MIGHTYENA - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x05 @ team flags - .2byte MOVE_BITE, MOVE_TAKE_DOWN, MOVE_ROAR, MOVE_HOWL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 11 - .2byte SPECIES_SLAKING - .byte BATTLE_TOWER_ITEM_BLACK_GLASSES - .byte 0x05 @ team flags - .2byte MOVE_FAINT_ATTACK, MOVE_COUNTER, MOVE_SCRATCH, MOVE_TAUNT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 12 - .2byte SPECIES_MACHOKE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x05 @ team flags - .2byte MOVE_LEER, MOVE_DIG, MOVE_LOW_KICK, MOVE_FOCUS_PUNCH - .byte F_EV_SPREAD_SPEED - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 13 - .2byte SPECIES_RHYDON - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x05 @ team flags - .2byte MOVE_STRENGTH, MOVE_ROCK_TOMB, MOVE_STOMP, MOVE_ROCK_SMASH - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 14 - .2byte SPECIES_CACTURNE - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x0B @ team flags - .2byte MOVE_POISON_STING, MOVE_GROWTH, MOVE_ABSORB, MOVE_SOLAR_BEAM - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 15 - .2byte SPECIES_ZIGZAGOON - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x0A @ team flags - .2byte MOVE_FLAIL, MOVE_SAND_ATTACK, MOVE_REST, MOVE_SURF - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 16 - .2byte SPECIES_DODRIO - .byte BATTLE_TOWER_ITEM_SHARP_BEAK - .byte 0x03 @ team flags - .2byte MOVE_PURSUIT, MOVE_TRI_ATTACK, MOVE_GROWL, MOVE_AGILITY - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 17 - .2byte SPECIES_WHISCASH - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x0B @ team flags - .2byte MOVE_WATER_GUN, MOVE_AMNESIA, MOVE_MAGNITUDE, MOVE_MUD_SLAP - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_LAX - .2byte 0 @ padding - -@ 18 - .2byte SPECIES_NINJASK - .byte BATTLE_TOWER_ITEM_SILVER_POWDER - .byte 0x41 @ team flags - .2byte MOVE_SAND_ATTACK, MOVE_FURY_CUTTER, MOVE_AGILITY, MOVE_HARDEN - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 19 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x01 @ team flags - .2byte MOVE_PROTECT, MOVE_NIGHT_SHADE, MOVE_ASTONISH, MOVE_WILL_O_WISP - .byte F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 20 - .2byte SPECIES_CAMERUPT - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x07 @ team flags - .2byte MOVE_DIG, MOVE_EMBER, MOVE_GROWL, MOVE_ROCK_SMASH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 21 - .2byte SPECIES_SPINDA - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x4A @ team flags - .2byte MOVE_TEETER_DANCE, MOVE_FLAIL, MOVE_PSYCH_UP, MOVE_DOUBLE_EDGE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 22 - .2byte SPECIES_SEVIPER - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x09 @ team flags - .2byte MOVE_SCREECH, MOVE_GLARE, MOVE_DIG, MOVE_POISON_FANG - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 23 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x49 @ team flags - .2byte MOVE_SAND_ATTACK, MOVE_SAND_TOMB, MOVE_FACADE, MOVE_TOXIC - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 24 - .2byte SPECIES_AZUMARILL - .byte BATTLE_TOWER_ITEM_WHITE_HERB - .byte 0x42 @ team flags - .2byte MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_RAIN_DANCE, MOVE_ROLLOUT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 25 - .2byte SPECIES_ZANGOOSE - .byte BATTLE_TOWER_ITEM_MENTAL_HERB - .byte 0x07 @ team flags - .2byte MOVE_STRENGTH, MOVE_TAUNT, MOVE_CRUSH_CLAW, MOVE_DETECT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 26 - .2byte SPECIES_MEDICHAM - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x07 @ team flags - .2byte MOVE_REVERSAL, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 27 - .2byte SPECIES_ROSELIA - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x0A @ team flags - .2byte MOVE_GROWTH, MOVE_MEGA_DRAIN, MOVE_TOXIC, MOVE_CUT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 28 - .2byte SPECIES_SWALOT - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x0B @ team flags - .2byte MOVE_STOCKPILE, MOVE_SPIT_UP, MOVE_SLUDGE, MOVE_POISON_GAS - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 29 - .2byte SPECIES_MAGNETON - .byte BATTLE_TOWER_ITEM_MAGNET - .byte 0x0B @ team flags - .2byte MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SCREECH, MOVE_TRI_ATTACK - .byte F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 30 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x09 @ team flags - .2byte MOVE_CONFUSION, MOVE_TOXIC, MOVE_TORMENT, MOVE_PROTECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 31 - .2byte SPECIES_RELICANTH - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x01 @ team flags - .2byte MOVE_SURF, MOVE_ANCIENT_POWER, MOVE_ROCK_TOMB, MOVE_HARDEN - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 32 - .2byte SPECIES_NINETALES - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0x03 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 33 - .2byte SPECIES_SHARPEDO - .byte BATTLE_TOWER_ITEM_BLACK_GLASSES - .byte 0x05 @ team flags - .2byte MOVE_BITE, MOVE_SKULL_BASH, MOVE_RAIN_DANCE, MOVE_SURF - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 34 - .2byte SPECIES_GIRAFARIG - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x03 @ team flags - .2byte MOVE_STRENGTH, MOVE_PSYBEAM, MOVE_AGILITY, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 35 - .2byte SPECIES_PELIPPER - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0B @ team flags - .2byte MOVE_MIST, MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP - .byte F_EV_SPREAD_DEFENSE - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 36 - .2byte SPECIES_SABLEYE - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x09 @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_NIGHT_SHADE, MOVE_SNATCH, MOVE_FAKE_OUT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 37 - .2byte SPECIES_LUNATONE - .byte BATTLE_TOWER_ITEM_HARD_STONE - .byte 0x0B @ team flags - .2byte MOVE_COSMIC_POWER, MOVE_SANDSTORM, MOVE_PSYCHIC, MOVE_ROCK_THROW - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 38 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_NONE - .byte 0x0B @ team flags - .2byte MOVE_THIEF, MOVE_FAKE_OUT, MOVE_SURF, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 39 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x0B @ team flags - .2byte MOVE_ODOR_SLEUTH, MOVE_CONFUSE_RAY, MOVE_MAGIC_COAT, MOVE_PSYCHIC - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 40 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x0B @ team flags - .2byte MOVE_CUT, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_STUN_SPORE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 41 - .2byte SPECIES_WAILORD - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x03 @ team flags - .2byte MOVE_WATER_SPOUT, MOVE_ROLLOUT, MOVE_MIST, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 42 - .2byte SPECIES_WEEZING - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x05 @ team flags - .2byte MOVE_SMOG, MOVE_SELF_DESTRUCT, MOVE_TOXIC, MOVE_SLUDGE_BOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 43 - .2byte SPECIES_KADABRA - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x0B @ team flags - .2byte MOVE_FUTURE_SIGHT, MOVE_FOCUS_PUNCH, MOVE_SKILL_SWAP, MOVE_SNATCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 44 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_MAGNET - .byte 0x07 @ team flags - .2byte MOVE_THUNDER_WAVE, MOVE_BITE, MOVE_SPARK, MOVE_QUICK_ATTACK - .byte F_EV_SPREAD_SP_ATTACK - .byte NATURE_RASH - .2byte 0 @ padding - -@ 45 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY - .byte 0x03 @ team flags - .2byte MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 46 - .2byte SPECIES_XATU - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x03 @ team flags - .2byte MOVE_NIGHT_SHADE, MOVE_PECK, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 47 - .2byte SPECIES_LOUDRED - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x05 @ team flags - .2byte MOVE_UPROAR, MOVE_STOMP, MOVE_SCREECH, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_MODEST - .2byte 0 @ padding - -@ 48 - .2byte SPECIES_SOLROCK - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x03 @ team flags - .2byte MOVE_ROCK_THROW, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SANDSTORM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_MILD - .2byte 0 @ padding - -@ 49 - .2byte SPECIES_CLAYDOL - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x03 @ team flags - .2byte MOVE_SANDSTORM, MOVE_REFLECT, MOVE_ROCK_TOMB, MOVE_STRENGTH - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 50 - .2byte SPECIES_CRAWDAUNT - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x03 @ team flags - .2byte MOVE_WATER_PULSE, MOVE_KNOCK_OFF, MOVE_HARDEN, MOVE_CUT - .byte F_EV_SPREAD_HP - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 51 - .2byte SPECIES_GOLBAT - .byte BATTLE_TOWER_ITEM_WHITE_HERB - .byte 0x09 @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_WING_ATTACK, MOVE_MEAN_LOOK, MOVE_BITE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 52 - .2byte SPECIES_BELLOSSOM - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x0A @ team flags - .2byte MOVE_SOLAR_BEAM, MOVE_PETAL_DANCE, MOVE_SWEET_SCENT, MOVE_BULLET_SEED - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 53 - .2byte SPECIES_DONPHAN - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x05 @ team flags - .2byte MOVE_ROCK_SMASH, MOVE_RAPID_SPIN, MOVE_FLAIL, MOVE_HORN_ATTACK - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 54 - .2byte SPECIES_NOSEPASS - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x0B @ team flags - .2byte MOVE_SANDSTORM, MOVE_ROCK_SLIDE, MOVE_BLOCK, MOVE_THUNDER_WAVE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 55 - .2byte SPECIES_PINSIR - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x05 @ team flags - .2byte MOVE_SWORDS_DANCE, MOVE_HARDEN, MOVE_CUT, MOVE_SEISMIC_TOSS - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 56 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x0B @ team flags - .2byte MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_WATER_PULSE, MOVE_BRICK_BREAK - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 57 - .2byte SPECIES_SHIFTRY - .byte BATTLE_TOWER_ITEM_MENTAL_HERB - .byte 0x07 @ team flags - .2byte MOVE_TORMENT, MOVE_EXTRASENSORY, MOVE_SOLAR_BEAM, MOVE_AERIAL_ACE - .byte F_EV_SPREAD_DEFENSE - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 58 - .2byte SPECIES_DUSTOX - .byte BATTLE_TOWER_ITEM_SILVER_POWDER - .byte 0x01 @ team flags - .2byte MOVE_CONFUSION, MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_WHIRLWIND - .byte F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 59 - .2byte SPECIES_SHUPPET - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x03 @ team flags - .2byte MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK, MOVE_CURSE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 60 - .2byte SPECIES_SEAKING - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x07 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_HORN_ATTACK, MOVE_HORN_DRILL - .byte F_EV_SPREAD_SP_DEFENSE - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 61 - .2byte SPECIES_SKARMORY - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x07 @ team flags - .2byte MOVE_STEEL_WING, MOVE_SAND_ATTACK, MOVE_SWIFT, MOVE_AGILITY - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 62 - .2byte SPECIES_TORKOAL - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x43 @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_IRON_DEFENSE, MOVE_BODY_SLAM, MOVE_PROTECT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 63 - .2byte SPECIES_GOLEM - .byte BATTLE_TOWER_ITEM_SOFT_SAND - .byte 0x05 @ team flags - .2byte MOVE_MAGNITUDE, MOVE_EXPLOSION, MOVE_STRENGTH, MOVE_SANDSTORM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 64 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x41 @ team flags - .2byte MOVE_REFLECT, MOVE_PSYCHIC, MOVE_IMPRISON, MOVE_TOXIC - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 65 - .2byte SPECIES_SANDSLASH - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x07 @ team flags - .2byte MOVE_SANDSTORM, MOVE_SLASH, MOVE_EARTHQUAKE, MOVE_SWIFT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 66 - .2byte SPECIES_WOBBUFFET - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x0B @ team flags - .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 67 - .2byte SPECIES_TENTACRUEL - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x05 @ team flags - .2byte MOVE_CONSTRICT, MOVE_SURF, MOVE_HYPER_BEAM, MOVE_SCREECH - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 68 - .2byte SPECIES_TROPIUS - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x05 @ team flags - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS, MOVE_RAZOR_LEAF - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 69 - .2byte SPECIES_MAWILE - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x43 @ team flags - .2byte MOVE_IRON_DEFENSE, MOVE_SLUDGE_BOMB, MOVE_CRUNCH, MOVE_STRENGTH - .byte F_EV_SPREAD_ATTACK - .byte NATURE_CALM - .2byte 0 @ padding - -@ 70 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0x09 @ team flags - .2byte MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_GIGA_DRAIN, MOVE_DISABLE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 71 - .2byte SPECIES_MAGCARGO - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x0D @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_ROCK_THROW, MOVE_HARDEN, MOVE_AMNESIA - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 72 - .2byte SPECIES_LINOONE - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x07 @ team flags - .2byte MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF, MOVE_DIG - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 73 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_ASPEAR_BERRY - .byte 0x05 @ team flags - .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_ROLLOUT - .byte F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 74 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x09 @ team flags - .2byte MOVE_MEAN_LOOK, MOVE_NIGHT_SHADE, MOVE_SKILL_SWAP, MOVE_SHADOW_BALL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 75 - .2byte SPECIES_VILEPLUME - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x0A @ team flags - .2byte MOVE_TOXIC, MOVE_MOONLIGHT, MOVE_GIGA_DRAIN, MOVE_STUN_SPORE - .byte F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 76 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x05 @ team flags - .2byte MOVE_BITE, MOVE_HAZE, MOVE_WING_ATTACK, MOVE_STEEL_WING - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 77 - .2byte SPECIES_CORSOLA - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x0A @ team flags - .2byte MOVE_RECOVER, MOVE_MIRROR_COAT, MOVE_HAIL, MOVE_SURF - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 78 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x0B @ team flags - .2byte MOVE_RAPID_SPIN, MOVE_WATER_PULSE, MOVE_REFLECT, MOVE_SKILL_SWAP - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 79 - .2byte SPECIES_EXPLOUD - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x41 @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_HOWL, MOVE_UPROAR, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 80 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x0B @ team flags - .2byte MOVE_PSYBEAM, MOVE_SNATCH, MOVE_REFLECT, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 81 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x05 @ team flags - .2byte MOVE_HORN_ATTACK, MOVE_COUNTER, MOVE_REVERSAL, MOVE_LEER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 82 - .2byte SPECIES_CASTFORM - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0B @ team flags - .2byte MOVE_WEATHER_BALL, MOVE_SUNNY_DAY, MOVE_RAIN_DANCE, MOVE_HAIL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 83 - .2byte SPECIES_VIGOROTH - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x05 @ team flags - .2byte MOVE_FOCUS_PUNCH, MOVE_REVERSAL, MOVE_COUNTER, MOVE_TAUNT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 84 - .2byte SPECIES_DUSKULL - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x09 @ team flags - .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_WILL_O_WISP - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 85 - .2byte SPECIES_LANTURN - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x07 @ team flags - .2byte MOVE_FLAIL, MOVE_SURF, MOVE_SPARK, MOVE_TAKE_DOWN - .byte F_EV_SPREAD_SPEED - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 86 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x05 @ team flags - .2byte MOVE_STRENGTH, MOVE_FAKE_OUT, MOVE_FACADE, MOVE_SAND_ATTACK - .byte F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 87 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x43 @ team flags - .2byte MOVE_AGILITY, MOVE_DIVE, MOVE_ICE_BEAM, MOVE_PROTECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 88 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x41 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_WATER_PULSE, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 89 - .2byte SPECIES_AGGRON - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x45 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_METAL_CLAW, MOVE_ROAR - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 90 - .2byte SPECIES_ABSOL - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0xC7 @ team flags - .2byte MOVE_SWORDS_DANCE, MOVE_IRON_TAIL, MOVE_SLASH, MOVE_FACADE - .byte F_EV_SPREAD_ATTACK - .byte NATURE_LAX - .2byte 0 @ padding - -@ 91 - .2byte SPECIES_SWELLOW - .byte BATTLE_TOWER_ITEM_SHARP_BEAK - .byte 0x0F @ team flags - .2byte MOVE_DOUBLE_TEAM, MOVE_FLY, MOVE_TOXIC, MOVE_STEEL_WING - .byte 0 - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 92 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_BLACK_BELT - .byte 0x05 @ team flags - .2byte MOVE_STRENGTH, MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 93 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE - .byte 0x41 @ team flags - .2byte MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_HYPER_BEAM, MOVE_SURF - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 94 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_MIRACLE_SEED - .byte 0x41 @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_DRAGON_CLAW, MOVE_AGILITY, MOVE_PROTECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 95 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x41 @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_MIRROR_MOVE, MOVE_EARTHQUAKE, MOVE_PROTECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 96 - .2byte SPECIES_ALTARIA - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x43 @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_DRAGON_DANCE, MOVE_TOXIC, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 97 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_BLACK_BELT - .byte 0x43 @ team flags - .2byte MOVE_BRICK_BREAK, MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_FOCUS_PUNCH - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 98 - .2byte SPECIES_SABLEYE - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x49 @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_SNATCH, MOVE_DIG, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 99 - .2byte SPECIES_ZANGOOSE - .byte BATTLE_TOWER_ITEM_BLACK_GLASSES - .byte 0x0F @ team flags - .2byte MOVE_FACADE, MOVE_THUNDERBOLT, MOVE_CRUSH_CLAW, MOVE_DETECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_CALM - .2byte 0 @ padding - -@ 100 - .2byte SPECIES_LINOONE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x0F @ team flags - .2byte MOVE_IRON_TAIL, MOVE_HEADBUTT, MOVE_ATTRACT, MOVE_ICE_BEAM - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 101 - .2byte SPECIES_WHISCASH - .byte BATTLE_TOWER_ITEM_SOFT_SAND - .byte 0x07 @ team flags - .2byte MOVE_MUD_SLAP, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 102 - .2byte SPECIES_SOLROCK - .byte BATTLE_TOWER_ITEM_HARD_STONE - .byte 0x43 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE, MOVE_CONFUSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 103 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x03 @ team flags - .2byte MOVE_RECOVER, MOVE_RAIN_DANCE, MOVE_SURF, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 104 - .2byte SPECIES_CACTURNE - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x0F @ team flags - .2byte MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_PROTECT, MOVE_FRUSTRATION - .byte 0 - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 105 - .2byte SPECIES_SHIFTRY - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x05 @ team flags - .2byte MOVE_FRUSTRATION, MOVE_HYPER_BEAM, MOVE_GIGA_DRAIN, MOVE_TORMENT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 106 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_MAGNET - .byte 0x0F @ team flags - .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_IRON_TAIL, MOVE_ROAR - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 107 - .2byte SPECIES_KECLEON - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0xC3 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 108 - .2byte SPECIES_PINSIR - .byte BATTLE_TOWER_ITEM_SOFT_SAND - .byte 0x8D @ team flags - .2byte MOVE_GUILLOTINE, MOVE_SUBMISSION, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 109 - .2byte SPECIES_METANG - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x05 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_METEOR_MASH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 110 - .2byte SPECIES_CLAYDOL - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x43 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_PROTECT - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 111 - .2byte SPECIES_MASQUERAIN - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x0A @ team flags - .2byte MOVE_TOXIC, MOVE_SILVER_WIND, MOVE_ATTRACT, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 112 - .2byte SPECIES_RELICANTH - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0xC5 @ team flags - .2byte MOVE_ROCK_TOMB, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 113 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x0D @ team flags - .2byte MOVE_SURF, MOVE_ENCORE, MOVE_BLIZZARD, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 114 - .2byte SPECIES_WAILORD - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x0B @ team flags - .2byte MOVE_WATER_SPOUT, MOVE_REST, MOVE_AMNESIA, MOVE_HAIL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 115 - .2byte SPECIES_GIRAFARIG - .byte BATTLE_TOWER_ITEM_GANLON_BERRY - .byte 0x4F @ team flags - .2byte MOVE_DOUBLE_TEAM, MOVE_CRUNCH, MOVE_PSYCHIC, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 116 - .2byte SPECIES_MEDICHAM - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x4B @ team flags - .2byte MOVE_CALM_MIND, MOVE_REVERSAL, MOVE_ROCK_TOMB, MOVE_PSYCHIC - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 117 - .2byte SPECIES_TROPIUS - .byte BATTLE_TOWER_ITEM_MENTAL_HERB - .byte 0xC7 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SYNTHESIS, MOVE_RAZOR_LEAF, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 118 - .2byte SPECIES_NINJASK - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x05 @ team flags - .2byte MOVE_DOUBLE_TEAM, MOVE_SLASH, MOVE_SWORDS_DANCE, MOVE_LEECH_LIFE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 119 - .2byte SPECIES_CAMERUPT - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x0D @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 120 - .2byte SPECIES_SHARPEDO - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x05 @ team flags - .2byte MOVE_CRUNCH, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_PROTECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 121 - .2byte SPECIES_WIGGLYTUFF - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x0E @ team flags - .2byte MOVE_PROTECT, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_DIG - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_LAX - .2byte 0 @ padding - -@ 122 - .2byte SPECIES_SEVIPER - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x05 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_HAZE, MOVE_CRUNCH, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 123 - .2byte SPECIES_CRADILY - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0xC1 @ team flags - .2byte MOVE_ROCK_TOMB, MOVE_CONFUSE_RAY, MOVE_INGRAIN, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 124 - .2byte SPECIES_ARMALDO - .byte BATTLE_TOWER_ITEM_RAWST_BERRY - .byte 0xC1 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SANDSTORM, MOVE_PROTECT, MOVE_SLASH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 125 - .2byte SPECIES_MAGNETON - .byte BATTLE_TOWER_ITEM_PERSIM_BERRY - .byte 0x0D @ team flags - .2byte MOVE_ZAP_CANNON, MOVE_SUPERSONIC, MOVE_TOXIC, MOVE_PROTECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 126 - .2byte SPECIES_LANTURN - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x06 @ team flags - .2byte MOVE_THUNDER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 127 - .2byte SPECIES_SWALOT - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x8B @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_ENCORE, MOVE_BODY_SLAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 128 - .2byte SPECIES_SKARMORY - .byte BATTLE_TOWER_ITEM_METAL_COAT - .byte 0x81 @ team flags - .2byte MOVE_STEEL_WING, MOVE_AGILITY, MOVE_TORMENT, MOVE_FACADE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 129 - .2byte SPECIES_DONPHAN - .byte BATTLE_TOWER_ITEM_WHITE_HERB - .byte 0x0D @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_FLAIL, MOVE_ROAR, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 130 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x41 @ team flags - .2byte MOVE_FACADE, MOVE_REVERSAL, MOVE_MEGAHORN, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 131 - .2byte SPECIES_BANETTE - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x83 @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_SKILL_SWAP - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 132 - .2byte SPECIES_SANDSLASH - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x0F @ team flags - .2byte MOVE_SANDSTORM, MOVE_TOXIC, MOVE_SLASH, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 133 - .2byte SPECIES_CRAWDAUNT - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x05 @ team flags - .2byte MOVE_GUILLOTINE, MOVE_CRABHAMMER, MOVE_BLIZZARD, MOVE_SLUDGE_BOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 134 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_TWISTED_SPOON - .byte 0x8B @ team flags - .2byte MOVE_MAGIC_COAT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_LONELY - .2byte 0 @ padding - -@ 135 - .2byte SPECIES_RHYDON - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x45 @ team flags - .2byte MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_FIRE_BLAST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_RASH - .2byte 0 @ padding - -@ 136 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x8B @ team flags - .2byte MOVE_PSYCHIC, MOVE_REFLECT, MOVE_RECOVER, MOVE_SKILL_SWAP - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 137 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x41 @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_WILL_O_WISP, MOVE_BLIZZARD, MOVE_PSYCHIC - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 138 - .2byte SPECIES_TORKOAL - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x09 @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_AMNESIA, MOVE_IRON_TAIL, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 139 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x09 @ team flags - .2byte MOVE_SCREECH, MOVE_EXPLOSION, MOVE_MIRROR_COAT, MOVE_PROTECT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 140 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x0B @ team flags - .2byte MOVE_IRON_TAIL, MOVE_FOCUS_PUNCH, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 141 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_POISON_BARB - .byte 0x05 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 142 - .2byte SPECIES_WEEZING - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x05 @ team flags - .2byte MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 143 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x4E @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 144 - .2byte SPECIES_TENTACRUEL - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0x09 @ team flags - .2byte MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SURF, MOVE_SLUDGE_BOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 145 - .2byte SPECIES_EXPLOUD - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x05 @ team flags - .2byte MOVE_BLIZZARD, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_RETURN - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 146 - .2byte SPECIES_XATU - .byte BATTLE_TOWER_ITEM_WHITE_HERB - .byte 0x43 @ team flags - .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_TOXIC - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 147 - .2byte SPECIES_GOLEM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x05 @ team flags - .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 148 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x83 @ team flags - .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_BLIZZARD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 149 - .2byte SPECIES_NINETALES - .byte BATTLE_TOWER_ITEM_CHARCOAL - .byte 0x4A @ team flags - .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_TOXIC, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 150 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x13 @ team flags - .2byte MOVE_DOUBLE_TEAM, MOVE_REST, MOVE_SURF, MOVE_DRAGON_BREATH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 151 - .2byte SPECIES_SLAKING - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x03 @ team flags - .2byte MOVE_CURSE, MOVE_AMNESIA, MOVE_YAWN, MOVE_FOCUS_PUNCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_LAX - .2byte 0 @ padding - -@ 152 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_CHERI_BERRY - .byte 0x03 @ team flags - .2byte MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 153 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x21 @ team flags - .2byte MOVE_BELLY_DRUM, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_REVERSAL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 154 - .2byte SPECIES_ABSOL - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0xC3 @ team flags - .2byte MOVE_FAINT_ATTACK, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 155 - .2byte SPECIES_ALTARIA - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x83 @ team flags - .2byte MOVE_DRAGON_DANCE, MOVE_MIRROR_MOVE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_RASH - .2byte 0 @ padding - -@ 156 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_BLACK_BELT - .byte 0x11 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_ENCORE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 157 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_DRAGON_FANG - .byte 0x43 @ team flags - .2byte MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 158 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x33 @ team flags - .2byte MOVE_COUNTER, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 159 - .2byte SPECIES_GLALIE - .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE - .byte 0x81 @ team flags - .2byte MOVE_BLIZZARD, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_JOLLY - .2byte 0 @ padding - -@ 160 - .2byte SPECIES_HUNTAIL - .byte BATTLE_TOWER_ITEM_MYSTIC_WATER - .byte 0xA1 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_CRUNCH, MOVE_BLIZZARD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 161 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_GANLON_BERRY - .byte 0xD3 @ team flags - .2byte MOVE_SURF, MOVE_ATTRACT, MOVE_RECOVER, MOVE_TOXIC - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 162 - .2byte SPECIES_GOREBYSS - .byte BATTLE_TOWER_ITEM_PECHA_BERRY - .byte 0x83 @ team flags - .2byte MOVE_PSYCHIC, MOVE_SURF, MOVE_BLIZZARD, MOVE_SHADOW_BALL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 163 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x53 @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_ENDEAVOR, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 164 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x53 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_MUD_SHOT, MOVE_BLIZZARD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 165 - .2byte SPECIES_AGGRON - .byte BATTLE_TOWER_ITEM_MENTAL_HERB - .byte 0x41 @ team flags - .2byte MOVE_DOUBLE_EDGE, MOVE_FLAMETHROWER, MOVE_IRON_TAIL, MOVE_BLIZZARD - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 166 - .2byte SPECIES_CRADILY - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0xE1 @ team flags - .2byte MOVE_STOCKPILE, MOVE_SPIT_UP, MOVE_SWALLOW, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 167 - .2byte SPECIES_ARMALDO - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0xC1 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SLASH, MOVE_SWORDS_DANCE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 168 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x82 @ team flags - .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_MACH_PUNCH, MOVE_SNATCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 169 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x83 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_TOXIC - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 170 - .2byte SPECIES_SHIFTRY - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x03 @ team flags - .2byte MOVE_TORMENT, MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 171 - .2byte SPECIES_TROPIUS - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0xC3 @ team flags - .2byte MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 172 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_MACHO_BRACE - .byte 0x23 @ team flags - .2byte MOVE_TRICK, MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_REST - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 173 - .2byte SPECIES_TORKOAL - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x81 @ team flags - .2byte MOVE_IRON_DEFENSE, MOVE_TOXIC, MOVE_REST, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 174 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_NONE - .byte 0x03 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_ROAR, MOVE_THIEF - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 175 - .2byte SPECIES_PINSIR - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x61 @ team flags - .2byte MOVE_GUILLOTINE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 176 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x93 @ team flags - .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 177 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x51 @ team flags - .2byte MOVE_MEGAHORN, MOVE_REVERSAL, MOVE_EARTHQUAKE, MOVE_COUNTER - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 178 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_NEVER_MELT_ICE - .byte 0x83 @ team flags - .2byte MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 179 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x13 @ team flags - .2byte MOVE_PSYCHIC, MOVE_RECOVER, MOVE_ENCORE, MOVE_SNATCH - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 180 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x93 @ team flags - .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_RECOVER, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 181 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x11 @ team flags - .2byte MOVE_REST, MOVE_CURSE, MOVE_BLIZZARD, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MILD - .2byte 0 @ padding - -@ 182 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x11 @ team flags - .2byte MOVE_REST, MOVE_IRON_DEFENSE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_MILD - .2byte 0 @ padding - -@ 183 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x91 @ team flags - .2byte MOVE_ROCK_TOMB, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 184 - .2byte SPECIES_DUSCLOPS - .byte BATTLE_TOWER_ITEM_SPELL_TAG - .byte 0x20 @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_BLIZZARD, MOVE_DESTINY_BOND - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 185 - .2byte SPECIES_SEAKING - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0xB2 @ team flags - .2byte MOVE_HORN_DRILL, MOVE_AGILITY, MOVE_SLEEP_TALK, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 186 - .2byte SPECIES_CAMERUPT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x00 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 187 - .2byte SPECIES_LANTURN - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x82 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_BLIZZARD - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 188 - .2byte SPECIES_WEEZING - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x20 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 189 - .2byte SPECIES_WHISCASH - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x41 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_ROCK_TOMB, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 190 - .2byte SPECIES_AGGRON - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x11 @ team flags - .2byte MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SURF, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 191 - .2byte SPECIES_CACTURNE - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x63 @ team flags - .2byte MOVE_DYNAMIC_PUNCH, MOVE_COUNTER, MOVE_FAINT_ATTACK, MOVE_GIGA_DRAIN - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 192 - .2byte SPECIES_SHARPEDO - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x01 @ team flags - .2byte MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_SWAGGER - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 193 - .2byte SPECIES_ABSOL - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x82 @ team flags - .2byte MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_SWORDS_DANCE, MOVE_QUICK_ATTACK - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 194 - .2byte SPECIES_WAILORD - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x23 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_FISSURE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 195 - .2byte SPECIES_TENTACRUEL - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x21 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_MIRROR_COAT - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 196 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0xA2 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_TOXIC, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 197 - .2byte SPECIES_WOBBUFFET - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x23 @ team flags - .2byte MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 198 - .2byte SPECIES_RHYDON - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x21 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_HORN_DRILL, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 199 - .2byte SPECIES_GLALIE - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x21 @ team flags - .2byte MOVE_CRUNCH, MOVE_BLIZZARD, MOVE_HAIL, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 200 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x13 @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 201 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x17 @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 202 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x17 @ team flags - .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MUD_SHOT, MOVE_BLIZZARD - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 203 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x19 @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_DESTINY_BOND, MOVE_WILL_O_WISP - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 204 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0xF6 @ team flags - .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_BRICK_BREAK, MOVE_SLUDGE_BOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 205 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_GANLON_BERRY - .byte 0x1B @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_REFLECT, MOVE_RECOVER - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 206 - .2byte SPECIES_SHIFTRY - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x89 @ team flags - .2byte MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_REST - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 207 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x85 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FAKE_OUT - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 208 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x49 @ team flags - .2byte MOVE_ATTRACT, MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 209 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x15 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 210 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x0B @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 211 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x27 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_MIRROR_COAT, MOVE_EXPLOSION - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 212 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x05 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_EXPLOSION - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 213 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x4D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 214 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x1B @ team flags - .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_RECOVER, MOVE_CONFUSE_RAY - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 215 - .2byte SPECIES_DODRIO - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x2B @ team flags - .2byte MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_AGILITY, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 216 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x0A @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_REVERSAL, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 217 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x0A @ team flags - .2byte MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 218 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x54 @ team flags - .2byte MOVE_MEGAHORN, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 219 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x06 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_NAIVE - .2byte 0 @ padding - -@ 220 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x1D @ team flags - .2byte MOVE_SURF, MOVE_TOXIC, MOVE_PROTECT, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 221 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x9C @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 222 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x15 @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 223 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0xB5 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_FOCUS_PUNCH, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 224 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x96 @ team flags - .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_REST - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 225 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x94 @ team flags - .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 226 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x96 @ team flags - .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_REST, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MILD - .2byte 0 @ padding - -@ 227 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x95 @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_REFLECT, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 228 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x96 @ team flags - .2byte MOVE_SURF, MOVE_TOXIC, MOVE_RECOVER, MOVE_MIRROR_COAT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 229 - .2byte SPECIES_SLAKING - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x05 @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 230 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x1F @ team flags - .2byte MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LEECH_SEED, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 231 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x17 @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_REST - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 232 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x17 @ team flags - .2byte MOVE_MUDDY_WATER, MOVE_MUD_SHOT, MOVE_MIRROR_COAT, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 233 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x7B @ team flags - .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND, MOVE_SNATCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_RELAXED - .2byte 0 @ padding - -@ 234 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x56 @ team flags - .2byte MOVE_SPORE, MOVE_COUNTER, MOVE_IRON_TAIL, MOVE_GIGA_DRAIN - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 235 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x0A @ team flags - .2byte MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_RECOVER - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 236 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_FOCUS_BAND - .byte 0x05 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 237 - .2byte SPECIES_GYARADOS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x0C @ team flags - .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_BOLD - .2byte 0 @ padding - -@ 238 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x49 @ team flags - .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_PROTECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 239 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x15 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_EARTHQUAKE, MOVE_FACADE - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 240 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x63 @ team flags - .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_REST, MOVE_CRUNCH - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 241 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x07 @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_SCREECH, MOVE_MIRROR_COAT, MOVE_EXPLOSION - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_MODEST - .2byte 0 @ padding - -@ 242 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x45 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_ROCK_TOMB, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_RASH - .2byte 0 @ padding - -@ 243 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x4D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_IMPISH - .2byte 0 @ padding - -@ 244 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x1B @ team flags - .2byte MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_REST - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 245 - .2byte SPECIES_NINETALES - .byte BATTLE_TOWER_ITEM_SITRUS_BERRY - .byte 0x0A @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_OVERHEAT, MOVE_FLAMETHROWER, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 246 - .2byte SPECIES_GOLEM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x25 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ROAR, MOVE_FIRE_BLAST, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 247 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x27 @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_PSYCH_UP - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 248 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x55 @ team flags - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 249 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x36 @ team flags - .2byte MOVE_SURF, MOVE_BLIZZARD, MOVE_ROCK_SLIDE, MOVE_SHEER_COLD - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 250 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x5C @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_PROTECT, MOVE_DRAGON_BREATH, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 251 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x9D @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 252 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x15 @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 253 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x95 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_FACADE, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 254 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x96 @ team flags - .2byte MOVE_BLIZZARD, MOVE_THUNDERBOLT, MOVE_HAIL, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE - .byte NATURE_CAREFUL - .2byte 0 @ padding - -@ 255 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x94 @ team flags - .2byte MOVE_METAL_CLAW, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 256 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x96 @ team flags - .2byte MOVE_MIST_BALL, MOVE_REFLECT, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 257 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x95 @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 258 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0xD6 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_DOUBLE_TEAM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 259 - .2byte SPECIES_KECLEON - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x69 @ team flags - .2byte MOVE_TRICK, MOVE_REST, MOVE_IRON_TAIL, MOVE_DISABLE - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIRKY - .2byte 0 @ padding - -@ 260 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x5F @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_REST, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 261 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x7F @ team flags - .2byte MOVE_FOCUS_PUNCH, MOVE_COUNTER, MOVE_SWAGGER, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 262 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x57 @ team flags - .2byte MOVE_IRON_TAIL, MOVE_CURSE, MOVE_DOUBLE_TEAM, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 263 - .2byte SPECIES_GARDEVOIR - .byte BATTLE_TOWER_ITEM_CHESTO_BERRY - .byte 0x3B @ team flags - .2byte MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_REST, MOVE_IMPRISON - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 264 - .2byte SPECIES_BRELOOM - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x56 @ team flags - .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_SLUDGE_BOMB, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 265 - .2byte SPECIES_ALAKAZAM - .byte BATTLE_TOWER_ITEM_CHOICE_BAND - .byte 0x1A @ team flags - .2byte MOVE_PSYCHIC, MOVE_TRICK, MOVE_RECOVER, MOVE_SNATCH - .byte F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HASTY - .2byte 0 @ padding - -@ 266 - .2byte SPECIES_HARIYAMA - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x65 @ team flags - .2byte MOVE_REVENGE, MOVE_COUNTER, MOVE_FOCUS_PUNCH, MOVE_REVERSAL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 267 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x54 @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_TOXIC, MOVE_SURF - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 268 - .2byte SPECIES_CROBAT - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0x4B @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 269 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x75 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_DYNAMIC_PUNCH, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 270 - .2byte SPECIES_MANECTRIC - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x0A @ team flags - .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 271 - .2byte SPECIES_ELECTRODE - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x64 @ team flags - .2byte MOVE_THUNDER, MOVE_DOUBLE_TEAM, MOVE_MIRROR_COAT, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_BASHFUL - .2byte 0 @ padding - -@ 272 - .2byte SPECIES_MUK - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x49 @ team flags - .2byte MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_PUNCH - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_GENTLE - .2byte 0 @ padding - -@ 273 - .2byte SPECIES_FLYGON - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0xCD @ team flags - .2byte MOVE_PROTECT, MOVE_DIG, MOVE_TOXIC, MOVE_SANDSTORM - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 274 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x5B @ team flags - .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_BLIZZARD, MOVE_PSYCHIC - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 275 - .2byte SPECIES_LUDICOLO - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0x1A @ team flags - .2byte MOVE_RAIN_DANCE, MOVE_LEECH_SEED, MOVE_DIVE, MOVE_PROTECT - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 276 - .2byte SPECIES_RAICHU - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x4A @ team flags - .2byte MOVE_THUNDER, MOVE_REVERSAL, MOVE_FACADE, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_TIMID - .2byte 0 @ padding - -@ 277 - .2byte SPECIES_GOLDUCK - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x0A @ team flags - .2byte MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_IRON_TAIL - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 278 - .2byte SPECIES_HERACROSS - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0x15 @ team flags - .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 279 - .2byte SPECIES_WALREIN - .byte BATTLE_TOWER_ITEM_LEPPA_BERRY - .byte 0x26 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_FISSURE, MOVE_SHEER_COLD - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 280 - .2byte SPECIES_KINGDRA - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x4D @ team flags - .2byte MOVE_HYDRO_PUMP, MOVE_BLIZZARD, MOVE_HYPER_BEAM, MOVE_DISABLE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 281 - .2byte SPECIES_SALAMENCE - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x9C @ team flags - .2byte MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_HYDRO_PUMP - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_NAUGHTY - .2byte 0 @ padding - -@ 282 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_LIECHI_BERRY - .byte 0xB5 @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_PURSUIT, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 283 - .2byte SPECIES_REGIROCK - .byte BATTLE_TOWER_ITEM_APICOT_BERRY - .byte 0x95 @ team flags - .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SUPERPOWER, MOVE_REST - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SERIOUS - .2byte 0 @ padding - -@ 284 - .2byte SPECIES_REGICE - .byte BATTLE_TOWER_ITEM_LAX_INCENSE - .byte 0x96 @ team flags - .2byte MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_ANCIENT_POWER, MOVE_EXPLOSION - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE - .byte NATURE_RASH - .2byte 0 @ padding - -@ 285 - .2byte SPECIES_REGISTEEL - .byte BATTLE_TOWER_ITEM_LEFTOVERS - .byte 0xB4 @ team flags - .2byte MOVE_CURSE, MOVE_AMNESIA, MOVE_RETURN, MOVE_REST - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_LAX - .2byte 0 @ padding - -@ 286 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x92 @ team flags - .2byte MOVE_MIST_BALL, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 287 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0x91 @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_SURF - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 288 - .2byte SPECIES_MILOTIC - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0xB2 @ team flags - .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_ATTRACT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_BRAVE - .2byte 0 @ padding - -@ 289 - .2byte SPECIES_SLAKING - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0x65 @ team flags - .2byte MOVE_YAWN, MOVE_SLASH, MOVE_COUNTER, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 290 - .2byte SPECIES_SCEPTILE - .byte BATTLE_TOWER_ITEM_SHELL_BELL - .byte 0xDF @ team flags - .2byte MOVE_LEAF_BLADE, MOVE_DETECT, MOVE_DRAGON_CLAW, MOVE_CRUNCH - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 291 - .2byte SPECIES_BLAZIKEN - .byte BATTLE_TOWER_ITEM_SALAC_BERRY - .byte 0xD7 @ team flags - .2byte MOVE_BLAZE_KICK, MOVE_SKY_UPPERCUT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK - .byte NATURE_DOCILE - .2byte 0 @ padding - -@ 292 - .2byte SPECIES_SWAMPERT - .byte BATTLE_TOWER_ITEM_PETAYA_BERRY - .byte 0x5F @ team flags - .2byte MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_ROCK_TOMB - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP - .byte NATURE_SASSY - .2byte 0 @ padding - -@ 293 - .2byte SPECIES_SHEDINJA - .byte BATTLE_TOWER_ITEM_BRIGHT_POWDER - .byte 0xDB @ team flags - .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_HYPER_BEAM - .byte F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 294 - .2byte SPECIES_METAGROSS - .byte BATTLE_TOWER_ITEM_QUICK_CLAW - .byte 0x94 @ team flags - .2byte MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 295 - .2byte SPECIES_GRUMPIG - .byte BATTLE_TOWER_ITEM_MACHO_BRACE - .byte 0x4B @ team flags - .2byte MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_TRICK, MOVE_REFLECT - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 296 - .2byte SPECIES_LATIAS - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x92 @ team flags - .2byte MOVE_MIST_BALL, MOVE_RECOVER, MOVE_ATTRACT, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_ADAMANT - .2byte 0 @ padding - -@ 297 - .2byte SPECIES_LATIOS - .byte BATTLE_TOWER_ITEM_KINGS_ROCK - .byte 0x91 @ team flags - .2byte MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_HARDY - .2byte 0 @ padding - -@ 298 - .2byte SPECIES_STARMIE - .byte BATTLE_TOWER_ITEM_LUM_BERRY - .byte 0x1A @ team flags - .2byte MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_ICE_BEAM - .byte F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED - .byte NATURE_QUIET - .2byte 0 @ padding - -@ 299 - .2byte SPECIES_MACHAMP - .byte BATTLE_TOWER_ITEM_SCOPE_LENS - .byte 0x14 @ team flags - .2byte MOVE_CROSS_CHOP, MOVE_COUNTER, MOVE_ROCK_TOMB, MOVE_FLAMETHROWER - .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP - .byte NATURE_HARDY - .2byte 0 @ padding diff --git a/data/battle_tower/trainers.inc b/data/battle_tower/trainers.inc deleted file mode 100644 index 05fadc320..000000000 --- a/data/battle_tower/trainers.inc +++ /dev/null @@ -1,1301 +0,0 @@ - .align 2 -gBattleTowerTrainers:: @ 8402F00 -@ 0 - .byte TRAINER_CLASS_YOUNGSTER - .string "ALVIN$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word READY - ec_word QUES - ec_word HERE_I_COME - ec_word EXCL - -@ 1 - .byte TRAINER_CLASS_BIRD_KEEPER - .string "DIRK$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word OKAY - ec_word I_AM - ec_word GOING - ec_word FOR - ec_word IT - ec_word EXCL - -@ 2 - .byte TRAINER_CLASS_LADY - .string "CYBIL$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word A - ec_word PUSHOVER - ec_word LET_S - ec_word GET - ec_word GOING - -@ 3 - .byte TRAINER_CLASS_BLACK_BELT - .string "CHEN$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word SPIRIT - ec_word IS - ec_word ENOUGH - ec_word SNORT - ec_word ARRGH - -@ 4 - .byte TRAINER_CLASS_NINJA_BOY - .string "YOSHI$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GO - ec_word MY - ec_word POKEMON - ec_word FIGHT - ec_word THE - ec_word BATTLE - -@ 5 - .byte TRAINER_CLASS_SCHOOL_KID_F - .string "TINA$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word STUDY - ec_word IS - ec_word BORING - ec_word LET_S - ec_word BATTLE - ec_word NOW - -@ 6 - .byte TRAINER_CLASS_BUG_MANIAC - .string "COREY$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HEY - ec_word I - ec_word WILL - ec_move2 TRANSFORM - ec_word FOR - ec_move1 STRENGTH - -@ 7 - .byte TRAINER_CLASS_FISHERMAN - .string "GORDON$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word NEED - ec_word A - ec_word VACATION - ec_word RIGHT - ec_word NOW - -@ 8 - .byte TRAINER_CLASS_TUBER_F - .string "ANN$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WE - ec_word ALL - ec_word ADORE - ec_word POKEMON - ec_word ABSOLUTELY - ec_word TRULY - -@ 9 - .byte TRAINER_CLASS_POKEFAN_F - .string "JULIA$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word A - ec_word CUTE - ec_word LADY - ec_word YES - ec_word I_AM - -@ 10 - .byte TRAINER_CLASS_GENTLEMAN - .string "GREGORY$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word THINK - ec_word WE - ec_word SHOULD - ec_word START - ec_word TODAY - -@ 11 - .byte TRAINER_CLASS_CAMPER - .string "KEITH$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word MY - ec_word FRIEND - ec_word FROM - ec_word NOW - ec_word ON - -@ 12 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F - .string "KENDRA$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_move1 SWIFT - ec_word HOW - ec_word ABOUT - ec_word YOU - ec_word QUES - -@ 13 - .byte TRAINER_CLASS_HIKER - .string "DEV$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WAHAHAHA - ec_word I_AM - ec_word FEELING - ec_word LIKE - ec_word IT_S - ec_move2 PAY_DAY - -@ 14 - .byte TRAINER_CLASS_BATTLE_GIRL - .string "CASSIE$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word STRONG - ec_word AREN_T - .2byte -1 - ec_word YOU - ec_word QUES - -@ 15 - .byte TRAINER_CLASS_PSYCHIC_M - .string "JULIAN$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word FUFUFU - .2byte -1 - ec_word YOU - ec_word CAN_T - ec_word WIN - ec_word KID - -@ 16 - .byte TRAINER_CLASS_LASS - .string "JOYCE$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BE - ec_word KIND - ec_word TO - ec_word THE - ec_word DIGITAL - ec_word IDOL - -@ 17 - .byte TRAINER_CLASS_GUITARIST - .string "LES$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word GREAT - ec_word YOU_RE - ec_word JUST - ec_word RATHER - ec_word OKAY - -@ 18 - .byte TRAINER_CLASS_RICH_BOY - .string "CLINTON$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word HAVE - ec_word ROUGH_SKIN - ec_word I - ec_word NEED - ec_word NATURAL_CURE - -@ 19 - .byte TRAINER_CLASS_BUG_CATCHER - .string "LEWIS$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THIS - ec_word IS - ec_word EXCITING - ec_word CAN - ec_word I - ec_word WIN - -@ 20 - .byte TRAINER_CLASS_PICNICKER - .string "RACHAEL$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word LIKE - ec_word WALKING - ec_word WITH - ec_word MY - ec_word POKEMON - -@ 21 - .byte TRAINER_CLASS_COLLECTOR - .string "HAROLD$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HERE - ec_word THEY - ec_word COME - ec_word MY - ec_move2 SUPERPOWER - ec_word POKEMON - -@ 22 - .byte TRAINER_CLASS_TUBER_M - .string "KIPP$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word A - ec_word GENIUS - ec_word I - ec_word SHOULD - ec_word WIN - -@ 23 - .byte TRAINER_CLASS_KINDLER - .string "IRWIN$", 8 - .byte 0x05 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU - ec_word WILL - ec_word BE - ec_word FEELING - ec_word MY - ec_word FIRE - -@ 24 - .byte TRAINER_CLASS_PSYCHIC_F - .string "EILEEN$", 8 - .byte 0x0A @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word WILL - ec_move1 ASTONISH - ec_word YOU - ec_word IN - ec_word BATTLE - -@ 25 - .byte TRAINER_CLASS_SWIMMER_F - .string "ANNE$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word SORRY - ec_word BUT - ec_word YOU - ec_word WILL - ec_word NOT - ec_word WIN - -@ 26 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F - .string "RUTH$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word A - ec_word STRONG - ec_word GIRL - ec_word WANTS - ec_word TOUGH - ec_word POKEMON - -@ 27 - .byte TRAINER_CLASS_POKEMANIAC - .string "JEREMY$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word POKEMON - ec_word ARE - ec_word COOL - ec_word YOURS - ec_word CAN_T_WIN - -@ 28 - .byte TRAINER_CLASS_SAILOR - .string "TREVOR$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MY - ec_word OPPONENT - ec_word IS - ec_word FINALLY - ec_word HERE - ec_word EXCELLENT - -@ 29 - .byte TRAINER_CLASS_POKEMON_BREEDER_F - .string "COLETTE$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word AM - ec_word HUNGRY - ec_move2 POUND - ec_word MY - ec_move2 BELLY_DRUM - -@ 30 - .byte TRAINER_CLASS_HEX_MANIAC - .string "PAULA$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT_S - ec_word HARD - ec_word TO - ec_word TAKE - ec_word UGLY - ec_move1 SPITE - -@ 31 - .byte TRAINER_CLASS_RUIN_MANIAC - .string "STANLY$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ADVENTURE - ec_word AND - ec_word BATTLE - ec_word ARE - ec_word MY - ec_word LIKES - -@ 32 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M - .string "TROY$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU - ec_word CAN_T - ec_word LOSE - ec_word TO - ec_word A - ec_word KID - -@ 33 - .byte TRAINER_CLASS_SCHOOL_KID_M - .string "ED$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word POKEMON - ec_word DAILY - ec_word AT - ec_word SCHOOL - ec_word IT_S - ec_word AWESOME - -@ 34 - .byte TRAINER_CLASS_POKEMON_RANGER_F - .string "ELLEN$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word KIND - ec_word TO - ec_word YOUR - ec_word POKEMON - -@ 35 - .byte TRAINER_CLASS_SWIMMER_M - .string "ARNIE$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word BATTLE - ec_word SERIOUSLY - ec_word BEAUTIFUL - ec_word YOU - ec_move1 DIG - -@ 36 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M - .string "HAL$", 8 - .byte 0x09 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BOY - ec_word I_AM - ec_word TIRED - ec_word READY - ec_word FOR - ec_word SLEEP - -@ 37 - .byte TRAINER_CLASS_BEAUTY - .string "LAUREN$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word A - ec_word TRAINER - ec_word LIKE - ec_word YOU - ec_word IS - ec_word EXCITING - -@ 38 - .byte TRAINER_CLASS_AROMA_LADY - .string "STACY$", 8 - .byte 0x06 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HAVE - ec_word YOU - ec_word A - ec_word STENCH - ec_word OR - ec_move1 SWEET_SCENT - -@ 39 - .byte TRAINER_CLASS_COLLECTOR - .string "DARYL$", 8 - .byte 0x81 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOUR - ec_word POKEMON - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word I - ec_word WANT - ec_word IT - -@ 40 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F - .string "KATHY$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word WILL - ec_word TRY - ec_word MY - ec_word BEST - ec_word TODAY - -@ 41 - .byte TRAINER_CLASS_POKEMON_RANGER_M - .string "HARRIS$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WAAAH - ec_word WAAAH - ec_word WAAAH - ec_word WAAAH - ec_word EHEHE - ec_move1 FAKE_TEARS - -@ 42 - .byte TRAINER_CLASS_POKEFAN_M - .string "GLENN$", 8 - .byte 0x80 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word LISTEN - ec_word TO - ec_word MY - ec_word LOUSY - ec_word ANIME - ec_word SONG - -@ 43 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M - .string "NICO$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word DON_T - ec_word JUST - ec_word BATTLE - ec_word DO - ec_word SOMETHING - ec_word ELSE - -@ 44 - .byte TRAINER_CLASS_POKEMON_BREEDER_M - .string "BAILEY$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word BUSY - ec_word GET - ec_word WITH - ec_word IT - -@ 45 - .byte TRAINER_CLASS_PARASOL_LADY - .string "ABBIE$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THE - ec_move1 MORNING_SUN - ec_word HAS - ec_word SO - ec_word MUCH - ec_move1 COSMIC_POWER - -@ 46 - .byte TRAINER_CLASS_CAMPER - .string "AL$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word LET_S - ec_word HAVE - ec_word AN - ec_word EXCITING - ec_word BATTLE - ec_word YEEHAW_EXCL - -@ 47 - .byte TRAINER_CLASS_SCHOOL_KID_F - .string "PEGGY$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word WANT - ec_word TO - ec_word SEE - ec_word SOME - ec_move1 GROWTH - -@ 48 - .byte TRAINER_CLASS_BEAUTY - .string "NAOMI$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT - ec_word WAS - ec_word GREAT - ec_word TO - ec_word BE - ec_word YOUNG - -@ 49 - .byte TRAINER_CLASS_NINJA_BOY - .string "KENJI$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word PLEASE - .2byte -1 - ec_word DON_T - ec_word BE - ec_word MEAN - ec_word TO_ME - -@ 50 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_M - .string "ROSS$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WAKE_UP - ec_word MY - ec_move2 HIDDEN_POWER - ec_word AND - ec_move1 ASTONISH - ec_word ME - -@ 51 - .byte TRAINER_CLASS_POKEMON_RANGER_F - .string "EDNA$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BATTLE_TOWER - ec_word IS - ec_word SO - ec_word ENTERTAINING - ec_word IT_S - ec_word AWESOME - -@ 52 - .byte TRAINER_CLASS_RUIN_MANIAC - .string "ANTON$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BLEND - ec_word THICK_FAT - ec_word AND - ec_word CHLOROPHYLL - ec_word IT_S - ec_word TASTY - -@ 53 - .byte TRAINER_CLASS_SWIMMER_M - .string "MITCH$", 8 - .byte 0x81 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word NEXT - ec_word A - ec_word GIRL - ec_word WITH - ec_word A - ec_move1 SCARY_FACE - -@ 54 - .byte TRAINER_CLASS_HEX_MANIAC - .string "ROD$", 8 - .byte 0x42 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GIMME - ec_word A - ec_word TOUGH - ec_word BATTLE - ec_word NOT - ec_word WIMPY - -@ 55 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_M - .string "RICH$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TASTY - ec_word WATER - ec_word IS - ec_word HIP_AND - ec_word HAPPENING - ec_word YES_SIR_EXCL - -@ 56 - .byte TRAINER_CLASS_POKEFAN_M - .string "DANIEL$", 8 - .byte 0x80 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GO - ec_word FOR - ec_word IT - ec_word MY - ec_word LOVEY_DOVEY - ec_word POKEMON - -@ 57 - .byte TRAINER_CLASS_PSYCHIC_F - .string "GLORIA$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word LET_S - ec_word GET - ec_word THIS - ec_word FIERY - ec_word BATTLE - ec_word HAPPENING - -@ 58 - .byte TRAINER_CLASS_GUITARIST - .string "NELSON$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word MUSIC - ec_word IS - ec_word MY - ec_word ALL - ec_word MY - ec_word DESTINY - -@ 59 - .byte TRAINER_CLASS_KINDLER - .string "FERRIS$", 8 - .byte 0x41 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word GOOD - ec_word IT - ec_word IS - ec_word SO - ec_word VERY - ec_word GOOD - -@ 60 - .byte TRAINER_CLASS_AROMA_LADY - .string "AMANDA$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WHAT - ec_word KIND - ec_word OF - ec_word TRAINER - ec_word ARE - ec_word YOU - -@ 61 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M - .string "MASON$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word DON_T - ec_word KNOW - ec_word HOW - ec_word TO - ec_word LOSE - -@ 62 - .byte TRAINER_CLASS_DRAGON_TAMER - .string "NATE$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word DRAGON - ec_word POKEMON - ec_word ARE - ec_word ALL - ec_word THE - ec_move1 RAGE - -@ 63 - .byte TRAINER_CLASS_LASS - .string "MIRIAM$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word TOO_STRONG - ec_word SERIOUSLY - ec_word IT_S - ec_word BAD - ec_word NEWS - -@ 64 - .byte TRAINER_CLASS_POKEMANIAC - .string "THEO$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word ADORE - ec_word MY - ec_word MEGA - ec_word CUTE - ec_word PLUSH_DOLL - -@ 65 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_F - .string "PAMELA$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HERE_I_COME - ec_word I_AM - ec_word THE - ec_word CUTE - ec_move2 WATER_SPORT - ec_word IDOL - -@ 66 - .byte TRAINER_CLASS_POKEFAN_F - .string "ALISSA$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT_S - ec_word A - ec_word PREPOSTEROUS - ec_word MATCH - ec_word I_AM - ec_word SHOCKED - -@ 67 - .byte TRAINER_CLASS_GENTLEMAN - .string "ARTHUR$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word PLEASE - ec_word GIVE - ec_word ME - ec_word A - ec_word GOOD - ec_word BATTLE - -@ 68 - .byte TRAINER_CLASS_SWIMMER_F - .string "MARCY$", 8 - .byte 0x82 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word BEAUTIFUL - ec_word YOU - ec_word CAN_T - ec_word BEAT - ec_word ME - -@ 69 - .byte TRAINER_CLASS_COOL_TRAINER_M - .string "MILLER$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word BATTLE - ec_word DAILY - ec_word I - ec_word WON_T - ec_word LOSE - -@ 70 - .byte TRAINER_CLASS_BIRD_KEEPER - .string "OLIVER$", 8 - .byte 0x11 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word GIGGLE - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - .2byte -1 - .2byte -1 - .2byte -1 - -@ 71 - .byte TRAINER_CLASS_CYCLING_TRIATHLETE_F - .string "MOLLY$", 8 - .byte 0x12 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HOW - ec_word ARE - ec_word YOU - ec_word ON - ec_word MONDAY - ec_word MORNING - -@ 72 - .byte TRAINER_CLASS_BUG_MANIAC - .string "JASON$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WATER - ec_word AND - ec_word BUG - ec_word POKEMON - ec_word ARE - ec_word GREAT - -@ 73 - .byte TRAINER_CLASS_BATTLE_GIRL - .string "AVA$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word WHAT - ec_word IS - ec_word THIS - ec_word PRESSURE - ec_word ELLIPSIS - ec_word STATIC - -@ 74 - .byte TRAINER_CLASS_FISHERMAN - .string "HANK$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU_RE - ec_word A - ec_word KID - ec_word YOU - ec_word CAN_T - ec_word WIN - -@ 75 - .byte TRAINER_CLASS_SAILOR - .string "PETER$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word IT_S - ec_word SERIOUSLY - ec_word TERRIBLE - ec_word I - ec_word REALLY - ec_word THINK - -@ 76 - .byte TRAINER_CLASS_EXPERT_F - .string "MINDY$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU - ec_word APPEAR - ec_word TO - ec_word TRAIN - ec_word VERY - ec_word WELL - -@ 77 - .byte TRAINER_CLASS_BUG_MANIAC - .string "DWIGHT$", 8 - .byte 0x11 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word ARE - ec_word YOU - ec_word STRONG - ec_word YOU - ec_word ARE - ec_word SCARY - -@ 78 - .byte TRAINER_CLASS_POKEMON_BREEDER_F - .string "REENA$", 8 - .byte 0x12 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word ALWAYS - ec_word LOSE - ec_word MAYBE - ec_word TODAY - ec_word ELLIPSIS - -@ 79 - .byte TRAINER_CLASS_PARASOL_LADY - .string "MEGAN$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word DON_T - ec_word MAKE - ec_word THAT - ec_move1 SCARY_FACE - ec_word AT - ec_word ME - -@ 80 - .byte TRAINER_CLASS_RUNNING_TRIATHLETE_F - .string "SIERRA$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_VE - ec_word RUN - ec_word A_LOT - ec_word SO - ec_word I_AM - ec_word HEALTHY - -@ 81 - .byte TRAINER_CLASS_POKEMON_RANGER_M - .string "ARNOLD$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word FEELING - ec_word AWESOME - ec_word MY - ec_word POKEMON - ec_word ROCK - -@ 82 - .byte TRAINER_CLASS_BLACK_BELT - .string "XIN$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word HOO_HAH - ec_word ARE - ec_word YOU - ec_word READY - ec_word TO - ec_word ROCK - -@ 83 - .byte TRAINER_CLASS_COOL_TRAINER_F - .string "KELLY$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YOU - ec_word COULDN_T - ec_word BEAT - ec_word ME - ec_word EVER - ec_word KID - -@ 84 - .byte TRAINER_CLASS_COLLECTOR - .string "VANCE$", 8 - .byte 0x80 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word POKEMON - ec_word ALL - ec_word OVER - ec_word THE - ec_word PLACE - ec_word WOWEE - -@ 85 - .byte TRAINER_CLASS_SWIMMING_TRIATHLETE_M - .string "TOBY$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THIS - ec_word ISN_T - ec_word SPORTS - ec_word IT_S - ec_word A - ec_word BATTLE - -@ 86 - .byte TRAINER_CLASS_GENTLEMAN - .string "NORTON$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word HAVE - ec_word TO - ec_word WIN - ec_word PLEASE - ec_word LOSE - -@ 87 - .byte TRAINER_CLASS_BATTLE_GIRL - .string "ZOE$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THIS - ec_word IS - ec_word SCARY - ec_word PLEASE - ec_word BE - ec_word NICE - -@ 88 - .byte TRAINER_CLASS_BEAUTY - .string "EMMA$", 8 - .byte 0x20 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word DON_T - ec_word YOU - ec_move1 FLAIL - ec_word YOU - ec_word CAN_T - ec_move1 WITHDRAW - -@ 89 - .byte TRAINER_CLASS_HIKER - .string "VINCE$", 8 - .byte 0x04 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word YAHOO - ec_word YAHOO - ec_word ARE - ec_word YOU - ec_word LISTENING - ec_word QUES - -@ 90 - .byte TRAINER_CLASS_EXPERT_M - .string "MARV$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word LEARN - ec_word TO - ec_word BATTLE - ec_word THE - ec_word CORRECT - ec_word WAY - -@ 91 - .byte TRAINER_CLASS_POKEMON_BREEDER_M - .string "TODD$", 8 - .byte 0x40 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word THE - ec_word WAY - ec_word YOU - ec_word BATTLE - ec_word IT_S - ec_word CHILD_S_PLAY - -@ 92 - .byte TRAINER_CLASS_GUITARIST - .string "GAVIN$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BABY - ec_word BABY - ec_word BABY - ec_word ROCK - ec_word ME - ec_word HARD - -@ 93 - .byte TRAINER_CLASS_PSYCHIC_M - .string "QUINN$", 8 - .byte 0x08 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word HAVE - ec_word A - ec_word STICKY_HOLD - ec_word ON - ec_word YOU - -@ 94 - .byte TRAINER_CLASS_COOL_TRAINER_F - .string "JENN$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I_AM - ec_word ON - ec_word A - ec_word TOUGH - ec_word TRAINER - ec_word SEARCH - -@ 95 - .byte TRAINER_CLASS_EXPERT_M - .string "JOEL$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word BELIEVE - ec_word IN - ec_word YOUR - ec_word POKEMON - ec_word AND - ec_word WIN - -@ 96 - .byte TRAINER_CLASS_DRAGON_TAMER - .string "KYLE$", 8 - .byte 0x0C @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word I - ec_word LIKE - ec_word A - ec_word GIRL - ec_word WITH - ec_move2 FORESIGHT - -@ 97 - .byte TRAINER_CLASS_COOL_TRAINER_M - .string "BRET$", 8 - .byte 0x01 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TAKE - ec_word MY - ec_word OVERWHELMING - ec_word POWER - ec_word AND - ec_word DISAPPEAR - -@ 98 - .byte TRAINER_CLASS_EXPERT_F - .string "CARRIE$", 8 - .byte 0x10 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word TRAINER - ec_word I - ec_word SEE - ec_word YOU - ec_word ARE - ec_word CAPABLE - -@ 99 - .byte TRAINER_CLASS_LADY - .string "GILLIAN$", 8 - .byte 0x02 @ team flags - .2byte 0 @ padding -@ pre-battle dialogue - ec_word COME_ON - ec_word SHOW - ec_word ME - ec_word AN - ec_word EXCELLENT - ec_word TIME diff --git a/data/daycare.s b/data/daycare.s deleted file mode 100644 index 92eb4637e..000000000 --- a/data/daycare.s +++ /dev/null @@ -1,17 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 82091DC - .include "data/egg_moves.inc" - - .align 2 -gUnknown_08209AC4:: @ 8209AC4 - .4byte DaycareText_GetAlongVeryWell - .4byte DaycareText_GetAlong - .4byte DaycareText_DontLikeOther - .4byte DaycareText_PlayOther - -gUnknown_08209AD4:: @ 8209AD4 - .string "タマゴ$" diff --git a/data/egg_moves.inc b/data/egg_moves.inc deleted file mode 100644 index e684e04ce..000000000 --- a/data/egg_moves.inc +++ /dev/null @@ -1,1306 +0,0 @@ - .align 2 -gEggMoves:: @ 82091DC - egg_moves_begin SPECIES_BULBASAUR - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_SKULL_BASH - .2byte MOVE_SAFEGUARD - .2byte MOVE_CHARM - .2byte MOVE_PETAL_DANCE - .2byte MOVE_MAGICAL_LEAF - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_CHARMANDER - .2byte MOVE_BELLY_DRUM - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_BITE - .2byte MOVE_OUTRAGE - .2byte MOVE_BEAT_UP - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_DRAGON_DANCE - - egg_moves_begin SPECIES_SQUIRTLE - .2byte MOVE_MIRROR_COAT - .2byte MOVE_HAZE - .2byte MOVE_MIST - .2byte MOVE_FORESIGHT - .2byte MOVE_FLAIL - .2byte MOVE_REFRESH - .2byte MOVE_MUD_SPORT - .2byte MOVE_YAWN - - egg_moves_begin SPECIES_PIDGEY - .2byte MOVE_PURSUIT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_FORESIGHT - .2byte MOVE_STEEL_WING - .2byte MOVE_AIR_CUTTER - - egg_moves_begin SPECIES_RATTATA - .2byte MOVE_SCREECH - .2byte MOVE_FLAME_WHEEL - .2byte MOVE_FURY_SWIPES - .2byte MOVE_BITE - .2byte MOVE_COUNTER - .2byte MOVE_REVERSAL - .2byte MOVE_UPROAR - .2byte MOVE_SWAGGER - - egg_moves_begin SPECIES_SPEAROW - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_SCARY_FACE - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_TRI_ATTACK - .2byte MOVE_ASTONISH - .2byte MOVE_SKY_ATTACK - - egg_moves_begin SPECIES_EKANS - .2byte MOVE_PURSUIT - .2byte MOVE_SLAM - .2byte MOVE_SPITE - .2byte MOVE_BEAT_UP - .2byte MOVE_POISON_FANG - - egg_moves_begin SPECIES_SANDSHREW - .2byte MOVE_FLAIL - .2byte MOVE_SAFEGUARD - .2byte MOVE_COUNTER - .2byte MOVE_RAPID_SPIN - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_METAL_CLAW - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_NIDORAN_F - .2byte MOVE_SUPERSONIC - .2byte MOVE_DISABLE - .2byte MOVE_TAKE_DOWN - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_CHARM - .2byte MOVE_COUNTER - .2byte MOVE_BEAT_UP - - egg_moves_begin SPECIES_NIDORAN_M - .2byte MOVE_COUNTER - .2byte MOVE_DISABLE - .2byte MOVE_SUPERSONIC - .2byte MOVE_TAKE_DOWN - .2byte MOVE_AMNESIA - .2byte MOVE_CONFUSION - .2byte MOVE_BEAT_UP - - egg_moves_begin SPECIES_VULPIX - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_HYPNOSIS - .2byte MOVE_FLAIL - .2byte MOVE_SPITE - .2byte MOVE_DISABLE - .2byte MOVE_HOWL - .2byte MOVE_PSYCH_UP - .2byte MOVE_HEAT_WAVE - - egg_moves_begin SPECIES_ZUBAT - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_PURSUIT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_GUST - .2byte MOVE_WHIRLWIND - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_ODDISH - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_RAZOR_LEAF - .2byte MOVE_FLAIL - .2byte MOVE_SYNTHESIS - .2byte MOVE_CHARM - .2byte MOVE_INGRAIN - - egg_moves_begin SPECIES_PARAS - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_SCREECH - .2byte MOVE_COUNTER - .2byte MOVE_PSYBEAM - .2byte MOVE_FLAIL - .2byte MOVE_SWEET_SCENT - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_PURSUIT - - egg_moves_begin SPECIES_VENONAT - .2byte MOVE_BATON_PASS - .2byte MOVE_SCREECH - .2byte MOVE_GIGA_DRAIN - .2byte MOVE_SIGNAL_BEAM - - egg_moves_begin SPECIES_DIGLETT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_SCREECH - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_PURSUIT - .2byte MOVE_BEAT_UP - .2byte MOVE_UPROAR - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_MEOWTH - .2byte MOVE_SPITE - .2byte MOVE_CHARM - .2byte MOVE_HYPNOSIS - .2byte MOVE_AMNESIA - .2byte MOVE_PSYCH_UP - .2byte MOVE_ASSIST - - egg_moves_begin SPECIES_PSYDUCK - .2byte MOVE_HYPNOSIS - .2byte MOVE_PSYBEAM - .2byte MOVE_FORESIGHT - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_PSYCHIC - .2byte MOVE_CROSS_CHOP - .2byte MOVE_REFRESH - - egg_moves_begin SPECIES_MANKEY - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_FORESIGHT - .2byte MOVE_MEDITATE - .2byte MOVE_COUNTER - .2byte MOVE_REVERSAL - .2byte MOVE_BEAT_UP - .2byte MOVE_REVENGE - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_GROWLITHE - .2byte MOVE_BODY_SLAM - .2byte MOVE_SAFEGUARD - .2byte MOVE_CRUNCH - .2byte MOVE_THRASH - .2byte MOVE_FIRE_SPIN - .2byte MOVE_HOWL - .2byte MOVE_HEAT_WAVE - - egg_moves_begin SPECIES_POLIWAG - .2byte MOVE_MIST - .2byte MOVE_SPLASH - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_HAZE - .2byte MOVE_MIND_READER - .2byte MOVE_WATER_SPORT - .2byte MOVE_ICE_BALL - - egg_moves_begin SPECIES_ABRA - .2byte MOVE_ENCORE - .2byte MOVE_BARRIER - .2byte MOVE_KNOCK_OFF - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_THUNDER_PUNCH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_MACHOP - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_MEDITATE - .2byte MOVE_ROLLING_KICK - .2byte MOVE_ENCORE - .2byte MOVE_SMELLING_SALT - .2byte MOVE_COUNTER - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_BELLSPROUT - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_ENCORE - .2byte MOVE_REFLECT - .2byte MOVE_SYNTHESIS - .2byte MOVE_LEECH_LIFE - .2byte MOVE_INGRAIN - .2byte MOVE_MAGICAL_LEAF - - egg_moves_begin SPECIES_TENTACOOL - .2byte MOVE_AURORA_BEAM - .2byte MOVE_MIRROR_COAT - .2byte MOVE_RAPID_SPIN - .2byte MOVE_HAZE - .2byte MOVE_SAFEGUARD - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_GEODUDE - .2byte MOVE_MEGA_PUNCH - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_BLOCK - - egg_moves_begin SPECIES_PONYTA - .2byte MOVE_FLAME_WHEEL - .2byte MOVE_THRASH - .2byte MOVE_DOUBLE_KICK - .2byte MOVE_HYPNOSIS - .2byte MOVE_CHARM - .2byte MOVE_DOUBLE_EDGE - - egg_moves_begin SPECIES_SLOWPOKE - .2byte MOVE_SAFEGUARD - .2byte MOVE_BELLY_DRUM - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_STOMP - .2byte MOVE_MUD_SPORT - .2byte MOVE_SLEEP_TALK - .2byte MOVE_SNORE - - egg_moves_begin SPECIES_FARFETCHD - .2byte MOVE_STEEL_WING - .2byte MOVE_FORESIGHT - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_GUST - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_FLAIL - .2byte MOVE_FEATHER_DANCE - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_DODUO - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_SUPERSONIC - .2byte MOVE_HAZE - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_FLAIL - .2byte MOVE_ENDEAVOR - - egg_moves_begin SPECIES_SEEL - .2byte MOVE_LICK - .2byte MOVE_PERISH_SONG - .2byte MOVE_DISABLE - .2byte MOVE_HORN_DRILL - .2byte MOVE_SLAM - .2byte MOVE_ENCORE - .2byte MOVE_FAKE_OUT - .2byte MOVE_ICICLE_SPEAR - - egg_moves_begin SPECIES_GRIMER - .2byte MOVE_HAZE - .2byte MOVE_MEAN_LOOK - .2byte MOVE_LICK - .2byte MOVE_IMPRISON - .2byte MOVE_CURSE - .2byte MOVE_SHADOW_PUNCH - .2byte MOVE_EXPLOSION - - egg_moves_begin SPECIES_SHELLDER - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_TAKE_DOWN - .2byte MOVE_BARRIER - .2byte MOVE_RAPID_SPIN - .2byte MOVE_SCREECH - .2byte MOVE_ICICLE_SPEAR - - egg_moves_begin SPECIES_GASTLY - .2byte MOVE_PSYWAVE - .2byte MOVE_PERISH_SONG - .2byte MOVE_HAZE - .2byte MOVE_ASTONISH - .2byte MOVE_WILL_O_WISP - .2byte MOVE_GRUDGE - .2byte MOVE_EXPLOSION - - egg_moves_begin SPECIES_ONIX - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_FLAIL - .2byte MOVE_EXPLOSION - .2byte MOVE_BLOCK - - egg_moves_begin SPECIES_DROWZEE - .2byte MOVE_BARRIER - .2byte MOVE_ASSIST - .2byte MOVE_ROLE_PLAY - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_THUNDER_PUNCH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_KRABBY - .2byte MOVE_DIG - .2byte MOVE_HAZE - .2byte MOVE_AMNESIA - .2byte MOVE_FLAIL - .2byte MOVE_SLAM - .2byte MOVE_KNOCK_OFF - .2byte MOVE_SWORDS_DANCE - - egg_moves_begin SPECIES_EXEGGCUTE - .2byte MOVE_SYNTHESIS - .2byte MOVE_MOONLIGHT - .2byte MOVE_REFLECT - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_PSYCH_UP - .2byte MOVE_INGRAIN - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_CUBONE - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_BELLY_DRUM - .2byte MOVE_SCREECH - .2byte MOVE_SKULL_BASH - .2byte MOVE_PERISH_SONG - .2byte MOVE_SWORDS_DANCE - - egg_moves_begin SPECIES_LICKITUNG - .2byte MOVE_BELLY_DRUM - .2byte MOVE_MAGNITUDE - .2byte MOVE_BODY_SLAM - .2byte MOVE_CURSE - .2byte MOVE_SMELLING_SALT - .2byte MOVE_SLEEP_TALK - .2byte MOVE_SNORE - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_KOFFING - .2byte MOVE_SCREECH - .2byte MOVE_PSYWAVE - .2byte MOVE_PSYBEAM - .2byte MOVE_DESTINY_BOND - .2byte MOVE_PAIN_SPLIT - .2byte MOVE_WILL_O_WISP - - egg_moves_begin SPECIES_RHYHORN - .2byte MOVE_CRUNCH - .2byte MOVE_REVERSAL - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_COUNTER - .2byte MOVE_MAGNITUDE - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_CURSE - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_CHANSEY - .2byte MOVE_PRESENT - .2byte MOVE_METRONOME - .2byte MOVE_HEAL_BELL - .2byte MOVE_AROMATHERAPY - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_TANGELA - .2byte MOVE_FLAIL - .2byte MOVE_CONFUSION - .2byte MOVE_MEGA_DRAIN - .2byte MOVE_REFLECT - .2byte MOVE_AMNESIA - .2byte MOVE_LEECH_SEED - .2byte MOVE_NATURE_POWER - - egg_moves_begin SPECIES_KANGASKHAN - .2byte MOVE_STOMP - .2byte MOVE_FORESIGHT - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_SAFEGUARD - .2byte MOVE_DISABLE - .2byte MOVE_COUNTER - .2byte MOVE_CRUSH_CLAW - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_HORSEA - .2byte MOVE_FLAIL - .2byte MOVE_AURORA_BEAM - .2byte MOVE_OCTAZOOKA - .2byte MOVE_DISABLE - .2byte MOVE_SPLASH - .2byte MOVE_DRAGON_RAGE - .2byte MOVE_DRAGON_BREATH - - egg_moves_begin SPECIES_GOLDEEN - .2byte MOVE_PSYBEAM - .2byte MOVE_HAZE - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_SLEEP_TALK - .2byte MOVE_MUD_SPORT - - egg_moves_begin SPECIES_MR_MIME - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_HYPNOSIS - .2byte MOVE_MIMIC - .2byte MOVE_PSYCH_UP - .2byte MOVE_FAKE_OUT - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_SCYTHER - .2byte MOVE_COUNTER - .2byte MOVE_SAFEGUARD - .2byte MOVE_BATON_PASS - .2byte MOVE_RAZOR_WIND - .2byte MOVE_REVERSAL - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_ENDURE - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_PINSIR - .2byte MOVE_FURY_ATTACK - .2byte MOVE_FLAIL - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_FAINT_ATTACK - - egg_moves_begin SPECIES_LAPRAS - .2byte MOVE_FORESIGHT - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TICKLE - .2byte MOVE_REFRESH - .2byte MOVE_DRAGON_DANCE - .2byte MOVE_CURSE - .2byte MOVE_SLEEP_TALK - .2byte MOVE_HORN_DRILL - - egg_moves_begin SPECIES_EEVEE - .2byte MOVE_CHARM - .2byte MOVE_FLAIL - .2byte MOVE_ENDURE - .2byte MOVE_CURSE - .2byte MOVE_TICKLE - .2byte MOVE_WISH - - egg_moves_begin SPECIES_OMANYTE - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_AURORA_BEAM - .2byte MOVE_SLAM - .2byte MOVE_SUPERSONIC - .2byte MOVE_HAZE - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SPIKES - - egg_moves_begin SPECIES_KABUTO - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_AURORA_BEAM - .2byte MOVE_RAPID_SPIN - .2byte MOVE_DIG - .2byte MOVE_FLAIL - .2byte MOVE_KNOCK_OFF - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_AERODACTYL - .2byte MOVE_WHIRLWIND - .2byte MOVE_PURSUIT - .2byte MOVE_FORESIGHT - .2byte MOVE_STEEL_WING - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_SNORLAX - .2byte MOVE_LICK - .2byte MOVE_CHARM - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_CURSE - .2byte MOVE_FISSURE - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_DRATINI - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_MIST - .2byte MOVE_HAZE - .2byte MOVE_SUPERSONIC - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_DRAGON_DANCE - - egg_moves_begin SPECIES_CHIKORITA - .2byte MOVE_VINE_WHIP - .2byte MOVE_LEECH_SEED - .2byte MOVE_COUNTER - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_FLAIL - .2byte MOVE_NATURE_POWER - .2byte MOVE_INGRAIN - .2byte MOVE_GRASS_WHISTLE - - egg_moves_begin SPECIES_CYNDAQUIL - .2byte MOVE_FURY_SWIPES - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_REVERSAL - .2byte MOVE_THRASH - .2byte MOVE_FORESIGHT - .2byte MOVE_COVET - .2byte MOVE_HOWL - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_TOTODILE - .2byte MOVE_CRUNCH - .2byte MOVE_THRASH - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_MUD_SPORT - .2byte MOVE_WATER_SPORT - .2byte MOVE_DRAGON_CLAW - - egg_moves_begin SPECIES_SENTRET - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_PURSUIT - .2byte MOVE_SLASH - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_REVERSAL - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TRICK - .2byte MOVE_ASSIST - - egg_moves_begin SPECIES_HOOTHOOT - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_SUPERSONIC - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_WING_ATTACK - .2byte MOVE_WHIRLWIND - .2byte MOVE_SKY_ATTACK - .2byte MOVE_FEATHER_DANCE - - egg_moves_begin SPECIES_LEDYBA - .2byte MOVE_PSYBEAM - .2byte MOVE_BIDE - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_SPINARAK - .2byte MOVE_PSYBEAM - .2byte MOVE_DISABLE - .2byte MOVE_SONIC_BOOM - .2byte MOVE_BATON_PASS - .2byte MOVE_PURSUIT - .2byte MOVE_SIGNAL_BEAM - - egg_moves_begin SPECIES_CHINCHOU - .2byte MOVE_FLAIL - .2byte MOVE_SCREECH - .2byte MOVE_AMNESIA - - egg_moves_begin SPECIES_PICHU - .2byte MOVE_REVERSAL - .2byte MOVE_BIDE - .2byte MOVE_PRESENT - .2byte MOVE_ENCORE - .2byte MOVE_DOUBLE_SLAP - .2byte MOVE_WISH - .2byte MOVE_CHARGE - - egg_moves_begin SPECIES_CLEFFA - .2byte MOVE_PRESENT - .2byte MOVE_METRONOME - .2byte MOVE_AMNESIA - .2byte MOVE_BELLY_DRUM - .2byte MOVE_SPLASH - .2byte MOVE_MIMIC - .2byte MOVE_WISH - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_IGGLYBUFF - .2byte MOVE_PERISH_SONG - .2byte MOVE_PRESENT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_WISH - .2byte MOVE_FAKE_TEARS - - egg_moves_begin SPECIES_TOGEPI - .2byte MOVE_PRESENT - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_PECK - .2byte MOVE_FORESIGHT - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_SUBSTITUTE - .2byte MOVE_PSYCH_UP - - egg_moves_begin SPECIES_NATU - .2byte MOVE_HAZE - .2byte MOVE_DRILL_PECK - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_STEEL_WING - .2byte MOVE_PSYCH_UP - .2byte MOVE_FEATHER_DANCE - .2byte MOVE_REFRESH - - egg_moves_begin SPECIES_MAREEP - .2byte MOVE_TAKE_DOWN - .2byte MOVE_BODY_SLAM - .2byte MOVE_SAFEGUARD - .2byte MOVE_SCREECH - .2byte MOVE_REFLECT - .2byte MOVE_ODOR_SLEUTH - .2byte MOVE_CHARGE - - egg_moves_begin SPECIES_MARILL - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_PRESENT - .2byte MOVE_AMNESIA - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_BELLY_DRUM - .2byte MOVE_PERISH_SONG - .2byte MOVE_SUPERSONIC - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_SUDOWOODO - .2byte MOVE_SELF_DESTRUCT - - egg_moves_begin SPECIES_HOPPIP - .2byte MOVE_CONFUSION - .2byte MOVE_ENCORE - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_REFLECT - .2byte MOVE_AMNESIA - .2byte MOVE_HELPING_HAND - .2byte MOVE_PSYCH_UP - - egg_moves_begin SPECIES_AIPOM - .2byte MOVE_COUNTER - .2byte MOVE_SCREECH - .2byte MOVE_PURSUIT - .2byte MOVE_AGILITY - .2byte MOVE_SPITE - .2byte MOVE_SLAM - .2byte MOVE_DOUBLE_SLAP - .2byte MOVE_BEAT_UP - - egg_moves_begin SPECIES_SUNKERN - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_ENCORE - .2byte MOVE_LEECH_SEED - .2byte MOVE_NATURE_POWER - .2byte MOVE_CURSE - .2byte MOVE_HELPING_HAND - - egg_moves_begin SPECIES_YANMA - .2byte MOVE_WHIRLWIND - .2byte MOVE_REVERSAL - .2byte MOVE_LEECH_LIFE - .2byte MOVE_SIGNAL_BEAM - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_WOOPER - .2byte MOVE_BODY_SLAM - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_SAFEGUARD - .2byte MOVE_CURSE - .2byte MOVE_MUD_SPORT - .2byte MOVE_STOCKPILE - .2byte MOVE_SWALLOW - .2byte MOVE_SPIT_UP - - egg_moves_begin SPECIES_MURKROW - .2byte MOVE_WHIRLWIND - .2byte MOVE_DRILL_PECK - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_WING_ATTACK - .2byte MOVE_SKY_ATTACK - .2byte MOVE_CONFUSE_RAY - .2byte MOVE_FEATHER_DANCE - .2byte MOVE_PERISH_SONG - - egg_moves_begin SPECIES_MISDREAVUS - .2byte MOVE_SCREECH - .2byte MOVE_DESTINY_BOND - .2byte MOVE_PSYCH_UP - .2byte MOVE_IMPRISON - - egg_moves_begin SPECIES_GIRAFARIG - .2byte MOVE_TAKE_DOWN - .2byte MOVE_AMNESIA - .2byte MOVE_FORESIGHT - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_BEAT_UP - .2byte MOVE_PSYCH_UP - .2byte MOVE_WISH - .2byte MOVE_MAGIC_COAT - - egg_moves_begin SPECIES_PINECO - .2byte MOVE_REFLECT - .2byte MOVE_PIN_MISSILE - .2byte MOVE_FLAIL - .2byte MOVE_SWIFT - .2byte MOVE_COUNTER - .2byte MOVE_SAND_TOMB - - egg_moves_begin SPECIES_DUNSPARCE - .2byte MOVE_BIDE - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_BITE - .2byte MOVE_HEADBUTT - .2byte MOVE_ASTONISH - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_GLIGAR - .2byte MOVE_METAL_CLAW - .2byte MOVE_WING_ATTACK - .2byte MOVE_RAZOR_WIND - .2byte MOVE_COUNTER - .2byte MOVE_SAND_TOMB - - egg_moves_begin SPECIES_SNUBBULL - .2byte MOVE_METRONOME - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_REFLECT - .2byte MOVE_PRESENT - .2byte MOVE_CRUNCH - .2byte MOVE_HEAL_BELL - .2byte MOVE_SNORE - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_QWILFISH - .2byte MOVE_FLAIL - .2byte MOVE_HAZE - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_SUPERSONIC - .2byte MOVE_ASTONISH - - egg_moves_begin SPECIES_SHUCKLE - .2byte MOVE_SWEET_SCENT - - egg_moves_begin SPECIES_HERACROSS - .2byte MOVE_HARDEN - .2byte MOVE_BIDE - .2byte MOVE_FLAIL - .2byte MOVE_FALSE_SWIPE - - egg_moves_begin SPECIES_SNEASEL - .2byte MOVE_COUNTER - .2byte MOVE_SPITE - .2byte MOVE_FORESIGHT - .2byte MOVE_REFLECT - .2byte MOVE_BITE - .2byte MOVE_CRUSH_CLAW - .2byte MOVE_FAKE_OUT - - egg_moves_begin SPECIES_TEDDIURSA - .2byte MOVE_CRUNCH - .2byte MOVE_TAKE_DOWN - .2byte MOVE_SEISMIC_TOSS - .2byte MOVE_COUNTER - .2byte MOVE_METAL_CLAW - .2byte MOVE_FAKE_TEARS - .2byte MOVE_YAWN - .2byte MOVE_SLEEP_TALK - - egg_moves_begin SPECIES_SLUGMA - .2byte MOVE_ACID_ARMOR - .2byte MOVE_HEAT_WAVE - - egg_moves_begin SPECIES_SWINUB - .2byte MOVE_TAKE_DOWN - .2byte MOVE_BITE - .2byte MOVE_BODY_SLAM - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_MUD_SHOT - .2byte MOVE_ICICLE_SPEAR - .2byte MOVE_DOUBLE_EDGE - - egg_moves_begin SPECIES_CORSOLA - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SCREECH - .2byte MOVE_MIST - .2byte MOVE_AMNESIA - .2byte MOVE_BARRIER - .2byte MOVE_INGRAIN - .2byte MOVE_CONFUSE_RAY - .2byte MOVE_ICICLE_SPEAR - - egg_moves_begin SPECIES_REMORAID - .2byte MOVE_AURORA_BEAM - .2byte MOVE_OCTAZOOKA - .2byte MOVE_SUPERSONIC - .2byte MOVE_HAZE - .2byte MOVE_SCREECH - .2byte MOVE_THUNDER_WAVE - .2byte MOVE_ROCK_BLAST - - egg_moves_begin SPECIES_DELIBIRD - .2byte MOVE_AURORA_BEAM - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_SPLASH - .2byte MOVE_RAPID_SPIN - .2byte MOVE_ICE_BALL - - egg_moves_begin SPECIES_MANTINE - .2byte MOVE_TWISTER - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_HAZE - .2byte MOVE_SLAM - .2byte MOVE_MUD_SPORT - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_SKARMORY - .2byte MOVE_DRILL_PECK - .2byte MOVE_PURSUIT - .2byte MOVE_WHIRLWIND - .2byte MOVE_SKY_ATTACK - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_HOUNDOUR - .2byte MOVE_FIRE_SPIN - .2byte MOVE_RAGE - .2byte MOVE_PURSUIT - .2byte MOVE_COUNTER - .2byte MOVE_SPITE - .2byte MOVE_REVERSAL - .2byte MOVE_BEAT_UP - .2byte MOVE_WILL_O_WISP - - egg_moves_begin SPECIES_PHANPY - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_BODY_SLAM - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_SNORE - .2byte MOVE_COUNTER - .2byte MOVE_FISSURE - - egg_moves_begin SPECIES_STANTLER - .2byte MOVE_SPITE - .2byte MOVE_DISABLE - .2byte MOVE_BITE - .2byte MOVE_SWAGGER - .2byte MOVE_PSYCH_UP - .2byte MOVE_EXTRASENSORY - - egg_moves_begin SPECIES_TYROGUE - .2byte MOVE_RAPID_SPIN - .2byte MOVE_HI_JUMP_KICK - .2byte MOVE_MACH_PUNCH - .2byte MOVE_MIND_READER - .2byte MOVE_HELPING_HAND - - egg_moves_begin SPECIES_SMOOCHUM - .2byte MOVE_MEDITATE - .2byte MOVE_PSYCH_UP - .2byte MOVE_FAKE_OUT - .2byte MOVE_WISH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_ELEKID - .2byte MOVE_KARATE_CHOP - .2byte MOVE_BARRIER - .2byte MOVE_ROLLING_KICK - .2byte MOVE_MEDITATE - .2byte MOVE_CROSS_CHOP - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_MAGBY - .2byte MOVE_KARATE_CHOP - .2byte MOVE_MEGA_PUNCH - .2byte MOVE_BARRIER - .2byte MOVE_SCREECH - .2byte MOVE_CROSS_CHOP - .2byte MOVE_THUNDER_PUNCH - - egg_moves_begin SPECIES_MILTANK - .2byte MOVE_PRESENT - .2byte MOVE_REVERSAL - .2byte MOVE_SEISMIC_TOSS - .2byte MOVE_ENDURE - .2byte MOVE_PSYCH_UP - .2byte MOVE_CURSE - .2byte MOVE_HELPING_HAND - .2byte MOVE_SLEEP_TALK - - egg_moves_begin SPECIES_LARVITAR - .2byte MOVE_PURSUIT - .2byte MOVE_STOMP - .2byte MOVE_OUTRAGE - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_DRAGON_DANCE - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_TREECKO - .2byte MOVE_CRUNCH - .2byte MOVE_MUD_SPORT - .2byte MOVE_ENDEAVOR - .2byte MOVE_LEECH_SEED - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_TORCHIC - .2byte MOVE_COUNTER - .2byte MOVE_REVERSAL - .2byte MOVE_ENDURE - .2byte MOVE_SWAGGER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_MUDKIP - .2byte MOVE_REFRESH - .2byte MOVE_UPROAR - .2byte MOVE_CURSE - .2byte MOVE_STOMP - .2byte MOVE_ICE_BALL - .2byte MOVE_MIRROR_COAT - - egg_moves_begin SPECIES_POOCHYENA - .2byte MOVE_ASTONISH - .2byte MOVE_POISON_FANG - .2byte MOVE_COVET - .2byte MOVE_LEER - .2byte MOVE_YAWN - - egg_moves_begin SPECIES_ZIGZAGOON - .2byte MOVE_CHARM - .2byte MOVE_PURSUIT - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TICKLE - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_LOTAD - .2byte MOVE_SYNTHESIS - .2byte MOVE_RAZOR_LEAF - .2byte MOVE_SWEET_SCENT - .2byte MOVE_LEECH_SEED - .2byte MOVE_FLAIL - .2byte MOVE_WATER_GUN - - egg_moves_begin SPECIES_SEEDOT - .2byte MOVE_LEECH_SEED - .2byte MOVE_AMNESIA - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_RAZOR_WIND - .2byte MOVE_TAKE_DOWN - .2byte MOVE_FALSE_SWIPE - - egg_moves_begin SPECIES_NINCADA - .2byte MOVE_ENDURE - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_GUST - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_TAILLOW - .2byte MOVE_PURSUIT - .2byte MOVE_SUPERSONIC - .2byte MOVE_REFRESH - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_RAGE - .2byte MOVE_SKY_ATTACK - - egg_moves_begin SPECIES_SHROOMISH - .2byte MOVE_FAKE_TEARS - .2byte MOVE_SWAGGER - .2byte MOVE_CHARM - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_HELPING_HAND - - egg_moves_begin SPECIES_SPINDA - .2byte MOVE_ENCORE - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_ASSIST - .2byte MOVE_DISABLE - .2byte MOVE_BATON_PASS - .2byte MOVE_WISH - .2byte MOVE_TRICK - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_WINGULL - .2byte MOVE_MIST - .2byte MOVE_TWISTER - .2byte MOVE_AGILITY - .2byte MOVE_GUST - .2byte MOVE_WATER_SPORT - - egg_moves_begin SPECIES_SURSKIT - .2byte MOVE_FORESIGHT - .2byte MOVE_MUD_SHOT - .2byte MOVE_PSYBEAM - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_MIND_READER - - egg_moves_begin SPECIES_WAILMER - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_THRASH - .2byte MOVE_SWAGGER - .2byte MOVE_SNORE - .2byte MOVE_SLEEP_TALK - .2byte MOVE_CURSE - .2byte MOVE_FISSURE - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_SKITTY - .2byte MOVE_HELPING_HAND - .2byte MOVE_PSYCH_UP - .2byte MOVE_UPROAR - .2byte MOVE_FAKE_TEARS - .2byte MOVE_WISH - .2byte MOVE_BATON_PASS - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_KECLEON - .2byte MOVE_DISABLE - .2byte MOVE_MAGIC_COAT - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_NOSEPASS - .2byte MOVE_MAGNITUDE - .2byte MOVE_ROLLOUT - .2byte MOVE_EXPLOSION - - egg_moves_begin SPECIES_TORKOAL - .2byte MOVE_ERUPTION - .2byte MOVE_ENDURE - .2byte MOVE_SLEEP_TALK - .2byte MOVE_YAWN - - egg_moves_begin SPECIES_SABLEYE - .2byte MOVE_PSYCH_UP - .2byte MOVE_RECOVER - .2byte MOVE_MOONLIGHT - - egg_moves_begin SPECIES_BARBOACH - .2byte MOVE_THRASH - .2byte MOVE_WHIRLPOOL - .2byte MOVE_SPARK - - egg_moves_begin SPECIES_LUVDISC - .2byte MOVE_SPLASH - .2byte MOVE_SUPERSONIC - .2byte MOVE_WATER_SPORT - .2byte MOVE_MUD_SPORT - - egg_moves_begin SPECIES_CORPHISH - .2byte MOVE_MUD_SPORT - .2byte MOVE_ENDEAVOR - .2byte MOVE_BODY_SLAM - .2byte MOVE_ANCIENT_POWER - - egg_moves_begin SPECIES_FEEBAS - .2byte MOVE_MIRROR_COAT - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_MUD_SPORT - .2byte MOVE_HYPNOSIS - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_CARVANHA - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_THRASH - - egg_moves_begin SPECIES_TRAPINCH - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_GUST - - egg_moves_begin SPECIES_MAKUHITA - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_DETECT - .2byte MOVE_FORESIGHT - .2byte MOVE_HELPING_HAND - .2byte MOVE_CROSS_CHOP - .2byte MOVE_REVENGE - .2byte MOVE_DYNAMIC_PUNCH - .2byte MOVE_COUNTER - - egg_moves_begin SPECIES_ELECTRIKE - .2byte MOVE_CRUNCH - .2byte MOVE_HEADBUTT - .2byte MOVE_UPROAR - .2byte MOVE_CURSE - .2byte MOVE_SWIFT - - egg_moves_begin SPECIES_NUMEL - .2byte MOVE_HOWL - .2byte MOVE_SCARY_FACE - .2byte MOVE_BODY_SLAM - .2byte MOVE_ROLLOUT - .2byte MOVE_DEFENSE_CURL - .2byte MOVE_STOMP - - egg_moves_begin SPECIES_SPHEAL - .2byte MOVE_WATER_SPORT - .2byte MOVE_STOCKPILE - .2byte MOVE_SWALLOW - .2byte MOVE_SPIT_UP - .2byte MOVE_YAWN - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_CURSE - .2byte MOVE_FISSURE - - egg_moves_begin SPECIES_CACNEA - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_ACID - .2byte MOVE_TEETER_DANCE - .2byte MOVE_DYNAMIC_PUNCH - .2byte MOVE_COUNTER - - egg_moves_begin SPECIES_SNORUNT - .2byte MOVE_BLOCK - .2byte MOVE_SPIKES - - egg_moves_begin SPECIES_AZURILL - .2byte MOVE_ENCORE - .2byte MOVE_SING - .2byte MOVE_REFRESH - .2byte MOVE_SLAM - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_SPOINK - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_EXTRASENSORY - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_PLUSLE - .2byte MOVE_SUBSTITUTE - .2byte MOVE_WISH - - egg_moves_begin SPECIES_MINUN - .2byte MOVE_SUBSTITUTE - .2byte MOVE_WISH - - egg_moves_begin SPECIES_MAWILE - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_POISON_FANG - .2byte MOVE_PSYCH_UP - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_MEDITITE - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_THUNDER_PUNCH - .2byte MOVE_ICE_PUNCH - .2byte MOVE_FORESIGHT - .2byte MOVE_FAKE_OUT - .2byte MOVE_BATON_PASS - .2byte MOVE_DYNAMIC_PUNCH - - egg_moves_begin SPECIES_SWABLU - .2byte MOVE_AGILITY - .2byte MOVE_HAZE - .2byte MOVE_PURSUIT - .2byte MOVE_RAGE - - egg_moves_begin SPECIES_DUSKULL - .2byte MOVE_IMPRISON - .2byte MOVE_DESTINY_BOND - .2byte MOVE_PAIN_SPLIT - .2byte MOVE_GRUDGE - .2byte MOVE_MEMENTO - .2byte MOVE_FAINT_ATTACK - - egg_moves_begin SPECIES_ROSELIA - .2byte MOVE_SPIKES - .2byte MOVE_SYNTHESIS - .2byte MOVE_PIN_MISSILE - .2byte MOVE_COTTON_SPORE - - egg_moves_begin SPECIES_SLAKOTH - .2byte MOVE_PURSUIT - .2byte MOVE_SLASH - .2byte MOVE_BODY_SLAM - .2byte MOVE_SNORE - .2byte MOVE_CRUSH_CLAW - .2byte MOVE_CURSE - .2byte MOVE_SLEEP_TALK - - egg_moves_begin SPECIES_GULPIN - .2byte MOVE_DREAM_EATER - .2byte MOVE_ACID_ARMOR - .2byte MOVE_SMOG - .2byte MOVE_PAIN_SPLIT - - egg_moves_begin SPECIES_TROPIUS - .2byte MOVE_HEADBUTT - .2byte MOVE_SLAM - .2byte MOVE_RAZOR_WIND - .2byte MOVE_LEECH_SEED - .2byte MOVE_NATURE_POWER - - egg_moves_begin SPECIES_WHISMUR - .2byte MOVE_TAKE_DOWN - .2byte MOVE_SNORE - .2byte MOVE_SWAGGER - .2byte MOVE_EXTRASENSORY - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_CLAMPERL - .2byte MOVE_REFRESH - .2byte MOVE_MUD_SPORT - .2byte MOVE_BODY_SLAM - .2byte MOVE_SUPERSONIC - .2byte MOVE_BARRIER - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_ABSOL - .2byte MOVE_BATON_PASS - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_MAGIC_COAT - .2byte MOVE_CURSE - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_SHUPPET - .2byte MOVE_DISABLE - .2byte MOVE_DESTINY_BOND - .2byte MOVE_FORESIGHT - .2byte MOVE_ASTONISH - .2byte MOVE_IMPRISON - - egg_moves_begin SPECIES_SEVIPER - .2byte MOVE_STOCKPILE - .2byte MOVE_SWALLOW - .2byte MOVE_SPIT_UP - .2byte MOVE_BODY_SLAM - - egg_moves_begin SPECIES_ZANGOOSE - .2byte MOVE_FLAIL - .2byte MOVE_DOUBLE_KICK - .2byte MOVE_RAZOR_WIND - .2byte MOVE_COUNTER - .2byte MOVE_ROAR - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_RELICANTH - .2byte MOVE_MAGNITUDE - .2byte MOVE_SKULL_BASH - .2byte MOVE_WATER_SPORT - .2byte MOVE_AMNESIA - .2byte MOVE_SLEEP_TALK - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_ARON - .2byte MOVE_ENDEAVOR - .2byte MOVE_BODY_SLAM - .2byte MOVE_STOMP - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_CASTFORM - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_PSYCH_UP - - egg_moves_begin SPECIES_VOLBEAT - .2byte MOVE_BATON_PASS - .2byte MOVE_SILVER_WIND - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_ILLUMISE - .2byte MOVE_BATON_PASS - .2byte MOVE_SILVER_WIND - .2byte MOVE_GROWTH - - egg_moves_begin SPECIES_LILEEP - .2byte MOVE_BARRIER - .2byte MOVE_RECOVER - .2byte MOVE_MIRROR_COAT - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_ANORITH - .2byte MOVE_RAPID_SPIN - .2byte MOVE_KNOCK_OFF - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_RALTS - .2byte MOVE_DISABLE - .2byte MOVE_WILL_O_WISP - .2byte MOVE_MEAN_LOOK - .2byte MOVE_MEMENTO - .2byte MOVE_DESTINY_BOND - - egg_moves_begin SPECIES_BAGON - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_THRASH - .2byte MOVE_DRAGON_RAGE - .2byte MOVE_TWISTER - .2byte MOVE_DRAGON_DANCE - - egg_moves_begin SPECIES_CHIMECHO - .2byte MOVE_DISABLE - .2byte MOVE_CURSE - .2byte MOVE_HYPNOSIS - .2byte MOVE_DREAM_EATER - - .2byte -1 diff --git a/data/event_scripts.s b/data/event_scripts.s index 0a8390a8f..854b52c9e 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -386,27 +386,27 @@ gStdScripts_End:: gUnknown_0815F36C:: @ 815F36C lockall - playsfx 2 + playse 2 message UnknownString_81A3A72 - doanimation 61 + dofieldeffect 61 waitstate - waittext + waitmessage waitbutton - playsfx 5 - jump EventScript_15F384 + playse 5 + goto EventScript_15F384 end EventScript_15F384: message UnknownString_81A3A87 - waittext + waitmessage checkflag 268 - jumpeq EventScript_15F3A0 - jump EventScript_15F3E2 + goto_if_eq EventScript_15F3A0 + goto EventScript_15F3E2 end gUnknown_0815F399:: @ 815F399 lockall - jump EventScript_15F384 + goto EventScript_15F384 end EventScript_15F3A0: @@ -431,8 +431,8 @@ EventScript_15F3E2: EventScript_15F419: msgbox UnknownString_81A38FB, 5 compare RESULT, 0 - jumpeq EventScript_15F384 - closebutton + goto_if_eq EventScript_15F384 + closemessage special SecretBasePC_PackUp releaseall end @@ -448,18 +448,18 @@ EventScript_15F436: gUnknown_0815F43A:: @ 815F43A lockall message UnknownString_81A3A72 - playsfx 2 - doanimation 61 + playse 2 + dofieldeffect 61 waitstate - waittext + waitmessage waitbutton - playsfx 5 - jump EventScript_15F452 + playse 5 + goto EventScript_15F452 end EventScript_15F452: message UnknownString_81A3A87 - waittext + waitmessage multichoice 0, 0, 7, 0 switch RESULT case 0, EventScript_15F4A1 @@ -471,19 +471,19 @@ EventScript_15F452: gUnknown_0815F49A:: @ 815F49A lockall - jump EventScript_15F452 + goto EventScript_15F452 end EventScript_15F4A1: special sub_80BC56C compare RESULT, 1 - jumpeq EventScript_15F4E0 + goto_if_eq EventScript_15F4E0 compare RESULT, 2 - jumpeq EventScript_15F503 + goto_if_eq EventScript_15F503 special sub_80BC224 msgbox UnknownString_81A3958, 5 compare RESULT, 0 - jumpeq EventScript_15F452 + goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A22, 3 special sub_80BC5BC special sub_80C683C @@ -493,7 +493,7 @@ EventScript_15F4A1: EventScript_15F4E0: msgbox UnknownString_81A3982, 5 compare RESULT, 0 - jumpeq EventScript_15F452 + goto_if_eq EventScript_15F452 msgbox UnknownString_81A3A3A, 3 special sub_80BC5BC special sub_80C683C @@ -503,37 +503,37 @@ EventScript_15F4E0: EventScript_15F503: msgbox UnknownString_81A39C0, 3 special sub_80C683C - closebutton + closemessage releaseall end EventScript_15F511: message UnknownString_81A3AA2 - waittext - jump EventScript_15F452 + waitmessage + goto EventScript_15F452 end EventScript_15F51D: special sub_80C683C - closebutton + closemessage releaseall end gUnknown_0815F523:: @ 815F523 - doanimation 52 + dofieldeffect 52 waitstate end gUnknown_0815F528:: @ 815F528 special GetShieldToyTVDecorationInfo compare RESULT, 0 - jumpeq EventScript_15F558 + goto_if_eq EventScript_15F558 compare RESULT, 1 - jumpeq EventScript_15F561 + goto_if_eq EventScript_15F561 compare RESULT, 2 - jumpeq EventScript_15F56A + goto_if_eq EventScript_15F56A compare RESULT, 3 - jumpeq EventScript_15F573 + goto_if_eq EventScript_15F573 end EventScript_15F558: @@ -890,7 +890,7 @@ Std_2: lock faceplayer message 0x0 - waittext + waitmessage waitbutton release return @@ -898,20 +898,20 @@ Std_2: Std_3: lockall message 0x0 - waittext + waitmessage waitbutton releaseall return Std_4: message 0x0 - waittext + waitmessage waitbutton return Std_5: message 0x0 - waittext + waitmessage yesnobox 20, 8 return @@ -928,63 +928,63 @@ gUnknown_0819F80B:: @ 819F80B special PlayTrainerEncounterMusic special ScrSpecial_EndTrainerApproach waitstate - jump EventScript_19F8F2 + goto EventScript_19F8F2 gUnknown_0819F818:: @ 819F818 lock faceplayer - move LAST_TALKED, Movement_19F8F0 - waitmove 0 - specialval RESULT, ScrSpecial_HasTrainerBeenFought + applymovement LAST_TALKED, Movement_19F8F0 + waitmovement 0 + specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - jumpif 5, EventScript_19F83F + goto_if 5, EventScript_19F83F special PlayTrainerEncounterMusic special sub_8082524 - jump EventScript_19F8F2 + goto EventScript_19F8F2 EventScript_19F83F: - endtrainerbattle + ontrainerbattleend gUnknown_0819F840:: @ 819F840 lock faceplayer call EventScript_19F8E5 - specialval RESULT, ScrSpecial_HasTrainerBeenFought + specialvar RESULT, ScrSpecial_HasTrainerBeenFought compare RESULT, 0 - jumpif 5, EventScript_19F877 + goto_if 5, EventScript_19F877 special CheckForAlivePartyMons compare RESULT, 0 - jumpif 5, EventScript_19F870 + goto_if 5, EventScript_19F870 special PlayTrainerEncounterMusic special sub_8082524 - jump EventScript_19F8F2 + goto EventScript_19F8F2 EventScript_19F870: special ScrSpecial_ShowTrainerNonBattlingSpeech - waittext + waitmessage waitbutton release end EventScript_19F877: - endtrainerbattle + ontrainerbattleend gUnknown_0819F878:: @ 819F878 - move LAST_TALKED, Movement_19F8F0 - waitmove 0 + applymovement LAST_TALKED, Movement_19F8F0 + waitmovement 0 special PlayTrainerEncounterMusic - reptrainerbattle - endtrainerbattle + battlebegin + ontrainerbattleend gUnknown_0819F887:: @ 819F887 call EventScript_19F8E5 - specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag + specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag compare RESULT, 0 - jumpeq EventScript_19F8AD + goto_if_eq EventScript_19F8AD special PlayTrainerEncounterMusic special sub_8082524 special ScrSpecial_ShowTrainerIntroSpeech - waittext + waitmessage waitbutton special ScrSpecial_StartTrainerEyeRematch waitstate @@ -992,19 +992,19 @@ gUnknown_0819F887:: @ 819F887 end EventScript_19F8AD: - endtrainerbattle + ontrainerbattleend gUnknown_0819F8AE:: @ 819F8AE - specialval RESULT, ScrSpecial_GetTrainerEyeRematchFlag + specialvar RESULT, ScrSpecial_GetTrainerEyeRematchFlag compare RESULT, 0 - jumpeq EventScript_19F8DD + goto_if_eq EventScript_19F8DD special CheckForAlivePartyMons compare RESULT, 0 - jumpif 5, EventScript_19F8DE + goto_if 5, EventScript_19F8DE special PlayTrainerEncounterMusic special sub_8082524 special ScrSpecial_ShowTrainerIntroSpeech - waittext + waitmessage waitbutton special ScrSpecial_StartTrainerEyeRematch waitstate @@ -1012,18 +1012,18 @@ gUnknown_0819F8AE:: @ 819F8AE end EventScript_19F8DD: - endtrainerbattle + ontrainerbattleend EventScript_19F8DE: special ScrSpecial_ShowTrainerNonBattlingSpeech - waittext + waitmessage waitbutton release end EventScript_19F8E5: - move LAST_TALKED, Movement_19F8F0 - waitmove 0 + applymovement LAST_TALKED, Movement_19F8F0 + waitmovement 0 return Movement_19F8F0:: @@ -1032,116 +1032,116 @@ Movement_19F8F0:: EventScript_19F8F2: special ScrSpecial_ShowTrainerIntroSpeech - waittext + waitmessage waitbutton - reptrainerbattle - specialval RESULT, ScrSpecial_GetTrainerBattleMode + battlebegin + specialvar RESULT, ScrSpecial_GetTrainerBattleMode compare RESULT, 0 - jumpeq EventScript_19F934 + goto_if_eq EventScript_19F934 compare RESULT, 2 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 compare RESULT, 1 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 compare RESULT, 6 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 compare RESULT, 8 - jumpeq EventScript_19F936 + goto_if_eq EventScript_19F936 EventScript_19F934: releaseall end EventScript_19F936: - endtrainerbattle2 + ontrainerbattleendgoto Std_6:: message 0x0 - waittext + waitmessage waitbutton release return Event_ResetBerryTrees: @ 19F940 - event_8a 2, 7, 5 - event_8a 1, 3, 5 - event_8a 11, 7, 5 - event_8a 13, 3, 5 - event_8a 4, 7, 5 - event_8a 76, 1, 5 - event_8a 8, 1, 5 - event_8a 10, 6, 5 - event_8a 25, 20, 5 - event_8a 26, 2, 5 - event_8a 66, 2, 5 - event_8a 67, 20, 5 - event_8a 69, 22, 5 - event_8a 70, 22, 5 - event_8a 71, 22, 5 - event_8a 55, 17, 5 - event_8a 56, 17, 5 - event_8a 5, 1, 5 - event_8a 6, 6, 5 - event_8a 7, 1, 5 - event_8a 16, 18, 5 - event_8a 17, 18, 5 - event_8a 18, 18, 5 - event_8a 29, 19, 5 - event_8a 28, 19, 5 - event_8a 27, 19, 5 - event_8a 24, 4, 5 - event_8a 23, 3, 5 - event_8a 22, 3, 5 - event_8a 21, 4, 5 - event_8a 19, 16, 5 - event_8a 20, 16, 5 - event_8a 80, 7, 5 - event_8a 81, 7, 5 - event_8a 77, 8, 5 - event_8a 78, 8, 5 - event_8a 68, 8, 5 - event_8a 31, 10, 5 - event_8a 33, 10, 5 - event_8a 34, 21, 5 - event_8a 35, 21, 5 - event_8a 36, 21, 5 - event_8a 83, 24, 5 - event_8a 84, 24, 5 - event_8a 85, 10, 5 - event_8a 86, 6, 5 - event_8a 37, 5, 5 - event_8a 38, 5, 5 - event_8a 39, 5, 5 - event_8a 40, 3, 5 - event_8a 41, 3, 5 - event_8a 42, 3, 5 - event_8a 46, 19, 5 - event_8a 45, 20, 5 - event_8a 44, 18, 5 - event_8a 43, 16, 5 - event_8a 47, 8, 5 - event_8a 48, 5, 5 - event_8a 49, 4, 5 - event_8a 50, 2, 5 - event_8a 52, 18, 5 - event_8a 53, 18, 5 - event_8a 62, 6, 5 - event_8a 64, 6, 5 - event_8a 58, 21, 5 - event_8a 59, 21, 5 - event_8a 60, 25, 5 - event_8a 61, 25, 5 - event_8a 79, 23, 5 - event_8a 14, 23, 5 - event_8a 15, 21, 5 - event_8a 30, 21, 5 - event_8a 65, 25, 5 - event_8a 72, 25, 5 - event_8a 73, 23, 5 - event_8a 74, 23, 5 - event_8a 87, 3, 5 - event_8a 88, 10, 5 - event_8a 89, 4, 5 - event_8a 82, 36, 5 + plantberrytree 2, 7, 5 + plantberrytree 1, 3, 5 + plantberrytree 11, 7, 5 + plantberrytree 13, 3, 5 + plantberrytree 4, 7, 5 + plantberrytree 76, 1, 5 + plantberrytree 8, 1, 5 + plantberrytree 10, 6, 5 + plantberrytree 25, 20, 5 + plantberrytree 26, 2, 5 + plantberrytree 66, 2, 5 + plantberrytree 67, 20, 5 + plantberrytree 69, 22, 5 + plantberrytree 70, 22, 5 + plantberrytree 71, 22, 5 + plantberrytree 55, 17, 5 + plantberrytree 56, 17, 5 + plantberrytree 5, 1, 5 + plantberrytree 6, 6, 5 + plantberrytree 7, 1, 5 + plantberrytree 16, 18, 5 + plantberrytree 17, 18, 5 + plantberrytree 18, 18, 5 + plantberrytree 29, 19, 5 + plantberrytree 28, 19, 5 + plantberrytree 27, 19, 5 + plantberrytree 24, 4, 5 + plantberrytree 23, 3, 5 + plantberrytree 22, 3, 5 + plantberrytree 21, 4, 5 + plantberrytree 19, 16, 5 + plantberrytree 20, 16, 5 + plantberrytree 80, 7, 5 + plantberrytree 81, 7, 5 + plantberrytree 77, 8, 5 + plantberrytree 78, 8, 5 + plantberrytree 68, 8, 5 + plantberrytree 31, 10, 5 + plantberrytree 33, 10, 5 + plantberrytree 34, 21, 5 + plantberrytree 35, 21, 5 + plantberrytree 36, 21, 5 + plantberrytree 83, 24, 5 + plantberrytree 84, 24, 5 + plantberrytree 85, 10, 5 + plantberrytree 86, 6, 5 + plantberrytree 37, 5, 5 + plantberrytree 38, 5, 5 + plantberrytree 39, 5, 5 + plantberrytree 40, 3, 5 + plantberrytree 41, 3, 5 + plantberrytree 42, 3, 5 + plantberrytree 46, 19, 5 + plantberrytree 45, 20, 5 + plantberrytree 44, 18, 5 + plantberrytree 43, 16, 5 + plantberrytree 47, 8, 5 + plantberrytree 48, 5, 5 + plantberrytree 49, 4, 5 + plantberrytree 50, 2, 5 + plantberrytree 52, 18, 5 + plantberrytree 53, 18, 5 + plantberrytree 62, 6, 5 + plantberrytree 64, 6, 5 + plantberrytree 58, 21, 5 + plantberrytree 59, 21, 5 + plantberrytree 60, 25, 5 + plantberrytree 61, 25, 5 + plantberrytree 79, 23, 5 + plantberrytree 14, 23, 5 + plantberrytree 15, 21, 5 + plantberrytree 30, 21, 5 + plantberrytree 65, 25, 5 + plantberrytree 72, 25, 5 + plantberrytree 73, 23, 5 + plantberrytree 74, 23, 5 + plantberrytree 87, 3, 5 + plantberrytree 88, 10, 5 + plantberrytree 89, 4, 5 + plantberrytree 82, 36, 5 return gUnknown_0819FA81:: @ 819FA81 @@ -1292,13 +1292,13 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13 clearflag 861 special sub_810FAA0 checkflag 291 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62 + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC62 checkflag 255 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC70 + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC70 checkflag 298 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5A + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5A checkflag 123 - callif 0, EverGrandeCity_HallOfFame_EventScript_19FC5E + call_if 0, EverGrandeCity_HallOfFame_EventScript_19FC5E return EverGrandeCity_HallOfFame_EventScript_19FC5A:: @ 819FC5A @@ -1322,25 +1322,25 @@ EverGrandeCity_HallOfFame_EventScript_19FC70:: @ 819FC70 S_WhiteOut:: @ 819FC74 call EverGrandeCity_HallOfFame_EventScript_19FD09 call EventScript_19FC84 - jump gUnknown_0819FC9F + goto gUnknown_0819FC9F end EventScript_19FC84: checkflag 221 - jumpeq Route101_EventScript_1A14DC + goto_if_eq Route101_EventScript_1A14DC checkflag 1213 - jumpif 0, Route101_EventScript_1A14DC + goto_if 0, Route101_EventScript_1A14DC clearflag 929 setvar 0x4053, 2 return gUnknown_0819FC9F:: @ 819FC9F compare 0x4096, 1 - jumpeq EventScript_19FCC1 + goto_if_eq EventScript_19FCC1 compare 0x4096, 2 - jumpeq EventScript_19FCD7 + goto_if_eq EventScript_19FCD7 compare 0x4096, 3 - jumpeq EventScript_19FCF0 + goto_if_eq EventScript_19FCF0 end EventScript_19FCC1: @@ -1393,15 +1393,15 @@ RustboroCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B SlateportCity_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B VerdanturfTown_PokemonCenter_1F_EventScript_19FD1B:: @ 819FD1B checkflag 188 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_1A14DC checkflag 1217 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_1A14DC + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_1A14DC checkflag 742 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD49 checkflag 740 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD4F checkflag 741 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FD55 return OldaleTown_PokemonCenter_1F_EventScript_19FD49:: @ 819FD49 @@ -1434,52 +1434,52 @@ VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B:: @ 819FD5B faceplayer msgbox gText_NurseJoy_Welcome, MSGBOX_YESNO compare RESULT, 1 - jumpeq do_heal_party + goto_if_eq do_heal_party compare RESULT, 0 - jumpeq dont_heal_party + goto_if_eq dont_heal_party end do_heal_party:: @ 819FD7C - inccounter GAME_STAT_USED_POKECENTER + incrementgamestat GAME_STAT_USED_POKECENTER message gText_NurseJoy_OkayIllTakeYourPokemon - waittext - move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F - waitmove 0 - doanimation 25 - checkanimation 25 - move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845 - waitmove 0 + waitmessage + applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A083F + waitmovement 0 + dofieldeffect 25 + waitfieldeffect 25 + applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845 + waitmovement 0 special ScrSpecial_HealPlayerParty checkflag 273 - jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE - jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE + goto OldaleTown_PokemonCenter_1F_EventScript_19FDB0 end OldaleTown_PokemonCenter_1F_EventScript_19FDB0:: @ 819FDB0 message gText_NurseJoy_ThankYouForWaiting - waittext - move 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4 - waitmove 0 + waitmessage + applymovement 0x800b, OldaleTown_PokemonCenter_1F_Movement_19FDF4 + waitmovement 0 message gText_NurseJoy_WeHopeToSeeYouAgain - waittext + waitmessage return dont_heal_party:: @ 819FDC7 message gText_NurseJoy_WeHopeToSeeYouAgain - waittext + waitmessage return OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE - specialval RESULT, IsPokerusInParty + specialvar RESULT, IsPokerusInParty compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDEA compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDB0 + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_19FDB0 end OldaleTown_PokemonCenter_1F_EventScript_19FDEA:: @ 819FDEA message gText_NurseJoy_Pokerus - waittext + waitmessage setflag 273 return @@ -1495,13 +1495,13 @@ Std_ObtainItem: @ 819FDF7 return Std_ObtainItem_: @ 819FE07 - bufferitem 1, 0x8000 + getitemname 1, 0x8000 checkitemtype 0x8000 call GetItem_HandlePocket compare 0x8007, 0x1 - callif 1, Std_ObtainItem_Success + call_if 1, Std_ObtainItem_Success compare 0x8007, 0x0 - callif 1, Std_ObtainItem_Fail + call_if 1, Std_ObtainItem_Fail return GetItem_HandlePocket: @@ -1514,39 +1514,39 @@ GetItem_HandlePocket: end GetItem_HandlePocket_Items: - bufferstd 2, 0xE + getstdstring 2, 0xE compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return GetItem_HandlePocket_KeyItems: - bufferstd 2, 0xF + getstdstring 2, 0xF compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return GetItem_HandlePocket_PokeBalls: - bufferstd 2, 0x10 + getstdstring 2, 0x10 compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return GetItem_HandlePocket_TMsHMs: - bufferstd 2, 0x11 + getstdstring 2, 0x11 compare 0x8007, 1 - callif 1, PlayGetTMHMFanfare + call_if 1, PlayGetTMHMFanfare return GetItem_HandlePocket_Berries: - bufferstd 2, 0x12 + getstdstring 2, 0x12 compare 0x8007, 1 - callif 1, PlayGetItemFanfare + call_if 1, PlayGetItemFanfare return Std_ObtainItem_Success: @ 819FEB7 message Message_ObtainedItem waitfanfare - waittext + waitmessage msgbox Message_PutAwayItem setvar RESULT, 1 return @@ -1556,11 +1556,11 @@ Std_ObtainItem_Fail: @ 819FECC return PlayGetItemFanfare: - fanfare 0x172 + playfanfare 0x172 return PlayGetTMHMFanfare: - fanfare 0x174 + playfanfare 0x174 return Std_ObtainDecoration: @ 819FEDA @@ -1570,18 +1570,18 @@ Std_ObtainDecoration: @ 819FEDA return Std_ObtainDecoration_: @ 819FEE8 - bufferdecor 1, 0x8000 + getdecorname 1, 0x8000 compare 0x8007, 1 - callif 1, Std_ObtainDecoration_Success + call_if 1, Std_ObtainDecoration_Success compare 0x8007, 0 - callif 1, Std_ObtainDecoration_Fail + call_if 1, Std_ObtainDecoration_Fail return Std_ObtainDecoration_Success: @ 819FF03 - fanfare 0x172 + playfanfare 0x172 message Message_ObtainedDecoration waitfanfare - waittext + waitmessage msgbox Message_TransferredToPC setvar RESULT, 1 return @@ -1593,24 +1593,24 @@ Std_ObtainDecoration_Fail: @ 819FF1B Std_FindItem: @ 819FF21 lock faceplayer - checksound + waitse additem 0x8000, 0x8001 copyvar 0x8007, RESULT - bufferitem 1, 0x8000 + getitemname 1, 0x8000 checkitemtype 0x8000 call GetItem_HandlePocket compare 0x8007, 1 - callif 1, Std_FindItem_Success + call_if 1, Std_FindItem_Success compare 0x8007, 0 - callif 1, Std_FindItem_Fail + call_if 1, Std_FindItem_Fail release return Std_FindItem_Success: @ 819FF52 - disappear LAST_TALKED + removeobject LAST_TALKED message Message_FoundOneItem waitfanfare - waittext + waitmessage msgbox Message_PutAwayItem return @@ -1622,22 +1622,22 @@ Std_FindItem_Fail: @ 819FF65 HiddenItemScript:: @ 819FF7B lockall - checksound + waitse additem 0x8005, 1 copyvar 0x8007, RESULT - bufferitem 0x1, 0x8005 + getitemname 0x1, 0x8005 checkitemtype 0x8005 call GetItem_HandlePocket compare 0x8007, 1 - jumpeq HiddenItemScript_Success + goto_if_eq HiddenItemScript_Success compare 0x8007, 0 - jumpeq HiddenItemScript_Fail + goto_if_eq HiddenItemScript_Fail end HiddenItemScript_Success: message Message_FoundOneItem waitfanfare - waittext + waitmessage msgbox Message_PutAwayItem special SetFlagInVar releaseall @@ -1655,10 +1655,10 @@ UnusedMixRecordsScript: @ 819FFD5 faceplayer msgbox UnusedMixRecordsPromptText, 5 compare RESULT, 1 - jumpeq UnusedMixRecordsScript_Yes + goto_if_eq UnusedMixRecordsScript_Yes compare RESULT, 0 - jumpeq UnusedMixRecordsScript_Done - jump UnusedMixRecordsScript_Done + goto_if_eq UnusedMixRecordsScript_Done + goto UnusedMixRecordsScript_Done UnusedMixRecordsScript_Yes: @ 819FFFA special sub_80B929C waitstate @@ -1666,7 +1666,7 @@ UnusedMixRecordsScript_Yes: @ 819FFFA faceplayer UnusedMixRecordsScript_Done: @ 81A0000 message UnusedMixRecordsSeeYouAgainText - waittext + waitmessage waitbutton release end @@ -1675,17 +1675,17 @@ gUnknown_081A0009:: @ 81A0009 lockall setvar 0x8004, 0 special DoPCTurnOnEffect - playsfx 4 + playse 4 msgbox UnknownString_81A09EC, 4 - jump EventScript_1A0023 + goto EventScript_1A0023 end EventScript_1A0023: message gPCText_WhichPCShouldBeAccessed - waittext + waitmessage special ScrSpecial_CreatePCMenu waitstate - jump EventScript_1A0033 + goto EventScript_1A0033 end EventScript_1A0033: @@ -1698,23 +1698,23 @@ EventScript_1A0033: end EventScript_1A0070: - playsfx 2 + playse 2 msgbox UnknownString_81A0A54, 4 special PlayerPC waitstate - jump EventScript_1A0023 + goto EventScript_1A0023 end EventScript_1A0085: - playsfx 2 + playse 2 checkflag 2123 - callif 0, EventScript_1A00AC + call_if 0, EventScript_1A00AC checkflag 2123 - callif 1, EventScript_1A00B5 + call_if 1, EventScript_1A00B5 msgbox UnknownString_81A0A35, 4 special ShowPokemonStorageSystem waitstate - jump EventScript_1A0023 + goto EventScript_1A0023 end EventScript_1A00AC: @@ -1727,18 +1727,18 @@ EventScript_1A00B5: EventScript_1A00BE: setvar 0x8004, 0 - playsfx 3 + playse 3 special DoPCTurnOffEffect releaseall end EventScript_1A00CB: checkflag 2052 - jumpif 0, EventScript_1A00BE - playsfx 2 + goto_if 0, EventScript_1A00BE + playse 2 special AccessHallOfFamePC waitstate - jump EventScript_1A0033 + goto EventScript_1A0033 end FallarborTown_EventScript_1A00E1:: @ 81A00E1 @@ -1797,7 +1797,7 @@ RustboroCity_Gym_EventScript_1A00FB:: @ 81A00FB DewfordTown_EventScript_1A0102:: @ 81A0102 DewfordTown_Hall_EventScript_1A0102:: @ 81A0102 - checkdailyflags + dodailyevents setvar 0x8004, 0 special sub_80FA5BC return @@ -1810,17 +1810,17 @@ Route109_EventScript_1A010C:: @ 81A010C return UseSurfScript:: @ 81A0117 - checkattack MOVE_SURF + checkpokemove MOVE_SURF compare RESULT, 6 - jumpeq UseSurfScript_NoMon - bufferpartypoke 0, RESULT - setanimation 0, RESULT + goto_if_eq UseSurfScript_NoMon + getpartypokename 0, RESULT + setfieldeffect 0, RESULT lockall msgbox UseSurfPromptText, 5 compare RESULT, 0 - jumpeq UseSurfScript_No + goto_if_eq UseSurfScript_No msgbox UsedSurfText, 4 - doanimation 9 + dofieldeffect 9 UseSurfScript_No: @ 81A014C releaseall UseSurfScript_NoMon: @ 81A014D @@ -1835,11 +1835,11 @@ Route103_EventScript_1A014E:: @ 81A014E Route110_EventScript_1A014E:: @ 81A014E Route119_EventScript_1A014E:: @ 81A014E RustboroCity_EventScript_1A014E:: @ 81A014E - checkgender + checkplayergender compare RESULT, 0 - jumpeq RustboroCity_EventScript_1A0166 + goto_if_eq RustboroCity_EventScript_1A0166 compare RESULT, 1 - jumpeq RustboroCity_EventScript_1A016C + goto_if_eq RustboroCity_EventScript_1A016C end RustboroCity_EventScript_1A0166:: @ 81A0166 @@ -1853,11 +1853,11 @@ RustboroCity_EventScript_1A016C:: @ 81A016C LavaridgeTown_EventScript_1A0172:: @ 81A0172 Route110_EventScript_1A0172:: @ 81A0172 Route119_EventScript_1A0172:: @ 81A0172 - checkgender + checkplayergender compare RESULT, 0 - jumpeq LavaridgeTown_EventScript_1A018A + goto_if_eq LavaridgeTown_EventScript_1A018A compare RESULT, 1 - jumpeq LavaridgeTown_EventScript_1A0190 + goto_if_eq LavaridgeTown_EventScript_1A0190 end LavaridgeTown_EventScript_1A018A:: @ 81A018A @@ -1939,66 +1939,66 @@ SootopolisCity_Gym_1F_EventScript_1A01C0:: @ 81A01C0 end DewfordTown_Gym_EventScript_1A021E:: @ 81A021E - cleartrainerflag OPPONENT_JOSH - cleartrainerflag OPPONENT_TOMMY + settrainerflag OPPONENT_JOSH + settrainerflag OPPONENT_TOMMY return DewfordTown_Gym_EventScript_1A0225:: @ 81A0225 - cleartrainerflag OPPONENT_HIDEKI - cleartrainerflag OPPONENT_TESSA - cleartrainerflag OPPONENT_LAURA + settrainerflag OPPONENT_HIDEKI + settrainerflag OPPONENT_TESSA + settrainerflag OPPONENT_LAURA return DewfordTown_Gym_EventScript_1A022F:: @ 81A022F - cleartrainerflag OPPONENT_KIRK - cleartrainerflag OPPONENT_SHAWN - cleartrainerflag OPPONENT_BEN - cleartrainerflag OPPONENT_VIVIAN + settrainerflag OPPONENT_KIRK + settrainerflag OPPONENT_SHAWN + settrainerflag OPPONENT_BEN + settrainerflag OPPONENT_VIVIAN return DewfordTown_Gym_EventScript_1A023C:: @ 81A023C - cleartrainerflag OPPONENT_COLE - cleartrainerflag OPPONENT_AXLE - cleartrainerflag OPPONENT_ANDY - cleartrainerflag OPPONENT_ZANE - cleartrainerflag OPPONENT_SADIE + settrainerflag OPPONENT_COLE + settrainerflag OPPONENT_AXLE + settrainerflag OPPONENT_ANDY + settrainerflag OPPONENT_ZANE + settrainerflag OPPONENT_SADIE return DewfordTown_Gym_EventScript_1A024C:: @ 81A024C - cleartrainerflag OPPONENT_RANDALL - cleartrainerflag OPPONENT_PARKER - cleartrainerflag OPPONENT_GEORGE - cleartrainerflag OPPONENT_BERKE - cleartrainerflag OPPONENT_MARY - cleartrainerflag OPPONENT_LORI - cleartrainerflag OPPONENT_JODY + settrainerflag OPPONENT_RANDALL + settrainerflag OPPONENT_PARKER + settrainerflag OPPONENT_GEORGE + settrainerflag OPPONENT_BERKE + settrainerflag OPPONENT_MARY + settrainerflag OPPONENT_LORI + settrainerflag OPPONENT_JODY return DewfordTown_Gym_EventScript_1A0262:: @ 81A0262 - cleartrainerflag OPPONENT_JARED - cleartrainerflag OPPONENT_TERRELL - cleartrainerflag OPPONENT_KYLEE - cleartrainerflag OPPONENT_WILL + settrainerflag OPPONENT_JARED + settrainerflag OPPONENT_TERRELL + settrainerflag OPPONENT_KYLEE + settrainerflag OPPONENT_WILL return DewfordTown_Gym_EventScript_1A026F:: @ 81A026F - cleartrainerflag OPPONENT_PRESTON - cleartrainerflag OPPONENT_VIRGIL - cleartrainerflag OPPONENT_FRITZ - cleartrainerflag OPPONENT_HANNAH - cleartrainerflag OPPONENT_SAMANTHA - cleartrainerflag OPPONENT_MAURA + settrainerflag OPPONENT_PRESTON + settrainerflag OPPONENT_VIRGIL + settrainerflag OPPONENT_FRITZ + settrainerflag OPPONENT_HANNAH + settrainerflag OPPONENT_SAMANTHA + settrainerflag OPPONENT_MAURA return DewfordTown_Gym_EventScript_1A0282:: @ 81A0282 - cleartrainerflag OPPONENT_ANDREA - cleartrainerflag OPPONENT_CRISSY - cleartrainerflag OPPONENT_BRIANNA_2 - cleartrainerflag OPPONENT_CONNIE - cleartrainerflag OPPONENT_BRIDGET - cleartrainerflag OPPONENT_OLIVIA - cleartrainerflag OPPONENT_TIFFANY - cleartrainerflag OPPONENT_MARISSA + settrainerflag OPPONENT_ANDREA + settrainerflag OPPONENT_CRISSY + settrainerflag OPPONENT_BRIANNA_2 + settrainerflag OPPONENT_CONNIE + settrainerflag OPPONENT_BRIDGET + settrainerflag OPPONENT_OLIVIA + settrainerflag OPPONENT_TIFFANY + settrainerflag OPPONENT_MARISSA return DewfordTown_Gym_EventScript_1A029B:: @ 81A029B @@ -2095,7 +2095,7 @@ MossdeepCity_Gym_EventScript_1A02C5:: @ 81A02C5 PetalburgCity_Gym_EventScript_1A02C5:: @ 81A02C5 RustboroCity_Gym_EventScript_1A02C5:: @ 81A02C5 SootopolisCity_Gym_1F_EventScript_1A02C5:: @ 81A02C5 - fanfare 369 + playfanfare 369 waitfanfare return @@ -2104,7 +2104,7 @@ Route111_OldLadysRestStop_EventScript_1A02CA:: @ 81A02CA Route119_WeatherInstitute_1F_EventScript_1A02CA:: @ 81A02CA SSTidalRooms_EventScript_1A02CA:: @ 81A02CA fadescreen 1 - fanfare 368 + playfanfare 368 waitfanfare special ScrSpecial_HealPlayerParty fadescreen 0 @@ -2123,37 +2123,37 @@ DewfordTown_EventScript_1A02E7:: @ 81A02E7 Route104_EventScript_1A02E7:: @ 81A02E7 Route109_EventScript_1A02E7:: @ 81A02E7 setflag 0x4001 - playmusic 431, 0 + playbgm 431, 0 return DewfordTown_EventScript_1A02EF:: @ 81A02EF Route104_EventScript_1A02EF:: @ 81A02EF Route109_EventScript_1A02EF:: @ 81A02EF clearflag 0x4001 - fadedefault + fadedefaultbgm return LittlerootTown_ProfessorBirchsLab_EventScript_1A02F4:: @ 81A02F4 Route101_EventScript_1A02F4:: @ 81A02F4 Route103_EventScript_1A02F4:: @ 81A02F4 compare 0x4085, 0 - jumpeq Route101_EventScript_1A14DC + goto_if_eq Route101_EventScript_1A14DC compare 0x4049, 0 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 compare 0x4049, 1 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 compare 0x4049, 2 - callif 1, Route101_EventScript_1A0365 + call_if 1, Route101_EventScript_1A0365 compare 0x4049, 3 - callif 1, Route101_EventScript_1A0365 + call_if 1, Route101_EventScript_1A0365 compare 0x4049, 4 - callif 1, Route101_EventScript_1A0372 + call_if 1, Route101_EventScript_1A0372 compare 0x4049, 5 - callif 1, Route101_EventScript_1A0372 + call_if 1, Route101_EventScript_1A0372 compare 0x4049, 6 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 compare 0x4049, 7 - callif 1, Route101_EventScript_1A0358 + call_if 1, Route101_EventScript_1A0358 return Route101_EventScript_1A0358:: @ 81A0358 @@ -2184,7 +2184,7 @@ Route103_EventScript_1A037F:: @ 81A037F faceplayer msgbox Route101_Text_1C4449, 5 compare RESULT, 0 - jumpeq Route101_EventScript_1A039B + goto_if_eq Route101_EventScript_1A039B call Route101_EventScript_1A03B0 release end @@ -2197,38 +2197,38 @@ Route101_EventScript_1A039B:: @ 81A039B Route101_EventScript_1A03A5:: @ 81A03A5 copyvar 0x8004, 0x8009 special ShowPokedexRatingMessage - waittext + waitmessage waitbutton return EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0 Route101_EventScript_1A03B0:: @ 81A03B0 setvar 0x8004, 0 - specialval RESULT, ScriptGetPokedexInfo + specialvar RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 copyvar 0x800a, RESULT - buffernum 0, 0x8008 - buffernum 1, 0x8009 + getnumberstring 0, 0x8008 + getnumberstring 1, 0x8009 msgbox Route101_Text_1C44DC, 4 call Route101_EventScript_1A03A5 compare 0x800a, 0 - jumpeq Route101_EventScript_1A14DC + goto_if_eq Route101_EventScript_1A14DC setvar 0x8004, 1 - specialval RESULT, ScriptGetPokedexInfo + specialvar RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 - buffernum 0, 0x8008 - buffernum 1, 0x8009 + getnumberstring 0, 0x8008 + getnumberstring 1, 0x8009 msgbox Route101_Text_1C4B05, 4 return BattleTower_Outside_EventScript_1A040E:: @ 81A040E LilycoveCity_Harbor_EventScript_1A040E:: @ 81A040E SlateportCity_Harbor_EventScript_1A040E:: @ 81A040E - pause 60 - move 0x8004, SlateportCity_Harbor_Movement_1A041C - waitmove 0 + delay 60 + applymovement 0x8004, SlateportCity_Harbor_Movement_1A041C + waitmovement 0 return SlateportCity_Harbor_Movement_1A041C:: @ 81A041C @@ -2254,8 +2254,8 @@ PetalburgCity_Gym_EventScript_1A0424:: @ 81A0424 return RusturfTunnel_EventScript_1A0442:: @ 81A0442 - disappear 1 - disappear 10 + removeobject 1 + removeobject 10 clearflag 808 clearflag 984 setvar 0x409a, 6 @@ -2263,14 +2263,14 @@ RusturfTunnel_EventScript_1A0442:: @ 81A0442 return EventScript_1A0457: @ unreferenced? - pause 30 - move 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841 - waitmove 0 - spritevisible 255, 0, 0 - pause 30 - move 255, Movement_1A047A - waitmove 0 - pause 30 + delay 30 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A0841 + waitmovement 0 + showobject 255, 0, 0 + delay 30 + applymovement 255, Movement_1A047A + waitmovement 0 + delay 30 return Movement_1A047A: @@ -2280,18 +2280,18 @@ Movement_1A047A: BattleTower_Outside_EventScript_1A047C:: @ 81A047C SouthernIsland_Exterior_EventScript_1A047C:: @ 81A047C compare FACING, 1 - callif 1, BattleTower_Outside_EventScript_160B2F + call_if 1, BattleTower_Outside_EventScript_160B2F compare FACING, 3 - callif 1, BattleTower_Outside_EventScript_160B3A - pause 30 - spriteinvisible 255, 0, 0 + call_if 1, BattleTower_Outside_EventScript_160B3A + delay 30 + hideobject 255, 0, 0 call BattleTower_Outside_EventScript_1A040E return CaveOfOrigin_B4F_EventScript_1A04A0:: @ 81A04A0 lockall - checksound - pokecry SPECIES_GROUDON_OR_KYOGRE, 2 + waitse + playpokecry SPECIES_GROUDON_OR_KYOGRE, 2 waitpokecry setvar 0x4005, 1 releaseall @@ -2303,20 +2303,20 @@ CaveOfOrigin_B2F_EventScript_1A04AF:: @ 81A04AF CaveOfOrigin_B3F_EventScript_1A04AF:: @ 81A04AF lockall setvar 0x4001, 1 - jump CaveOfOrigin_1F_EventScript_1A04D3 + goto CaveOfOrigin_1F_EventScript_1A04D3 end CaveOfOrigin_B2F_EventScript_1A04BB:: @ 81A04BB CaveOfOrigin_B3F_EventScript_1A04BB:: @ 81A04BB lockall setvar 0x4002, 1 - jump CaveOfOrigin_B2F_EventScript_1A04D3 + goto CaveOfOrigin_B2F_EventScript_1A04D3 end @ 81A04C7 lockall setvar 0x4003, 1 - jump CaveOfOrigin_B2F_EventScript_1A04D3 + goto CaveOfOrigin_B2F_EventScript_1A04D3 end CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3 @@ -2345,9 +2345,9 @@ MagmaHideout_B1F_EventScript_1A04FD:: @ 81A04FD lock faceplayer setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE - checksound - pokecry SPECIES_ELECTRODE, 2 - pause 40 + waitse + playpokecry SPECIES_ELECTRODE, 2 + delay 40 waitpokecry setflag 977 setflag 2145 @@ -2361,9 +2361,9 @@ MagmaHideout_B1F_EventScript_1A051B:: @ 81A051B lock faceplayer setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE - checksound - pokecry SPECIES_ELECTRODE, 2 - pause 40 + waitse + playpokecry SPECIES_ELECTRODE, 2 + delay 40 waitpokecry setflag 978 setflag 2145 @@ -2376,56 +2376,56 @@ Route120_EventScript_1A0539:: @ 81A0539 lock faceplayer setvar 0x8004, 1 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A0546:: @ 81A0546 lock faceplayer setvar 0x8004, 2 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A0553:: @ 81A0553 lock faceplayer setvar 0x8004, 3 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A0560:: @ 81A0560 lock faceplayer setvar 0x8004, 4 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route120_EventScript_1A056D:: @ 81A056D lock faceplayer setvar 0x8004, 5 - jump Route120_EventScript_1A0594 + goto Route120_EventScript_1A0594 end Route119_EventScript_1A057A:: @ 81A057A lock faceplayer setvar 0x8004, 6 - jump Route119_EventScript_1A0594 + goto Route119_EventScript_1A0594 end Route119_EventScript_1A0587:: @ 81A0587 lock faceplayer setvar 0x8004, 7 - jump Route119_EventScript_1A0594 + goto Route119_EventScript_1A0594 end Route119_EventScript_1A0594:: @ 81A0594 Route120_EventScript_1A0594:: @ 81A0594 checkitem ITEM_DEVON_SCOPE, 1 compare RESULT, 1 - jumpeq Route119_EventScript_1A05AE + goto_if_eq Route119_EventScript_1A05AE msgbox Route119_Text_171B93, 4 release end @@ -2433,36 +2433,36 @@ Route120_EventScript_1A0594:: @ 81A0594 Route119_EventScript_1A05AE:: @ 81A05AE msgbox Route119_Text_171BB6, 5 compare RESULT, 1 - jumpeq Route119_EventScript_1A05C3 + goto_if_eq Route119_EventScript_1A05C3 release end Route119_EventScript_1A05C3:: @ 81A05C3 msgbox Route119_Text_171BF6, 4 - closebutton - move LAST_TALKED, Route119_Movement_1A0839 - waitmove 0 - move LAST_TALKED, Route119_Movement_1A0662 - waitmove 0 - checksound - pokecry SPECIES_KECLEON, 2 - pause 40 + closemessage + applymovement LAST_TALKED, Route119_Movement_1A0839 + waitmovement 0 + applymovement LAST_TALKED, Route119_Movement_1A0662 + waitmovement 0 + waitse + playpokecry SPECIES_KECLEON, 2 + delay 40 waitpokecry setwildbattle SPECIES_KECLEON, 30, ITEM_NONE compare 0x8004, 1 - callif 1, Route119_EventScript_1A0646 + call_if 1, Route119_EventScript_1A0646 compare 0x8004, 2 - callif 1, Route119_EventScript_1A064A + call_if 1, Route119_EventScript_1A064A compare 0x8004, 3 - callif 1, Route119_EventScript_1A064E + call_if 1, Route119_EventScript_1A064E compare 0x8004, 4 - callif 1, Route119_EventScript_1A0652 + call_if 1, Route119_EventScript_1A0652 compare 0x8004, 5 - callif 1, Route119_EventScript_1A0656 + call_if 1, Route119_EventScript_1A0656 compare 0x8004, 6 - callif 1, Route119_EventScript_1A065A + call_if 1, Route119_EventScript_1A065A compare 0x8004, 7 - callif 1, Route119_EventScript_1A065E + call_if 1, Route119_EventScript_1A065E setflag 2145 dowildbattle clearflag 2145 @@ -2536,10 +2536,10 @@ FallarborTown_House1_EventScript_1A067F:: @ 81A067F GraniteCave_StevensRoom_EventScript_1A067F:: @ 81A067F MtPyre_Summit_EventScript_1A067F:: @ 81A067F SlateportCity_OceanicMuseum_2F_EventScript_1A067F:: @ 81A067F - bufferitem 0, 0x8004 - fanfare 372 + getitemname 0, 0x8004 + playfanfare 372 message FallarborTown_House1_Text_1A1498 - waittext + waitmessage waitfanfare removeitem 0x8004, 1 return @@ -2548,9 +2548,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_GlaciasRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_PhoebesRoom_EventScript_1A0693:: @ 81A0693 EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693 - move 255, EverGrandeCity_SidneysRoom_Movement_1A0853 - waitmove 0 - playsfx 8 + applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0853 + waitmovement 0 + playse 8 setmaptile 6, 1, 836, 0 setmaptile 6, 2, 837, 0 setmaptile 0, 2, 734, 1 @@ -2570,9 +2570,9 @@ EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_GlaciasRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_PhoebesRoom_EventScript_1A0710:: @ 81A0710 EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710 - move 255, EverGrandeCity_SidneysRoom_Movement_1A0847 - waitmove 0 - playsfx 52 + applymovement 255, EverGrandeCity_SidneysRoom_Movement_1A0847 + waitmovement 0 + playse 52 setmaptile 5, 12, 518, 1 setmaptile 6, 12, 518, 1 setmaptile 7, 12, 518, 1 @@ -3254,13 +3254,13 @@ gUnknown_081A14B8:: @ 81A14B8 special ExecuteWhiteOut waitstate compare RESULT, 1 - jumpeq EventScript_1A14CA + goto_if_eq EventScript_1A14CA releaseall end EventScript_1A14CA:: message UnknownString_81A1141 - waittext + waitmessage waitbutton special sub_8081924 waitstate @@ -3598,44 +3598,44 @@ gUnknown_081A2C51:: @ 81A2C51 special sub_80BB70C special sub_80BB63C compare RESULT, 1 - jumpeq EventScript_1A2E45 - checkattack MOVE_SECRET_POWER - setanimation 0, RESULT - bufferattack 1, MOVE_SECRET_POWER + goto_if_eq EventScript_1A2E45 + checkpokemove MOVE_SECRET_POWER + setfieldeffect 0, RESULT + getmovename 1, MOVE_SECRET_POWER compare 0x8007, 1 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 2 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 3 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 4 - jumpeq EventScript_1A2CB0 + goto_if_eq EventScript_1A2CB0 compare 0x8007, 5 - jumpeq EventScript_1A2D08 + goto_if_eq EventScript_1A2D08 compare 0x8007, 6 - jumpeq EventScript_1A2D60 + goto_if_eq EventScript_1A2D60 end EventScript_1A2CB0: lockall compare RESULT, 6 - jumpeq EventScript_1A2CF1 - bufferpartypoke 0, RESULT + goto_if_eq EventScript_1A2CF1 + getpartypokename 0, RESULT msgbox UnknownString_8198F34, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 11 + closemessage + dofieldeffect 11 waitstate - jump EventScript_1A2CFA + goto EventScript_1A2CFA end gUnknown_081A2CE6:: @ 81A2CE6 lockall - doanimation 11 + dofieldeffect 11 waitstate - jump EventScript_1A2CFA + goto EventScript_1A2CFA end EventScript_1A2CF1: @@ -3644,29 +3644,29 @@ EventScript_1A2CF1: EventScript_1A2CFA: msgbox UnknownString_8198F6E, 4 - jump EventScript_1A2DB8 + goto EventScript_1A2DB8 end EventScript_1A2D08: lockall compare RESULT, 6 - jumpeq EventScript_1A2D49 - bufferpartypoke 0, RESULT + goto_if_eq EventScript_1A2D49 + getpartypokename 0, RESULT msgbox UnknownString_81A197B, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 26 + closemessage + dofieldeffect 26 waitstate - jump EventScript_1A2D52 + goto EventScript_1A2D52 end gUnknown_081A2D3E:: @ 81A2D3E lockall - doanimation 26 + dofieldeffect 26 waitstate - jump EventScript_1A2D52 + goto EventScript_1A2D52 end EventScript_1A2D49: @@ -3675,29 +3675,29 @@ EventScript_1A2D49: EventScript_1A2D52: msgbox UnknownString_81A19C4, 4 - jump EventScript_1A2DB8 + goto EventScript_1A2DB8 end EventScript_1A2D60: lockall compare RESULT, 6 - jumpeq EventScript_1A2DA1 - bufferpartypoke 0, RESULT + goto_if_eq EventScript_1A2DA1 + getpartypokename 0, RESULT msgbox UnknownString_81A1A4B, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 27 + closemessage + dofieldeffect 27 waitstate - jump EventScript_1A2DAA + goto EventScript_1A2DAA end gUnknown_081A2D96:: @ 81A2D96 lockall - doanimation 27 + dofieldeffect 27 waitstate - jump EventScript_1A2DAA + goto EventScript_1A2DAA end EventScript_1A2DA1: @@ -3706,12 +3706,12 @@ EventScript_1A2DA1: EventScript_1A2DAA: msgbox UnknownString_81A1AA9, 4 - jump EventScript_1A2DB8 + goto EventScript_1A2DB8 end EventScript_1A2DB8: - closebutton - playsfx 9 + closemessage + playse 9 setvar 0x4097, 0 setflag 173 special sub_80BB8CC @@ -3724,19 +3724,19 @@ EventScript_1A2DB8: end SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE - move 255, SecretBase_RedCave1_Movement_1A2E11 - waitmove 0 + applymovement 255, SecretBase_RedCave1_Movement_1A2E11 + waitmovement 0 setvar 0x4097, 1 msgbox SecretBase_RedCave1_Text_198F89, 5 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A2E08 - closebutton - playsfx 9 + goto_if_eq SecretBase_RedCave1_EventScript_1A2E08 + closemessage + playse 9 special sub_80BC440 end SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08 - closebutton + closemessage setflag 96 special sub_80BBC78 waitstate @@ -3750,10 +3750,10 @@ SecretBase_RedCave1_Movement_1A2E11:: @ 81A2E11 gUnknown_081A2E14:: @ 81A2E14 lockall setvar 0x4097, 1 - playsfx 9 + playse 9 special sub_80BC114 compare RESULT, 0 - jumpeq EventScript_1A2E38 + goto_if_eq EventScript_1A2E38 clearflag 173 special sub_80BBAF0 setvar 0x4089, 0 @@ -3768,63 +3768,63 @@ EventScript_1A2E38: end EventScript_1A2E45: - checkattack MOVE_SECRET_POWER + checkpokemove MOVE_SECRET_POWER compare RESULT, 6 - jumpeq EventScript_1A2EF7 - setanimation 0, RESULT + goto_if_eq EventScript_1A2EF7 + setfieldeffect 0, RESULT setorcopyvar 0x8004, RESULT lockall special GetSecretBaseNearbyMapName msgbox UnknownString_81A3C71, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A msgbox UnknownString_81A38FB, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A + goto_if_eq EventScript_1A2F3A fadescreen 1 special sub_80BC50C - closebutton + closemessage fadescreen 0 msgbox UnknownString_81A3CC9, 5 compare RESULT, 0 - jumpeq EventScript_1A2F3A - bufferpartypoke 0, 0x8004 - bufferattack 1, MOVE_SECRET_POWER + goto_if_eq EventScript_1A2F3A + getpartypokename 0, 0x8004 + getmovename 1, MOVE_SECRET_POWER msgbox UsedCutRockSmashText, 4 - closebutton - closebutton + closemessage + closemessage compare 0x8007, 1 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 2 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 3 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 4 - jumpeq gUnknown_081A2CE6 + goto_if_eq gUnknown_081A2CE6 compare 0x8007, 5 - jumpeq gUnknown_081A2D3E + goto_if_eq gUnknown_081A2D3E compare 0x8007, 6 - jumpeq gUnknown_081A2D96 + goto_if_eq gUnknown_081A2D96 releaseall end EventScript_1A2EF7:: compare 0x8007, 1 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 2 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 3 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 4 - jumpeq EventScript_1A2CF1 + goto_if_eq EventScript_1A2CF1 compare 0x8007, 5 - jumpeq EventScript_1A2D49 + goto_if_eq EventScript_1A2D49 compare 0x8007, 6 - jumpeq EventScript_1A2DA1 + goto_if_eq EventScript_1A2DA1 end EventScript_1A2F3A:: - closebutton + closemessage releaseall end @@ -3858,7 +3858,7 @@ SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68 gUnknown_081A2F7B:: @ 81A2F7B setvar 0x8005, 0 - jump EventScript_1A2F86 + goto EventScript_1A2F86 end EventScript_1A2F86: @@ -3867,19 +3867,19 @@ EventScript_1A2F86: gUnknown_081A2F8A:: @ 81A2F8A setvar 0x8004, 0 - jump EventScript_1A2F95 + goto EventScript_1A2F95 end EventScript_1A2F95: special sub_8100A7C compare RESULT, 1 - jumpeq EventScript_1A2FBF + goto_if_eq EventScript_1A2FBF addvar 0x8004, 1 compare 0x8005, 0 - jumpeq EventScript_1A2F95 - disappear 0x8006 + goto_if_eq EventScript_1A2F95 + removeobject 0x8006 setflag 0x8005 - jump EventScript_1A2F95 + goto EventScript_1A2F95 end EventScript_1A2FBF: @@ -3911,45 +3911,45 @@ SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0 special sub_80BCE90 compare 0x8004, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3032 + goto_if_eq SecretBase_RedCave1_EventScript_1A3032 compare 0x8004, 1 - jumpeq SecretBase_RedCave1_EventScript_1A30AE + goto_if_eq SecretBase_RedCave1_EventScript_1A30AE compare 0x8004, 2 - jumpeq SecretBase_RedCave1_EventScript_1A312A + goto_if_eq SecretBase_RedCave1_EventScript_1A312A compare 0x8004, 3 - jumpeq SecretBase_RedCave1_EventScript_1A31A6 + goto_if_eq SecretBase_RedCave1_EventScript_1A31A6 compare 0x8004, 4 - jumpeq SecretBase_RedCave1_EventScript_1A3222 + goto_if_eq SecretBase_RedCave1_EventScript_1A3222 compare 0x8004, 5 - jumpeq SecretBase_RedCave1_EventScript_1A329E + goto_if_eq SecretBase_RedCave1_EventScript_1A329E compare 0x8004, 6 - jumpeq SecretBase_RedCave1_EventScript_1A331A + goto_if_eq SecretBase_RedCave1_EventScript_1A331A compare 0x8004, 7 - jumpeq SecretBase_RedCave1_EventScript_1A3396 + goto_if_eq SecretBase_RedCave1_EventScript_1A3396 compare 0x8004, 8 - jumpeq SecretBase_RedCave1_EventScript_1A3412 + goto_if_eq SecretBase_RedCave1_EventScript_1A3412 compare 0x8004, 9 - jumpeq SecretBase_RedCave1_EventScript_1A348E + goto_if_eq SecretBase_RedCave1_EventScript_1A348E end SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3086 + goto_if 0, SecretBase_RedCave1_EventScript_1A3086 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A30A5 + goto_if_eq SecretBase_RedCave1_EventScript_1A30A5 lock faceplayer msgbox SecretBase_RedCave1_Text_1A1AEA, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A308F + goto_if_eq SecretBase_RedCave1_EventScript_1A308F setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A308F - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A308F + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1B83, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086 @@ -3959,7 +3959,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086 SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1B97, 2 end @@ -3969,22 +3969,22 @@ SecretBase_RedCave1_EventScript_1A30A5:: @ 81A30A5 SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3102 + goto_if 0, SecretBase_RedCave1_EventScript_1A3102 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3121 + goto_if_eq SecretBase_RedCave1_EventScript_1A3121 lock faceplayer msgbox SecretBase_RedCave1_Text_1A1E67, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A310B + goto_if_eq SecretBase_RedCave1_EventScript_1A310B setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A310B - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A310B + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1F04, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102 @@ -3994,7 +3994,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102 SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1F2E, 2 end @@ -4004,22 +4004,22 @@ SecretBase_RedCave1_EventScript_1A3121:: @ 81A3121 SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A317E + goto_if 0, SecretBase_RedCave1_EventScript_1A317E compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A319D + goto_if_eq SecretBase_RedCave1_EventScript_1A319D lock faceplayer msgbox SecretBase_RedCave1_Text_1A218F, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3187 + goto_if_eq SecretBase_RedCave1_EventScript_1A3187 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3187 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A3187 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2220, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E @@ -4029,7 +4029,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2230, 2 end @@ -4039,22 +4039,22 @@ SecretBase_RedCave1_EventScript_1A319D:: @ 81A319D SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A31FA + goto_if 0, SecretBase_RedCave1_EventScript_1A31FA compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3219 + goto_if_eq SecretBase_RedCave1_EventScript_1A3219 lock faceplayer msgbox SecretBase_RedCave1_Text_1A24E1, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3203 + goto_if_eq SecretBase_RedCave1_EventScript_1A3203 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3203 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A3203 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A256F, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA @@ -4064,7 +4064,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A258A, 2 end @@ -4074,22 +4074,22 @@ SecretBase_RedCave1_EventScript_1A3219:: @ 81A3219 SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3276 + goto_if 0, SecretBase_RedCave1_EventScript_1A3276 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3295 + goto_if_eq SecretBase_RedCave1_EventScript_1A3295 lock faceplayer msgbox SecretBase_RedCave1_Text_1A2830, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A327F + goto_if_eq SecretBase_RedCave1_EventScript_1A327F setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A327F - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A327F + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A28D7, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276 @@ -4099,7 +4099,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276 SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A28F4, 2 end @@ -4109,22 +4109,22 @@ SecretBase_RedCave1_EventScript_1A3295:: @ 81A3295 SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A32F2 + goto_if 0, SecretBase_RedCave1_EventScript_1A32F2 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3311 + goto_if_eq SecretBase_RedCave1_EventScript_1A3311 lock faceplayer msgbox SecretBase_RedCave1_Text_1A1CB2, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A32FB + goto_if_eq SecretBase_RedCave1_EventScript_1A32FB setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A32FB - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A32FB + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1D48, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2 @@ -4134,7 +4134,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2 SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1D59, 2 end @@ -4144,22 +4144,22 @@ SecretBase_RedCave1_EventScript_1A3311:: @ 81A3311 SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A336E + goto_if 0, SecretBase_RedCave1_EventScript_1A336E compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A338D + goto_if_eq SecretBase_RedCave1_EventScript_1A338D lock faceplayer msgbox SecretBase_RedCave1_Text_1A2026, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3377 + goto_if_eq SecretBase_RedCave1_EventScript_1A3377 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A3377 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A3377 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2095, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E @@ -4169,7 +4169,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A20AE, 2 end @@ -4179,22 +4179,22 @@ SecretBase_RedCave1_EventScript_1A338D:: @ 81A338D SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A33EA + goto_if 0, SecretBase_RedCave1_EventScript_1A33EA compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3409 + goto_if_eq SecretBase_RedCave1_EventScript_1A3409 lock faceplayer msgbox SecretBase_RedCave1_Text_1A236A, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A33F3 + goto_if_eq SecretBase_RedCave1_EventScript_1A33F3 setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A33F3 - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A33F3 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2405, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA @@ -4204,7 +4204,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3 setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2420, 2 end @@ -4214,22 +4214,22 @@ SecretBase_RedCave1_EventScript_1A3409:: @ 81A3409 SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A3466 + goto_if 0, SecretBase_RedCave1_EventScript_1A3466 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3485 + goto_if_eq SecretBase_RedCave1_EventScript_1A3485 lock faceplayer msgbox SecretBase_RedCave1_Text_1A2663, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A346F + goto_if_eq SecretBase_RedCave1_EventScript_1A346F setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A346F - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A346F + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2710, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466 @@ -4239,7 +4239,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466 SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2736, 2 end @@ -4249,22 +4249,22 @@ SecretBase_RedCave1_EventScript_1A3485:: @ 81A3485 SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E checkflag 2052 - jumpif 0, SecretBase_RedCave1_EventScript_1A34E2 + goto_if 0, SecretBase_RedCave1_EventScript_1A34E2 compare RESULT, 1 - jumpeq SecretBase_RedCave1_EventScript_1A3501 + goto_if_eq SecretBase_RedCave1_EventScript_1A3501 lock faceplayer msgbox SecretBase_RedCave1_Text_1A2A13, 5 compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A34EB + goto_if_eq SecretBase_RedCave1_EventScript_1A34EB setvar RESULT, 1 special sub_80BCE4C call S_DoSaveDialog compare RESULT, 0 - jumpeq SecretBase_RedCave1_EventScript_1A34EB - hidebox 0, 0, 15, 10 + goto_if_eq SecretBase_RedCave1_EventScript_1A34EB + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2AE2, 4 - jump SecretBase_RedCave1_EventScript_1A350A + goto SecretBase_RedCave1_EventScript_1A350A end SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2 @@ -4274,7 +4274,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2 SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB setvar RESULT, 0 special sub_80BCE4C - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2AFB, 2 end @@ -4374,7 +4374,7 @@ FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46 SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46 SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46 special sub_80BDE48 - inccounter GAME_STAT_GOT_INTERVIEWED + incrementgamestat GAME_STAT_GOT_INTERVIEWED release end @@ -4382,13 +4382,13 @@ SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D setvar 0x8005, 1 special sub_80BF2C4 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADED6 copyvar 0x8009, 0x8006 msgbox SlateportCity_PokemonFanClub_Text_1A8704, 5 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE84 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE84 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9 end SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84 @@ -4400,9 +4400,9 @@ SlateportCity_PokemonFanClub_EventScript_1ADE84:: @ 81ADE84 lock faceplayer compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEC3 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEC3 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADEB9 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADEB9 end SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9 @@ -4413,7 +4413,7 @@ SlateportCity_PokemonFanClub_EventScript_1ADEB9:: @ 81ADEB9 SlateportCity_PokemonFanClub_EventScript_1ADEC3:: @ 81ADEC3 msgbox SlateportCity_PokemonFanClub_Text_1A8818, 4 setvar 0x8005, 1 - jump SlateportCity_PokemonFanClub_EventScript_1ADE46 + goto SlateportCity_PokemonFanClub_EventScript_1ADE46 end SlateportCity_PokemonFanClub_EventScript_1ADED6:: @ 81ADED6 @@ -4427,24 +4427,24 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 setvar 0x8005, 2 special sub_80BF2C4 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 copyvar 0x8009, 0x8006 checkflag 105 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF25 setflag 105 msgbox SlateportCity_OceanicMuseum_1F_Text_1A927F, 5 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF25:: @ 81ADF25 msgbox SlateportCity_OceanicMuseum_1F_Text_1A934C, 5 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF44 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44 @@ -4456,9 +4456,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF44:: @ 81ADF44 lock faceplayer compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF83 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_1ADF79 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79 @@ -4469,7 +4469,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF79:: @ 81ADF79 SlateportCity_OceanicMuseum_1F_EventScript_1ADF83:: @ 81ADF83 msgbox SlateportCity_OceanicMuseum_1F_Text_1A949A, 4 setvar 0x8005, 2 - jump SlateportCity_OceanicMuseum_1F_EventScript_1ADE46 + goto SlateportCity_OceanicMuseum_1F_EventScript_1ADE46 end SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96 @@ -4480,19 +4480,19 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96 SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0 lock faceplayer - specialval RESULT, sub_80BF544 + specialvar RESULT, sub_80BF544 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADE4D setvar 0x8005, 3 special sub_80BF2C4 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0AC copyvar 0x8009, 0x8006 msgbox SlateportCity_PokemonFanClub_Text_1A82F1, 5 compare RESULT, 1 - jumpeq SlateportCity_PokemonFanClub_EventScript_1ADFE9 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1ADFE9 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 end SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9 @@ -4507,17 +4507,17 @@ SlateportCity_PokemonFanClub_EventScript_1ADFE9:: @ 81ADFE9 SlateportCity_PokemonFanClub_EventScript_1AE020:: @ 81AE020 msgbox SlateportCity_PokemonFanClub_Text_1A8414, 4 - jump SlateportCity_PokemonFanClub_EventScript_1AE04A + goto SlateportCity_PokemonFanClub_EventScript_1AE04A end SlateportCity_PokemonFanClub_EventScript_1AE02E:: @ 81AE02E msgbox SlateportCity_PokemonFanClub_Text_1A8470, 4 - jump SlateportCity_PokemonFanClub_EventScript_1AE04A + goto SlateportCity_PokemonFanClub_EventScript_1AE04A end SlateportCity_PokemonFanClub_EventScript_1AE03C:: @ 81AE03C msgbox SlateportCity_PokemonFanClub_Text_1A84D5, 4 - jump SlateportCity_PokemonFanClub_EventScript_1AE04A + goto SlateportCity_PokemonFanClub_EventScript_1AE04A end SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A @@ -4528,18 +4528,18 @@ SlateportCity_PokemonFanClub_EventScript_1AE04A:: @ 81AE04A lock faceplayer compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 msgbox SlateportCity_PokemonFanClub_Text_1A852D, 4 setvar 0x8006, 1 call SlateportCity_PokemonFanClub_EventScript_1A00F3 lock faceplayer compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0A2 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1AE0A2 msgbox SlateportCity_PokemonFanClub_Text_1A85A6, 4 copyvar 0x8007, 0x800a setvar 0x8005, 3 - jump SlateportCity_PokemonFanClub_EventScript_1ADE46 + goto SlateportCity_PokemonFanClub_EventScript_1ADE46 end SlateportCity_PokemonFanClub_EventScript_1AE0A2:: @ 81AE0A2 @@ -4559,17 +4559,17 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 lock faceplayer checkflag 2 - jumpeq FallarborTown_ContestLobby_EventScript_1AE17E + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E setvar 0x8005, 6 special sub_80BF2C4 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE17E + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE17E copyvar 0x8009, 0x8006 msgbox FallarborTown_ContestLobby_Text_1A6F7C, 5 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE0F8 + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE0F8 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1AE12D + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D end FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8 @@ -4581,9 +4581,9 @@ FallarborTown_ContestLobby_EventScript_1AE0F8:: @ 81AE0F8 lock faceplayer compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE137 + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE137 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1AE12D + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D end FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D @@ -4602,11 +4602,11 @@ FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137 lock faceplayer compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1AE12D + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE12D msgbox FallarborTown_ContestLobby_Text_1A7153, 4 setflag 2 setvar 0x8005, 6 - jump FallarborTown_ContestLobby_EventScript_1ADE46 + goto FallarborTown_ContestLobby_EventScript_1ADE46 end FallarborTown_ContestLobby_EventScript_1AE17E:: @ 81AE17E @@ -4619,11 +4619,11 @@ LilycoveCity_ContestLobby_EventScript_1AE188:: @ 81AE188 SlateportCity_ContestLobby_EventScript_1AE188:: @ 81AE188 VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188 compare 0x4086, 2 - jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE + goto_if 5, FallarborTown_ContestLobby_EventScript_1AE1FE setvar 0x8005, 6 special sub_80BF2C4 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE + goto_if_eq FallarborTown_ContestLobby_EventScript_1AE1FE switch 0x4088 case 0, FallarborTown_ContestLobby_EventScript_1AE1FE case 2, FallarborTown_ContestLobby_EventScript_1AE1EE @@ -4656,28 +4656,28 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF lock faceplayer checkflag 2 - jumpeq BattleTower_Lobby_EventScript_1AE2E3 + goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 setvar 0x8005, 7 special sub_80BF2C4 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE2E3 + goto_if_eq BattleTower_Lobby_EventScript_1AE2E3 copyvar 0x8009, 0x8006 msgbox BattleTower_Lobby_Text_1A776D, 5 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE241 + goto_if_eq BattleTower_Lobby_EventScript_1AE241 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1AE297 + goto_if_eq BattleTower_Lobby_EventScript_1AE297 end BattleTower_Lobby_EventScript_1AE241:: @ 81AE241 message BattleTower_Lobby_Text_1A7823 - waittext + waitmessage multichoice 19, 8, 45, 1 copyvar 0x8008, RESULT compare RESULT, 0 - callif 1, BattleTower_Lobby_EventScript_1AE2A1 + call_if 1, BattleTower_Lobby_EventScript_1AE2A1 compare RESULT, 1 - callif 1, BattleTower_Lobby_EventScript_1AE2AA + call_if 1, BattleTower_Lobby_EventScript_1AE2AA msgbox BattleTower_Lobby_Text_1A79EB, 4 setvar 0x8004, 12 copyvar 0x8005, 0x8009 @@ -4685,9 +4685,9 @@ BattleTower_Lobby_EventScript_1AE241:: @ 81AE241 lock faceplayer compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE2B3 + goto_if_eq BattleTower_Lobby_EventScript_1AE2B3 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1AE2D9 + goto_if_eq BattleTower_Lobby_EventScript_1AE2D9 end BattleTower_Lobby_EventScript_1AE297:: @ 81AE297 @@ -4705,12 +4705,12 @@ BattleTower_Lobby_EventScript_1AE2AA:: @ 81AE2AA BattleTower_Lobby_EventScript_1AE2B3:: @ 81AE2B3 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1AE2D9 + goto_if_eq BattleTower_Lobby_EventScript_1AE2D9 msgbox BattleTower_Lobby_Text_1A7A6E, 4 setflag 2 copyvar 0x8004, 0x8008 setvar 0x8005, 7 - jump BattleTower_Lobby_EventScript_1ADE46 + goto BattleTower_Lobby_EventScript_1ADE46 end BattleTower_Lobby_EventScript_1AE2D9:: @ 81AE2D9 @@ -4725,11 +4725,11 @@ BattleTower_Lobby_EventScript_1AE2E3:: @ 81AE2E3 BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED compare 0x40bc, 0 - jumpeq BattleTower_Lobby_EventScript_1AE30F + goto_if_eq BattleTower_Lobby_EventScript_1AE30F setvar 0x8005, 7 special sub_80BF2C4 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1AE30F + goto_if_eq BattleTower_Lobby_EventScript_1AE30F clearflag 918 return @@ -4763,8 +4763,8 @@ BattleTower_Lobby_EventScript_1AE30F:: @ 81AE30F .include "data/text/magma_summit.inc" gUnknown_081B694A:: @ 81B694A - lighten 1 - darken 1 + animdarklevel 1 + setdarklevel 1 end .include "data/scripts/players_house.inc" @@ -4791,25 +4791,25 @@ Text_RepelWoreOff: @ 81C33EF MauvilleCity_GameCorner_EventScript_1C407E:: @ 81C407E checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 0 - event_96 2 + getpricereduction 2 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1C40DA + goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA addvar 0x8004, 128 - jump MauvilleCity_GameCorner_EventScript_1C40DA + goto MauvilleCity_GameCorner_EventScript_1C40DA end MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 1 - event_96 2 + getpricereduction 2 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1C40DA + goto_if_eq MauvilleCity_GameCorner_EventScript_1C40DA addvar 0x8004, 128 - jump MauvilleCity_GameCorner_EventScript_1C40DA + goto MauvilleCity_GameCorner_EventScript_1C40DA end MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA @@ -4870,22 +4870,22 @@ SkyPillar_4F_MapScript1_1C6BBF:: @ 81C6BBF S_FallDownHole:: @ 81C6BC5 lockall - pause 20 - move 255, GraniteCave_B1F_Movement_1C6BF7 - waitmove 0 - playsfx 43 - pause 60 + delay 20 + applymovement 255, GraniteCave_B1F_Movement_1C6BF7 + waitmovement 0 + playse 43 + delay 60 warphole UNDEFINED waitstate end gUnknown_081C6BDE:: @ 81C6BDE lockall - pause 20 - move 255, GraniteCave_B1F_Movement_1C6BF7 - waitmove 0 - playsfx 43 - pause 60 + delay 20 + applymovement 255, GraniteCave_B1F_Movement_1C6BF7 + waitmovement 0 + playse 43 + delay 60 special sp13F_fall_to_last_warp waitstate end @@ -4917,9 +4917,9 @@ gUnknown_081C6C02:: @ 81C6C02 @ 81C6C1D lockall - braillemsg Underwater_SealedChamber_Braille_1C533D + braillemessage Underwater_SealedChamber_Braille_1C533D waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s deleted file mode 100644 index d22bd8dde..000000000 --- a/data/field_effect_helpers.s +++ /dev/null @@ -1,37 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ XXX: Unused? Probably aligned because it's at the beginning of an object file. - .align 2 - .string "タマゴ$" - - .align 1 -gUnknown_08401E2C:: @ 8401E2C - .2byte 0xC, 0x1C, 0x2C - -gUnknown_08401E32:: @ 8401E32 - .byte 0, 1, 2, 3 - - .align 1 -gUnknown_08401E36:: @ 8401E36 - .2byte 4, 4, 4, 16 - - .align 2 -gUnknown_08401E40:: @ 8401E40 - .4byte sub_81275A0 - .4byte sub_81275C4 - - .align 2 -gUnknown_08401E48:: @ 8401E48 - .4byte sub_8127DA0 - .4byte sub_8127DD0 - .4byte sub_8127E30 - -gUnknown_08401E54:: @ 8401E54 - .byte 0, 0, 1, 2, 3 - - .align 1 -gUnknown_08401E5A:: @ 8401E5A - .2byte 3, 7 diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc index 9911dca3a..c36f95460 100644 --- a/data/field_move_scripts.inc +++ b/data/field_move_scripts.inc @@ -1,34 +1,34 @@ S_CuttableTree:: @ 81B0DCC lockall checkflag 2055 - jumpif 0, CannotUseCut - checkattack MOVE_CUT + goto_if 0, CannotUseCut + checkpokemove MOVE_CUT compare RESULT, 6 - jumpeq CannotUseCut - setanimation 0, RESULT - bufferpartypoke 0, RESULT - bufferattack 1, MOVE_CUT + goto_if_eq CannotUseCut + setfieldeffect 0, RESULT + getpartypokename 0, RESULT + getmovename 1, MOVE_CUT msgbox UseCutPromptText, 5 compare RESULT, 0 - jumpeq Cut_ChoseNo + goto_if_eq Cut_ChoseNo msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 2 + closemessage + dofieldeffect 2 waitstate - jump DoTreeCutMovement + goto DoTreeCutMovement end S_UseCut:: @ 81B0E16 lockall - doanimation 2 + dofieldeffect 2 waitstate - jump DoTreeCutMovement + goto DoTreeCutMovement end DoTreeCutMovement: @ 81B0E21 - move LAST_TALKED, TreeCutMovement @ tree cut animation - waitmove 0 - disappear LAST_TALKED @ tree disappears + applymovement LAST_TALKED, TreeCutMovement @ tree cut animation + waitmovement 0 + removeobject LAST_TALKED @ tree disappears releaseall end @@ -42,7 +42,7 @@ CannotUseCut: @ 81B0E32 end Cut_ChoseNo: @ 81B0E3C - closebutton + closemessage releaseall end @@ -59,40 +59,40 @@ CannotUseCutText: @ 81B0E8E S_BreakableRock:: @ 81B0EB7 lockall checkflag 2057 - jumpif 0, CannotUseRockSmash - checkattack MOVE_ROCK_SMASH + goto_if 0, CannotUseRockSmash + checkpokemove MOVE_ROCK_SMASH compare RESULT, 6 - jumpeq CannotUseRockSmash - setanimation 0, RESULT - bufferpartypoke 0, RESULT - bufferattack 1, MOVE_ROCK_SMASH + goto_if_eq CannotUseRockSmash + setfieldeffect 0, RESULT + getpartypokename 0, RESULT + getmovename 1, MOVE_ROCK_SMASH msgbox UseRockSmashPromptText, 5 compare RESULT, 0 - jumpeq RockSmash_ChoseNo + goto_if_eq RockSmash_ChoseNo msgbox UsedCutRockSmashText, 4 - closebutton - doanimation 37 + closemessage + dofieldeffect 37 waitstate - jump DoRockSmashMovement + goto DoRockSmashMovement end S_UseRockSmash:: @ 81B0F01 lockall - doanimation 37 + dofieldeffect 37 waitstate - jump DoRockSmashMovement + goto DoRockSmashMovement end DoRockSmashMovement: @ 81B0F0C - move LAST_TALKED, RockSmashMovement - waitmove 0 - disappear LAST_TALKED - specialval RESULT, sub_810F5BC + applymovement LAST_TALKED, RockSmashMovement + waitmovement 0 + removeobject LAST_TALKED + specialvar RESULT, sub_810F5BC compare RESULT, 1 - jumpeq DoRockSmashMovement_Done + goto_if_eq DoRockSmashMovement_Done special ScrSpecial_RockSmashWildEncounter compare RESULT, 0 - jumpeq DoRockSmashMovement_Done + goto_if_eq DoRockSmashMovement_Done waitstate releaseall end @@ -111,7 +111,7 @@ CannotUseRockSmash: @ 81B0F3E end RockSmash_ChoseNo: @ 81B0F48 - closebutton + closemessage releaseall end @@ -126,27 +126,27 @@ CannotUseRockSmashText: @ 81B0F90 S_PushableBoulder:: @ 81B0FCB lockall checkflag 2058 - jumpif 0, CannotUseStrength + goto_if 0, CannotUseStrength checkflag 2089 - jumpeq AlreadyUsedStrength - checkattack 70 + goto_if_eq AlreadyUsedStrength + checkpokemove 70 compare RESULT, 6 - jumpeq CannotUseStrength - setanimation 0, RESULT + goto_if_eq CannotUseStrength + setfieldeffect 0, RESULT msgbox UseStrengthPromptText, 5 compare RESULT, 0 - jumpeq Strength_ChoseNo - closebutton - doanimation 40 + goto_if_eq Strength_ChoseNo + closemessage + dofieldeffect 40 waitstate - jump UsedStrength + goto UsedStrength end S_UseStrength:: @ 81B100E lockall - doanimation 40 + dofieldeffect 40 waitstate - jump UsedStrength + goto UsedStrength end UsedStrength: @ 81B1019 @@ -166,7 +166,7 @@ AlreadyUsedStrength: @ 81B1030 end Strength_ChoseNo: @ 81B103A - closebutton + closemessage releaseall end @@ -190,17 +190,17 @@ AlreadyUsedStrengthText: @ 81B1127 S_UseWaterfall:: @ 81B115A lockall - checkattack MOVE_WATERFALL + checkpokemove MOVE_WATERFALL compare RESULT, 6 - jumpeq Waterfall_NoMonKnows - bufferpartypoke 0, RESULT - setanimation 0, RESULT + goto_if_eq Waterfall_NoMonKnows + getpartypokename 0, RESULT + setfieldeffect 0, RESULT msgbox UseWaterfallPromptText, 5 compare RESULT, 0 - jumpeq Waterfall_Done + goto_if_eq Waterfall_Done msgbox UsedWaterfallText, 4 - doanimation 43 - jump Waterfall_Done + dofieldeffect 43 + goto Waterfall_Done S_CannotUseWaterfall:: @ 81B1194 lockall @@ -223,18 +223,18 @@ UsedWaterfallText: @ 81B120D UseDiveScript:: @ 81B1220 lockall - checkattack MOVE_DIVE + checkpokemove MOVE_DIVE compare RESULT, 6 - jumpeq CannotUseDive - bufferpartypoke 0, RESULT - setanimation 0, RESULT - setanimation 1, 1 + goto_if_eq CannotUseDive + getpartypokename 0, RESULT + setfieldeffect 0, RESULT + setfieldeffect 1, 1 msgbox UseDivePromptText, 5 compare RESULT, 0 - jumpeq Dive_Done + goto_if_eq Dive_Done msgbox UsedDiveText, 4 - doanimation 44 - jump Dive_Done + dofieldeffect 44 + goto Dive_Done lockall CannotUseDive: @ 81B125F @@ -246,23 +246,23 @@ Dive_Done: @ 81B1267 S_UseDiveUnderwater:: @ 81B1269 lockall - checkattack MOVE_DIVE + checkpokemove MOVE_DIVE compare RESULT, 6 - jumpeq UnderwaterCannotUseDive - bufferpartypoke 0, RESULT - setanimation 0, RESULT - setanimation 1, 1 + goto_if_eq UnderwaterCannotUseDive + getpartypokename 0, RESULT + setfieldeffect 0, RESULT + setfieldeffect 1, 1 msgbox UnderwaterUseDivePromptText, 5 compare RESULT, 0 - jumpeq UnderwaterDive_Done + goto_if_eq UnderwaterDive_Done msgbox UsedDiveText, 4 - doanimation 44 - jump UnderwaterDive_Done + dofieldeffect 44 + goto UnderwaterDive_Done UnderwaterCannotUseDive: @ 81B12A7 lockall msgbox UnderwaterCannotUseDiveText, 4 - jump UnderwaterDive_Done + goto UnderwaterDive_Done @ not used SurfacingBlocked: @ 81B12B5 diff --git a/data/field_special_scene.s b/data/field_special_scene.s deleted file mode 100644 index 9d3958924..000000000 --- a/data/field_special_scene.s +++ /dev/null @@ -1,41 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gMapObjectPic_MovingBox:: @ 83D28AC - .incbin "graphics/map_objects/pics/misc/moving_box.4bpp" - - .align 2 -gMapObjectPalette19:: @ 83D292C - .incbin "graphics/map_objects/palettes/19.gbapal" - -gTruckCamera_HorizontalTable:: @ 83D294C - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - -gUnknown_083D295F:: @ 83D295F - step_18 - step_end - -gUnknown_083D2961:: @ 83D2961 - step_17 - step_end diff --git a/data/graphics/berries/graphics.inc b/data/graphics/berries/graphics.inc index 19207ee32..e8edf9a3b 100644 --- a/data/graphics/berries/graphics.inc +++ b/data/graphics/berries/graphics.inc @@ -1,343 +1,343 @@ .align 2 gBerryPic_Cheri:: @ 8E78D00 - .incbin "graphics/berries/cheri/pic.4bpp.lz" + .incbin "graphics/berries/cheri.4bpp.lz" .align 2 gBerryPic_Oran:: @ 8E78E54 - .incbin "graphics/berries/oran/pic.4bpp.lz" + .incbin "graphics/berries/oran.4bpp.lz" .align 2 gBerryPic_Pecha:: @ 8E78FC8 - .incbin "graphics/berries/pecha/pic.4bpp.lz" + .incbin "graphics/berries/pecha.4bpp.lz" .align 2 gBerryPic_Rawst:: @ 8E7913C - .incbin "graphics/berries/rawst/pic.4bpp.lz" + .incbin "graphics/berries/rawst.4bpp.lz" .align 2 gBerryPic_Aspear:: @ 8E792D4 - .incbin "graphics/berries/aspear/pic.4bpp.lz" + .incbin "graphics/berries/aspear.4bpp.lz" .align 2 gBerryPic_Leppa:: @ 8E7947C - .incbin "graphics/berries/leppa/pic.4bpp.lz" + .incbin "graphics/berries/leppa.4bpp.lz" .align 2 gBerryPic_Chesto:: @ 8E795EC - .incbin "graphics/berries/chesto/pic.4bpp.lz" + .incbin "graphics/berries/chesto.4bpp.lz" .align 2 gBerryPic_Persim:: @ 8E797D0 - .incbin "graphics/berries/persim/pic.4bpp.lz" + .incbin "graphics/berries/persim.4bpp.lz" .align 2 gBerryPic_Lum:: @ 8E79920 - .incbin "graphics/berries/lum/pic.4bpp.lz" + .incbin "graphics/berries/lum.4bpp.lz" .align 2 gBerryPic_Sitrus:: @ 8E79A3C - .incbin "graphics/berries/sitrus/pic.4bpp.lz" + .incbin "graphics/berries/sitrus.4bpp.lz" .align 2 gBerryPic_Figy:: @ 8E79BE0 - .incbin "graphics/berries/figy/pic.4bpp.lz" + .incbin "graphics/berries/figy.4bpp.lz" .align 2 gBerryPic_Wiki:: @ 8E79D8C - .incbin "graphics/berries/wiki/pic.4bpp.lz" + .incbin "graphics/berries/wiki.4bpp.lz" .align 2 gBerryPic_Mago:: @ 8E79F80 - .incbin "graphics/berries/mago/pic.4bpp.lz" + .incbin "graphics/berries/mago.4bpp.lz" .align 2 gBerryPic_Aguav:: @ 8E7A134 - .incbin "graphics/berries/aguav/pic.4bpp.lz" + .incbin "graphics/berries/aguav.4bpp.lz" .align 2 gBerryPic_Iapapa:: @ 8E7A2A8 - .incbin "graphics/berries/iapapa/pic.4bpp.lz" + .incbin "graphics/berries/iapapa.4bpp.lz" .align 2 gBerryPic_Razz:: @ 8E7A560 - .incbin "graphics/berries/razz/pic.4bpp.lz" + .incbin "graphics/berries/razz.4bpp.lz" .align 2 gBerryPic_Bluk:: @ 8E7A790 - .incbin "graphics/berries/bluk/pic.4bpp.lz" + .incbin "graphics/berries/bluk.4bpp.lz" .align 2 gBerryPic_Nanab:: @ 8E7A978 - .incbin "graphics/berries/nanab/pic.4bpp.lz" + .incbin "graphics/berries/nanab.4bpp.lz" .align 2 gBerryPic_Wepear:: @ 8E7AAEC - .incbin "graphics/berries/wepear/pic.4bpp.lz" + .incbin "graphics/berries/wepear.4bpp.lz" .align 2 gBerryPic_Pinap:: @ 8E7ACB4 - .incbin "graphics/berries/pinap/pic.4bpp.lz" + .incbin "graphics/berries/pinap.4bpp.lz" .align 2 gBerryPic_Pomeg:: @ 8E7AEC8 - .incbin "graphics/berries/pomeg/pic.4bpp.lz" + .incbin "graphics/berries/pomeg.4bpp.lz" .align 2 gBerryPic_Kelpsy:: @ 8E7B070 - .incbin "graphics/berries/kelpsy/pic.4bpp.lz" + .incbin "graphics/berries/kelpsy.4bpp.lz" .align 2 gBerryPic_Qualot:: @ 8E7B218 - .incbin "graphics/berries/qualot/pic.4bpp.lz" + .incbin "graphics/berries/qualot.4bpp.lz" .align 2 gBerryPic_Hondew:: @ 8E7B3E4 - .incbin "graphics/berries/hondew/pic.4bpp.lz" + .incbin "graphics/berries/hondew.4bpp.lz" .align 2 gBerryPic_Grepa:: @ 8E7B63C - .incbin "graphics/berries/grepa/pic.4bpp.lz" + .incbin "graphics/berries/grepa.4bpp.lz" .align 2 gBerryPic_Tamato:: @ 8E7B7CC - .incbin "graphics/berries/tamato/pic.4bpp.lz" + .incbin "graphics/berries/tamato.4bpp.lz" .align 2 gBerryPic_Cornn:: @ 8E7BA90 - .incbin "graphics/berries/cornn/pic.4bpp.lz" + .incbin "graphics/berries/cornn.4bpp.lz" .align 2 gBerryPic_Magost:: @ 8E7BC94 - .incbin "graphics/berries/magost/pic.4bpp.lz" + .incbin "graphics/berries/magost.4bpp.lz" .align 2 gBerryPic_Rabuta:: @ 8E7BE38 - .incbin "graphics/berries/rabuta/pic.4bpp.lz" + .incbin "graphics/berries/rabuta.4bpp.lz" .align 2 gBerryPic_Nomel:: @ 8E7C12C - .incbin "graphics/berries/nomel/pic.4bpp.lz" + .incbin "graphics/berries/nomel.4bpp.lz" .align 2 gBerryPic_Spelon:: @ 8E7C308 - .incbin "graphics/berries/spelon/pic.4bpp.lz" + .incbin "graphics/berries/spelon.4bpp.lz" .align 2 gBerryPic_Pamtre:: @ 8E7C4F8 - .incbin "graphics/berries/pamtre/pic.4bpp.lz" + .incbin "graphics/berries/pamtre.4bpp.lz" .align 2 gBerryPic_Watmel:: @ 8E7C748 - .incbin "graphics/berries/watmel/pic.4bpp.lz" + .incbin "graphics/berries/watmel.4bpp.lz" .align 2 gBerryPic_Durin:: @ 8E7CA2C - .incbin "graphics/berries/durin/pic.4bpp.lz" + .incbin "graphics/berries/durin.4bpp.lz" .align 2 gBerryPic_Belue:: @ 8E7CDF8 - .incbin "graphics/berries/belue/pic.4bpp.lz" + .incbin "graphics/berries/belue.4bpp.lz" .align 2 gBerryPic_Liechi:: @ 8E7D0D0 - .incbin "graphics/berries/liechi/pic.4bpp.lz" + .incbin "graphics/berries/liechi.4bpp.lz" .align 2 gBerryPic_Ganlon:: @ 8E7D328 - .incbin "graphics/berries/ganlon/pic.4bpp.lz" + .incbin "graphics/berries/ganlon.4bpp.lz" .align 2 gBerryPic_Salac:: @ 8E7D4C0 - .incbin "graphics/berries/salac/pic.4bpp.lz" + .incbin "graphics/berries/salac.4bpp.lz" .align 2 gBerryPic_Petaya:: @ 8E7D704 - .incbin "graphics/berries/petaya/pic.4bpp.lz" + .incbin "graphics/berries/petaya.4bpp.lz" .align 2 gBerryPic_Apicot:: @ 8E7D9AC - .incbin "graphics/berries/apicot/pic.4bpp.lz" + .incbin "graphics/berries/apicot.4bpp.lz" .align 2 gBerryPic_Lansat:: @ 8E7DB3C - .incbin "graphics/berries/lansat/pic.4bpp.lz" + .incbin "graphics/berries/lansat.4bpp.lz" .align 2 gBerryPic_Starf:: @ 8E7DD30 - .incbin "graphics/berries/starf/pic.4bpp.lz" + .incbin "graphics/berries/starf.4bpp.lz" .align 2 gBerryPic_Enigma:: @ 8E7DF00 - .incbin "graphics/berries/enigma/pic.4bpp.lz" + .incbin "graphics/berries/enigma.4bpp.lz" .align 2 gBerryPalette_Cheri:: @ 8E7E118 - .incbin "graphics/berries/cheri/palette.gbapal.lz" + .incbin "graphics/berries/cheri.gbapal.lz" .align 2 gBerryPalette_Oran:: @ 8E7E140 - .incbin "graphics/berries/oran/palette.gbapal.lz" + .incbin "graphics/berries/oran.gbapal.lz" .align 2 gBerryPalette_Pecha:: @ 8E7E168 - .incbin "graphics/berries/pecha/palette.gbapal.lz" + .incbin "graphics/berries/pecha.gbapal.lz" .align 2 gBerryPalette_Rawst:: @ 8E7E190 - .incbin "graphics/berries/rawst/palette.gbapal.lz" + .incbin "graphics/berries/rawst.gbapal.lz" .align 2 gBerryPalette_Aspear:: @ 8E7E1B8 - .incbin "graphics/berries/aspear/palette.gbapal.lz" + .incbin "graphics/berries/aspear.gbapal.lz" .align 2 gBerryPalette_Leppa:: @ 8E7E1E0 - .incbin "graphics/berries/leppa/palette.gbapal.lz" + .incbin "graphics/berries/leppa.gbapal.lz" .align 2 gBerryPalette_Chesto:: @ 8E7E208 - .incbin "graphics/berries/chesto/palette.gbapal.lz" + .incbin "graphics/berries/chesto.gbapal.lz" .align 2 gBerryPalette_Persim:: @ 8E7E230 - .incbin "graphics/berries/persim/palette.gbapal.lz" + .incbin "graphics/berries/persim.gbapal.lz" .align 2 gBerryPalette_Lum:: @ 8E7E258 - .incbin "graphics/berries/lum/palette.gbapal.lz" + .incbin "graphics/berries/lum.gbapal.lz" .align 2 gBerryPalette_Sitrus:: @ 8E7E280 - .incbin "graphics/berries/sitrus/palette.gbapal.lz" + .incbin "graphics/berries/sitrus.gbapal.lz" .align 2 gBerryPalette_Figy:: @ 8E7E2A8 - .incbin "graphics/berries/figy/palette.gbapal.lz" + .incbin "graphics/berries/figy.gbapal.lz" .align 2 gBerryPalette_Wiki:: @ 8E7E2D0 - .incbin "graphics/berries/wiki/palette.gbapal.lz" + .incbin "graphics/berries/wiki.gbapal.lz" .align 2 gBerryPalette_Mago:: @ 8E7E2F8 - .incbin "graphics/berries/mago/palette.gbapal.lz" + .incbin "graphics/berries/mago.gbapal.lz" .align 2 gBerryPalette_Aguav:: @ 8E7E320 - .incbin "graphics/berries/aguav/palette.gbapal.lz" + .incbin "graphics/berries/aguav.gbapal.lz" .align 2 gBerryPalette_Iapapa:: @ 8E7E348 - .incbin "graphics/berries/iapapa/palette.gbapal.lz" + .incbin "graphics/berries/iapapa.gbapal.lz" .align 2 gBerryPalette_Razz:: @ 8E7E370 - .incbin "graphics/berries/razz/palette.gbapal.lz" + .incbin "graphics/berries/razz.gbapal.lz" .align 2 gBerryPalette_Bluk:: @ 8E7E398 - .incbin "graphics/berries/bluk/palette.gbapal.lz" + .incbin "graphics/berries/bluk.gbapal.lz" .align 2 gBerryPalette_Nanab:: @ 8E7E3C0 - .incbin "graphics/berries/nanab/palette.gbapal.lz" + .incbin "graphics/berries/nanab.gbapal.lz" .align 2 gBerryPalette_Wepear:: @ 8E7E3E8 - .incbin "graphics/berries/wepear/palette.gbapal.lz" + .incbin "graphics/berries/wepear.gbapal.lz" .align 2 gBerryPalette_Pinap:: @ 8E7E410 - .incbin "graphics/berries/pinap/palette.gbapal.lz" + .incbin "graphics/berries/pinap.gbapal.lz" .align 2 gBerryPalette_Pomeg:: @ 8E7E438 - .incbin "graphics/berries/pomeg/palette.gbapal.lz" + .incbin "graphics/berries/pomeg.gbapal.lz" .align 2 gBerryPalette_Kelpsy:: @ 8E7E460 - .incbin "graphics/berries/kelpsy/palette.gbapal.lz" + .incbin "graphics/berries/kelpsy.gbapal.lz" .align 2 gBerryPalette_Qualot:: @ 8E7E488 - .incbin "graphics/berries/qualot/palette.gbapal.lz" + .incbin "graphics/berries/qualot.gbapal.lz" .align 2 gBerryPalette_Hondew:: @ 8E7E4B0 - .incbin "graphics/berries/hondew/palette.gbapal.lz" + .incbin "graphics/berries/hondew.gbapal.lz" .align 2 gBerryPalette_Grepa:: @ 8E7E4D8 - .incbin "graphics/berries/grepa/palette.gbapal.lz" + .incbin "graphics/berries/grepa.gbapal.lz" .align 2 gBerryPalette_Tamato:: @ 8E7E500 - .incbin "graphics/berries/tamato/palette.gbapal.lz" + .incbin "graphics/berries/tamato.gbapal.lz" .align 2 gBerryPalette_Cornn:: @ 8E7E528 - .incbin "graphics/berries/cornn/palette.gbapal.lz" + .incbin "graphics/berries/cornn.gbapal.lz" .align 2 gBerryPalette_Magost:: @ 8E7E550 - .incbin "graphics/berries/magost/palette.gbapal.lz" + .incbin "graphics/berries/magost.gbapal.lz" .align 2 gBerryPalette_Rabuta:: @ 8E7E578 - .incbin "graphics/berries/rabuta/palette.gbapal.lz" + .incbin "graphics/berries/rabuta.gbapal.lz" .align 2 gBerryPalette_Nomel:: @ 8E7E5A0 - .incbin "graphics/berries/nomel/palette.gbapal.lz" + .incbin "graphics/berries/nomel.gbapal.lz" .align 2 gBerryPalette_Spelon:: @ 8E7E5C8 - .incbin "graphics/berries/spelon/palette.gbapal.lz" + .incbin "graphics/berries/spelon.gbapal.lz" .align 2 gBerryPalette_Pamtre:: @ 8E7E5F0 - .incbin "graphics/berries/pamtre/palette.gbapal.lz" + .incbin "graphics/berries/pamtre.gbapal.lz" .align 2 gBerryPalette_Watmel:: @ 8E7E618 - .incbin "graphics/berries/watmel/palette.gbapal.lz" + .incbin "graphics/berries/watmel.gbapal.lz" .align 2 gBerryPalette_Durin:: @ 8E7E640 - .incbin "graphics/berries/durin/palette.gbapal.lz" + .incbin "graphics/berries/durin.gbapal.lz" .align 2 gBerryPalette_Belue:: @ 8E7E668 - .incbin "graphics/berries/belue/palette.gbapal.lz" + .incbin "graphics/berries/belue.gbapal.lz" .align 2 gBerryPalette_Liechi:: @ 8E7E690 - .incbin "graphics/berries/liechi/palette.gbapal.lz" + .incbin "graphics/berries/liechi.gbapal.lz" .align 2 gBerryPalette_Ganlon:: @ 8E7E6B8 - .incbin "graphics/berries/ganlon/palette.gbapal.lz" + .incbin "graphics/berries/ganlon.gbapal.lz" .align 2 gBerryPalette_Salac:: @ 8E7E6E0 - .incbin "graphics/berries/salac/palette.gbapal.lz" + .incbin "graphics/berries/salac.gbapal.lz" .align 2 gBerryPalette_Petaya:: @ 8E7E708 - .incbin "graphics/berries/petaya/palette.gbapal.lz" + .incbin "graphics/berries/petaya.gbapal.lz" .align 2 gBerryPalette_Apicot:: @ 8E7E730 - .incbin "graphics/berries/apicot/palette.gbapal.lz" + .incbin "graphics/berries/apicot.gbapal.lz" .align 2 gBerryPalette_Lansat:: @ 8E7E758 - .incbin "graphics/berries/lansat/palette.gbapal.lz" + .incbin "graphics/berries/lansat.gbapal.lz" .align 2 gBerryPalette_Starf:: @ 8E7E780 - .incbin "graphics/berries/starf/palette.gbapal.lz" + .incbin "graphics/berries/starf.gbapal.lz" .align 2 gBerryPalette_Enigma:: @ 8E7E7A8 - .incbin "graphics/berries/enigma/palette.gbapal.lz" + .incbin "graphics/berries/enigma.gbapal.lz" diff --git a/data/graphics/trainers/graphics.inc b/data/graphics/trainers/graphics.inc index 09f34ca31..3a2be8723 100644 --- a/data/graphics/trainers/graphics.inc +++ b/data/graphics/trainers/graphics.inc @@ -1,675 +1,675 @@ .align 2 gTrainerFrontPic_Lass:: @ 8E48D38 - .incbin "graphics/trainers/lass/front.4bpp.lz" + .incbin "graphics/trainers/lass.4bpp.lz" .align 2 gTrainerFrontPic_Youngster:: @ 8E49010 - .incbin "graphics/trainers/youngster/front.4bpp.lz" + .incbin "graphics/trainers/youngster.4bpp.lz" .align 2 gTrainerFrontPic_Brendan:: @ 8E492B8 - .incbin "graphics/trainers/brendan/front.4bpp.lz" + .incbin "graphics/trainers/brendan.4bpp.lz" .align 2 gTrainerFrontPic_May:: @ 8E495CC - .incbin "graphics/trainers/may/front.4bpp.lz" + .incbin "graphics/trainers/may.4bpp.lz" .align 2 gTrainerFrontPic_Hiker:: @ 8E498CC - .incbin "graphics/trainers/hiker/front.4bpp.lz" + .incbin "graphics/trainers/hiker.4bpp.lz" .align 2 gTrainerFrontPic_Beauty:: @ 8E49D4C - .incbin "graphics/trainers/beauty/front.4bpp.lz" + .incbin "graphics/trainers/beauty.4bpp.lz" .align 2 gTrainerFrontPic_Fisherman:: @ 8E4A034 - .incbin "graphics/trainers/fisherman/front.4bpp.lz" + .incbin "graphics/trainers/fisherman.4bpp.lz" .align 2 gTrainerFrontPic_Lady:: @ 8E4A418 - .incbin "graphics/trainers/lady/front.4bpp.lz" + .incbin "graphics/trainers/lady.4bpp.lz" .align 2 gTrainerFrontPic_CyclingTriathleteM:: @ 8E4A7CC - .incbin "graphics/trainers/cycling_triathlete_m/front.4bpp.lz" + .incbin "graphics/trainers/cycling_triathlete_m.4bpp.lz" .align 2 gTrainerFrontPic_AquaGruntM:: @ 8E4ABDC - .incbin "graphics/trainers/aqua_grunt_m/front.4bpp.lz" + .incbin "graphics/trainers/aqua_grunt_m.4bpp.lz" .align 2 gTrainerFrontPic_Twins:: @ 8E4AF3C - .incbin "graphics/trainers/twins/front.4bpp.lz" + .incbin "graphics/trainers/twins.4bpp.lz" .align 2 gTrainerFrontPic_SwimmerF:: @ 8E4B300 - .incbin "graphics/trainers/swimmer_f/front.4bpp.lz" + .incbin "graphics/trainers/swimmer_f.4bpp.lz" .align 2 gTrainerFrontPic_BugCatcher:: @ 8E4B5D0 - .incbin "graphics/trainers/bug_catcher/front.4bpp.lz" + .incbin "graphics/trainers/bug_catcher.4bpp.lz" .align 2 gTrainerFrontPic_SchoolKidM:: @ 8E4B8FC - .incbin "graphics/trainers/school_kid_m/front.4bpp.lz" + .incbin "graphics/trainers/school_kid_m.4bpp.lz" .align 2 gTrainerFrontPic_RichBoy:: @ 8E4BBBC - .incbin "graphics/trainers/rich_boy/front.4bpp.lz" + .incbin "graphics/trainers/rich_boy.4bpp.lz" .align 2 gTrainerFrontPic_SrAndJr:: @ 8E4BE70 - .incbin "graphics/trainers/sr_and_jr/front.4bpp.lz" + .incbin "graphics/trainers/sr_and_jr.4bpp.lz" .align 2 gTrainerFrontPic_BlackBelt:: @ 8E4C2E0 - .incbin "graphics/trainers/black_belt/front.4bpp.lz" + .incbin "graphics/trainers/black_belt.4bpp.lz" .align 2 gTrainerFrontPic_Wally:: @ 8E4C644 - .incbin "graphics/trainers/wally/front.4bpp.lz" + .incbin "graphics/trainers/wally.4bpp.lz" .align 2 gTrainerFrontPic_AquaGruntF:: @ 8E4C914 - .incbin "graphics/trainers/aqua_grunt_f/front.4bpp.lz" + .incbin "graphics/trainers/aqua_grunt_f.4bpp.lz" .align 2 gTrainerFrontPic_TuberF:: @ 8E4CC50 - .incbin "graphics/trainers/tuber_f/front.4bpp.lz" + .incbin "graphics/trainers/tuber_f.4bpp.lz" .align 2 gTrainerFrontPic_HexManiac:: @ 8E4CEF4 - .incbin "graphics/trainers/hex_maniac/front.4bpp.lz" + .incbin "graphics/trainers/hex_maniac.4bpp.lz" .align 2 gTrainerFrontPic_PokemonBreederF:: @ 8E4D260 - .incbin "graphics/trainers/pokemon_breeder_f/front.4bpp.lz" + .incbin "graphics/trainers/pokemon_breeder_f.4bpp.lz" .align 2 gTrainerFrontPic_MagmaGruntM:: @ 8E4D594 - .incbin "graphics/trainers/magma_grunt_m/front.4bpp.lz" + .incbin "graphics/trainers/magma_grunt_m.4bpp.lz" .align 2 gTrainerFrontPic_MagmaGruntF:: @ 8E4D914 - .incbin "graphics/trainers/magma_grunt_f/front.4bpp.lz" + .incbin "graphics/trainers/magma_grunt_f.4bpp.lz" .align 2 gTrainerFrontPic_Interviewer:: @ 8E4DCA0 - .incbin "graphics/trainers/interviewer/front.4bpp.lz" + .incbin "graphics/trainers/interviewer.4bpp.lz" .align 2 gTrainerFrontPic_TuberM:: @ 8E4E144 - .incbin "graphics/trainers/tuber_m/front.4bpp.lz" + .incbin "graphics/trainers/tuber_m.4bpp.lz" .align 2 gTrainerFrontPic_YoungCouple:: @ 8E4E3D0 - .incbin "graphics/trainers/young_couple/front.4bpp.lz" + .incbin "graphics/trainers/young_couple.4bpp.lz" .align 2 gTrainerFrontPic_Guitarist:: @ 8E4E790 - .incbin "graphics/trainers/guitarist/front.4bpp.lz" + .incbin "graphics/trainers/guitarist.4bpp.lz" .align 2 gTrainerFrontPic_Gentleman:: @ 8E4EB14 - .incbin "graphics/trainers/gentleman/front.4bpp.lz" + .incbin "graphics/trainers/gentleman.4bpp.lz" .align 2 gTrainerFrontPic_Steven:: @ 8E4EE14 - .incbin "graphics/trainers/steven/front.4bpp.lz" + .incbin "graphics/trainers/steven.4bpp.lz" .align 2 gTrainerFrontPic_Maxie:: @ 8E4F14C - .incbin "graphics/trainers/maxie/front.4bpp.lz" + .incbin "graphics/trainers/maxie.4bpp.lz" .align 2 gTrainerFrontPic_RunningTriathleteF:: @ 8E4F440 - .incbin "graphics/trainers/running_triathlete_f/front.4bpp.lz" + .incbin "graphics/trainers/running_triathlete_f.4bpp.lz" .align 2 gTrainerFrontPic_RunningTriathleteM:: @ 8E4F6E4 - .incbin "graphics/trainers/running_triathlete_m/front.4bpp.lz" + .incbin "graphics/trainers/running_triathlete_m.4bpp.lz" .align 2 gTrainerFrontPic_BattleGirl:: @ 8E4F99C - .incbin "graphics/trainers/battle_girl/front.4bpp.lz" + .incbin "graphics/trainers/battle_girl.4bpp.lz" .align 2 gTrainerFrontPic_CyclingTriathleteF:: @ 8E4FCBC - .incbin "graphics/trainers/cycling_triathlete_f/front.4bpp.lz" + .incbin "graphics/trainers/cycling_triathlete_f.4bpp.lz" .align 2 gTrainerFrontPic_SwimmerM:: @ 8E500C8 - .incbin "graphics/trainers/swimmer_m/front.4bpp.lz" + .incbin "graphics/trainers/swimmer_m.4bpp.lz" .align 2 gTrainerFrontPic_PokefanF:: @ 8E50388 - .incbin "graphics/trainers/pokefan_f/front.4bpp.lz" + .incbin "graphics/trainers/pokefan_f.4bpp.lz" .align 2 gTrainerFrontPic_ExpertM:: @ 8E50754 - .incbin "graphics/trainers/expert_m/front.4bpp.lz" + .incbin "graphics/trainers/expert_m.4bpp.lz" .align 2 gTrainerFrontPic_ExpertF:: @ 8E50A94 - .incbin "graphics/trainers/expert_f/front.4bpp.lz" + .incbin "graphics/trainers/expert_f.4bpp.lz" .align 2 gTrainerFrontPic_SwimmingTriathleteM:: @ 8E50DB0 - .incbin "graphics/trainers/swimming_triathlete_m/front.4bpp.lz" + .incbin "graphics/trainers/swimming_triathlete_m.4bpp.lz" .align 2 gTrainerFrontPic_SwimmingTriathleteF:: @ 8E510DC - .incbin "graphics/trainers/swimming_triathlete_f/front.4bpp.lz" + .incbin "graphics/trainers/swimming_triathlete_f.4bpp.lz" .align 2 gTrainerFrontPic_DragonTamer:: @ 8E513B8 - .incbin "graphics/trainers/dragon_tamer/front.4bpp.lz" + .incbin "graphics/trainers/dragon_tamer.4bpp.lz" .align 2 gTrainerFrontPic_BirdKeeper:: @ 8E5170C - .incbin "graphics/trainers/bird_keeper/front.4bpp.lz" + .incbin "graphics/trainers/bird_keeper.4bpp.lz" .align 2 gTrainerFrontPic_NinjaBoy:: @ 8E51A44 - .incbin "graphics/trainers/ninja_boy/front.4bpp.lz" + .incbin "graphics/trainers/ninja_boy.4bpp.lz" .align 2 gTrainerFrontPic_ParasolLady:: @ 8E51D20 - .incbin "graphics/trainers/parasol_lady/front.4bpp.lz" + .incbin "graphics/trainers/parasol_lady.4bpp.lz" .align 2 gTrainerFrontPic_BugManiac:: @ 8E52058 - .incbin "graphics/trainers/bug_maniac/front.4bpp.lz" + .incbin "graphics/trainers/bug_maniac.4bpp.lz" .align 2 gTrainerFrontPic_Sailor:: @ 8E524A8 - .incbin "graphics/trainers/sailor/front.4bpp.lz" + .incbin "graphics/trainers/sailor.4bpp.lz" .align 2 gTrainerFrontPic_Collector:: @ 8E52858 - .incbin "graphics/trainers/collector/front.4bpp.lz" + .incbin "graphics/trainers/collector.4bpp.lz" .align 2 gTrainerFrontPic_PokemonBreederM:: @ 8E52C5C - .incbin "graphics/trainers/pokemon_breeder_m/front.4bpp.lz" + .incbin "graphics/trainers/pokemon_breeder_m.4bpp.lz" .align 2 gTrainerFrontPic_PokemonRangerM:: @ 8E52F8C - .incbin "graphics/trainers/pokemon_ranger_m/front.4bpp.lz" + .incbin "graphics/trainers/pokemon_ranger_m.4bpp.lz" .align 2 gTrainerFrontPic_PokemonRangerF:: @ 8E532D4 - .incbin "graphics/trainers/pokemon_ranger_f/front.4bpp.lz" + .incbin "graphics/trainers/pokemon_ranger_f.4bpp.lz" .align 2 gTrainerFrontPic_MagmaAdminM:: @ 8E53608 - .incbin "graphics/trainers/magma_admin_m/front.4bpp.lz" + .incbin "graphics/trainers/magma_admin_m.4bpp.lz" .align 2 gTrainerFrontPic_MagmaAdminF:: @ 8E539E0 - .incbin "graphics/trainers/magma_admin_f/front.4bpp.lz" + .incbin "graphics/trainers/magma_admin_f.4bpp.lz" .align 2 gTrainerFrontPic_AromaLady:: @ 8E53D90 - .incbin "graphics/trainers/aroma_lady/front.4bpp.lz" + .incbin "graphics/trainers/aroma_lady.4bpp.lz" .align 2 gTrainerFrontPic_RuinManiac:: @ 8E54054 - .incbin "graphics/trainers/ruin_maniac/front.4bpp.lz" + .incbin "graphics/trainers/ruin_maniac.4bpp.lz" .align 2 gTrainerFrontPic_CoolTrainerM:: @ 8E543F0 - .incbin "graphics/trainers/cool_trainer_m/front.4bpp.lz" + .incbin "graphics/trainers/cool_trainer_m.4bpp.lz" .align 2 gTrainerFrontPic_CoolTrainerF:: @ 8E546D8 - .incbin "graphics/trainers/cool_trainer_f/front.4bpp.lz" + .incbin "graphics/trainers/cool_trainer_f.4bpp.lz" .align 2 gTrainerFrontPic_Pokemaniac:: @ 8E549EC - .incbin "graphics/trainers/pokemaniac/front.4bpp.lz" + .incbin "graphics/trainers/pokemaniac.4bpp.lz" .align 2 gTrainerFrontPic_Kindler:: @ 8E54D5C - .incbin "graphics/trainers/kindler/front.4bpp.lz" + .incbin "graphics/trainers/kindler.4bpp.lz" .align 2 gTrainerFrontPic_Camper:: @ 8E550C8 - .incbin "graphics/trainers/camper/front.4bpp.lz" + .incbin "graphics/trainers/camper.4bpp.lz" .align 2 gTrainerFrontPic_Picnicker:: @ 8E553B0 - .incbin "graphics/trainers/picnicker/front.4bpp.lz" + .incbin "graphics/trainers/picnicker.4bpp.lz" .align 2 gTrainerFrontPic_PsychicM:: @ 8E55690 - .incbin "graphics/trainers/psychic_m/front.4bpp.lz" + .incbin "graphics/trainers/psychic_m.4bpp.lz" .align 2 gTrainerFrontPic_PsychicF:: @ 8E559BC - .incbin "graphics/trainers/psychic_f/front.4bpp.lz" + .incbin "graphics/trainers/psychic_f.4bpp.lz" .align 2 gTrainerFrontPic_SchoolKidF:: @ 8E55CE4 - .incbin "graphics/trainers/school_kid_f/front.4bpp.lz" + .incbin "graphics/trainers/school_kid_f.4bpp.lz" .align 2 gTrainerFrontPic_PokefanM:: @ 8E55F80 - .incbin "graphics/trainers/pokefan_m/front.4bpp.lz" + .incbin "graphics/trainers/pokefan_m.4bpp.lz" .align 2 gTrainerFrontPic_SisAndBro:: @ 8E5633C - .incbin "graphics/trainers/sis_and_bro/front.4bpp.lz" + .incbin "graphics/trainers/sis_and_bro.4bpp.lz" .align 2 gTrainerFrontPic_OldCouple:: @ 8E56788 - .incbin "graphics/trainers/old_couple/front.4bpp.lz" + .incbin "graphics/trainers/old_couple.4bpp.lz" .align 2 gTrainerFrontPic_AquaAdminM:: @ 8E56C98 - .incbin "graphics/trainers/aqua_admin_m/front.4bpp.lz" + .incbin "graphics/trainers/aqua_admin_m.4bpp.lz" .align 2 gTrainerFrontPic_AquaAdminF:: @ 8E5704C - .incbin "graphics/trainers/aqua_admin_f/front.4bpp.lz" + .incbin "graphics/trainers/aqua_admin_f.4bpp.lz" .align 2 gTrainerFrontPic_UnusedAqua:: @ 8E57410 - .incbin "graphics/trainers/unused_aqua/front.4bpp.lz" + .incbin "graphics/trainers/unused_aqua.4bpp.lz" .align 2 gTrainerFrontPic_Archie:: @ 8E5778C - .incbin "graphics/trainers/archie/front.4bpp.lz" + .incbin "graphics/trainers/archie.4bpp.lz" .align 2 gTrainerBackPic_Brendan:: @ 8E57AC8 - .incbin "graphics/trainers/brendan/back.4bpp.lz" + .incbin "graphics/trainers/brendan_back.4bpp.lz" .align 2 gTrainerBackPic_May:: @ 8E5889C - .incbin "graphics/trainers/may/back.4bpp.lz" + .incbin "graphics/trainers/may_back.4bpp.lz" .align 2 gTrainerBackPic_Wally:: @ 8E59588 - .incbin "graphics/trainers/wally/back.4bpp.lz" + .incbin "graphics/trainers/wally_back.4bpp.lz" .align 2 gTrainerPalette_Lass:: @ 8E59FD8 - .incbin "graphics/trainers/lass/palette.gbapal.lz" + .incbin "graphics/trainers/lass.gbapal.lz" .align 2 gTrainerPalette_Youngster:: @ 8E5A000 - .incbin "graphics/trainers/youngster/palette.gbapal.lz" + .incbin "graphics/trainers/youngster.gbapal.lz" .align 2 gTrainerPalette_Brendan:: @ 8E5A028 - .incbin "graphics/trainers/brendan/palette.gbapal.lz" + .incbin "graphics/trainers/brendan.gbapal.lz" .align 2 gTrainerPalette_May:: @ 8E5A050 - .incbin "graphics/trainers/may/palette.gbapal.lz" + .incbin "graphics/trainers/may.gbapal.lz" .align 2 gTrainerPalette_Hiker:: @ 8E5A078 - .incbin "graphics/trainers/hiker/palette.gbapal.lz" + .incbin "graphics/trainers/hiker.gbapal.lz" .align 2 gTrainerPalette_Beauty:: @ 8E5A0A0 - .incbin "graphics/trainers/beauty/palette.gbapal.lz" + .incbin "graphics/trainers/beauty.gbapal.lz" .align 2 gTrainerPalette_Fisherman:: @ 8E5A0C8 - .incbin "graphics/trainers/fisherman/palette.gbapal.lz" + .incbin "graphics/trainers/fisherman.gbapal.lz" .align 2 gTrainerPalette_Lady:: @ 8E5A0F0 - .incbin "graphics/trainers/lady/palette.gbapal.lz" + .incbin "graphics/trainers/lady.gbapal.lz" .align 2 gTrainerPalette_CyclingTriathleteM:: @ 8E5A118 - .incbin "graphics/trainers/cycling_triathlete_m/palette.gbapal.lz" + .incbin "graphics/trainers/cycling_triathlete_m.gbapal.lz" .align 2 gTrainerPalette_AquaGruntM:: @ 8E5A140 - .incbin "graphics/trainers/aqua_grunt_m/palette.gbapal.lz" + .incbin "graphics/trainers/aqua_grunt_m.gbapal.lz" .align 2 gTrainerPalette_Twins:: @ 8E5A168 - .incbin "graphics/trainers/twins/palette.gbapal.lz" + .incbin "graphics/trainers/twins.gbapal.lz" .align 2 gTrainerPalette_SwimmerF:: @ 8E5A190 - .incbin "graphics/trainers/swimmer_f/palette.gbapal.lz" + .incbin "graphics/trainers/swimmer_f.gbapal.lz" .align 2 gTrainerPalette_BugCatcher:: @ 8E5A1B8 - .incbin "graphics/trainers/bug_catcher/palette.gbapal.lz" + .incbin "graphics/trainers/bug_catcher.gbapal.lz" .align 2 gTrainerPalette_SchoolKidM:: @ 8E5A1E0 - .incbin "graphics/trainers/school_kid_m/palette.gbapal.lz" + .incbin "graphics/trainers/school_kid_m.gbapal.lz" .align 2 gTrainerPalette_RichBoy:: @ 8E5A208 - .incbin "graphics/trainers/rich_boy/palette.gbapal.lz" + .incbin "graphics/trainers/rich_boy.gbapal.lz" .align 2 gTrainerPalette_SrAndJr:: @ 8E5A230 - .incbin "graphics/trainers/sr_and_jr/palette.gbapal.lz" + .incbin "graphics/trainers/sr_and_jr.gbapal.lz" .align 2 gTrainerPalette_BlackBelt:: @ 8E5A258 - .incbin "graphics/trainers/black_belt/palette.gbapal.lz" + .incbin "graphics/trainers/black_belt.gbapal.lz" .align 2 gTrainerPalette_Wally:: @ 8E5A280 - .incbin "graphics/trainers/wally/palette.gbapal.lz" + .incbin "graphics/trainers/wally.gbapal.lz" .align 2 gTrainerPalette_AquaGruntF:: @ 8E5A2A8 - .incbin "graphics/trainers/aqua_grunt_f/palette.gbapal.lz" + .incbin "graphics/trainers/aqua_grunt_f.gbapal.lz" .align 2 gTrainerPalette_TuberF:: @ 8E5A2D0 - .incbin "graphics/trainers/tuber_f/palette.gbapal.lz" + .incbin "graphics/trainers/tuber_f.gbapal.lz" .align 2 gTrainerPalette_HexManiac:: @ 8E5A2F8 - .incbin "graphics/trainers/hex_maniac/palette.gbapal.lz" + .incbin "graphics/trainers/hex_maniac.gbapal.lz" .align 2 gTrainerPalette_PokemonBreederF:: @ 8E5A320 - .incbin "graphics/trainers/pokemon_breeder_f/palette.gbapal.lz" + .incbin "graphics/trainers/pokemon_breeder_f.gbapal.lz" .align 2 gTrainerPalette_MagmaGruntM:: @ 8E5A348 - .incbin "graphics/trainers/magma_grunt_m/palette.gbapal.lz" + .incbin "graphics/trainers/magma_grunt_m.gbapal.lz" .align 2 gTrainerPalette_MagmaGruntF:: @ 8E5A370 - .incbin "graphics/trainers/magma_grunt_f/palette.gbapal.lz" + .incbin "graphics/trainers/magma_grunt_f.gbapal.lz" .align 2 gTrainerPalette_Interviewer:: @ 8E5A398 - .incbin "graphics/trainers/interviewer/palette.gbapal.lz" + .incbin "graphics/trainers/interviewer.gbapal.lz" .align 2 gTrainerPalette_TuberM:: @ 8E5A3C0 - .incbin "graphics/trainers/tuber_m/palette.gbapal.lz" + .incbin "graphics/trainers/tuber_m.gbapal.lz" .align 2 gTrainerPalette_YoungCouple:: @ 8E5A3E8 - .incbin "graphics/trainers/young_couple/palette.gbapal.lz" + .incbin "graphics/trainers/young_couple.gbapal.lz" .align 2 gTrainerPalette_Guitarist:: @ 8E5A410 - .incbin "graphics/trainers/guitarist/palette.gbapal.lz" + .incbin "graphics/trainers/guitarist.gbapal.lz" .align 2 gTrainerPalette_Gentleman:: @ 8E5A438 - .incbin "graphics/trainers/gentleman/palette.gbapal.lz" + .incbin "graphics/trainers/gentleman.gbapal.lz" .align 2 gTrainerPalette_Steven:: @ 8E5A460 - .incbin "graphics/trainers/steven/palette.gbapal.lz" + .incbin "graphics/trainers/steven.gbapal.lz" .align 2 gTrainerPalette_Maxie:: @ 8E5A488 - .incbin "graphics/trainers/maxie/palette.gbapal.lz" + .incbin "graphics/trainers/maxie.gbapal.lz" .align 2 gTrainerPalette_RunningTriathleteF:: @ 8E5A4B0 - .incbin "graphics/trainers/running_triathlete_f/palette.gbapal.lz" + .incbin "graphics/trainers/running_triathlete_f.gbapal.lz" .align 2 gTrainerPalette_RunningTriathleteM:: @ 8E5A4D8 - .incbin "graphics/trainers/running_triathlete_m/palette.gbapal.lz" + .incbin "graphics/trainers/running_triathlete_m.gbapal.lz" .align 2 gTrainerPalette_BattleGirl:: @ 8E5A500 - .incbin "graphics/trainers/battle_girl/palette.gbapal.lz" + .incbin "graphics/trainers/battle_girl.gbapal.lz" .align 2 gTrainerPalette_CyclingTriathleteF:: @ 8E5A528 - .incbin "graphics/trainers/cycling_triathlete_f/palette.gbapal.lz" + .incbin "graphics/trainers/cycling_triathlete_f.gbapal.lz" .align 2 gTrainerPalette_SwimmerM:: @ 8E5A550 - .incbin "graphics/trainers/swimmer_m/palette.gbapal.lz" + .incbin "graphics/trainers/swimmer_m.gbapal.lz" .align 2 gTrainerPalette_PokefanF:: @ 8E5A578 - .incbin "graphics/trainers/pokefan_f/palette.gbapal.lz" + .incbin "graphics/trainers/pokefan_f.gbapal.lz" .align 2 gTrainerPalette_ExpertM:: @ 8E5A5A0 - .incbin "graphics/trainers/expert_m/palette.gbapal.lz" + .incbin "graphics/trainers/expert_m.gbapal.lz" .align 2 gTrainerPalette_ExpertF:: @ 8E5A5C8 - .incbin "graphics/trainers/expert_f/palette.gbapal.lz" + .incbin "graphics/trainers/expert_f.gbapal.lz" .align 2 gTrainerPalette_SwimmingTriathleteM:: @ 8E5A5F0 - .incbin "graphics/trainers/swimming_triathlete_m/palette.gbapal.lz" + .incbin "graphics/trainers/swimming_triathlete_m.gbapal.lz" .align 2 gTrainerPalette_SwimmingTriathleteF:: @ 8E5A618 - .incbin "graphics/trainers/swimming_triathlete_f/palette.gbapal.lz" + .incbin "graphics/trainers/swimming_triathlete_f.gbapal.lz" .align 2 gTrainerPalette_DragonTamer:: @ 8E5A640 - .incbin "graphics/trainers/dragon_tamer/palette.gbapal.lz" + .incbin "graphics/trainers/dragon_tamer.gbapal.lz" .align 2 gTrainerPalette_BirdKeeper:: @ 8E5A668 - .incbin "graphics/trainers/bird_keeper/palette.gbapal.lz" + .incbin "graphics/trainers/bird_keeper.gbapal.lz" .align 2 gTrainerPalette_NinjaBoy:: @ 8E5A690 - .incbin "graphics/trainers/ninja_boy/palette.gbapal.lz" + .incbin "graphics/trainers/ninja_boy.gbapal.lz" .align 2 gTrainerPalette_ParasolLady:: @ 8E5A6B8 - .incbin "graphics/trainers/parasol_lady/palette.gbapal.lz" + .incbin "graphics/trainers/parasol_lady.gbapal.lz" .align 2 gTrainerPalette_BugManiac:: @ 8E5A6E0 - .incbin "graphics/trainers/bug_maniac/palette.gbapal.lz" + .incbin "graphics/trainers/bug_maniac.gbapal.lz" .align 2 gTrainerPalette_Sailor:: @ 8E5A708 - .incbin "graphics/trainers/sailor/palette.gbapal.lz" + .incbin "graphics/trainers/sailor.gbapal.lz" .align 2 gTrainerPalette_Collector:: @ 8E5A730 - .incbin "graphics/trainers/collector/palette.gbapal.lz" + .incbin "graphics/trainers/collector.gbapal.lz" .align 2 gTrainerPalette_PokemonBreederM:: @ 8E5A758 - .incbin "graphics/trainers/pokemon_breeder_m/palette.gbapal.lz" + .incbin "graphics/trainers/pokemon_breeder_m.gbapal.lz" .align 2 gTrainerPalette_PokemonRangerM:: @ 8E5A780 - .incbin "graphics/trainers/pokemon_ranger_m/palette.gbapal.lz" + .incbin "graphics/trainers/pokemon_ranger_m.gbapal.lz" .align 2 gTrainerPalette_PokemonRangerF:: @ 8E5A7A8 - .incbin "graphics/trainers/pokemon_ranger_f/palette.gbapal.lz" + .incbin "graphics/trainers/pokemon_ranger_f.gbapal.lz" .align 2 gTrainerPalette_MagmaAdminM:: @ 8E5A7D0 - .incbin "graphics/trainers/magma_admin_m/palette.gbapal.lz" + .incbin "graphics/trainers/magma_admin_m.gbapal.lz" .align 2 gTrainerPalette_MagmaAdminF:: @ 8E5A7F8 - .incbin "graphics/trainers/magma_admin_f/palette.gbapal.lz" + .incbin "graphics/trainers/magma_admin_f.gbapal.lz" .align 2 gTrainerPalette_AromaLady:: @ 8E5A820 - .incbin "graphics/trainers/aroma_lady/palette.gbapal.lz" + .incbin "graphics/trainers/aroma_lady.gbapal.lz" .align 2 gTrainerPalette_RuinManiac:: @ 8E5A848 - .incbin "graphics/trainers/ruin_maniac/palette.gbapal.lz" + .incbin "graphics/trainers/ruin_maniac.gbapal.lz" .align 2 gTrainerPalette_CoolTrainerM:: @ 8E5A870 - .incbin "graphics/trainers/cool_trainer_m/palette.gbapal.lz" + .incbin "graphics/trainers/cool_trainer_m.gbapal.lz" .align 2 gTrainerPalette_CoolTrainerF:: @ 8E5A898 - .incbin "graphics/trainers/cool_trainer_f/palette.gbapal.lz" + .incbin "graphics/trainers/cool_trainer_f.gbapal.lz" .align 2 gTrainerPalette_Pokemaniac:: @ 8E5A8C0 - .incbin "graphics/trainers/pokemaniac/palette.gbapal.lz" + .incbin "graphics/trainers/pokemaniac.gbapal.lz" .align 2 gTrainerPalette_Kindler:: @ 8E5A8E8 - .incbin "graphics/trainers/kindler/palette.gbapal.lz" + .incbin "graphics/trainers/kindler.gbapal.lz" .align 2 gTrainerPalette_Camper:: @ 8E5A910 - .incbin "graphics/trainers/camper/palette.gbapal.lz" + .incbin "graphics/trainers/camper.gbapal.lz" .align 2 gTrainerPalette_Picnicker:: @ 8E5A938 - .incbin "graphics/trainers/picnicker/palette.gbapal.lz" + .incbin "graphics/trainers/picnicker.gbapal.lz" .align 2 gTrainerPalette_PsychicM:: @ 8E5A960 - .incbin "graphics/trainers/psychic_m/palette.gbapal.lz" + .incbin "graphics/trainers/psychic_m.gbapal.lz" .align 2 gTrainerPalette_PsychicF:: @ 8E5A988 - .incbin "graphics/trainers/psychic_f/palette.gbapal.lz" + .incbin "graphics/trainers/psychic_f.gbapal.lz" .align 2 gTrainerPalette_SchoolKidF:: @ 8E5A9B0 - .incbin "graphics/trainers/school_kid_f/palette.gbapal.lz" + .incbin "graphics/trainers/school_kid_f.gbapal.lz" .align 2 gTrainerPalette_PokefanM:: @ 8E5A9D8 - .incbin "graphics/trainers/pokefan_m/palette.gbapal.lz" + .incbin "graphics/trainers/pokefan_m.gbapal.lz" .align 2 gTrainerPalette_SisAndBro:: @ 8E5AA00 - .incbin "graphics/trainers/sis_and_bro/palette.gbapal.lz" + .incbin "graphics/trainers/sis_and_bro.gbapal.lz" .align 2 gTrainerPalette_OldCouple:: @ 8E5AA28 - .incbin "graphics/trainers/old_couple/palette.gbapal.lz" + .incbin "graphics/trainers/old_couple.gbapal.lz" .align 2 gTrainerPalette_AquaAdminM:: @ 8E5AA50 - .incbin "graphics/trainers/aqua_admin_m/palette.gbapal.lz" + .incbin "graphics/trainers/aqua_admin_m.gbapal.lz" .align 2 gTrainerPalette_AquaAdminF:: @ 8E5AA78 - .incbin "graphics/trainers/aqua_admin_f/palette.gbapal.lz" + .incbin "graphics/trainers/aqua_admin_f.gbapal.lz" .align 2 gTrainerPalette_UnusedAqua:: @ 8E5AAA0 - .incbin "graphics/trainers/unused_aqua/palette.gbapal.lz" + .incbin "graphics/trainers/unused_aqua.gbapal.lz" .align 2 gTrainerPalette_Archie:: @ 8E5AAC8 - .incbin "graphics/trainers/archie/palette.gbapal.lz" + .incbin "graphics/trainers/archie.gbapal.lz" .align 2 gTrainerFrontPic_Roxanne:: @ 8E5AAF0 - .incbin "graphics/trainers/roxanne/front.4bpp.lz" + .incbin "graphics/trainers/roxanne.4bpp.lz" .align 2 gTrainerFrontPic_Brawly:: @ 8E5ADDC - .incbin "graphics/trainers/brawly/front.4bpp.lz" + .incbin "graphics/trainers/brawly.4bpp.lz" .align 2 gTrainerFrontPic_Wattson:: @ 8E5B170 - .incbin "graphics/trainers/wattson/front.4bpp.lz" + .incbin "graphics/trainers/wattson.4bpp.lz" .align 2 gTrainerFrontPic_Flannery:: @ 8E5B4B8 - .incbin "graphics/trainers/flannery/front.4bpp.lz" + .incbin "graphics/trainers/flannery.4bpp.lz" .align 2 gTrainerFrontPic_Norman:: @ 8E5B838 - .incbin "graphics/trainers/norman/front.4bpp.lz" + .incbin "graphics/trainers/norman.4bpp.lz" .align 2 gTrainerFrontPic_Winona:: @ 8E5BB74 - .incbin "graphics/trainers/winona/front.4bpp.lz" + .incbin "graphics/trainers/winona.4bpp.lz" .align 2 gTrainerFrontPic_TateAndLiza:: @ 8E5BEF4 - .incbin "graphics/trainers/tate_and_liza/front.4bpp.lz" + .incbin "graphics/trainers/tate_and_liza.4bpp.lz" .align 2 gTrainerFrontPic_Wallace:: @ 8E5C338 - .incbin "graphics/trainers/wallace/front.4bpp.lz" + .incbin "graphics/trainers/wallace.4bpp.lz" .align 2 gTrainerFrontPic_Sidney:: @ 8E5C6B0 - .incbin "graphics/trainers/sidney/front.4bpp.lz" + .incbin "graphics/trainers/sidney.4bpp.lz" .align 2 gTrainerFrontPic_Phoebe:: @ 8E5C9E4 - .incbin "graphics/trainers/phoebe/front.4bpp.lz" + .incbin "graphics/trainers/phoebe.4bpp.lz" .align 2 gTrainerFrontPic_Glacia:: @ 8E5CCE4 - .incbin "graphics/trainers/glacia/front.4bpp.lz" + .incbin "graphics/trainers/glacia.4bpp.lz" .align 2 gTrainerFrontPic_Drake:: @ 8E5D068 - .incbin "graphics/trainers/drake/front.4bpp.lz" + .incbin "graphics/trainers/drake.4bpp.lz" .align 2 gTrainerPalette_Roxanne:: @ 8E5D410 - .incbin "graphics/trainers/roxanne/palette.gbapal.lz" + .incbin "graphics/trainers/roxanne.gbapal.lz" .align 2 gTrainerPalette_Brawly:: @ 8E5D438 - .incbin "graphics/trainers/brawly/palette.gbapal.lz" + .incbin "graphics/trainers/brawly.gbapal.lz" .align 2 gTrainerPalette_Wattson:: @ 8E5D460 - .incbin "graphics/trainers/wattson/palette.gbapal.lz" + .incbin "graphics/trainers/wattson.gbapal.lz" .align 2 gTrainerPalette_Flannery:: @ 8E5D488 - .incbin "graphics/trainers/flannery/palette.gbapal.lz" + .incbin "graphics/trainers/flannery.gbapal.lz" .align 2 gTrainerPalette_Norman:: @ 8E5D4B0 - .incbin "graphics/trainers/norman/palette.gbapal.lz" + .incbin "graphics/trainers/norman.gbapal.lz" .align 2 gTrainerPalette_Winona:: @ 8E5D4D8 - .incbin "graphics/trainers/winona/palette.gbapal.lz" + .incbin "graphics/trainers/winona.gbapal.lz" .align 2 gTrainerPalette_TateAndLiza:: @ 8E5D500 - .incbin "graphics/trainers/tate_and_liza/palette.gbapal.lz" + .incbin "graphics/trainers/tate_and_liza.gbapal.lz" .align 2 gTrainerPalette_Wallace:: @ 8E5D528 - .incbin "graphics/trainers/wallace/palette.gbapal.lz" + .incbin "graphics/trainers/wallace.gbapal.lz" .align 2 gTrainerPalette_Sidney:: @ 8E5D550 - .incbin "graphics/trainers/sidney/palette.gbapal.lz" + .incbin "graphics/trainers/sidney.gbapal.lz" .align 2 gTrainerPalette_Phoebe:: @ 8E5D578 - .incbin "graphics/trainers/phoebe/palette.gbapal.lz" + .incbin "graphics/trainers/phoebe.gbapal.lz" .align 2 gTrainerPalette_Glacia:: @ 8E5D5A0 - .incbin "graphics/trainers/glacia/palette.gbapal.lz" + .incbin "graphics/trainers/glacia.gbapal.lz" .align 2 gTrainerPalette_Drake:: @ 8E5D5C8 - .incbin "graphics/trainers/drake/palette.gbapal.lz" + .incbin "graphics/trainers/drake.gbapal.lz" diff --git a/data/ingame_trades.inc b/data/ingame_trades.inc deleted file mode 100644 index f5258e26c..000000000 --- a/data/ingame_trades.inc +++ /dev/null @@ -1,108 +0,0 @@ - .align 2 -gIngameTrades:: @ 8215AC4 - .string "MAKIT$", 11 @ nickname - .space 1 - .2byte SPECIES_MAKUHITA @ NPC mon species - .byte 5 @ HP IV - .byte 5 @ attack IV - .byte 4 @ defense IV - .byte 4 @ speed IV - .byte 4 @ sp. attack IV - .byte 4 @ sp. defense IV - .byte TRUE @ second ability - .space 3 - .4byte 49562 @ OT ID - .byte 5 @ cool - .byte 5 @ beauty - .byte 5 @ cute - .byte 5 @ smart - .byte 30 @ tough - .space 3 - .4byte 0x9C40 @ personality value - .2byte ITEM_X_ATTACK @ held item - .byte -1 @ mail num - .string "ELYSSA$", 11 @ OT name - .byte MALE @ OT gender - .byte 10 @ sheen - .2byte SPECIES_SLAKOTH @ player mon species - .space 2 - - .string "SKITIT$", 11 @ nickname - .space 1 - .2byte SPECIES_SKITTY @ NPC mon species - .byte 5 @ HP IV - .byte 4 @ attack IV - .byte 4 @ defense IV - .byte 5 @ speed IV - .byte 4 @ sp. attack IV - .byte 4 @ sp. defense IV - .byte FALSE @ second ability - .space 3 - .4byte 2259 @ OT ID - .byte 5 @ cool - .byte 5 @ beauty - .byte 30 @ cute - .byte 5 @ smart - .byte 5 @ tough - .space 3 - .4byte 0x498A2E17 @ personality value - .2byte ITEM_GLITTER_MAIL @ held item - .byte 0 @ mail num - .string "DARRELL$", 11 @ OT name - .byte FEMALE @ OT gender - .byte 10 @ sheen - .2byte SPECIES_PIKACHU @ player mon species - .space 2 - - .string "COROSO$", 11 @ nickname - .space 1 - .2byte SPECIES_CORSOLA @ NPC mon species - .byte 4 @ HP IV - .byte 4 @ attack IV - .byte 5 @ defense IV - .byte 4 @ speed IV - .byte 4 @ sp. attack IV - .byte 5 @ sp. defense IV - .byte TRUE @ second ability - .space 3 - .4byte 50183 @ OT ID - .byte 5 @ cool - .byte 30 @ beauty - .byte 5 @ cute - .byte 5 @ smart - .byte 5 @ tough - .space 3 - .4byte 0x4C970B7F @ personality value - .2byte ITEM_TROPIC_MAIL @ held item - .byte 1 @ mail num - .string "LANE$", 11 @ OT name - .byte FEMALE @ OT gender - .byte 10 @ sheen - .2byte SPECIES_BELLOSSOM @ player mon species - .space 2 - - .align 1 -gIngameTradeMail:: @ 8215B78 -@ 0 - ec_pokemon1 PIKACHU - ec_word THANK_YOU - ec_word EXCL - ec_word MY - ec_pokemon1 SKITTY - ec_word EATS - ec_word A_LOT - ec_word NOW - ec_word EXCL - .2byte 0 - -@ 1 - ec_word I - ec_word WANT - ec_word TO - ec_word SEE - ec_word A - ec_move2 PETAL_DANCE - ec_word IT_S - ec_word SO - ec_word PRETTY - .2byte 0 diff --git a/data/party_menu.s b/data/party_menu.s deleted file mode 100644 index 5596ff2ed..000000000 --- a/data/party_menu.s +++ /dev/null @@ -1,744 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 1 -gUnknown_08376504:: @ 8376504 - .2byte MOVE_FOCUS_PUNCH - .2byte MOVE_DRAGON_CLAW - .2byte MOVE_WATER_PULSE - .2byte MOVE_CALM_MIND - .2byte MOVE_ROAR - .2byte MOVE_TOXIC - .2byte MOVE_HAIL - .2byte MOVE_BULK_UP - .2byte MOVE_BULLET_SEED - .2byte MOVE_HIDDEN_POWER - .2byte MOVE_SUNNY_DAY - .2byte MOVE_TAUNT - .2byte MOVE_ICE_BEAM - .2byte MOVE_BLIZZARD - .2byte MOVE_HYPER_BEAM - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_PROTECT - .2byte MOVE_RAIN_DANCE - .2byte MOVE_GIGA_DRAIN - .2byte MOVE_SAFEGUARD - .2byte MOVE_FRUSTRATION - .2byte MOVE_SOLAR_BEAM - .2byte MOVE_IRON_TAIL - .2byte MOVE_THUNDERBOLT - .2byte MOVE_THUNDER - .2byte MOVE_EARTHQUAKE - .2byte MOVE_RETURN - .2byte MOVE_DIG - .2byte MOVE_PSYCHIC - .2byte MOVE_SHADOW_BALL - .2byte MOVE_BRICK_BREAK - .2byte MOVE_DOUBLE_TEAM - .2byte MOVE_REFLECT - .2byte MOVE_SHOCK_WAVE - .2byte MOVE_FLAMETHROWER - .2byte MOVE_SLUDGE_BOMB - .2byte MOVE_SANDSTORM - .2byte MOVE_FIRE_BLAST - .2byte MOVE_ROCK_TOMB - .2byte MOVE_AERIAL_ACE - .2byte MOVE_TORMENT - .2byte MOVE_FACADE - .2byte MOVE_SECRET_POWER - .2byte MOVE_REST - .2byte MOVE_ATTRACT - .2byte MOVE_THIEF - .2byte MOVE_STEEL_WING - .2byte MOVE_SKILL_SWAP - .2byte MOVE_SNATCH - .2byte MOVE_OVERHEAT - .2byte MOVE_CUT - .2byte MOVE_FLY - .2byte MOVE_SURF - .2byte MOVE_STRENGTH - .2byte MOVE_FLASH - .2byte MOVE_ROCK_SMASH - .2byte MOVE_WATERFALL - .2byte MOVE_DIVE - - .4byte gTileBuffer @ unreferenced? - -MenuGfx_HoldIcons: - .incbin "graphics/interface/hold_icons.4bpp" -MenuPal_HoldIcons: - .incbin "graphics/interface/hold_icons.gbapal" - - .align 2 -gUnknown_083765DC:: @ 83765DC - obj_tiles MenuGfx_HoldIcons, 64, 0xd750 - - .align 2 -gUnknown_083765E4:: @ 83765E4 - obj_pal MenuPal_HoldIcons, 0xd750 - - .align 2 -gOamData_83765EC:: @ 83765EC - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83765F4:: @ 83765F4 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83765FC:: @ 83765FC - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8376604:: @ 8376604 - .4byte gSpriteAnim_83765F4 - .4byte gSpriteAnim_83765FC - - .align 2 -gSpriteTemplate_837660C:: @ 837660C - spr_template 55120, 55120, gOamData_83765EC, gSpriteAnimTable_8376604, NULL, gDummySpriteAffineAnimTable, SpriteCB_HeldItemIcon_806DD7C - - .align 2 -gUnknown_08376624:: @ 8376624 - .4byte OtherText_ChoosePoke - .4byte OtherText_MovePokeTo - .4byte OtherText_TeachWhat - .4byte OtherText_UseWhat - .4byte OtherText_GiveWhat - .4byte OtherText_DoWhat - .4byte OtherText_NothingToCut - .4byte OtherText_CantSurf - .4byte OtherText_AlreadySurfing - .4byte OtherText_CantUseThatHere - .4byte OtherText_RestoreWhatMove - .4byte OtherText_BoostPP - .4byte gOtherText_CancelWithTerminator - .4byte OtherText_DoWhatWithItem - .4byte OtherText_NoPokeForBattle - .4byte OtherText_ChoosePoke2 - .4byte OtherText_NotEnoughHP - .4byte OtherText_ThreePokeNeeded - .4byte OtherText_PokeCantBeSame - .4byte OtherText_NoIdenticalHoldItems - .4byte OtherText_TeachWhichPoke - - .align 2 -gUnknown_08376678:: @ 8376678 - .byte 16, 40, 0, 0 - .byte 104, 18, 0, 0 - .byte 104, 42, 0, 0 - .byte 104, 66, 0, 0 - .byte 104, 90, 0, 0 - .byte 104, 114, 0, 0 - .byte 16, 24, 0, 0 - .byte 16, 80, 0, 0 - .byte 104, 18, 0, 0 - .byte 104, 50, 0, 0 - .byte 104, 82, 0, 0 - .byte 104, 114, 0, 0 - .byte 16, 24, 0, 0 - .byte 16, 80, 0, 0 - .byte 104, 26, 0, 0 - .byte 104, 50, 0, 0 - .byte 104, 82, 0, 0 - .byte 104, 106, 0, 0 - .byte 16, 24, 0, 0 - .byte 104, 26, 0, 0 - .byte 104, 50, 0, 0 - .byte 16, 80, 0, 0 - .byte 104, 82, 0, 0 - .byte 104, 106, 0, 0 - .byte 5, 4, 0, 0 - .byte 16, 1, 0, 0 - .byte 16, 4, 0, 0 - .byte 16, 7, 0, 0 - .byte 16, 10, 0, 0 - .byte 16, 13, 0, 0 - .byte 5, 2, 0, 0 - .byte 5, 9, 0, 0 - .byte 16, 1, 0, 0 - .byte 16, 5, 0, 0 - .byte 16, 9, 0, 0 - .byte 16, 13, 0, 0 - .byte 5, 2, 0, 0 - .byte 5, 9, 0, 0 - .byte 16, 2, 0, 0 - .byte 16, 5, 0, 0 - .byte 16, 9, 0, 0 - .byte 16, 12, 0, 0 - .byte 5, 2, 0, 0 - .byte 16, 2, 0, 0 - .byte 16, 5, 0, 0 - .byte 5, 9, 0, 0 - .byte 16, 9, 0, 0 - .byte 16, 12, 0, 0 - - .align 2 -gUnknown_08376738:: @ 8376738 - .byte 6, 5, 0, 0 - .byte 17, 2, 0, 0 - .byte 17, 5, 0, 0 - .byte 17, 8, 0, 0 - .byte 17, 11, 0, 0 - .byte 17, 14, 0, 0 - .byte 6, 3, 0, 0 - .byte 6, 10, 0, 0 - .byte 17, 2, 0, 0 - .byte 17, 6, 0, 0 - .byte 17, 10, 0, 0 - .byte 17, 14, 0, 0 - .byte 6, 3, 0, 0 - .byte 6, 10, 0, 0 - .byte 17, 3, 0, 0 - .byte 17, 6, 0, 0 - .byte 17, 10, 0, 0 - .byte 17, 13, 0, 0 - .byte 6, 3, 0, 0 - .byte 17, 3, 0, 0 - .byte 17, 6, 0, 0 - .byte 6, 10, 0, 0 - .byte 17, 10, 0, 0 - .byte 17, 13, 0, 0 - .byte 3, 7, 0, 0 - .byte 22, 2, 0, 0 - .byte 22, 5, 0, 0 - .byte 22, 8, 0, 0 - .byte 22, 11, 0, 0 - .byte 22, 14, 0, 0 - .byte 3, 5, 0, 0 - .byte 3, 12, 0, 0 - .byte 22, 2, 0, 0 - .byte 22, 6, 0, 0 - .byte 22, 10, 0, 0 - .byte 22, 14, 0, 0 - .byte 3, 5, 0, 0 - .byte 3, 12, 0, 0 - .byte 22, 3, 0, 0 - .byte 22, 6, 0, 0 - .byte 22, 10, 0, 0 - .byte 22, 13, 0, 0 - .byte 3, 5, 0, 0 - .byte 22, 3, 0, 0 - .byte 22, 6, 0, 0 - .byte 3, 12, 0, 0 - .byte 22, 10, 0, 0 - .byte 22, 13, 0, 0 - .byte 7, 7, 0, 0 - .byte 26, 2, 0, 0 - .byte 26, 5, 0, 0 - .byte 26, 8, 0, 0 - .byte 26, 11, 0, 0 - .byte 26, 14, 0, 0 - .byte 7, 5, 0, 0 - .byte 7, 12, 0, 0 - .byte 26, 2, 0, 0 - .byte 26, 6, 0, 0 - .byte 26, 10, 0, 0 - .byte 26, 14, 0, 0 - .byte 7, 5, 0, 0 - .byte 7, 12, 0, 0 - .byte 26, 3, 0, 0 - .byte 26, 6, 0, 0 - .byte 26, 10, 0, 0 - .byte 26, 13, 0, 0 - .byte 7, 5, 0, 0 - .byte 26, 3, 0, 0 - .byte 26, 6, 0, 0 - .byte 7, 12, 0, 0 - .byte 26, 10, 0, 0 - .byte 26, 13, 0, 0 - - .align 2 -gUnknown_08376858:: @ 8376858 - .4byte BG_VRAM + 0xF1C8 - .4byte BG_VRAM + 0xF0AE - .4byte BG_VRAM + 0xF16E - .4byte BG_VRAM + 0xF22E - .4byte BG_VRAM + 0xF2EE - .4byte BG_VRAM + 0xF3AE - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF0AE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF3AE - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF0EE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF36E - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF0EE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF36E - - .align 2 -gUnknown_083768B8:: @ 83768B8 - .byte 8, 44, 0, 0 - .byte 92, 22, 0, 0 - .byte 92, 46, 0, 0 - .byte 92, 70, 0, 0 - .byte 92, 94, 0, 0 - .byte 92, 118, 0, 0 - .byte 196, 136, 0, 0 - .byte 196, 152, 0, 0 - .byte 8, 28, 0, 0 - .byte 8, 84, 0, 0 - .byte 92, 22, 0, 0 - .byte 92, 54, 0, 0 - .byte 92, 86, 0, 0 - .byte 92, 118, 0, 0 - .byte 196, 136, 0, 0 - .byte 196, 152, 0, 0 - .byte 8, 28, 0, 0 - .byte 8, 84, 0, 0 - .byte 92, 30, 0, 0 - .byte 92, 54, 0, 0 - .byte 92, 86, 0, 0 - .byte 92, 110, 0, 0 - .byte 196, 136, 0, 0 - .byte 196, 152, 0, 0 - - .align 2 -gUnknown_08376918:: @ 8376918 - .4byte BG_VRAM + 0xF1C6 - .4byte BG_VRAM + 0xF06C - .4byte BG_VRAM + 0xF12C - .4byte BG_VRAM + 0xF1EC - .4byte BG_VRAM + 0xF2AC - .4byte BG_VRAM + 0xF36C - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF0AE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF3AE - - .align 2 -gUnknown_08376948:: @ 8376948 - .byte 2, 4, 10, 9 - .byte 16, 1, 29, 3 - .byte 16, 4, 29, 6 - .byte 16, 7, 29, 9 - .byte 16, 10, 29, 12 - .byte 16, 13, 29, 15 - .byte 2, 2, 10, 7 - .byte 2, 9, 10, 14 - .byte 16, 1, 29, 3 - .byte 16, 5, 29, 7 - .byte 16, 9, 29, 11 - .byte 16, 13, 29, 15 - - .align 2 -gUnknown_08376978:: @ 8376978 - .byte 2, 7, 10, 9 - .byte 21, 1, 29, 3 - .byte 21, 4, 29, 6 - .byte 21, 7, 29, 9 - .byte 21, 10, 29, 12 - .byte 21, 13, 29, 15 - .byte 2, 2, 10, 7 - .byte 2, 9, 10, 14 - .byte 16, 1, 29, 3 - .byte 16, 5, 29, 7 - .byte 16, 9, 29, 11 - .byte 16, 13, 29, 15 - - .align 2 -gUnknown_083769A8:: @ 83769A8 - .byte 0, 3, 11, 1, 11, 4, 11, 7, 11, 10, 11, 13 - .byte 0, 1, 0, 8, 11, 1, 11, 5, 11, 9, 11, 13 - - .align 2 -gUnknown_083769C0:: @ 83769C0 - .byte 0, 1 - .byte 0, 8 - .byte 11, 2 - .byte 11, 5 - .byte 11, 9 - .byte 11, 12 - .byte 0, 1 - .byte 0, 8 - .byte 11, 2 - .byte 11, 5 - .byte 11, 9 - .byte 11, 12 - -gUnknown_083769D8:: @ 83769D8 - .byte 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27 - .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 - .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 - .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 - .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47 - .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47 - .byte 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57 - -gUnknown_08376A25:: @ 8376A25 - .byte 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53 - .byte 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63 - .byte 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73 - -gUnknown_08376A5E:: @ 8376A5E - .byte 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23 - .byte 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33 - .byte 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43 - -@ unknown, unreferenced data - .byte 0x0C - .byte 0x0D - .byte 0x0E - .byte 0x0F - .byte 0x00 - .byte 0x01 - .byte 0x02 - .byte 0x03 - .byte 0x04 - .byte 0x05 - .byte 0x0F - .byte 0x10 - .byte 0x11 - .byte 0x12 - .byte 0x13 - .byte 0x14 - .byte 0x15 - .byte 0x0F - .byte 0x06 - .byte 0x05 - .byte 0x01 - .byte 0x07 - .byte 0x08 - .byte 0x09 - .byte 0x0F - .byte 0x16 - .byte 0x15 - .byte 0x11 - .byte 0x17 - .byte 0x18 - .byte 0x19 - .byte 0x0F - .byte 0x09 - .byte 0x0A - .byte 0x0B - .byte 0x05 - .byte 0x0C - .byte 0x0F - .byte 0x0F - .byte 0x19 - .byte 0x1A - .byte 0x1B - .byte 0x15 - .byte 0x1C - .byte 0x0F - .byte 0x0F - .byte 0x0D - .byte 0x0B - .byte 0x05 - .byte 0x0C - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x1D - .byte 0x1B - .byte 0x15 - .byte 0x1C - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x06 - .byte 0x05 - .byte 0x0B - .byte 0x05 - .byte 0x0C - .byte 0x0F - .byte 0x0F - .byte 0x16 - .byte 0x15 - .byte 0x1B - .byte 0x15 - .byte 0x1C - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x20 - .byte 0x0C - .byte 0x09 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x1F - .byte 0x30 - .byte 0x1C - .byte 0x19 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x25 - .byte 0x0F - .byte 0x22 - .byte 0x24 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x35 - .byte 0x41 - .byte 0x32 - .byte 0x34 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x26 - .byte 0x0F - .byte 0x23 - .byte 0x0E - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x36 - .byte 0x43 - .byte 0x33 - .byte 0x1E - .byte 0x0F - .byte 0x0F - .byte 0x27 - .byte 0x28 - .byte 0x29 - .byte 0x03 - .byte 0x2A - .byte 0x0F - .byte 0x0F - .byte 0x37 - .byte 0x38 - .byte 0x39 - .byte 0x13 - .byte 0x3A - .byte 0x0F - .byte 0x0F - .byte 0x27 - .byte 0x28 - .byte 0x29 - .byte 0x03 - .byte 0x04 - .byte 0x05 - .byte 0x0F - .byte 0x37 - .byte 0x38 - .byte 0x39 - .byte 0x13 - .byte 0x14 - .byte 0x15 - .byte 0x0F - .byte 0x2B - .byte 0x2C - .byte 0x02 - .byte 0x28 - .byte 0x29 - .byte 0x2D - .byte 0x21 - .byte 0x3B - .byte 0x3C - .byte 0x12 - .byte 0x38 - .byte 0x39 - .byte 0x3D - .byte 0x31 - .byte 0x2B - .byte 0x2C - .byte 0x02 - .byte 0x28 - .byte 0x29 - .byte 0x08 - .byte 0x09 - .byte 0x3B - .byte 0x3C - .byte 0x12 - .byte 0x38 - .byte 0x39 - .byte 0x18 - .byte 0x19 - .byte 0x2E - .byte 0x2F - .byte 0x2B - .byte 0x2C - .byte 0x02 - .byte 0x27 - .byte 0x2D - .byte 0x3E - .byte 0x3F - .byte 0x3B - .byte 0x3C - .byte 0x12 - .byte 0x45 - .byte 0x3D - - .align 2 -gUnknown_08376B54:: @ 8376B54 - .4byte ItemUseMoveMenu_HandleMoveSelection - .4byte ItemUseMoveMenu_HandleCancel - - .align 1 -Unknown_08376B5C: - .2byte 0x4000, 0x4018, 0xF400 - .2byte 0x4000, 0x4038, 0xF404 - .2byte 0x4008, 0x4018, 0xF408 - .2byte 0x4008, 0x4038, 0xF40C - .2byte 0x4010, 0x4020, 0xF410 - .2byte 0x4020, 0x4025, 0xF418 - .2byte 0x4020, 0x4045, 0xF41C - .2byte -1 - - .align 1 -Unknown_08376B88: - .2byte 0x4000, 0x4018, 0xF400 - .2byte 0x4000, 0x4038, 0xF404 - .2byte 0x4008, 0x4018, 0xF408 - .2byte 0x4008, 0x4038, 0xF40C - .2byte 0x4010, 0x4020, 0xF410 - .2byte 0x4010, 0x4065, 0xF418 - .2byte 0x4010, 0x4085, 0xF41C - .2byte -1 - - .align 2 -gUnknown_08376BB4:: @ 8376BB4 - .byte 0x1, 0x4 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x1 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x4 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x7 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xA - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xD - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x2 - .space 2 - .4byte Unknown_08376B5C - - .byte 0x1, 0x9 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x1 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x5 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x9 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xD - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x2 - .space 2 - .4byte Unknown_08376B5C - - .byte 0x1, 0x9 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x2 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x5 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x9 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xC - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x2 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x2 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x5 - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x9 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x9 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xC - .space 2 - .4byte Unknown_08376B88 - - .align 2 -gUnknown_08376C74:: @ 8376C74 - .4byte sub_8089CD4, sub_806AFD0, 0 - .4byte SetUpBattlePokemonMenu, SetUpBattlePartyMenu, 0 - .4byte sub_80F9C6C, sub_80F9ACC, 0 - .4byte sub_80F9C6C, sub_806AFD0, 0 - .4byte sub_81222B0, sub_8121E78, 0 - .4byte sub_8122A48, sub_8122854, 0xFF - .4byte sub_8122E0C, sub_806AFD0, 0x0F - .4byte sub_80F9E64, sub_80F9CE8, 0 - - .align 2 -gUnknown_08376CD4:: @ 8376CD4 - .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F - .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F - - .align 2 -gUnknown_08376CEC:: @ 8376CEC - .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F - .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F - - .align 2 -gUnknown_08376D04:: @ 8376D04 - .4byte gOtherText_HP - .4byte gOtherText_Attack - .4byte gOtherText_Defense - .4byte gOtherText_SpAtk - .4byte gOtherText_SpDef - .4byte gOtherText_Speed - -gUnknown_08376D1C:: @ 8376D1C - .byte 0x3A @ HP - .byte 0x3B @ Attack - .byte 0x3C @ Defense - .byte 0x3E @ Sp. Attack - .byte 0x3F @ Sp. Defense - .byte 0x3D @ Speed diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index a68f2ca8d..b6b7401f3 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -1,203 +1,203 @@ .align 2 gScriptCmdTable:: @ 814AE30 - .4byte ScrCmd_snop - .4byte ScrCmd_snop1 - .4byte ScrCmd_end - .4byte ScrCmd_return - .4byte ScrCmd_call - .4byte ScrCmd_jump - .4byte ScrCmd_jumpif - .4byte ScrCmd_callif - .4byte ScrCmd_jumpstd - .4byte ScrCmd_callstd - .4byte ScrCmd_jumpstdif - .4byte ScrCmd_callstdif - .4byte ScrCmd_jumpram - .4byte ScrCmd_die - .4byte ScrCmd_setbyte - .4byte ScrCmd_loadptr - .4byte ScrCmd_setbufferbyte - .4byte ScrCmd_writebytetooffset - .4byte ScrCmd_loadbytefrompointer - .4byte ScrCmd_setptrbyte - .4byte ScrCmd_copybuffers - .4byte ScrCmd_copybyte - .4byte ScrCmd_setvar - .4byte ScrCmd_addvar - .4byte ScrCmd_subvar - .4byte ScrCmd_copyvar - .4byte ScrCmd_setorcopyvar - .4byte ScrCmd_comparebuffers - .4byte ScrCmd_comparebuffertobyte - .4byte ScrCmd_comparebuffertoptrbyte - .4byte ScrCmd_compareptrbytetobuffer - .4byte ScrCmd_compareptrbytetobyte - .4byte ScrCmd_compareptrbytes - .4byte ScrCmd_compare - .4byte ScrCmd_comparevars - .4byte ScrCmd_callasm - .4byte ScrCmd_jumpasm - .4byte ScrCmd_special - .4byte ScrCmd_specialval - .4byte ScrCmd_waitstate - .4byte ScrCmd_pause - .4byte ScrCmd_setflag - .4byte ScrCmd_clearflag - .4byte ScrCmd_checkflag - .4byte ScrCmd_compareflags - .4byte ScrCmd_checkdailyflags - .4byte ScrCmd_resetvars - .4byte ScrCmd_playsfx - .4byte ScrCmd_checksound - .4byte ScrCmd_fanfare - .4byte ScrCmd_waitfanfare - .4byte ScrCmd_playmusic - .4byte ScrCmd_playmusicbattle - .4byte ScrCmd_fadedefault - .4byte ScrCmd_fademusic - .4byte ScrCmd_fadeout - .4byte ScrCmd_fadein - .4byte ScrCmd_warp - .4byte ScrCmd_warpmuted - .4byte ScrCmd_warpwalk - .4byte ScrCmd_warphole - .4byte ScrCmd_warpteleport - .4byte ScrCmd_warp3 - .4byte ScrCmd_warpplace - .4byte ScrCmd_warp4 - .4byte ScrCmd_warp5 - .4byte ScrCmd_getplayerxy - .4byte ScrCmd_countpokemon - .4byte ScrCmd_additem - .4byte ScrCmd_removeitem - .4byte ScrCmd_checkitemspace - .4byte ScrCmd_checkitem - .4byte ScrCmd_checkitemtype - .4byte ScrCmd_addpcitem - .4byte ScrCmd_checkpcitem - .4byte ScrCmd_adddecor - .4byte ScrCmd_removedecor - .4byte ScrCmd_testdecor - .4byte ScrCmd_checkdecor - .4byte ScrCmd_move - .4byte ScrCmd_movecoords - .4byte ScrCmd_waitmove - .4byte ScrCmd_waitmovexy - .4byte ScrCmd_disappear - .4byte ScrCmd_disappearxy - .4byte ScrCmd_reappear - .4byte ScrCmd_reappearxy - .4byte ScrCmd_movesprite - .4byte ScrCmd_spritevisible - .4byte ScrCmd_spriteinvisible - .4byte ScrCmd_faceplayer - .4byte ScrCmd_spriteface - .4byte ScrCmd_trainerbattle - .4byte ScrCmd_reptrainerbattle - .4byte ScrCmd_endtrainerbattle - .4byte ScrCmd_endtrainerbattle2 - .4byte ScrCmd_checktrainerflag - .4byte ScrCmd_cleartrainerflag - .4byte ScrCmd_settrainerflag - .4byte ScrCmd_movespriteperm - .4byte ScrCmd_moveoffscreen - .4byte ScrCmd_spritebehave - .4byte ScrCmd_waittext - .4byte ScrCmd_message - .4byte ScrCmd_closebutton - .4byte ScrCmd_lockall - .4byte ScrCmd_lock - .4byte ScrCmd_releaseall - .4byte ScrCmd_release - .4byte ScrCmd_waitbutton - .4byte ScrCmd_yesnobox - .4byte ScrCmd_multichoice - .4byte ScrCmd_multichoicedef - .4byte ScrCmd_multichoicerow - .4byte ScrCmd_showbox - .4byte ScrCmd_hidebox - .4byte ScrCmd_clearbox - .4byte ScrCmd_showpokepic - .4byte ScrCmd_hidepokepic - .4byte ScrCmd_showcontestwinner - .4byte ScrCmd_braillemsg - .4byte ScrCmd_givepokemon - .4byte ScrCmd_giveegg - .4byte ScrCmd_setpokemove - .4byte ScrCmd_checkattack - .4byte ScrCmd_bufferpoke - .4byte ScrCmd_bufferfirstpoke - .4byte ScrCmd_bufferpartypoke - .4byte ScrCmd_bufferitem - .4byte ScrCmd_bufferdecor - .4byte ScrCmd_bufferattack - .4byte ScrCmd_buffernum - .4byte ScrCmd_bufferstd - .4byte ScrCmd_buffertext - .4byte ScrCmd_pokemart - .4byte ScrCmd_pokemartdecor - .4byte ScrCmd_pokemartbp - .4byte ScrCmd_pokecasino - .4byte ScrCmd_event_8a - .4byte ScrCmd_choosecontestpkmn - .4byte ScrCmd_startcontest - .4byte ScrCmd_showcontestresults - .4byte ScrCmd_contestlinktransfer - .4byte ScrCmd_random - .4byte ScrCmd_givemoney - .4byte ScrCmd_paymoney - .4byte ScrCmd_checkmoney - .4byte ScrCmd_showmoney - .4byte ScrCmd_hidemoney - .4byte ScrCmd_updatemoney - .4byte ScrCmd_event_96 - .4byte ScrCmd_fadescreen - .4byte ScrCmd_fadescreendelay - .4byte ScrCmd_darken - .4byte ScrCmd_lighten - .4byte ScrCmd_message2 - .4byte ScrCmd_doanimation - .4byte ScrCmd_setanimation - .4byte ScrCmd_checkanimation - .4byte ScrCmd_sethealplace - .4byte ScrCmd_checkgender - .4byte ScrCmd_pokecry - .4byte ScrCmd_setmaptile - .4byte ScrCmd_resetweather - .4byte ScrCmd_setweather - .4byte ScrCmd_doweather - .4byte ScrCmd_tileeffect - .4byte ScrCmd_setmapfooter - .4byte ScrCmd_spritelevelup - .4byte ScrCmd_restorespritelevel - .4byte ScrCmd_createvsprite - .4byte ScrCmd_vspriteface - .4byte ScrCmd_setdooropened - .4byte ScrCmd_setdoorclosed - .4byte ScrCmd_doorchange - .4byte ScrCmd_setdooropened2 - .4byte ScrCmd_setdoorclosed2 - .4byte ScrCmd_event_b1 - .4byte ScrCmd_event_b2 - .4byte ScrCmd_checkcoins - .4byte ScrCmd_givecoins - .4byte ScrCmd_removecoins - .4byte ScrCmd_setwildbattle - .4byte ScrCmd_dowildbattle - .4byte ScrCmd_setvaddress - .4byte ScrCmd_vjump - .4byte ScrCmd_vcall - .4byte ScrCmd_if5 - .4byte ScrCmd_if6 - .4byte ScrCmd_vtext - .4byte ScrCmd_vloadptr - .4byte ScrCmd_vbuffer - .4byte ScrCmd_showcoins - .4byte ScrCmd_hidecoins - .4byte ScrCmd_updatecoins - .4byte ScrCmd_inccounter - .4byte ScrCmd_warp6 - .4byte ScrCmd_waitpokecry + .4byte ScrCmd_nop @ 0x00 + .4byte ScrCmd_nop1 @ 0x01 + .4byte ScrCmd_end @ 0x02 + .4byte ScrCmd_return @ 0x03 + .4byte ScrCmd_call @ 0x04 + .4byte ScrCmd_goto @ 0x05 + .4byte ScrCmd_goto_if @ 0x06 + .4byte ScrCmd_call_if @ 0x07 + .4byte ScrCmd_gotostd @ 0x08 + .4byte ScrCmd_callstd @ 0x09 + .4byte ScrCmd_gotostd_if @ 0x0A + .4byte ScrCmd_callstd_if @ 0x0B + .4byte ScrCmd_gotoram @ 0x0C + .4byte ScrCmd_killscript @ 0x0D + .4byte ScrCmd_setmysteryeventstatus @ 0x0E + .4byte ScrCmd_loadword @ 0x0F + .4byte ScrCmd_loadbyte @ 0x10 + .4byte ScrCmd_writebytetoaddr @ 0x11 + .4byte ScrCmd_loadbytefromaddr @ 0x12 + .4byte ScrCmd_setptrbyte @ 0x13 + .4byte ScrCmd_copylocal @ 0x14 + .4byte ScrCmd_copybyte @ 0x15 + .4byte ScrCmd_setvar @ 0x16 + .4byte ScrCmd_addvar @ 0x17 + .4byte ScrCmd_subvar @ 0x18 + .4byte ScrCmd_copyvar @ 0x19 + .4byte ScrCmd_setorcopyvar @ 0x1A + .4byte ScrCmd_compare_local_to_local @ 0x1B + .4byte ScrCmd_compare_local_to_value @ 0x1C + .4byte ScrCmd_compare_local_to_addr @ 0x1D + .4byte ScrCmd_compare_addr_to_local @ 0x1E + .4byte ScrCmd_compare_addr_to_value @ 0x1F + .4byte ScrCmd_compare_addr_to_addr @ 0x20 + .4byte ScrCmd_compare_var_to_value @ 0x21 + .4byte ScrCmd_compare_var_to_var @ 0x22 + .4byte ScrCmd_callnative @ 0x23 + .4byte ScrCmd_gotonative @ 0x24 + .4byte ScrCmd_special @ 0x25 + .4byte ScrCmd_specialvar @ 0x26 + .4byte ScrCmd_waitstate @ 0x27 + .4byte ScrCmd_delay @ 0x28 + .4byte ScrCmd_setflag @ 0x29 + .4byte ScrCmd_clearflag @ 0x2A + .4byte ScrCmd_checkflag @ 0x2B + .4byte ScrCmd_initclock @ 0x2C + .4byte ScrCmd_dodailyevents @ 0x2D + .4byte ScrCmd_gettime @ 0x2E + .4byte ScrCmd_playse @ 0x2F + .4byte ScrCmd_waitse @ 0x30 + .4byte ScrCmd_playfanfare @ 0x31 + .4byte ScrCmd_waitfanfare @ 0x32 + .4byte ScrCmd_playbgm @ 0x33 + .4byte ScrCmd_savebgm @ 0x34 + .4byte ScrCmd_fadedefaultbgm @ 0x35 + .4byte ScrCmd_fadenewbgm @ 0x36 + .4byte ScrCmd_fadeoutbgm @ 0x37 + .4byte ScrCmd_fadeinbgm @ 0x38 + .4byte ScrCmd_warp @ 0x39 + .4byte ScrCmd_warpsilent @ 0x3A + .4byte ScrCmd_warpdoor @ 0x3B + .4byte ScrCmd_warphole @ 0x3C + .4byte ScrCmd_warpteleport @ 0x3D + .4byte ScrCmd_setwarp @ 0x3E + .4byte ScrCmd_setdynamicwarp @ 0x3F + .4byte ScrCmd_setdivewarp @ 0x40 + .4byte ScrCmd_setholewarp @ 0x41 + .4byte ScrCmd_getplayerxy @ 0x42 + .4byte ScrCmd_countpokemon @ 0x43 + .4byte ScrCmd_additem @ 0x44 + .4byte ScrCmd_removeitem @ 0x45 + .4byte ScrCmd_checkitemspace @ 0x46 + .4byte ScrCmd_checkitem @ 0x47 + .4byte ScrCmd_checkitemtype @ 0x48 + .4byte ScrCmd_addpcitem @ 0x49 + .4byte ScrCmd_checkpcitem @ 0x4A + .4byte ScrCmd_adddecor @ 0x4B + .4byte ScrCmd_removedecor @ 0x4C + .4byte ScrCmd_hasdecor @ 0x4D + .4byte ScrCmd_checkdecor @ 0x4E + .4byte ScrCmd_applymovement @ 0x4F + .4byte ScrCmd_applymovement_at @ 0x50 + .4byte ScrCmd_waitmovement @ 0x51 + .4byte ScrCmd_waitmovement_at @ 0x52 + .4byte ScrCmd_removeobject @ 0x53 + .4byte ScrCmd_removeobject_at @ 0x54 + .4byte ScrCmd_addobject @ 0x55 + .4byte ScrCmd_addobject_at @ 0x56 + .4byte ScrCmd_setobjectxy @ 0x57 + .4byte ScrCmd_showobject @ 0x58 + .4byte ScrCmd_hideobject @ 0x59 + .4byte ScrCmd_faceplayer @ 0x5A + .4byte ScrCmd_turnobject @ 0x5B + .4byte ScrCmd_trainerbattle @ 0x5C + .4byte ScrCmd_battlebegin @ 0x5D + .4byte ScrCmd_ontrainerbattleend @ 0x5E + .4byte ScrCmd_ontrainerbattleendgoto @ 0x5F + .4byte ScrCmd_checktrainerflag @ 0x60 + .4byte ScrCmd_settrainerflag @ 0x61 + .4byte ScrCmd_cleartrainerflag @ 0x62 + .4byte ScrCmd_setobjectxyperm @ 0x63 + .4byte ScrCmd_moveobjectoffscreen @ 0x64 + .4byte ScrCmd_setobjectmovementtype @ 0x65 + .4byte ScrCmd_waitmessage @ 0x66 + .4byte ScrCmd_message @ 0x67 + .4byte ScrCmd_closemessage @ 0x68 + .4byte ScrCmd_lockall @ 0x69 + .4byte ScrCmd_lock @ 0x6A + .4byte ScrCmd_releaseall @ 0x6B + .4byte ScrCmd_release @ 0x6C + .4byte ScrCmd_waitbutton @ 0x6D + .4byte ScrCmd_yesnobox @ 0x6E + .4byte ScrCmd_multichoice @ 0x6F + .4byte ScrCmd_multichoicedefault @ 0x70 + .4byte ScrCmd_multichoicegrid @ 0x71 + .4byte ScrCmd_drawbox @ 0x72 + .4byte ScrCmd_erasebox @ 0x73 + .4byte ScrCmd_drawboxtext @ 0x74 + .4byte ScrCmd_drawpokepic @ 0x75 + .4byte ScrCmd_erasepokepic @ 0x76 + .4byte ScrCmd_drawcontestwinner @ 0x77 + .4byte ScrCmd_braillemessage @ 0x78 + .4byte ScrCmd_givepoke @ 0x79 + .4byte ScrCmd_giveegg @ 0x7A + .4byte ScrCmd_setpokemove @ 0x7B + .4byte ScrCmd_checkpokemove @ 0x7C + .4byte ScrCmd_getspeciesname @ 0x7D + .4byte ScrCmd_getfirstpartypokename @ 0x7E + .4byte ScrCmd_getpartypokename @ 0x7F + .4byte ScrCmd_getitemname @ 0x80 + .4byte ScrCmd_getdecorname @ 0x81 + .4byte ScrCmd_getmovename @ 0x82 + .4byte ScrCmd_getnumberstring @ 0x83 + .4byte ScrCmd_getstdstring @ 0x84 + .4byte ScrCmd_getstring @ 0x85 + .4byte ScrCmd_pokemart @ 0x86 + .4byte ScrCmd_pokemartdecor @ 0x87 + .4byte ScrCmd_pokemartbp @ 0x88 + .4byte ScrCmd_playslotmachine @ 0x89 + .4byte ScrCmd_plantberrytree @ 0x8A + .4byte ScrCmd_choosecontestpkmn @ 0x8B + .4byte ScrCmd_startcontest @ 0x8C + .4byte ScrCmd_showcontestresults @ 0x8D + .4byte ScrCmd_contestlinktransfer @ 0x8E + .4byte ScrCmd_random @ 0x8F + .4byte ScrCmd_givemoney @ 0x90 + .4byte ScrCmd_takemoney @ 0x91 + .4byte ScrCmd_checkmoney @ 0x92 + .4byte ScrCmd_showmoneybox @ 0x93 + .4byte ScrCmd_hidemoneybox @ 0x94 + .4byte ScrCmd_updatemoneybox @ 0x95 + .4byte ScrCmd_getpricereduction @ 0x96 + .4byte ScrCmd_fadescreen @ 0x97 + .4byte ScrCmd_fadescreendelay @ 0x98 + .4byte ScrCmd_setdarklevel @ 0x99 + .4byte ScrCmd_animdarklevel @ 0x9A + .4byte ScrCmd_messageautoscroll @ 0x9B + .4byte ScrCmd_dofieldeffect @ 0x9C + .4byte ScrCmd_setfieldeffect @ 0x9D + .4byte ScrCmd_waitfieldeffect @ 0x9E + .4byte ScrCmd_sethealplace @ 0x9F + .4byte ScrCmd_checkplayergender @ 0xA0 + .4byte ScrCmd_playpokecry @ 0xA1 + .4byte ScrCmd_setmaptile @ 0xA2 + .4byte ScrCmd_resetweather @ 0xA3 + .4byte ScrCmd_setweather @ 0xA4 + .4byte ScrCmd_doweather @ 0xA5 + .4byte ScrCmd_tileeffect @ 0xA6 + .4byte ScrCmd_setmaplayoutindex @ 0xA7 + .4byte ScrCmd_setobjectpriority @ 0xA8 + .4byte ScrCmd_resetobjectpriority @ 0xA9 + .4byte ScrCmd_createvobject @ 0xAA + .4byte ScrCmd_turnvobject @ 0xAB + .4byte ScrCmd_opendoor @ 0xAC + .4byte ScrCmd_closedoor @ 0xAD + .4byte ScrCmd_waitdooranim @ 0xAE + .4byte ScrCmd_setdooropen @ 0xAF + .4byte ScrCmd_setdoorclosed @ 0xB0 + .4byte ScrCmd_addelevmenuitem @ 0xB1 + .4byte ScrCmd_showelevmenu @ 0xB2 + .4byte ScrCmd_checkcoins @ 0xB3 + .4byte ScrCmd_givecoins @ 0xB4 + .4byte ScrCmd_takecoins @ 0xB5 + .4byte ScrCmd_setwildbattle @ 0xB6 + .4byte ScrCmd_dowildbattle @ 0xB7 + .4byte ScrCmd_setvaddress @ 0xB8 + .4byte ScrCmd_vgoto @ 0xB9 + .4byte ScrCmd_vcall @ 0xBA + .4byte ScrCmd_vgoto_if @ 0xBB + .4byte ScrCmd_vcall_if @ 0xBC + .4byte ScrCmd_vmessage @ 0xBD + .4byte ScrCmd_vloadword @ 0xBE + .4byte ScrCmd_vgetstring @ 0xBF + .4byte ScrCmd_showcoinsbox @ 0xC0 + .4byte ScrCmd_hidecoinsbox @ 0xC1 + .4byte ScrCmd_updatecoinsbox @ 0xC2 + .4byte ScrCmd_incrementgamestat @ 0xC3 + .4byte ScrCmd_setescapewarp @ 0xC4 + .4byte ScrCmd_waitpokecry @ 0xC5 gScriptCmdTableEnd:: - .4byte ScrCmd_snop + .4byte ScrCmd_nop diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index f4707d8cb..be1cafbdd 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -13,7 +13,7 @@ S_BerryTree:: @ 81A14DD Route102_EventScript_1A1533:: @ 81A1533 lockall message Route102_Text_1A1946 - waittext + waitmessage waitbutton releaseall end @@ -21,11 +21,11 @@ Route102_EventScript_1A1533:: @ 81A1533 Route102_EventScript_1A153D:: @ 81A153D lock faceplayer - specialval RESULT, PlayerHasBerries + specialvar RESULT, PlayerHasBerries compare RESULT, 1 - jumpeq Route102_EventScript_1A1558 + goto_if_eq Route102_EventScript_1A1558 message Route102_Text_1A16B6 - waittext + waitmessage waitbutton release end @@ -33,18 +33,18 @@ Route102_EventScript_1A153D:: @ 81A153D Route102_EventScript_1A1558:: @ 81A1558 msgbox Route102_Text_1A16CD, 5 compare RESULT, 1 - jumpeq Route102_EventScript_1A1577 + goto_if_eq Route102_EventScript_1A1577 compare RESULT, 0 - jumpeq Route102_EventScript_1A1593 + goto_if_eq Route102_EventScript_1A1593 end Route102_EventScript_1A1577:: @ 81A1577 fadescreen 1 - closebutton - special sub_80B4EE4 + closemessage + special Berry_FadeAndGoToBerryBagMenu waitstate compare ITEM_ID, 0 - jumpeq Route102_EventScript_1A1593 + goto_if_eq Route102_EventScript_1A1593 removeitem ITEM_ID, 1 call Route102_EventScript_1A16A9 @@ -55,84 +55,84 @@ Route102_EventScript_1A1593:: @ 81A1593 Route102_EventScript_1A1595:: @ 81A1595 lockall message Route102_Text_1A172C - waittext + waitmessage waitbutton - jump Route102_EventScript_1A165F + goto Route102_EventScript_1A165F Route102_EventScript_1A15A2:: @ 81A15A2 lockall message Route102_Text_1A174B - waittext + waitmessage waitbutton - jump Route102_EventScript_1A165F + goto Route102_EventScript_1A165F Route102_EventScript_1A15AF:: @ 81A15AF lockall message Route102_Text_1A175C - waittext + waitmessage waitbutton - jump Route102_EventScript_1A165F + goto Route102_EventScript_1A165F Route102_EventScript_1A15BC:: @ 81A15BC call Route102_EventScript_1A15CE lockall message Route102_Text_1A177D - waittext + waitmessage waitbutton - jump Route102_EventScript_1A165F + goto Route102_EventScript_1A165F Route102_EventScript_1A15CE:: @ 81A15CE compare 0x8005, 0 - jumpeq Route102_EventScript_1A15F2 + goto_if_eq Route102_EventScript_1A15F2 compare 0x8005, 4 - jumpeq Route102_EventScript_1A15EB - buffertext 1, Route102_Text_1A17B7 + goto_if_eq Route102_EventScript_1A15EB + getstring 1, Route102_Text_1A17B7 return Route102_EventScript_1A15EB:: @ 81A15EB - buffertext 1, Route102_Text_1A179F + getstring 1, Route102_Text_1A179F return Route102_EventScript_1A15F2:: @ 81A15F2 - buffertext 1, Route102_Text_1A17B0 + getstring 1, Route102_Text_1A17B0 return Route102_EventScript_1A15F9:: @ 81A15F9 - buffernum 1, 0x8006 + getnumberstring 1, 0x8006 lock faceplayer msgbox Route102_Text_1A17C0, 5 compare RESULT, 1 - jumpeq Route102_EventScript_1A161D + goto_if_eq Route102_EventScript_1A161D compare RESULT, 0 - jumpeq Route102_EventScript_1A164B + goto_if_eq Route102_EventScript_1A164B Route102_EventScript_1A161D:: @ 81A161D special FieldObjectInteractionPickBerryTree compare 0x8004, 0 - jumpeq Route102_EventScript_1A1642 + goto_if_eq Route102_EventScript_1A1642 special FieldObjectInteractionRemoveBerryTree message Route102_Text_1A17FD - fanfare 387 - waittext + playfanfare 387 + waitmessage waitfanfare waitbutton message Route102_Text_1A181A - waittext + waitmessage waitbutton release end Route102_EventScript_1A1642:: @ 81A1642 message Route102_Text_1A1881 - waittext + waitmessage waitbutton release end Route102_EventScript_1A164B:: @ 81A164B message Route102_Text_1A18C5 - waittext + waitmessage waitbutton release end @@ -147,12 +147,12 @@ gUnknown_081A1654:: @ 81A1654 Route102_EventScript_1A165F:: @ 81A165F checkitem ITEM_WAILMER_PAIL, 1 compare RESULT, 0 - jumpeq Route102_EventScript_1A168D + goto_if_eq Route102_EventScript_1A168D msgbox Route102_Text_1A18E6, 5 compare RESULT, 1 - jumpeq Route102_EventScript_1A1693 + goto_if_eq Route102_EventScript_1A1693 compare RESULT, 0 - jumpeq Route102_EventScript_1A168D + goto_if_eq Route102_EventScript_1A168D Route102_EventScript_1A168D:: @ 81A168D releaseall @@ -164,20 +164,20 @@ gUnknown_081A168F:: @ 81A168F Route102_EventScript_1A1693:: @ 81A1693 message Route102_Text_1A1912 - waittext + waitmessage special FieldObjectInteractionWaterBerryTree special DoWateringBerryTreeAnim waitstate message Route102_Text_1A1925 - waittext + waitmessage waitbutton releaseall end Route102_EventScript_1A16A9:: @ 81A16A9 special FieldObjectInteractionPlantBerryTree - inccounter GAME_STAT_PLANTED_BERRIES + incrementgamestat GAME_STAT_PLANTED_BERRIES message Route102_Text_1A16FB - waittext + waitmessage waitbutton return diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index 6507677e0..9f44e131b 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -21,7 +21,7 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_1A3D03:: @ 81A3D03 .2byte 0 OldaleTown_PokemonCenter_2F_EventScript_1A3D2D:: @ 81A3D2D - spriteface 0x8007, 4 + turnobject 0x8007, 4 end DewfordTown_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32 @@ -40,15 +40,15 @@ SlateportCity_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32 SootopolisCity_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32 VerdanturfTown_PokemonCenter_2F_MapScript1_1A3D32:: @ 81A3D32 compare 0x4087, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A compare 0x4087, 2 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A compare 0x4087, 5 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D6A compare 0x4087, 3 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D74 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D74 compare 0x4087, 4 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3D7E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3D7E end OldaleTown_PokemonCenter_2F_EventScript_1A3D6A:: @ 81A3D6A @@ -88,12 +88,12 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_1A3D88:: @ 81A3D88 OldaleTown_PokemonCenter_2F_EventScript_1A3DB2:: @ 81A3DB2 special CloseLink setvar 0x4087, 0 - move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 - waitmove 0 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 + waitmovement 0 compare 0x8007, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3DD9 - move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354 - waitmove 0 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3DD9 + applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354 + waitmovement 0 OldaleTown_PokemonCenter_2F_EventScript_1A3DD9:: @ 81A3DD9 return @@ -102,18 +102,18 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3DDA:: @ 81A3DDA special CloseLink setvar 0x4087, 0 compare 0x8007, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C - move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356 - waitmove 0 - move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 - waitmove 0 - move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354 - waitmove 0 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C + applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356 + waitmovement 0 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 + waitmovement 0 + applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354 + waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_1A3E0C:: @ 81A3E0C - move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 - waitmove 0 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 + waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_1A3E17:: @ 81A3E17 @@ -121,7 +121,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E17:: @ 81A3E17 call OldaleTown_PokemonCenter_2F_EventScript_1A3E30 setmaptile 8, 3, 605, 1 special DrawWholeMapView - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -129,20 +129,20 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30 special CloseLink setvar 0x4087, 0 compare 0x8007, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C - move 255, OldaleTown_PokemonCenter_2F_Movement_1A4361 - waitmove 0 - move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356 - waitmove 0 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4361 + waitmovement 0 + applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4356 + waitmovement 0 message OldaleTown_PokemonCenter_2F_Text_1A4E50 - waittext - playsfx 21 + waitmessage + playse 21 message OldaleTown_PokemonCenter_2F_Text_1A4E79 - waittext - move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 - waitmove 0 - move 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354 - waitmove 0 + waitmessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 + waitmovement 0 + applymovement 0x8007, OldaleTown_PokemonCenter_2F_Movement_1A4354 + waitmovement 0 return OldaleTown_PokemonCenter_2F_EventScript_1A3E7B:: @ 81A3E7B @@ -156,7 +156,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E8D:: @ 81A3E8D call OldaleTown_PokemonCenter_2F_EventScript_1A3DDA setmaptile 5, 3, 605, 1 special DrawWholeMapView - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -175,12 +175,12 @@ SlateportCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 SootopolisCity_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 VerdanturfTown_PokemonCenter_2F_EventScript_1A3EA6:: @ 81A3EA6 checkflag 2049 - jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A4342 + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4342 copyvar 0x8007, LAST_TALKED lock faceplayer message OldaleTown_PokemonCenter_2F_Text_1A4510 - waittext + waitmessage OldaleTown_PokemonCenter_2F_EventScript_1A3EBC:: @ 81A3EBC multichoice 17, 6, 17, 0 @@ -193,52 +193,52 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3EBC:: @ 81A3EBC OldaleTown_PokemonCenter_2F_EventScript_1A3EF2:: @ 81A3EF2 call S_DoSaveDialog compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 call OldaleTown_PokemonCenter_2F_EventScript_1A3FEF compare 0x8004, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 message OldaleTown_PokemonCenter_2F_Text_1A490C - waittext + waitmessage special sub_808347C waitstate compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3F5E + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3F5E compare RESULT, 2 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4301 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4301 compare RESULT, 3 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A430D + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A430D compare RESULT, 4 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4068 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4068 compare RESULT, 5 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 compare RESULT, 6 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 OldaleTown_PokemonCenter_2F_EventScript_1A3F5E:: @ 81A3F5E special ScrSpecial_HealPlayerParty special SavePlayerParty special LoadPlayerBag copyvar 0x4087, 0x8004 - message2 OldaleTown_PokemonCenter_2F_Text_1A4A22 - waittext + messageautoscroll OldaleTown_PokemonCenter_2F_Text_1A4A22 + waitmessage setmaptile 5, 3, 514, 0 special DrawWholeMapView - pause 60 - move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 - waitmove 0 - closebutton - move 255, OldaleTown_PokemonCenter_2F_Movement_1A435B - waitmove 0 - setdooropened 5, 1 - doorchange - move 255, OldaleTown_PokemonCenter_2F_Movement_1A435F - waitmove 0 - spriteinvisible 255, 0, 0 - setdoorclosed 5, 1 - doorchange + delay 60 + applymovement LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435B + waitmovement 0 + opendoor 5, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435F + waitmovement 0 + hideobject 255, 0, 0 + closedoor 5, 1 + waitdooranim release compare 0x8004, 5 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3FCD + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A3FCD special SetCableClubWarp warp SingleBattleColosseum, 255, 6, 8 special DoCableClubWarp @@ -254,15 +254,15 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3FCD:: @ 81A3FCD OldaleTown_PokemonCenter_2F_EventScript_1A3FDD:: @ 81A3FDD message OldaleTown_PokemonCenter_2F_Text_1A4696 - waittext + waitmessage waitbutton message OldaleTown_PokemonCenter_2F_Text_1A4826 - waittext - jump OldaleTown_PokemonCenter_2F_EventScript_1A3EBC + waitmessage + goto OldaleTown_PokemonCenter_2F_EventScript_1A3EBC OldaleTown_PokemonCenter_2F_EventScript_1A3FEF:: @ 81A3FEF message OldaleTown_PokemonCenter_2F_Text_1A4840 - waittext + waitmessage multichoice 0, 0, 18, 0 switch RESULT case 0, OldaleTown_PokemonCenter_2F_EventScript_1A4062 @@ -282,15 +282,15 @@ OldaleTown_PokemonCenter_2F_EventScript_1A403C:: @ 81A403C OldaleTown_PokemonCenter_2F_EventScript_1A4042:: @ 81A4042 special CheckForAlivePartyMons compare RESULT, 0 - jumpif 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056 + goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056 setvar 0x8004, 2 return OldaleTown_PokemonCenter_2F_EventScript_1A4056:: @ 81A4056 message OldaleTown_PokemonCenter_2F_Text_1A486A - waittext + waitmessage waitbutton - jump OldaleTown_PokemonCenter_2F_EventScript_1A3FEF + goto OldaleTown_PokemonCenter_2F_EventScript_1A3FEF OldaleTown_PokemonCenter_2F_EventScript_1A4062:: @ 81A4062 setvar 0x8004, 1 @@ -301,33 +301,33 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4068:: @ 81A4068 case 1, OldaleTown_PokemonCenter_2F_EventScript_1A40B1 case 2, OldaleTown_PokemonCenter_2F_EventScript_1A40A2 case 5, OldaleTown_PokemonCenter_2F_EventScript_1A4093 - jump OldaleTown_PokemonCenter_2F_EventScript_1A432D + goto OldaleTown_PokemonCenter_2F_EventScript_1A432D OldaleTown_PokemonCenter_2F_EventScript_1A4093:: @ 81A4093 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4C03 - waittext + waitmessage waitbutton - jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0 + goto OldaleTown_PokemonCenter_2F_EventScript_1A40C0 OldaleTown_PokemonCenter_2F_EventScript_1A40A2:: @ 81A40A2 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4BCC - waittext + waitmessage waitbutton - jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0 + goto OldaleTown_PokemonCenter_2F_EventScript_1A40C0 OldaleTown_PokemonCenter_2F_EventScript_1A40B1:: @ 81A40B1 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B95 - waittext + waitmessage waitbutton - jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0 + goto OldaleTown_PokemonCenter_2F_EventScript_1A40C0 OldaleTown_PokemonCenter_2F_EventScript_1A40C0:: @ 81A40C0 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4C38 - waittext + waitmessage waitbutton release end @@ -347,83 +347,83 @@ SlateportCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC SootopolisCity_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC VerdanturfTown_PokemonCenter_2F_EventScript_1A40CC:: @ 81A40CC checkflag 2049 - jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A4339 + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A4339 copyvar 0x8007, LAST_TALKED lock faceplayer msgbox OldaleTown_PokemonCenter_2F_Text_1A457E, 5 compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A40FA + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A40FA OldaleTown_PokemonCenter_2F_EventScript_1A40FA:: @ 81A40FA call OldaleTown_PokemonCenter_2F_EventScript_1A41BB compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 call S_DoSaveDialog compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 message OldaleTown_PokemonCenter_2F_Text_1A490C - waittext + waitmessage special sub_80834E4 waitstate compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4166 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4166 compare RESULT, 2 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4301 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4301 compare RESULT, 3 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A430D + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A430D compare RESULT, 4 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A432D + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A432D compare RESULT, 5 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 compare RESULT, 6 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166 setvar 0x8004, 3 copyvar 0x4087, 0x8004 - message2 OldaleTown_PokemonCenter_2F_Text_1A4A22 - waittext + messageautoscroll OldaleTown_PokemonCenter_2F_Text_1A4A22 + waitmessage setmaptile 8, 3, 514, 0 special DrawWholeMapView - pause 60 - move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 - waitmove 0 - closebutton - move 255, OldaleTown_PokemonCenter_2F_Movement_1A435B - waitmove 0 - setdooropened 8, 1 - doorchange - move 255, OldaleTown_PokemonCenter_2F_Movement_1A435F - waitmove 0 - spriteinvisible 255, 0, 0 - setdoorclosed 8, 1 - doorchange + delay 60 + applymovement LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435B + waitmovement 0 + opendoor 8, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435F + waitmovement 0 + hideobject 255, 0, 0 + closedoor 8, 1 + waitdooranim release - jump OldaleTown_PokemonCenter_2F_EventScript_1A4325 + goto OldaleTown_PokemonCenter_2F_EventScript_1A4325 OldaleTown_PokemonCenter_2F_EventScript_1A41BB:: @ 81A41BB - specialval RESULT, CalculatePlayerPartyCount + specialvar RESULT, CalculatePlayerPartyCount compare RESULT, 2 - jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1 - specialval RESULT, GetNameOfEnigmaBerryInPlayerParty + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1 + specialvar RESULT, GetNameOfEnigmaBerryInPlayerParty compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A41EE + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A41EE setvar RESULT, 1 return OldaleTown_PokemonCenter_2F_EventScript_1A41E1:: @ 81A41E1 message OldaleTown_PokemonCenter_2F_Text_1A48A3 - waittext + waitmessage waitbutton setvar RESULT, 0 return OldaleTown_PokemonCenter_2F_EventScript_1A41EE:: @ 81A41EE message OldaleTown_PokemonCenter_2F_Text_1A48DD - waittext + waitmessage waitbutton setvar RESULT, 0 return @@ -444,68 +444,68 @@ SlateportCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB SootopolisCity_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB VerdanturfTown_PokemonCenter_2F_EventScript_1A41FB:: @ 81A41FB checkflag 2072 - jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A434B + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_1A434B copyvar 0x8007, LAST_TALKED lock faceplayer msgbox OldaleTown_PokemonCenter_2F_Text_1A45FE, 5 compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4229 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4229 OldaleTown_PokemonCenter_2F_EventScript_1A4229:: @ 81A4229 call S_DoSaveDialog compare RESULT, 0 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 message OldaleTown_PokemonCenter_2F_Text_1A490C - waittext + waitmessage special sub_808350C waitstate special sub_80835D8 waitstate compare RESULT, 1 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4294 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4294 compare RESULT, 2 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4301 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4301 compare RESULT, 3 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A430D + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A430D compare RESULT, 4 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A432D + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A432D compare RESULT, 5 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A4319 compare RESULT, 6 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 compare RESULT, 7 - jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42E9 + goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_1A42E9 OldaleTown_PokemonCenter_2F_EventScript_1A4294:: @ 81A4294 setvar 0x8004, 4 copyvar 0x4087, 0x8004 - message2 OldaleTown_PokemonCenter_2F_Text_1A4A22 - waittext + messageautoscroll OldaleTown_PokemonCenter_2F_Text_1A4A22 + waitmessage setmaptile 11, 3, 514, 0 special DrawWholeMapView - pause 60 - move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 - waitmove 0 - closebutton - move 255, OldaleTown_PokemonCenter_2F_Movement_1A435B - waitmove 0 - setdooropened 11, 1 - doorchange - move 255, OldaleTown_PokemonCenter_2F_Movement_1A435F - waitmove 0 - spriteinvisible 255, 0, 0 - setdoorclosed 11, 1 - doorchange + delay 60 + applymovement LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435B + waitmovement 0 + opendoor 11, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_1A435F + waitmovement 0 + hideobject 255, 0, 0 + closedoor 11, 1 + waitdooranim release - jump OldaleTown_PokemonCenter_2F_EventScript_1A4325 + goto OldaleTown_PokemonCenter_2F_EventScript_1A4325 OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4AC8 - waittext + waitmessage waitbutton release end @@ -513,7 +513,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9 OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4A85 - waittext + waitmessage waitbutton release end @@ -521,7 +521,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5 OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4A30 - waittext + waitmessage waitbutton release end @@ -529,7 +529,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301 OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B1D - waittext + waitmessage waitbutton release end @@ -537,7 +537,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D OldaleTown_PokemonCenter_2F_EventScript_1A4319:: @ 81A4319 special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B59 - waittext + waitmessage waitbutton release end @@ -551,7 +551,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4325:: @ 81A4325 OldaleTown_PokemonCenter_2F_EventScript_1A432D:: @ 81A432D special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B6C - waittext + waitmessage waitbutton release end @@ -599,7 +599,7 @@ gUnknown_081A4363:: @ 81A4363 lockall special ShowLinkBattleRecords waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -620,7 +620,7 @@ DoubleBattleColosseum_EventScript_1A4383:: @ 81A4383 special sub_80C5568 waitstate compare RESULT, 0 - jumpeq DoubleBattleColosseum_EventScript_1A43EF + goto_if_eq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 0 special sub_8083B90 waitstate @@ -631,7 +631,7 @@ DoubleBattleColosseum_EventScript_1A439E:: @ 81A439E special sub_80C5568 waitstate compare RESULT, 0 - jumpeq DoubleBattleColosseum_EventScript_1A43EF + goto_if_eq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 1 special sub_8083B90 waitstate @@ -642,7 +642,7 @@ DoubleBattleColosseum_EventScript_1A43B9:: @ 81A43B9 special sub_80C5568 waitstate compare RESULT, 0 - jumpeq DoubleBattleColosseum_EventScript_1A43EF + goto_if_eq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 2 special sub_8083B90 waitstate @@ -653,7 +653,7 @@ DoubleBattleColosseum_EventScript_1A43D4:: @ 81A43D4 special sub_80C5568 waitstate compare RESULT, 0 - jumpeq DoubleBattleColosseum_EventScript_1A43EF + goto_if_eq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 3 special sub_8083B90 waitstate @@ -691,7 +691,7 @@ RecordCorner_EventScript_1A4418:: @ 81A4418 special sub_80B929C waitstate compare 0x4001, 0 - jumpif 5, RecordCorner_EventScript_1A446C + goto_if 5, RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A442D:: @ 81A442D @@ -699,7 +699,7 @@ RecordCorner_EventScript_1A442D:: @ 81A442D special sub_80B929C waitstate compare 0x4001, 0 - jumpif 5, RecordCorner_EventScript_1A446C + goto_if 5, RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A4442:: @ 81A4442 @@ -707,7 +707,7 @@ RecordCorner_EventScript_1A4442:: @ 81A4442 special sub_80B929C waitstate compare 0x4001, 0 - jumpif 5, RecordCorner_EventScript_1A446C + goto_if 5, RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A4457:: @ 81A4457 @@ -715,20 +715,20 @@ RecordCorner_EventScript_1A4457:: @ 81A4457 special sub_80B929C waitstate compare 0x4001, 0 - jumpif 5, RecordCorner_EventScript_1A446C + goto_if 5, RecordCorner_EventScript_1A446C end RecordCorner_EventScript_1A446C:: @ 81A446C - bufferitem 1, 0x4001 + getitemname 1, 0x4001 message RecordCorner_Text_1A4E3B - waittext + waitmessage waitbutton releaseall end TradeRoom_ReadTrainerCard1:: @ 81A4479 message CableClub_LookAtTrainerCard1 - waittext + waitmessage waitbutton fadescreen 1 special sub_8083BDC @@ -737,7 +737,7 @@ TradeRoom_ReadTrainerCard1:: @ 81A4479 TradeRoom_ReadTrainerCard2:: @ 81A4487 message CableClub_LookAtTrainerCard2 - waittext + waitmessage waitbutton fadescreen 1 special sub_8083BDC @@ -746,59 +746,59 @@ TradeRoom_ReadTrainerCard2:: @ 81A4487 TradeRoom_TooBusyToNotice:: @ 81A4495 message CableClub_TooBusyToNotice - waittext + waitmessage waitbutton - closebutton + closemessage end SingleBattleColosseum_EventScript_1A449E:: @ 81A449E special sub_8064EAC message SingleBattleColosseum_Text_1A4D7E - waittext + waitmessage waitbutton special sub_8064ED4 - closebutton + closemessage end TradeCenter_EventScript_1A44AD:: @ 81A44AD special sub_8064EAC message TradeCenter_Text_1A4DAB - waittext + waitmessage waitbutton special sub_8064ED4 - closebutton + closemessage end RecordCorner_EventScript_1A44BC:: @ 81A44BC compare 0x4000, 0 - jumpif 5, RecordCorner_EventScript_1A44D6 + goto_if 5, RecordCorner_EventScript_1A44D6 special sub_8064EAC message RecordCorner_Text_1A4DD7 - waittext + waitmessage waitbutton special sub_8064ED4 - closebutton + closemessage end RecordCorner_EventScript_1A44D6:: @ 81A44D6 special sub_8064EAC message RecordCorner_Text_1A4DF7 - waittext + waitmessage waitbutton special sub_8064ED4 - closebutton + closemessage end TradeRoom_PromptToCancelLink:: @ 81A44E5 msgbox TradeRoom_WillLinkBeTerminated, 5 compare RESULT, 1 - jumpeq TradeRoom_TerminateLink - hidebox 0, 0, 29, 19 + goto_if_eq TradeRoom_TerminateLink + erasebox 0, 0, 29, 19 end TradeRoom_TerminateLink:: @ 81A44FE - message2 TradeRoom_TerminatingLink - waittext + messageautoscroll TradeRoom_TerminatingLink + waitmessage special sub_80839D0 end diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 1952264d2..1b5c29fee 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -6,18 +6,18 @@ VerdanturfTown_ContestLobby_EventScript_1A4E92:: @ 81A4E92 faceplayer checkitem ITEM_CONTEST_PASS, 1 compare RESULT, 0 - callif 1, FallarborTown_ContestLobby_EventScript_1A4EDD + call_if 1, FallarborTown_ContestLobby_EventScript_1A4EDD compare 0x408a, 0 - jumpif 5, FallarborTown_ContestLobby_EventScript_1A4F4E + goto_if 5, FallarborTown_ContestLobby_EventScript_1A4F4E checkflag 1 - jumpeq FallarborTown_ContestLobby_EventScript_1A4F8F - bufferstd 0, 0x800b + goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F8F + getstdstring 0, 0x800b msgbox FallarborTown_ContestLobby_Text_1A5DFC, 4 checkitem ITEM_CONTEST_PASS, 1 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1A4EE1 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A4EE1 setflag 1 - jump FallarborTown_ContestLobby_EventScript_1A4F8F + goto FallarborTown_ContestLobby_EventScript_1A4F8F end FallarborTown_ContestLobby_EventScript_1A4EDD:: @ 81A4EDD @@ -26,7 +26,7 @@ FallarborTown_ContestLobby_EventScript_1A4EDD:: @ 81A4EDD FallarborTown_ContestLobby_EventScript_1A4EE1:: @ 81A4EE1 compare CONTEST_RANK, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1A4EF6 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A4EF6 msgbox FallarborTown_ContestLobby_Text_1A6340, 4 releaseall end @@ -34,20 +34,20 @@ FallarborTown_ContestLobby_EventScript_1A4EE1:: @ 81A4EE1 FallarborTown_ContestLobby_EventScript_1A4EF6:: @ 81A4EF6 msgbox FallarborTown_ContestLobby_Text_1A64F4, 5 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1A4F13 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F13 msgbox FallarborTown_ContestLobby_Text_1A65EA, 4 releaseall end FallarborTown_ContestLobby_EventScript_1A4F13:: @ 81A4F13 checkflag 150 - jumpeq FallarborTown_ContestLobby_EventScript_1A4F44 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F44 msgbox FallarborTown_ContestLobby_Text_1A6583, 4 giveitem ITEM_CONTEST_PASS setflag 150 setflag 1 msgbox FallarborTown_ContestLobby_Text_1A5E98, 4 - jump FallarborTown_ContestLobby_EventScript_1A4F8F + goto FallarborTown_ContestLobby_EventScript_1A4F8F end FallarborTown_ContestLobby_EventScript_1A4F44:: @ 81A4F44 @@ -64,9 +64,9 @@ FallarborTown_ContestLobby_EventScript_1A4F4E:: @ 81A4F4E FallarborTown_ContestLobby_EventScript_1A4F67:: @ 81A4F67 giveitem ITEM_LUXURY_BALL compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1A4F86 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A4F86 setvar 0x408a, 0 - closebutton + closemessage release end @@ -76,7 +76,7 @@ FallarborTown_ContestLobby_EventScript_1A4F86:: @ 81A4F86 FallarborTown_ContestLobby_EventScript_1A4F8F:: @ 81A4F8F message FallarborTown_ContestLobby_Text_1A5E46 - waittext + waitmessage multichoice 0, 0, 2, 0 switch RESULT case 0, FallarborTown_ContestLobby_EventScript_1A5097 @@ -87,7 +87,7 @@ FallarborTown_ContestLobby_EventScript_1A4F8F:: @ 81A4F8F FallarborTown_ContestLobby_EventScript_1A4FCC:: @ 81A4FCC message FallarborTown_ContestLobby_Text_1A5E7C - waittext + waitmessage multichoice 0, 0, 3, 0 switch RESULT case 0, FallarborTown_ContestLobby_EventScript_1A5014 @@ -99,17 +99,17 @@ FallarborTown_ContestLobby_EventScript_1A4FCC:: @ 81A4FCC FallarborTown_ContestLobby_EventScript_1A5014:: @ 81A5014 msgbox FallarborTown_ContestLobby_Text_1A5E98, 4 - jump FallarborTown_ContestLobby_EventScript_1A4FCC + goto FallarborTown_ContestLobby_EventScript_1A4FCC end FallarborTown_ContestLobby_EventScript_1A5022:: @ 81A5022 msgbox FallarborTown_ContestLobby_Text_1A609B, 4 - jump FallarborTown_ContestLobby_EventScript_1A4FCC + goto FallarborTown_ContestLobby_EventScript_1A4FCC end FallarborTown_ContestLobby_EventScript_1A5030:: @ 81A5030 msgbox FallarborTown_ContestLobby_Text_1A613F, 4 - jump FallarborTown_ContestLobby_EventScript_1A4FCC + goto FallarborTown_ContestLobby_EventScript_1A4FCC end FallarborTown_ContestLobby_EventScript_1A503E:: @ 81A503E @@ -121,34 +121,34 @@ FallarborTown_ContestLobby_EventScript_1A5048:: @ 81A5048 msgbox FallarborTown_ContestLobby_Text_1A6319, 4 choosecontestpkmn compare 0x8004, 255 - jumpeq FallarborTown_ContestLobby_EventScript_1A5097 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A5097 special sub_80C43F4 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1A50C8 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A50C8 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1A50D7 + goto_if_eq FallarborTown_ContestLobby_EventScript_1A50D7 compare RESULT, 2 - jumpeq FallarborTown_ContestLobby_EventScript_1A50FB + goto_if_eq FallarborTown_ContestLobby_EventScript_1A50FB compare RESULT, 3 - jumpeq FallarborTown_ContestLobby_EventScript_1A511F + goto_if_eq FallarborTown_ContestLobby_EventScript_1A511F compare RESULT, 4 - jumpeq FallarborTown_ContestLobby_EventScript_1A512E + goto_if_eq FallarborTown_ContestLobby_EventScript_1A512E end FallarborTown_ContestLobby_EventScript_1A5097:: @ 81A5097 message FallarborTown_ContestLobby_Text_1A6623 - waittext + waitmessage multichoice 0, 0, 4, 0 switch RESULT case 5, FallarborTown_ContestLobby_EventScript_1A503E case 127, FallarborTown_ContestLobby_EventScript_1A503E copyvar CONTEST_CATEGORY, RESULT - jump FallarborTown_ContestLobby_EventScript_1A5048 + goto FallarborTown_ContestLobby_EventScript_1A5048 end FallarborTown_ContestLobby_EventScript_1A50C8:: @ 81A50C8 msgbox FallarborTown_ContestLobby_Text_1A664A, 4 - jump FallarborTown_ContestLobby_EventScript_1A5048 + goto FallarborTown_ContestLobby_EventScript_1A5048 release end @@ -168,19 +168,19 @@ FallarborTown_ContestLobby_EventScript_1A50FB:: @ 81A50FB FallarborTown_ContestLobby_EventScript_1A511F:: @ 81A511F msgbox FallarborTown_ContestLobby_Text_1A669F, 4 - jump FallarborTown_ContestLobby_EventScript_1A5048 + goto FallarborTown_ContestLobby_EventScript_1A5048 release end FallarborTown_ContestLobby_EventScript_1A512E:: @ 81A512E msgbox FallarborTown_ContestLobby_Text_1A66DC, 4 - jump FallarborTown_ContestLobby_EventScript_1A5048 + goto FallarborTown_ContestLobby_EventScript_1A5048 release end FallarborTown_ContestLobby_EventScript_1A513D:: @ 81A513D msgbox FallarborTown_ContestLobby_Text_1A67C1, 4 - closebutton + closemessage releaseall setvar 0x4086, 1 return @@ -188,10 +188,10 @@ FallarborTown_ContestLobby_EventScript_1A513D:: @ 81A513D LinkContestRoom1_EventScript_1A514D:: @ 81A514D setvar 0x8006, 0 lockall - move 14, LinkContestRoom1_Movement_1A5DBF - waitmove 0 - move 1, LinkContestRoom1_Movement_1A5D85 - waitmove 0 + applymovement 14, LinkContestRoom1_Movement_1A5DBF + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_1A5D85 + waitmovement 0 releaseall call LinkContestRoom1_EventScript_1A51A0 call LinkContestRoom1_EventScript_1A51EA @@ -260,24 +260,24 @@ LinkContestRoom1_EventScript_1A523F:: @ 81A523F return LinkContestRoom1_EventScript_1A5245:: @ 81A5245 - bufferstd 1, 0x8008 - bufferstd 2, 0x8009 + getstdstring 1, 0x8008 + getstdstring 2, 0x8009 call LinkContestRoom1_EventScript_1A525F lockall - move 1, LinkContestRoom1_Movement_1A5D87 - waitmove 0 + applymovement 1, LinkContestRoom1_Movement_1A5D87 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A525F:: @ 81A525F compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A5273 + goto_if_eq LinkContestRoom1_EventScript_1A5273 msgbox LinkContestRoom1_Text_1A68F0, 3 return LinkContestRoom1_EventScript_1A5273:: @ 81A5273 - message2 LinkContestRoom1_Text_1A6976 - waittext + messageautoscroll LinkContestRoom1_Text_1A6976 + waitmessage return LinkContestRoom1_EventScript_1A527A:: @ 81A527A @@ -288,50 +288,50 @@ LinkContestRoom1_EventScript_1A527A:: @ 81A527A call LinkContestRoom1_EventScript_1A5880 addvar 0x8006, 1 compare 0x8006, 4 - jumpif 5, LinkContestRoom1_EventScript_1A527A + goto_if 5, LinkContestRoom1_EventScript_1A527A call LinkContestRoom1_EventScript_1A5377 setvar 0x4001, 6 return LinkContestRoom1_EventScript_1A52AE:: @ 81A52AE compare 0x8006, 0 - jumpeq LinkContestRoom1_EventScript_1A52DB + goto_if_eq LinkContestRoom1_EventScript_1A52DB compare 0x8006, 1 - jumpeq LinkContestRoom1_EventScript_1A52ED + goto_if_eq LinkContestRoom1_EventScript_1A52ED compare 0x8006, 2 - jumpeq LinkContestRoom1_EventScript_1A52FF + goto_if_eq LinkContestRoom1_EventScript_1A52FF compare 0x8006, 3 - jumpeq LinkContestRoom1_EventScript_1A5311 + goto_if_eq LinkContestRoom1_EventScript_1A5311 return LinkContestRoom1_EventScript_1A52DB:: @ 81A52DB lockall - move 3, LinkContestRoom1_Movement_1A5DCE - waitmove 0 + applymovement 3, LinkContestRoom1_Movement_1A5DCE + waitmovement 0 releaseall setvar 0x800b, 3 return LinkContestRoom1_EventScript_1A52ED:: @ 81A52ED lockall - move 4, LinkContestRoom1_Movement_1A5DDA - waitmove 0 + applymovement 4, LinkContestRoom1_Movement_1A5DDA + waitmovement 0 releaseall setvar 0x800b, 4 return LinkContestRoom1_EventScript_1A52FF:: @ 81A52FF lockall - move 5, LinkContestRoom1_Movement_1A5DE2 - waitmove 0 + applymovement 5, LinkContestRoom1_Movement_1A5DE2 + waitmovement 0 releaseall setvar 0x800b, 5 return LinkContestRoom1_EventScript_1A5311:: @ 81A5311 lockall - move 14, LinkContestRoom1_Movement_1A5DEA - waitmove 0 + applymovement 14, LinkContestRoom1_Movement_1A5DEA + waitmovement 0 releaseall setvar 0x800b, 14 return @@ -339,108 +339,108 @@ LinkContestRoom1_EventScript_1A5311:: @ 81A5311 LinkContestRoom1_EventScript_1A5323:: @ 81A5323 special sub_80C4C64 addvar 0x8006, 1 - buffernum 1, 0x8006 + getnumberstring 1, 0x8006 lockall - move 0x800b, LinkContestRoom1_Movement_1A5D9C - waitmove 0 + applymovement 0x800b, LinkContestRoom1_Movement_1A5D9C + waitmovement 0 releaseall - reappear 13 - playsfx 10 + addobject 13 + playse 10 lockall - move 0x800b, LinkContestRoom1_Movement_1A5D9C - waitmove 0 + applymovement 0x800b, LinkContestRoom1_Movement_1A5D9C + waitmovement 0 releaseall addvar 0x8006, -1 - playsfx 15 + playse 15 special ShowContestEntryMonPic call LinkContestRoom1_EventScript_1A535E return LinkContestRoom1_EventScript_1A535E:: @ 81A535E compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A5370 + goto_if_eq LinkContestRoom1_EventScript_1A5370 message LinkContestRoom1_Text_1A6A04 - waittext + waitmessage return LinkContestRoom1_EventScript_1A5370:: @ 81A5370 - message2 LinkContestRoom1_Text_1A6A04 - waittext + messageautoscroll LinkContestRoom1_Text_1A6A04 + waitmessage return LinkContestRoom1_EventScript_1A5377:: @ 81A5377 call LinkContestRoom1_EventScript_1A53B3 call LinkContestRoom1_EventScript_1A53CE - playsfx 223 - waittext + playse 223 + waitmessage call LinkContestRoom1_EventScript_1A5A90 - move 1, LinkContestRoom1_Movement_1A5D9F - waitmove 0 - move 2, LinkContestRoom1_Movement_1A5DA1 - waitmove 0 - pause 20 - move 1, LinkContestRoom1_Movement_1A5D8F - move 2, LinkContestRoom1_Movement_1A5D8F - waitmove 0 + applymovement 1, LinkContestRoom1_Movement_1A5D9F + waitmovement 0 + applymovement 2, LinkContestRoom1_Movement_1A5DA1 + waitmovement 0 + delay 20 + applymovement 1, LinkContestRoom1_Movement_1A5D8F + applymovement 2, LinkContestRoom1_Movement_1A5D8F + waitmovement 0 return LinkContestRoom1_EventScript_1A53B3:: @ 81A53B3 compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A53C7 + goto_if_eq LinkContestRoom1_EventScript_1A53C7 msgbox LinkContestRoom1_Text_1A6A1F, 4 return LinkContestRoom1_EventScript_1A53C7:: @ 81A53C7 - message2 LinkContestRoom1_Text_1A6A1F - waittext + messageautoscroll LinkContestRoom1_Text_1A6A1F + waitmessage return LinkContestRoom1_EventScript_1A53CE:: @ 81A53CE compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A53DF + goto_if_eq LinkContestRoom1_EventScript_1A53DF message LinkContestRoom1_Text_1A6AE1 return LinkContestRoom1_EventScript_1A53DF:: @ 81A53DF - message2 LinkContestRoom1_Text_1A6AE1 + messageautoscroll LinkContestRoom1_Text_1A6AE1 return LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5 - move 1, LinkContestRoom1_Movement_1A5DAF - waitmove 0 - playsfx 223 + applymovement 1, LinkContestRoom1_Movement_1A5DAF + waitmovement 0 + playse 223 call LinkContestRoom1_EventScript_1A5AE4 - move 9, LinkContestRoom1_Movement_1A5DB7 - move 12, LinkContestRoom1_Movement_1A5DBB - move 7, LinkContestRoom1_Movement_1A5DB7 - waitmove 0 - move 1, LinkContestRoom1_Movement_1A5DB7 - waitmove 0 - move 10, LinkContestRoom1_Movement_1A5DAF - move 11, LinkContestRoom1_Movement_1A5DBB - move 6, LinkContestRoom1_Movement_1A5DB3 - move 8, LinkContestRoom1_Movement_1A5DAF - waitmove 0 - move 1, LinkContestRoom1_Movement_1A5DC1 - waitmove 0 - move 1, LinkContestRoom1_Movement_1A5DCA - move 2, LinkContestRoom1_Movement_1A5DC5 - waitmove 0 + applymovement 9, LinkContestRoom1_Movement_1A5DB7 + applymovement 12, LinkContestRoom1_Movement_1A5DBB + applymovement 7, LinkContestRoom1_Movement_1A5DB7 + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_1A5DB7 + waitmovement 0 + applymovement 10, LinkContestRoom1_Movement_1A5DAF + applymovement 11, LinkContestRoom1_Movement_1A5DBB + applymovement 6, LinkContestRoom1_Movement_1A5DB3 + applymovement 8, LinkContestRoom1_Movement_1A5DAF + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_1A5DC1 + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_1A5DCA + applymovement 2, LinkContestRoom1_Movement_1A5DC5 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A5455:: @ 81A5455 special sub_80C47A0 compare 0x4088, 1 - callif 1, LinkContestRoom1_EventScript_1A555A + call_if 1, LinkContestRoom1_EventScript_1A555A compare 0x4088, 2 - callif 1, LinkContestRoom1_EventScript_1A55B8 + call_if 1, LinkContestRoom1_EventScript_1A55B8 compare 0x4088, 3 - callif 1, LinkContestRoom1_EventScript_1A5616 + call_if 1, LinkContestRoom1_EventScript_1A5616 compare 0x4088, 4 - callif 1, LinkContestRoom1_EventScript_1A5674 + call_if 1, LinkContestRoom1_EventScript_1A5674 compare 0x4088, 5 - callif 1, LinkContestRoom1_EventScript_1A56D2 + call_if 1, LinkContestRoom1_EventScript_1A56D2 setvar 0x4001, 9 setvar 0x4002, 9 setvar 0x4003, 9 @@ -450,7 +450,7 @@ LinkContestRoom1_EventScript_1A5455:: @ 81A5455 setvar 0x4007, 9 setvar 0x4008, 9 compare 0x4000, 0 - callif 2, LinkContestRoom1_EventScript_1A54EB + call_if 2, LinkContestRoom1_EventScript_1A54EB setvar 0x4001, 0 setvar 0x4002, 0 setvar 0x4003, 0 @@ -465,123 +465,123 @@ LinkContestRoom1_EventScript_1A54EB:: @ 81A54EB setvar RESULT, 8 special ScriptRandom compare RESULT, 0 - callif 1, LinkContestRoom1_EventScript_1A5760 + call_if 1, LinkContestRoom1_EventScript_1A5760 compare RESULT, 1 - callif 1, LinkContestRoom1_EventScript_1A5784 + call_if 1, LinkContestRoom1_EventScript_1A5784 compare RESULT, 2 - callif 1, LinkContestRoom1_EventScript_1A57A8 + call_if 1, LinkContestRoom1_EventScript_1A57A8 compare RESULT, 3 - callif 1, LinkContestRoom1_EventScript_1A57CC + call_if 1, LinkContestRoom1_EventScript_1A57CC compare RESULT, 4 - callif 1, LinkContestRoom1_EventScript_1A57F0 + call_if 1, LinkContestRoom1_EventScript_1A57F0 compare RESULT, 5 - callif 1, LinkContestRoom1_EventScript_1A5814 + call_if 1, LinkContestRoom1_EventScript_1A5814 compare RESULT, 6 - callif 1, LinkContestRoom1_EventScript_1A5838 + call_if 1, LinkContestRoom1_EventScript_1A5838 compare RESULT, 7 - callif 1, LinkContestRoom1_EventScript_1A585C + call_if 1, LinkContestRoom1_EventScript_1A585C compare 0x4000, 0 - jumpif 2, LinkContestRoom1_EventScript_1A54EB - waitmove 0 + goto_if 2, LinkContestRoom1_EventScript_1A54EB + waitmovement 0 return LinkContestRoom1_EventScript_1A555A:: @ 81A555A compare 0x8004, 80 - jumpif 2, LinkContestRoom1_EventScript_1A575A + goto_if 2, LinkContestRoom1_EventScript_1A575A compare 0x8004, 70 - jumpif 2, LinkContestRoom1_EventScript_1A5754 + goto_if 2, LinkContestRoom1_EventScript_1A5754 compare 0x8004, 60 - jumpif 2, LinkContestRoom1_EventScript_1A574E + goto_if 2, LinkContestRoom1_EventScript_1A574E compare 0x8004, 50 - jumpif 2, LinkContestRoom1_EventScript_1A5748 + goto_if 2, LinkContestRoom1_EventScript_1A5748 compare 0x8004, 40 - jumpif 2, LinkContestRoom1_EventScript_1A5742 + goto_if 2, LinkContestRoom1_EventScript_1A5742 compare 0x8004, 30 - jumpif 2, LinkContestRoom1_EventScript_1A573C + goto_if 2, LinkContestRoom1_EventScript_1A573C compare 0x8004, 20 - jumpif 2, LinkContestRoom1_EventScript_1A5736 + goto_if 2, LinkContestRoom1_EventScript_1A5736 compare 0x8004, 10 - jumpif 2, LinkContestRoom1_EventScript_1A5730 + goto_if 2, LinkContestRoom1_EventScript_1A5730 setvar 0x4000, 0 return LinkContestRoom1_EventScript_1A55B8:: @ 81A55B8 compare 0x8004, 230 - jumpif 2, LinkContestRoom1_EventScript_1A575A + goto_if 2, LinkContestRoom1_EventScript_1A575A compare 0x8004, 210 - jumpif 2, LinkContestRoom1_EventScript_1A5754 + goto_if 2, LinkContestRoom1_EventScript_1A5754 compare 0x8004, 190 - jumpif 2, LinkContestRoom1_EventScript_1A574E + goto_if 2, LinkContestRoom1_EventScript_1A574E compare 0x8004, 170 - jumpif 2, LinkContestRoom1_EventScript_1A5748 + goto_if 2, LinkContestRoom1_EventScript_1A5748 compare 0x8004, 150 - jumpif 2, LinkContestRoom1_EventScript_1A5742 + goto_if 2, LinkContestRoom1_EventScript_1A5742 compare 0x8004, 130 - jumpif 2, LinkContestRoom1_EventScript_1A573C + goto_if 2, LinkContestRoom1_EventScript_1A573C compare 0x8004, 110 - jumpif 2, LinkContestRoom1_EventScript_1A5736 + goto_if 2, LinkContestRoom1_EventScript_1A5736 compare 0x8004, 90 - jumpif 2, LinkContestRoom1_EventScript_1A5730 + goto_if 2, LinkContestRoom1_EventScript_1A5730 setvar 0x4000, 0 return LinkContestRoom1_EventScript_1A5616:: @ 81A5616 compare 0x8004, 380 - jumpif 2, LinkContestRoom1_EventScript_1A575A + goto_if 2, LinkContestRoom1_EventScript_1A575A compare 0x8004, 350 - jumpif 2, LinkContestRoom1_EventScript_1A5754 + goto_if 2, LinkContestRoom1_EventScript_1A5754 compare 0x8004, 320 - jumpif 2, LinkContestRoom1_EventScript_1A574E + goto_if 2, LinkContestRoom1_EventScript_1A574E compare 0x8004, 290 - jumpif 2, LinkContestRoom1_EventScript_1A5748 + goto_if 2, LinkContestRoom1_EventScript_1A5748 compare 0x8004, 260 - jumpif 2, LinkContestRoom1_EventScript_1A5742 + goto_if 2, LinkContestRoom1_EventScript_1A5742 compare 0x8004, 230 - jumpif 2, LinkContestRoom1_EventScript_1A573C + goto_if 2, LinkContestRoom1_EventScript_1A573C compare 0x8004, 200 - jumpif 2, LinkContestRoom1_EventScript_1A5736 + goto_if 2, LinkContestRoom1_EventScript_1A5736 compare 0x8004, 170 - jumpif 2, LinkContestRoom1_EventScript_1A5730 + goto_if 2, LinkContestRoom1_EventScript_1A5730 setvar 0x4000, 0 return LinkContestRoom1_EventScript_1A5674:: @ 81A5674 compare 0x8004, 600 - jumpif 2, LinkContestRoom1_EventScript_1A575A + goto_if 2, LinkContestRoom1_EventScript_1A575A compare 0x8004, 560 - jumpif 2, LinkContestRoom1_EventScript_1A5754 + goto_if 2, LinkContestRoom1_EventScript_1A5754 compare 0x8004, 520 - jumpif 2, LinkContestRoom1_EventScript_1A574E + goto_if 2, LinkContestRoom1_EventScript_1A574E compare 0x8004, 480 - jumpif 2, LinkContestRoom1_EventScript_1A5748 + goto_if 2, LinkContestRoom1_EventScript_1A5748 compare 0x8004, 440 - jumpif 2, LinkContestRoom1_EventScript_1A5742 + goto_if 2, LinkContestRoom1_EventScript_1A5742 compare 0x8004, 400 - jumpif 2, LinkContestRoom1_EventScript_1A573C + goto_if 2, LinkContestRoom1_EventScript_1A573C compare 0x8004, 360 - jumpif 2, LinkContestRoom1_EventScript_1A5736 + goto_if 2, LinkContestRoom1_EventScript_1A5736 compare 0x8004, 320 - jumpif 2, LinkContestRoom1_EventScript_1A5730 + goto_if 2, LinkContestRoom1_EventScript_1A5730 setvar 0x4000, 0 return LinkContestRoom1_EventScript_1A56D2:: @ 81A56D2 compare 0x8004, 600 - jumpif 2, LinkContestRoom1_EventScript_1A575A + goto_if 2, LinkContestRoom1_EventScript_1A575A compare 0x8004, 550 - jumpif 2, LinkContestRoom1_EventScript_1A5754 + goto_if 2, LinkContestRoom1_EventScript_1A5754 compare 0x8004, 500 - jumpif 2, LinkContestRoom1_EventScript_1A574E + goto_if 2, LinkContestRoom1_EventScript_1A574E compare 0x8004, 450 - jumpif 2, LinkContestRoom1_EventScript_1A5748 + goto_if 2, LinkContestRoom1_EventScript_1A5748 compare 0x8004, 400 - jumpif 2, LinkContestRoom1_EventScript_1A5742 + goto_if 2, LinkContestRoom1_EventScript_1A5742 compare 0x8004, 300 - jumpif 2, LinkContestRoom1_EventScript_1A573C + goto_if 2, LinkContestRoom1_EventScript_1A573C compare 0x8004, 200 - jumpif 2, LinkContestRoom1_EventScript_1A5736 + goto_if 2, LinkContestRoom1_EventScript_1A5736 compare 0x8004, 100 - jumpif 2, LinkContestRoom1_EventScript_1A5730 + goto_if 2, LinkContestRoom1_EventScript_1A5730 setvar 0x4000, 0 return @@ -619,10 +619,10 @@ LinkContestRoom1_EventScript_1A575A:: @ 81A575A LinkContestRoom1_EventScript_1A5760:: @ 81A5760 compare 0x4001, 1 - jumpeq LinkContestRoom1_EventScript_1A5783 - move 6, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A5783 + applymovement 6, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4001, 1 addvar 0x4000, 65535 return @@ -632,10 +632,10 @@ LinkContestRoom1_EventScript_1A5783:: @ 81A5783 LinkContestRoom1_EventScript_1A5784:: @ 81A5784 compare 0x4002, 1 - jumpeq LinkContestRoom1_EventScript_1A57A7 - move 12, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A57A7 + applymovement 12, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4002, 1 addvar 0x4000, 65535 return @@ -645,10 +645,10 @@ LinkContestRoom1_EventScript_1A57A7:: @ 81A57A7 LinkContestRoom1_EventScript_1A57A8:: @ 81A57A8 compare 0x4003, 1 - jumpeq LinkContestRoom1_EventScript_1A57CB - move 7, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A57CB + applymovement 7, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4003, 1 addvar 0x4000, 65535 return @@ -658,10 +658,10 @@ LinkContestRoom1_EventScript_1A57CB:: @ 81A57CB LinkContestRoom1_EventScript_1A57CC:: @ 81A57CC compare 0x4004, 1 - jumpeq LinkContestRoom1_EventScript_1A57EF - move 8, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A57EF + applymovement 8, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4004, 1 addvar 0x4000, 65535 return @@ -671,10 +671,10 @@ LinkContestRoom1_EventScript_1A57EF:: @ 81A57EF LinkContestRoom1_EventScript_1A57F0:: @ 81A57F0 compare 0x4005, 1 - jumpeq LinkContestRoom1_EventScript_1A5813 - move 9, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A5813 + applymovement 9, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4005, 1 addvar 0x4000, 65535 return @@ -684,10 +684,10 @@ LinkContestRoom1_EventScript_1A5813:: @ 81A5813 LinkContestRoom1_EventScript_1A5814:: @ 81A5814 compare 0x4006, 1 - jumpeq LinkContestRoom1_EventScript_1A5837 - move 10, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A5837 + applymovement 10, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4006, 1 addvar 0x4000, 65535 return @@ -697,10 +697,10 @@ LinkContestRoom1_EventScript_1A5837:: @ 81A5837 LinkContestRoom1_EventScript_1A5838:: @ 81A5838 compare 0x4007, 1 - jumpeq LinkContestRoom1_EventScript_1A585B - move 11, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A585B + applymovement 11, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4007, 1 addvar 0x4000, 65535 return @@ -710,10 +710,10 @@ LinkContestRoom1_EventScript_1A585B:: @ 81A585B LinkContestRoom1_EventScript_1A585C:: @ 81A585C compare 0x4008, 1 - jumpeq LinkContestRoom1_EventScript_1A587F - move 15, LinkContestRoom1_Movement_1A5D8D - playsfx 21 - pause 14 + goto_if_eq LinkContestRoom1_EventScript_1A587F + applymovement 15, LinkContestRoom1_Movement_1A5D8D + playse 21 + delay 14 setvar 0x4008, 1 addvar 0x4000, 65535 return @@ -722,9 +722,9 @@ LinkContestRoom1_EventScript_1A587F:: @ 81A587F return LinkContestRoom1_EventScript_1A5880:: @ 81A5880 - closebutton + closemessage release - disappear 13 + removeobject 13 special sub_80C5164 switch 0x8006 case 0, LinkContestRoom1_EventScript_1A58BA @@ -735,125 +735,125 @@ LinkContestRoom1_EventScript_1A5880:: @ 81A5880 LinkContestRoom1_EventScript_1A58BA:: @ 81A58BA lockall - move 0x800b, LinkContestRoom1_Movement_1A5DD4 - waitmove 0 + applymovement 0x800b, LinkContestRoom1_Movement_1A5DD4 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A58C7:: @ 81A58C7 lockall - move 0x800b, LinkContestRoom1_Movement_1A5DDE - waitmove 0 + applymovement 0x800b, LinkContestRoom1_Movement_1A5DDE + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A58D4:: @ 81A58D4 lockall - move 0x800b, LinkContestRoom1_Movement_1A5DE6 - waitmove 0 + applymovement 0x800b, LinkContestRoom1_Movement_1A5DE6 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A58E1:: @ 81A58E1 lockall - move 0x800b, LinkContestRoom1_Movement_1A5DF0 - waitmove 0 + applymovement 0x800b, LinkContestRoom1_Movement_1A5DF0 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A58EE:: @ 81A58EE lockall - move 1, LinkContestRoom1_Movement_1A5DA3 - waitmove 0 + applymovement 1, LinkContestRoom1_Movement_1A5DA3 + waitmovement 0 call LinkContestRoom1_EventScript_1A5930 - waittext - move 1, LinkContestRoom1_Movement_1A5D91 - move 2, LinkContestRoom1_Movement_1A5D95 - waitmove 0 + waitmessage + applymovement 1, LinkContestRoom1_Movement_1A5D91 + applymovement 2, LinkContestRoom1_Movement_1A5D95 + waitmovement 0 releaseall setvar 0x4009, 1 startcontest setvar 0x4009, 0 lockall - move 1, LinkContestRoom1_Movement_1A5D95 - move 2, LinkContestRoom1_Movement_1A5D91 - waitmove 0 + applymovement 1, LinkContestRoom1_Movement_1A5D95 + applymovement 2, LinkContestRoom1_Movement_1A5D91 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A5930:: @ 81A5930 compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A5944 + goto_if_eq LinkContestRoom1_EventScript_1A5944 msgbox LinkContestRoom1_Text_1A6AF5, 3 return LinkContestRoom1_EventScript_1A5944:: @ 81A5944 - message2 LinkContestRoom1_Text_1A6AF5 + messageautoscroll LinkContestRoom1_Text_1A6AF5 return LinkContestRoom1_EventScript_1A594A:: @ 81A594A call LinkContestRoom1_EventScript_1A5984 call LinkContestRoom1_EventScript_1A59A2 - move 1, LinkContestRoom1_Movement_1A5D8B - waitmove 0 + applymovement 1, LinkContestRoom1_Movement_1A5D8B + waitmovement 0 call LinkContestRoom1_EventScript_1A59C0 call LinkContestRoom1_EventScript_1A59DE - move 1, LinkContestRoom1_Movement_1A5D8F - waitmove 0 - closebutton + applymovement 1, LinkContestRoom1_Movement_1A5D8F + waitmovement 0 + closemessage releaseall setvar 0x4009, 1 showcontestresults setvar 0x4009, 0 - playmusic 439, 0 + playbgm 439, 0 return LinkContestRoom1_EventScript_1A5984:: @ 81A5984 compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A5998 + goto_if_eq LinkContestRoom1_EventScript_1A5998 msgbox LinkContestRoom1_Text_1A6C06, 4 return LinkContestRoom1_EventScript_1A5998:: @ 81A5998 - message2 LinkContestRoom1_Text_1A6C06 - waittext - pause 30 + messageautoscroll LinkContestRoom1_Text_1A6C06 + waitmessage + delay 30 return LinkContestRoom1_EventScript_1A59A2:: @ 81A59A2 compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A59B6 + goto_if_eq LinkContestRoom1_EventScript_1A59B6 msgbox LinkContestRoom1_Text_1A6C21, 4 return LinkContestRoom1_EventScript_1A59B6:: @ 81A59B6 - message2 LinkContestRoom1_Text_1A6C21 - waittext - pause 30 + messageautoscroll LinkContestRoom1_Text_1A6C21 + waitmessage + delay 30 return LinkContestRoom1_EventScript_1A59C0:: @ 81A59C0 compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A59D4 + goto_if_eq LinkContestRoom1_EventScript_1A59D4 msgbox LinkContestRoom1_Text_1A6C9D, 4 return LinkContestRoom1_EventScript_1A59D4:: @ 81A59D4 - message2 LinkContestRoom1_Text_1A6C9D - waittext - pause 30 + messageautoscroll LinkContestRoom1_Text_1A6C9D + waitmessage + delay 30 return LinkContestRoom1_EventScript_1A59DE:: @ 81A59DE compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A59F2 + goto_if_eq LinkContestRoom1_EventScript_1A59F2 msgbox LinkContestRoom1_Text_1A6D16, 4 return LinkContestRoom1_EventScript_1A59F2:: @ 81A59F2 - message2 LinkContestRoom1_Text_1A6D16 - waittext - pause 30 + messageautoscroll LinkContestRoom1_Text_1A6D16 + waitmessage + delay 30 return LinkContestRoom1_EventScript_1A59FC:: @ 81A59FC @@ -885,156 +885,156 @@ LinkContestRoom1_EventScript_1A5A49:: @ 81A5A49 special sub_80C47F0 special sub_80C4858 addvar 0x8005, 1 - buffernum 1, 0x8005 + getnumberstring 1, 0x8005 addvar 0x8005, -1 call LinkContestRoom1_EventScript_1A5A75 - move 0x4003, LinkContestRoom1_Movement_1A5D99 - waitmove 0 - playsfx 223 + applymovement 0x4003, LinkContestRoom1_Movement_1A5D99 + waitmovement 0 + playse 223 setvar 0x4001, 0 return LinkContestRoom1_EventScript_1A5A75:: @ 81A5A75 compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A5A89 + goto_if_eq LinkContestRoom1_EventScript_1A5A89 msgbox LinkContestRoom1_Text_1A6D3C, 4 return LinkContestRoom1_EventScript_1A5A89:: @ 81A5A89 - message2 LinkContestRoom1_Text_1A6D3C - waittext + messageautoscroll LinkContestRoom1_Text_1A6D3C + waitmessage return LinkContestRoom1_EventScript_1A5A90:: @ 81A5A90 addvar 0x4001, 1 lockall compare 0x4088, 1 - callif 2, LinkContestRoom1_EventScript_1A5AE4 - move 9, LinkContestRoom1_Movement_1A5DB7 - move 12, LinkContestRoom1_Movement_1A5DBB - move 7, LinkContestRoom1_Movement_1A5DB7 - pause 30 - move 10, LinkContestRoom1_Movement_1A5DAF - move 11, LinkContestRoom1_Movement_1A5DBB - move 6, LinkContestRoom1_Movement_1A5DB3 - move 8, LinkContestRoom1_Movement_1A5DAF + call_if 2, LinkContestRoom1_EventScript_1A5AE4 + applymovement 9, LinkContestRoom1_Movement_1A5DB7 + applymovement 12, LinkContestRoom1_Movement_1A5DBB + applymovement 7, LinkContestRoom1_Movement_1A5DB7 + delay 30 + applymovement 10, LinkContestRoom1_Movement_1A5DAF + applymovement 11, LinkContestRoom1_Movement_1A5DBB + applymovement 6, LinkContestRoom1_Movement_1A5DB3 + applymovement 8, LinkContestRoom1_Movement_1A5DAF compare 0x4001, 4 - jumpif 5, LinkContestRoom1_EventScript_1A5A90 - pause 30 + goto_if 5, LinkContestRoom1_EventScript_1A5A90 + delay 30 return LinkContestRoom1_EventScript_1A5AE4:: @ 81A5AE4 - vspriteface 0, 1 - vspriteface 2, 1 - vspriteface 4, 4 - vspriteface 6, 1 - vspriteface 8, 1 - vspriteface 10, 1 - vspriteface 12, 1 - vspriteface 14, 1 - vspriteface 16, 1 - vspriteface 18, 1 - vspriteface 20, 4 - vspriteface 22, 4 - vspriteface 25, 4 - vspriteface 27, 3 - vspriteface 28, 4 - pause 10 - vspriteface 0, 4 - vspriteface 2, 4 - vspriteface 4, 4 - vspriteface 6, 4 - vspriteface 8, 4 - vspriteface 10, 3 - vspriteface 12, 3 - vspriteface 14, 3 - vspriteface 16, 3 - vspriteface 18, 3 - vspriteface 20, 1 - vspriteface 22, 1 - vspriteface 25, 2 - vspriteface 27, 2 - vspriteface 28, 2 - pause 10 - vspriteface 1, 2 - vspriteface 3, 2 - vspriteface 5, 2 - vspriteface 7, 2 - vspriteface 9, 4 - vspriteface 11, 2 - vspriteface 15, 2 - vspriteface 13, 2 - vspriteface 17, 2 - vspriteface 19, 2 - vspriteface 21, 3 - vspriteface 23, 3 - vspriteface 24, 3 - vspriteface 26, 4 - vspriteface 29, 3 - vspriteface 30, 3 - pause 10 - vspriteface 1, 4 - vspriteface 3, 4 - vspriteface 5, 4 - vspriteface 7, 4 - vspriteface 9, 4 - vspriteface 11, 3 - vspriteface 15, 3 - vspriteface 13, 3 - vspriteface 17, 3 - vspriteface 19, 3 - vspriteface 21, 1 - vspriteface 23, 1 - vspriteface 24, 1 - vspriteface 26, 2 - vspriteface 29, 2 - vspriteface 30, 2 - pause 10 + turnvobject 0, 1 + turnvobject 2, 1 + turnvobject 4, 4 + turnvobject 6, 1 + turnvobject 8, 1 + turnvobject 10, 1 + turnvobject 12, 1 + turnvobject 14, 1 + turnvobject 16, 1 + turnvobject 18, 1 + turnvobject 20, 4 + turnvobject 22, 4 + turnvobject 25, 4 + turnvobject 27, 3 + turnvobject 28, 4 + delay 10 + turnvobject 0, 4 + turnvobject 2, 4 + turnvobject 4, 4 + turnvobject 6, 4 + turnvobject 8, 4 + turnvobject 10, 3 + turnvobject 12, 3 + turnvobject 14, 3 + turnvobject 16, 3 + turnvobject 18, 3 + turnvobject 20, 1 + turnvobject 22, 1 + turnvobject 25, 2 + turnvobject 27, 2 + turnvobject 28, 2 + delay 10 + turnvobject 1, 2 + turnvobject 3, 2 + turnvobject 5, 2 + turnvobject 7, 2 + turnvobject 9, 4 + turnvobject 11, 2 + turnvobject 15, 2 + turnvobject 13, 2 + turnvobject 17, 2 + turnvobject 19, 2 + turnvobject 21, 3 + turnvobject 23, 3 + turnvobject 24, 3 + turnvobject 26, 4 + turnvobject 29, 3 + turnvobject 30, 3 + delay 10 + turnvobject 1, 4 + turnvobject 3, 4 + turnvobject 5, 4 + turnvobject 7, 4 + turnvobject 9, 4 + turnvobject 11, 3 + turnvobject 15, 3 + turnvobject 13, 3 + turnvobject 17, 3 + turnvobject 19, 3 + turnvobject 21, 1 + turnvobject 23, 1 + turnvobject 24, 1 + turnvobject 26, 2 + turnvobject 29, 2 + turnvobject 30, 2 + delay 10 return LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB compare 0x4088, 5 - jumpeq LinkContestRoom1_EventScript_1A5C4C + goto_if_eq LinkContestRoom1_EventScript_1A5C4C call LinkContestRoom1_EventScript_1A5C12 checkflag 2 - jumpeq LinkContestRoom1_EventScript_1A5BF6 + goto_if_eq LinkContestRoom1_EventScript_1A5BF6 msgbox LinkContestRoom1_Text_1A6DC5, 3 - waittext + waitmessage call LinkContestRoom1_EventScript_1A5C7F call LinkContestRoom1_EventScript_1A5CE5 - playsfx 223 + playse 223 setvar 0x4001, 0 call LinkContestRoom1_EventScript_1A5A90 - pause 30 + delay 30 special sub_80C4CF8 compare 0x8004, 1 - jumpeq LinkContestRoom1_EventScript_1A5C46 + goto_if_eq LinkContestRoom1_EventScript_1A5C46 return LinkContestRoom1_EventScript_1A5BF6:: @ 81A5BF6 - inccounter GAME_STAT_WON_CONTEST + incrementgamestat GAME_STAT_WON_CONTEST msgbox LinkContestRoom1_Text_1A6DF1, 3 - pause 90 + delay 90 special sub_80C4CF8 compare 0x8004, 1 - jumpeq LinkContestRoom1_EventScript_1A5C46 + goto_if_eq LinkContestRoom1_EventScript_1A5C46 return LinkContestRoom1_EventScript_1A5C12:: @ 81A5C12 - specialval RESULT, sub_80C4440 + specialvar RESULT, sub_80C4440 compare RESULT, 1 - jumpeq LinkContestRoom1_EventScript_1A5C23 + goto_if_eq LinkContestRoom1_EventScript_1A5C23 return LinkContestRoom1_EventScript_1A5C23:: @ 81A5C23 special sub_80C47C0 compare 0x8005, 3 - jumpeq LinkContestRoom1_EventScript_1A5C32 + goto_if_eq LinkContestRoom1_EventScript_1A5C32 return LinkContestRoom1_EventScript_1A5C32:: @ 81A5C32 compare CONTEST_RANK, 3 - jumpeq LinkContestRoom1_EventScript_1A5C41 + goto_if_eq LinkContestRoom1_EventScript_1A5C41 setflag 2 return @@ -1050,12 +1050,12 @@ LinkContestRoom1_EventScript_1A5C46:: @ 81A5C46 return LinkContestRoom1_EventScript_1A5C4C:: @ 81A5C4C - pause 60 + delay 60 call LinkContestRoom1_EventScript_1A5C6A special sub_80C4CF8 compare 0x8004, 1 - jumpeq LinkContestRoom1_EventScript_1A5C64 - closebutton + goto_if_eq LinkContestRoom1_EventScript_1A5C64 + closemessage return LinkContestRoom1_EventScript_1A5C64:: @ 81A5C64 @@ -1065,12 +1065,12 @@ LinkContestRoom1_EventScript_1A5C64:: @ 81A5C64 LinkContestRoom1_EventScript_1A5C6A:: @ 81A5C6A special sub_80C496C special sub_80C47C0 - comparevars 0x8004, 0x8005 - jumpeq LinkContestRoom1_EventScript_1A5C7C + compare 0x8004, 0x8005 + goto_if_eq LinkContestRoom1_EventScript_1A5C7C return LinkContestRoom1_EventScript_1A5C7C:: @ 81A5C7C - inccounter GAME_STAT_WON_LINK_CONTEST + incrementgamestat GAME_STAT_WON_LINK_CONTEST return LinkContestRoom1_EventScript_1A5C7F:: @ 81A5C7F @@ -1083,48 +1083,48 @@ LinkContestRoom1_EventScript_1A5C7F:: @ 81A5C7F LinkContestRoom1_EventScript_1A5CB1:: @ 81A5CB1 lockall - move 0x4003, LinkContestRoom1_Movement_1A5DF6 - waitmove 0 + applymovement 0x4003, LinkContestRoom1_Movement_1A5DF6 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A5CBE:: @ 81A5CBE lockall - move 0x4003, LinkContestRoom1_Movement_1A5DFA - waitmove 0 + applymovement 0x4003, LinkContestRoom1_Movement_1A5DFA + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A5CCB:: @ 81A5CCB lockall - move 0x4003, LinkContestRoom1_Movement_1A5DA5 - waitmove 0 + applymovement 0x4003, LinkContestRoom1_Movement_1A5DA5 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A5CD8:: @ 81A5CD8 lockall - move 0x4003, LinkContestRoom1_Movement_1A5DA9 - waitmove 0 + applymovement 0x4003, LinkContestRoom1_Movement_1A5DA9 + waitmovement 0 releaseall return LinkContestRoom1_EventScript_1A5CE5:: @ 81A5CE5 special sub_80C47C0 compare 0x8005, 3 - jumpeq LinkContestRoom1_EventScript_1A5CFC + goto_if_eq LinkContestRoom1_EventScript_1A5CFC msgbox LinkContestRoom1_Text_1A6DF1, 3 return LinkContestRoom1_EventScript_1A5CFC:: @ 81A5CFC compare 0x4088, 2 - callif 1, LinkContestRoom1_EventScript_1A5C42 - inccounter GAME_STAT_WON_CONTEST - specialval RESULT, sub_80C4440 + call_if 1, LinkContestRoom1_EventScript_1A5C42 + incrementgamestat GAME_STAT_WON_CONTEST + specialvar RESULT, sub_80C4440 compare RESULT, 0 - jumpeq LinkContestRoom1_EventScript_1A5D5B + goto_if_eq LinkContestRoom1_EventScript_1A5D5B compare CONTEST_RANK, 3 - jumpeq LinkContestRoom1_EventScript_1A5D3B + goto_if_eq LinkContestRoom1_EventScript_1A5D3B msgbox LinkContestRoom1_Text_1A6DF1, 3 return @@ -1136,17 +1136,17 @@ LinkContestRoom1_EventScript_1A5D2D:: @ 81A5D2D LinkContestRoom1_EventScript_1A5D3B:: @ 81A5D3B giveitem ITEM_LUXURY_BALL compare RESULT, 0 - jumpeq LinkContestRoom1_EventScript_1A5D2D + goto_if_eq LinkContestRoom1_EventScript_1A5D2D msgbox LinkContestRoom1_Text_1A6DF1, 3 return LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B special sub_80C44C0 - inccounter GAME_STAT_RECEIVED_RIBBONS + incrementgamestat GAME_STAT_RECEIVED_RIBBONS setflag 2107 lockall msgbox LinkContestRoom1_Text_1A6D6A, 4 - fanfare 370 + playfanfare 370 msgbox LinkContestRoom1_Text_1A6D96, 4 waitfanfare special sub_80C4858 diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index dcc4b44e7..f8151b86a 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -2,13 +2,13 @@ Route117_EventScript_1B222D:: @ 81B222D lock faceplayer special sp0B5_daycare - specialval RESULT, sp0B6_daycare + specialvar RESULT, sp0B6_daycare compare RESULT, 1 - jumpeq Route117_EventScript_1B2262 + goto_if_eq Route117_EventScript_1B2262 compare RESULT, 2 - jumpeq Route117_EventScript_1B22E7 + goto_if_eq Route117_EventScript_1B22E7 compare RESULT, 3 - jumpeq Route117_EventScript_1B22FE + goto_if_eq Route117_EventScript_1B22FE msgbox Route117_Text_1B25CB, 4 release end @@ -16,10 +16,10 @@ Route117_EventScript_1B222D:: @ 81B222D Route117_EventScript_1B2262:: @ 81B2262 msgbox Route117_Text_1B2659, 5 compare RESULT, 1 - jumpeq Route117_EventScript_1B2298 + goto_if_eq Route117_EventScript_1B2298 msgbox Route117_Text_1B28C4, 5 compare RESULT, 1 - jumpeq Route117_EventScript_1B2298 + goto_if_eq Route117_EventScript_1B2298 msgbox Route117_Text_1B2745, 4 clearflag 134 special sub_8041E7C @@ -27,18 +27,18 @@ Route117_EventScript_1B2262:: @ 81B2262 end Route117_EventScript_1B2298:: @ 81B2298 - specialval RESULT, CalculatePlayerPartyCount + specialvar RESULT, CalculatePlayerPartyCount compare RESULT, 6 - jumpif 5, Route117_EventScript_1B22B2 + goto_if 5, Route117_EventScript_1B22B2 msgbox Route117_Text_1B2766, 4 release end Route117_EventScript_1B22B2:: @ 81B22B2 message Route117_Text_1B27A2 - fanfare 367 + playfanfare 367 waitfanfare - waittext + waitmessage waitbutton msgbox Route117_Text_1B27CD, 4 special sp0B8_daycare @@ -47,9 +47,9 @@ Route117_EventScript_1B22B2:: @ 81B22B2 end Route117_EventScript_1B22CD:: @ 81B22CD - specialval RESULT, sub_8042B4C + specialvar RESULT, sub_8042B4C compare RESULT, 1 - callif 1, Route117_EventScript_1B22DE + call_if 1, Route117_EventScript_1B22DE return Route117_EventScript_1B22DE:: @ 81B22DE @@ -69,7 +69,7 @@ Route117_EventScript_1B22FE:: @ 81B22FE msgbox Route117_Text_1B2897, 4 special sp0B9_daycare_relationship_comment special ShowFieldMessageStringVar4 - waittext + waitmessage waitbutton setvar 0x8004, 0 call Route117_EventScript_1B22CD @@ -81,43 +81,43 @@ Route117_EventScript_1B22FE:: @ 81B22FE Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327 lock faceplayer - specialval RESULT, sp0B6_daycare + specialvar RESULT, sp0B6_daycare compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B2407 + goto_if_eq Route117_PokemonDayCare_EventScript_1B2407 compare RESULT, 2 - jumpeq Route117_PokemonDayCare_EventScript_1B242B + goto_if_eq Route117_PokemonDayCare_EventScript_1B242B compare RESULT, 3 - jumpeq Route117_PokemonDayCare_EventScript_1B2558 + goto_if_eq Route117_PokemonDayCare_EventScript_1B2558 msgbox Route117_PokemonDayCare_Text_1B28F2, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B236C + goto_if_eq Route117_PokemonDayCare_EventScript_1B236C msgbox Route117_PokemonDayCare_Text_1B2A14, 4 release end Route117_PokemonDayCare_EventScript_1B236C:: @ 81B236C - specialval RESULT, sub_8095B6C + specialvar RESULT, sub_8095B6C compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B23F3 + goto_if_eq Route117_PokemonDayCare_EventScript_1B23F3 msgbox Route117_PokemonDayCare_Text_1B2947, 4 fadescreen 1 special ChooseSendDaycareMon waitstate compare 0x8004, 255 - jumpeq Route117_PokemonDayCare_EventScript_1B23D0 - specialval RESULT, sub_8095C10 + goto_if_eq Route117_PokemonDayCare_EventScript_1B23D0 + specialvar RESULT, sub_8095C10 compare RESULT, 0 - jumpeq Route117_PokemonDayCare_EventScript_1B23FD - specialval 0x8005, sub_8042328 - checksound - pokecry 0x8005, 0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B23FD + specialvar 0x8005, sub_8042328 + waitse + playpokecry 0x8005, 0 msgbox Route117_PokemonDayCare_Text_1B296E, 4 waitpokecry special Daycare_SendPokemon_Special - inccounter GAME_STAT_USED_DAYCARE - specialval RESULT, sp0B6_daycare + incrementgamestat GAME_STAT_USED_DAYCARE + specialvar RESULT, sp0B6_daycare compare RESULT, 2 - jumpeq Route117_PokemonDayCare_EventScript_1B23DA + goto_if_eq Route117_PokemonDayCare_EventScript_1B23DA release end @@ -129,8 +129,8 @@ Route117_PokemonDayCare_EventScript_1B23D0:: @ 81B23D0 Route117_PokemonDayCare_EventScript_1B23DA:: @ 81B23DA msgbox Route117_PokemonDayCare_Text_1B29AD, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B236C - jump Route117_PokemonDayCare_EventScript_1B23D0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B236C + goto Route117_PokemonDayCare_EventScript_1B23D0 end Route117_PokemonDayCare_EventScript_1B23F3:: @ 81B23F3 @@ -153,9 +153,9 @@ Route117_PokemonDayCare_EventScript_1B2411:: @ 81B2411 return Route117_PokemonDayCare_EventScript_1B241A:: @ 81B241A - specialval RESULT, sub_80417B8 + specialvar RESULT, sub_80417B8 compare RESULT, 0 - callif 5, Route117_PokemonDayCare_EventScript_1B2411 + call_if 5, Route117_PokemonDayCare_EventScript_1B2411 return Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B @@ -164,67 +164,67 @@ Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B call Route117_PokemonDayCare_EventScript_1B241A msgbox Route117_PokemonDayCare_Text_1B29AD, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B236C + goto_if_eq Route117_PokemonDayCare_EventScript_1B236C msgbox Route117_PokemonDayCare_Text_1B2BF6, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B2469 - jump Route117_PokemonDayCare_EventScript_1B23D0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B2469 + goto Route117_PokemonDayCare_EventScript_1B23D0 end Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469 - specialval RESULT, CalculatePlayerPartyCount + specialvar RESULT, CalculatePlayerPartyCount compare RESULT, 6 - jumpeq Route117_PokemonDayCare_EventScript_1B2539 - specialval RESULT, sp0B6_daycare + goto_if_eq Route117_PokemonDayCare_EventScript_1B2539 + specialvar RESULT, sp0B6_daycare setvar 0x8004, 0 compare RESULT, 2 - jumpeq Route117_PokemonDayCare_EventScript_1B24A8 + goto_if_eq Route117_PokemonDayCare_EventScript_1B24A8 special ShowDaycareLevelMenu waitstate copyvar 0x8004, RESULT compare RESULT, 2 - jumpeq Route117_PokemonDayCare_EventScript_1B23D0 - jump Route117_PokemonDayCare_EventScript_1B24A8 + goto_if_eq Route117_PokemonDayCare_EventScript_1B23D0 + goto Route117_PokemonDayCare_EventScript_1B24A8 end Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8 special sub_8041770 msgbox Route117_PokemonDayCare_Text_1B2B49, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B24C4 - jump Route117_PokemonDayCare_EventScript_1B23D0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B24C4 + goto Route117_PokemonDayCare_EventScript_1B23D0 end Route117_PokemonDayCare_EventScript_1B24C4:: @ 81B24C4 - specialval RESULT, sub_80B7CE8 + specialvar RESULT, sub_80B7CE8 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B24DE + goto_if_eq Route117_PokemonDayCare_EventScript_1B24DE msgbox Route117_PokemonDayCare_Text_1B2A30, 4 release end Route117_PokemonDayCare_EventScript_1B24DE:: @ 81B24DE - move 1, Route117_PokemonDayCare_Movement_1B2543 - waitmove 0 - specialval RESULT, sub_8041648 + applymovement 1, Route117_PokemonDayCare_Movement_1B2543 + waitmovement 0 + specialvar RESULT, sub_8041648 special sub_80B7D0C - playsfx 95 + playse 95 msgbox Route117_PokemonDayCare_Text_1B2B75, 4 - checksound - pokecry RESULT, 0 + waitse + playpokecry RESULT, 0 msgbox Route117_PokemonDayCare_Text_1B2B93, 4 waitpokecry - specialval RESULT, sp0B6_daycare + specialvar RESULT, sp0B6_daycare compare RESULT, 2 - jumpeq Route117_PokemonDayCare_EventScript_1B2520 - jump Route117_PokemonDayCare_EventScript_1B23D0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B2520 + goto Route117_PokemonDayCare_EventScript_1B23D0 end Route117_PokemonDayCare_EventScript_1B2520:: @ 81B2520 msgbox Route117_PokemonDayCare_Text_1B2A4F, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B2469 - jump Route117_PokemonDayCare_EventScript_1B23D0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B2469 + goto Route117_PokemonDayCare_EventScript_1B23D0 end Route117_PokemonDayCare_EventScript_1B2539:: @ 81B2539 @@ -265,7 +265,7 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558 call Route117_PokemonDayCare_EventScript_1B241A msgbox Route117_PokemonDayCare_Text_1B2BF6, 5 compare RESULT, 1 - jumpeq Route117_PokemonDayCare_EventScript_1B2469 + goto_if_eq Route117_PokemonDayCare_EventScript_1B2469 msgbox Route117_PokemonDayCare_Text_1B2A76, 4 release end @@ -274,9 +274,9 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558 special ShowDaycareLevelMenu waitstate compare RESULT, 2 - jumpeq Route117_PokemonDayCare_EventScript_1B23D0 + goto_if_eq Route117_PokemonDayCare_EventScript_1B23D0 copyvar 0x8004, RESULT - specialval RESULT, sub_8041648 + specialvar RESULT, sub_8041648 msgbox Route117_PokemonDayCare_Text_1B2B75, 4 msgbox Route117_PokemonDayCare_Text_1B2A76, 4 release diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index 67a0920fa..214c61142 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -1,8 +1,8 @@ Route111_EventScript_1AE313:: @ 81AE313 Route118_EventScript_1AE313:: @ 81AE313 Route120_EventScript_1AE313:: @ 81AE313 - settrainerflag OPPONENT_GABBY_AND_TY_6 - specialval RESULT, GabbyAndTyGetBattleNum + cleartrainerflag OPPONENT_GABBY_AND_TY_6 + specialvar RESULT, GabbyAndTyGetBattleNum switch RESULT case 0, Route111_EventScript_1AE384 case 1, Route111_EventScript_1AE38A @@ -203,32 +203,32 @@ Route111_EventScript_1AE5A2:: @ 81AE5A2 special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToFieldObjectLocalIds compare FACING, 2 - callif 1, Route111_EventScript_1AE5E0 + call_if 1, Route111_EventScript_1AE5E0 compare FACING, 1 - callif 1, Route111_EventScript_1AE5EB + call_if 1, Route111_EventScript_1AE5EB compare FACING, 4 - callif 1, Route111_EventScript_1AE5FD + call_if 1, Route111_EventScript_1AE5FD checkflag 1 - jumpeq Route111_EventScript_1AE73A + goto_if_eq Route111_EventScript_1AE73A msgbox Route111_Text_1AC015, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE5E0:: @ 81AE5E0 - move 0x8004, Route111_Movement_1AE699 - waitmove 0 + applymovement 0x8004, Route111_Movement_1AE699 + waitmovement 0 return Route111_EventScript_1AE5EB:: @ 81AE5EB - move 0x8004, Route111_Movement_1AE69B - move 0x8005, Route111_Movement_1A0841 - waitmove 0 + applymovement 0x8004, Route111_Movement_1AE69B + applymovement 0x8005, Route111_Movement_1A0841 + waitmovement 0 return Route111_EventScript_1AE5FD:: @ 81AE5FD - move 0x8004, Route111_Movement_1AE69D - move 0x8005, Route111_Movement_1A083F - waitmove 0 + applymovement 0x8004, Route111_Movement_1AE69D + applymovement 0x8005, Route111_Movement_1A083F + waitmovement 0 return Route111_EventScript_1AE60F:: @ 81AE60F @@ -237,18 +237,18 @@ Route120_EventScript_1AE60F:: @ 81AE60F special GabbyAndTyBeforeInterview special GabbyAndTySetScriptVarsToFieldObjectLocalIds compare FACING, 2 - callif 1, Route111_EventScript_1AE5E0 + call_if 1, Route111_EventScript_1AE5E0 compare FACING, 1 - callif 1, Route111_EventScript_1AE5EB + call_if 1, Route111_EventScript_1AE5EB compare FACING, 4 - callif 1, Route111_EventScript_1AE5FD + call_if 1, Route111_EventScript_1AE5FD checkflag 1 - jumpeq Route111_EventScript_1AE73A - specialval RESULT, GabbyAndTyGetLastQuote + goto_if_eq Route111_EventScript_1AE73A + specialvar RESULT, GabbyAndTyGetLastQuote compare RESULT, 0 - jumpeq Route111_EventScript_1AE69F + goto_if_eq Route111_EventScript_1AE69F msgbox Route111_Text_1AC10A, 4 - specialval RESULT, sub_80BDD18 + specialvar RESULT, sub_80BDD18 switch RESULT case 0, Route111_EventScript_1AE6AD case 1, Route111_EventScript_1AE6BB @@ -271,44 +271,44 @@ Route111_Movement_1AE69D:: @ 81AE69D Route111_EventScript_1AE69F:: @ 81AE69F msgbox Route111_Text_1AC60B, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6AD:: @ 81AE6AD msgbox Route111_Text_1AC3CF, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6BB:: @ 81AE6BB msgbox Route111_Text_1AC18D, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6C9:: @ 81AE6C9 msgbox Route111_Text_1AC219, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6D7:: @ 81AE6D7 msgbox Route111_Text_1AC2D6, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6E5:: @ 81AE6E5 msgbox Route111_Text_1AC355, 5 - jump Route111_EventScript_1AE6F3 + goto Route111_EventScript_1AE6F3 end Route111_EventScript_1AE6F3:: @ 81AE6F3 compare RESULT, 0 - jumpeq Route111_EventScript_1AE72D + goto_if_eq Route111_EventScript_1AE72D msgbox Route111_Text_1AC40F, 4 setvar 0x8004, 10 call Route111_EventScript_1A00F3 lock faceplayer compare RESULT, 0 - jumpeq Route111_EventScript_1AE72D + goto_if_eq Route111_EventScript_1AE72D msgbox Route111_Text_1AC487, 4 special sub_80BDC14 setflag 1 diff --git a/data/scripts/magma_chimney.inc b/data/scripts/magma_chimney.inc index a2f4f67b7..f13b319f4 100644 --- a/data/scripts/magma_chimney.inc +++ b/data/scripts/magma_chimney.inc @@ -2,12 +2,12 @@ MtChimney_EventScript_1B2C95:: @ 81B2C95 lock faceplayer checkflag 219 - callif 0, MtChimney_EventScript_1B2CB9 + call_if 0, MtChimney_EventScript_1B2CB9 checkflag 219 - callif 1, MtChimney_EventScript_1B2CC2 - closebutton - move 1, MtChimney_Movement_1A083D - waitmove 0 + call_if 1, MtChimney_EventScript_1B2CC2 + closemessage + applymovement 1, MtChimney_Movement_1A083D + waitmovement 0 setflag 219 release end @@ -35,13 +35,13 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB .else msgbox MtChimney_Text_1B37BB, 4 .endif - move 2, MtChimney_Movement_1A0839 - waitmove 0 - playsfx 21 - move 2, MtChimney_Movement_1A0833 - waitmove 0 - move 2, MtChimney_Movement_1A0835 - waitmove 0 + applymovement 2, MtChimney_Movement_1A0839 + waitmovement 0 + playse 21 + applymovement 2, MtChimney_Movement_1A0833 + waitmovement 0 + applymovement 2, MtChimney_Movement_1A0835 + waitmovement 0 .ifdef SAPPHIRE msgbox MtChimney_Text_1B2ED9, 4 .else @@ -57,33 +57,33 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB .else msgbox MtChimney_Text_1B3A90, 4 .endif - closebutton - pause 30 + closemessage + delay 30 fadescreen 1 - disappear 2 - disappear 3 - disappear 22 + removeobject 2 + removeobject 3 + removeobject 22 setflag 926 fadescreen 0 - movespriteperm 1, 10, 12 - reappear 1 + setobjectxyperm 1, 10, 12 + addobject 1 compare FACING, 4 - callif 1, MtChimney_EventScript_1B2D7D + call_if 1, MtChimney_EventScript_1B2D7D compare FACING, 2 - callif 1, MtChimney_EventScript_1B2D88 - move 255, MtChimney_Movement_1A083F - waitmove 0 + call_if 1, MtChimney_EventScript_1B2D88 + applymovement 255, MtChimney_Movement_1A083F + waitmovement 0 .ifdef SAPPHIRE msgbox MtChimney_Text_1B3608, 4 .else msgbox MtChimney_Text_1B3FFE, 4 .endif - closebutton + closemessage compare FACING, 4 - callif 1, MtChimney_EventScript_1B2D93 + call_if 1, MtChimney_EventScript_1B2D93 compare FACING, 2 - callif 1, MtChimney_EventScript_1B2D9E - disappear 1 + call_if 1, MtChimney_EventScript_1B2D9E + removeobject 1 setflag 927 setflag 139 clearflag 928 @@ -92,21 +92,21 @@ MtChimney_EventScript_1B2CCB:: @ 81B2CCB end MtChimney_EventScript_1B2D7D:: @ 81B2D7D - move 1, MtChimney_Movement_15D025 - waitmove 0 + applymovement 1, MtChimney_Movement_15D025 + waitmovement 0 return MtChimney_EventScript_1B2D88:: @ 81B2D88 - move 1, MtChimney_Movement_15D036 - waitmove 0 + applymovement 1, MtChimney_Movement_15D036 + waitmovement 0 return MtChimney_EventScript_1B2D93:: @ 81B2D93 - move 1, MtChimney_Movement_15D02D - waitmove 0 + applymovement 1, MtChimney_Movement_15D02D + waitmovement 0 return MtChimney_EventScript_1B2D9E:: @ 81B2D9E - move 1, MtChimney_Movement_15D03E - waitmove 0 + applymovement 1, MtChimney_Movement_15D03E + waitmovement 0 return diff --git a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc index cf525003e..eb912028a 100644 --- a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc +++ b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc @@ -5,12 +5,12 @@ AbandonedShip_CaptainsOffice_EventScript_15EAF5:: @ 815EAF5 lock faceplayer checkflag 294 - jumpeq AbandonedShip_CaptainsOffice_EventScript_15EB2D + goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D checkitem ITEM_SCANNER, 1 compare RESULT, 1 - jumpeq AbandonedShip_CaptainsOffice_EventScript_15EB23 + goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB23 checkflag 1078 - jumpeq AbandonedShip_CaptainsOffice_EventScript_15EB2D + goto_if_eq AbandonedShip_CaptainsOffice_EventScript_15EB2D msgbox AbandonedShip_CaptainsOffice_Text_198C85, 4 release end diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc index b0ae966ad..f3c3c0aa0 100644 --- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc +++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc @@ -4,14 +4,14 @@ AbandonedShip_Corridors_B1F_MapScripts:: @ 815E98F .byte 0 AbandonedShip_Corridors_B1F_MapScript1_15E99A:: @ 815E99A - warp4 AbandonedShip_Underwater1, 255, 5, 4 + setdivewarp AbandonedShip_Underwater1, 255, 5, 4 end AbandonedShip_Corridors_B1F_MapScript1_15E9A3:: @ 815E9A3 checkflag 239 - callif 0, AbandonedShip_Corridors_B1F_EventScript_15E9B6 + call_if 0, AbandonedShip_Corridors_B1F_EventScript_15E9B6 checkflag 239 - callif 1, AbandonedShip_Corridors_B1F_EventScript_15E9C0 + call_if 1, AbandonedShip_Corridors_B1F_EventScript_15E9C0 end AbandonedShip_Corridors_B1F_EventScript_15E9B6:: @ 815E9B6 @@ -29,12 +29,12 @@ AbandonedShip_Corridors_B1F_EventScript_15E9CA:: @ 815E9CA AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3 lockall checkflag 239 - jumpeq AbandonedShip_Corridors_B1F_EventScript_15EA14 + goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA14 checkitem ITEM_STORAGE_KEY, 1 compare RESULT, 0 - jumpeq AbandonedShip_Corridors_B1F_EventScript_15EA0A + goto_if_eq AbandonedShip_Corridors_B1F_EventScript_15EA0A msgbox AbandonedShip_Corridors_B1F_Text_198692, 4 - playsfx 21 + playse 21 removeitem ITEM_STORAGE_KEY, 1 setflag 239 call AbandonedShip_Corridors_B1F_EventScript_15E9C0 diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc index 8cb2aed22..29a89a620 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc @@ -4,26 +4,26 @@ AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 815EB46 .byte 0 AbandonedShip_HiddenFloorCorridors_MapScript1_15EB51:: @ 815EB51 - warp4 AbandonedShip_Underwater1, 255, 5, 4 + setdivewarp AbandonedShip_Underwater1, 255, 5, 4 end AbandonedShip_HiddenFloorCorridors_MapScript1_15EB5A:: @ 815EB5A checkflag 240 - callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBCB checkflag 241 - callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5 + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBD5 checkflag 242 - callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBDF checkflag 243 - callif 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9 + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9 checkflag 240 - callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 checkflag 241 - callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD checkflag 242 - callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 checkflag 243 - callif 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 end AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3:: @ 815EBA3 @@ -61,12 +61,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBE9:: @ 815EBE9 AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3 lockall checkflag 240 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_1_KEY, 1 compare RESULT, 0 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECCF msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playsfx 21 + playse 21 removeitem ITEM_ROOM_1_KEY, 1 setflag 240 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 @@ -77,12 +77,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3 AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A lockall checkflag 241 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_2_KEY, 1 compare RESULT, 0 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECD9 msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playsfx 21 + playse 21 removeitem ITEM_ROOM_2_KEY, 1 setflag 241 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD @@ -93,12 +93,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61 lockall checkflag 242 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_4_KEY, 1 compare RESULT, 0 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECE3 msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playsfx 21 + playse 21 removeitem ITEM_ROOM_4_KEY, 1 setflag 242 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 @@ -109,12 +109,12 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61 AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98 lockall checkflag 243 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECF7 checkitem ITEM_ROOM_6_KEY, 1 compare RESULT, 0 - jumpeq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED + goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_15ECED msgbox AbandonedShip_HiddenFloorCorridors_Text_198E90, 4 - playsfx 21 + playse 21 removeitem ITEM_ROOM_6_KEY, 1 setflag 243 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc index 5c4c050a0..eb5c1dccd 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc @@ -11,11 +11,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED11:: @ 815ED11 getplayerxy 0x4002, 0x4003 setvar 0x4004, 1 compare 0x4002, 21 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED89 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED89 compare 0x4002, 36 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED8F + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED8F compare 0x4003, 2 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED95 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED95 switch 0x4004 case 1, AbandonedShip_HiddenFloorRooms_EventScript_15ED9B case 2, AbandonedShip_HiddenFloorRooms_EventScript_15EDC4 @@ -38,102 +38,102 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED95:: @ 815ED95 return AbandonedShip_HiddenFloorRooms_EventScript_15ED9B:: @ 815ED9B - pause 20 - setanimation 0, 10 - setanimation 1, 10 - setanimation 2, 0 - doanimation 54 - specialval RESULT, sub_810F4D4 + delay 20 + setfieldeffect 0, 10 + setfieldeffect 1, 10 + setfieldeffect 2, 0 + dofieldeffect 54 + specialvar RESULT, sub_810F4D4 compare RESULT, 0 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B - checkanimation 54 - pause 10 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B + waitfieldeffect 54 + delay 10 end AbandonedShip_HiddenFloorRooms_EventScript_15EDC4:: @ 815EDC4 end AbandonedShip_HiddenFloorRooms_EventScript_15EDC5:: @ 815EDC5 - specialval RESULT, sub_810F488 + specialvar RESULT, sub_810F488 compare RESULT, 1 - jumpeq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA - pause 20 + goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA + delay 20 compare RESULT, 0 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE6B - checkanimation 54 - pause 10 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE6B + waitfieldeffect 54 + delay 10 end AbandonedShip_HiddenFloorRooms_EventScript_15EDEA:: @ 815EDEA end AbandonedShip_HiddenFloorRooms_EventScript_15EDEB:: @ 815EDEB - pause 20 - setanimation 0, 8 - setanimation 1, 5 - setanimation 2, 0 - doanimation 54 - setanimation 0, 11 - setanimation 1, 3 - setanimation 2, 0 - doanimation 54 - specialval RESULT, sub_810F4FC + delay 20 + setfieldeffect 0, 8 + setfieldeffect 1, 5 + setfieldeffect 2, 0 + dofieldeffect 54 + setfieldeffect 0, 11 + setfieldeffect 1, 3 + setfieldeffect 2, 0 + dofieldeffect 54 + specialvar RESULT, sub_810F4FC compare RESULT, 0 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B - checkanimation 54 - pause 10 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B + waitfieldeffect 54 + delay 10 end AbandonedShip_HiddenFloorRooms_EventScript_15EE23:: @ 815EE23 - pause 20 - setanimation 0, 16 - setanimation 1, 3 - setanimation 2, 0 - doanimation 54 - setanimation 0, 25 - setanimation 1, 2 - setanimation 2, 0 - doanimation 54 - setanimation 0, 24 - setanimation 1, 6 - setanimation 2, 0 - doanimation 54 - specialval RESULT, sub_810F4B0 + delay 20 + setfieldeffect 0, 16 + setfieldeffect 1, 3 + setfieldeffect 2, 0 + dofieldeffect 54 + setfieldeffect 0, 25 + setfieldeffect 1, 2 + setfieldeffect 2, 0 + dofieldeffect 54 + setfieldeffect 0, 24 + setfieldeffect 1, 6 + setfieldeffect 2, 0 + dofieldeffect 54 + specialvar RESULT, sub_810F4B0 compare RESULT, 0 - callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B - checkanimation 54 - pause 10 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B + waitfieldeffect 54 + delay 10 end AbandonedShip_HiddenFloorRooms_EventScript_15EE6A:: @ 815EE6A end AbandonedShip_HiddenFloorRooms_EventScript_15EE6B:: @ 815EE6B - setanimation 0, 42 - setanimation 1, 10 - setanimation 2, 0 - doanimation 54 + setfieldeffect 0, 42 + setfieldeffect 1, 10 + setfieldeffect 2, 0 + dofieldeffect 54 return AbandonedShip_HiddenFloorRooms_EventScript_15EE7B:: @ 815EE7B - setanimation 0, 20 - setanimation 1, 5 - setanimation 2, 0 - doanimation 54 + setfieldeffect 0, 20 + setfieldeffect 1, 5 + setfieldeffect 2, 0 + dofieldeffect 54 return AbandonedShip_HiddenFloorRooms_EventScript_15EE8B:: @ 815EE8B - setanimation 0, 1 - setanimation 1, 12 - setanimation 2, 0 - doanimation 54 + setfieldeffect 0, 1 + setfieldeffect 1, 12 + setfieldeffect 2, 0 + dofieldeffect 54 return AbandonedShip_HiddenFloorRooms_EventScript_15EE9B:: @ 815EE9B - setanimation 0, 1 - setanimation 1, 2 - setanimation 2, 0 - doanimation 54 + setfieldeffect 0, 1 + setfieldeffect 1, 2 + setfieldeffect 2, 0 + dofieldeffect 54 return AbandonedShip_HiddenFloorRooms_EventScript_15EEAB:: @ 815EEAB diff --git a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc index a6ccdc43c..5e8ab1062 100644 --- a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc +++ b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc @@ -3,9 +3,9 @@ AbandonedShip_Rooms2_1F_MapScripts:: @ 815EA67 AbandonedShip_Rooms2_1F_EventScript_15EA68:: @ 815EA68 trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1987C1, AbandonedShip_Rooms2_1F_Text_1987FE, AbandonedShip_Rooms2_1F_Text_19887F - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq AbandonedShip_Rooms2_1F_EventScript_15EA93 + goto_if_eq AbandonedShip_Rooms2_1F_EventScript_15EA93 msgbox AbandonedShip_Rooms2_1F_Text_198835, 6 end @@ -16,9 +16,9 @@ AbandonedShip_Rooms2_1F_EventScript_15EA93:: @ 815EA93 AbandonedShip_Rooms2_1F_EventScript_15EAAE:: @ 815EAAE trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1988CC, AbandonedShip_Rooms2_1F_Text_198916, AbandonedShip_Rooms2_1F_Text_19899A - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq AbandonedShip_Rooms2_1F_EventScript_15EAD9 + goto_if_eq AbandonedShip_Rooms2_1F_EventScript_15EAD9 msgbox AbandonedShip_Rooms2_1F_Text_198934, 6 end diff --git a/data/scripts/maps/AbandonedShip_Rooms_B1F.inc b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc index 44b8c5f20..218f1a2ca 100644 --- a/data/scripts/maps/AbandonedShip_Rooms_B1F.inc +++ b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc @@ -3,7 +3,7 @@ AbandonedShip_Rooms_B1F_MapScripts:: @ 815EA35 .byte 0 AbandonedShip_Rooms_B1F_MapScript1_15EA3B:: @ 815EA3B - warp4 AbandonedShip_Underwater2, 255, 17, 4 + setdivewarp AbandonedShip_Underwater2, 255, 17, 4 end AbandonedShip_Rooms_B1F_EventScript_15EA44:: @ 815EA44 diff --git a/data/scripts/maps/AbandonedShip_Underwater1.inc b/data/scripts/maps/AbandonedShip_Underwater1.inc index 71d903682..afac470ea 100644 --- a/data/scripts/maps/AbandonedShip_Underwater1.inc +++ b/data/scripts/maps/AbandonedShip_Underwater1.inc @@ -3,5 +3,5 @@ AbandonedShip_Underwater1_MapScripts:: @ 815EA57 .byte 0 AbandonedShip_Underwater1_MapScript1_15EA5D:: @ 815EA5D - warp4 AbandonedShip_HiddenFloorCorridors, 255, 0, 10 + setdivewarp AbandonedShip_HiddenFloorCorridors, 255, 0, 10 end diff --git a/data/scripts/maps/AbandonedShip_Underwater2.inc b/data/scripts/maps/AbandonedShip_Underwater2.inc index f7b434c07..b8facc4ec 100644 --- a/data/scripts/maps/AbandonedShip_Underwater2.inc +++ b/data/scripts/maps/AbandonedShip_Underwater2.inc @@ -3,5 +3,5 @@ AbandonedShip_Underwater2_MapScripts:: @ 815EB37 .byte 0 AbandonedShip_Underwater2_MapScript1_15EB3D:: @ 815EB3D - warp4 AbandonedShip_Rooms_B1F, 255, 13, 7 + setdivewarp AbandonedShip_Rooms_B1F, 255, 13, 7 end diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc index bfc5b6a79..188691e73 100644 --- a/data/scripts/maps/AncientTomb.inc +++ b/data/scripts/maps/AncientTomb.inc @@ -6,11 +6,11 @@ AncientTomb_MapScripts:: @ 815EFBE AncientTomb_MapScript1_15EFCE:: @ 815EFCE checkflag 2145 - callif 1, AncientTomb_EventScript_15EFD8 + call_if 1, AncientTomb_EventScript_15EFD8 end AncientTomb_EventScript_15EFD8:: @ 815EFD8 - disappear LAST_TALKED + removeobject LAST_TALKED return AncientTomb_MapScript1_15EFDC:: @ 815EFDC @@ -19,7 +19,7 @@ AncientTomb_MapScript1_15EFDC:: @ 815EFDC AncientTomb_MapScript1_15EFE0:: @ 815EFE0 checkflag 2130 - callif 0, AncientTomb_EventScript_15EFEA + call_if 0, AncientTomb_EventScript_15EFEA end AncientTomb_EventScript_15EFEA:: @ 815EFEA @@ -34,10 +34,10 @@ AncientTomb_EventScript_15EFEA:: @ 815EFEA AncientTomb_EventScript_15F021:: @ 815F021 lockall checkflag 2130 - jumpeq AncientTomb_EventScript_15F038 - braillemsg AncientTomb_Braille_1C552E + goto_if_eq AncientTomb_EventScript_15F038 + braillemessage AncientTomb_Braille_1C552E waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -48,18 +48,18 @@ AncientTomb_EventScript_15F038:: @ 815F038 AncientTomb_EventScript_15F042:: @ 815F042 lockall - braillemsg AncientTomb_Braille_1C552E + braillemessage AncientTomb_Braille_1C552E waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end AncientTomb_EventScript_15F050:: @ 815F050 lock faceplayer - checksound - pokecry SPECIES_REGISTEEL, 2 - pause 40 + waitse + playpokecry SPECIES_REGISTEEL, 2 + delay 40 waitpokecry setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE setflag 937 diff --git a/data/scripts/maps/AquaHideout_1F.inc b/data/scripts/maps/AquaHideout_1F.inc index cc1ad33b1..2eb2ae7e9 100644 --- a/data/scripts/maps/AquaHideout_1F.inc +++ b/data/scripts/maps/AquaHideout_1F.inc @@ -11,7 +11,7 @@ MagmaHideout_1F_EventScript_15D7CE:: @ 815D7CE lock faceplayer checkflag 111 - jumpeq AquaHideout_1F_EventScript_15D7E3 + goto_if_eq AquaHideout_1F_EventScript_15D7E3 msgbox AquaHideout_1F_Text_196AFD, 4 release end @@ -26,7 +26,7 @@ MagmaHideout_1F_EventScript_15D7ED:: @ 815D7ED lock faceplayer checkflag 111 - jumpeq AquaHideout_1F_EventScript_15D802 + goto_if_eq AquaHideout_1F_EventScript_15D802 msgbox AquaHideout_1F_Text_196C83, 4 release end diff --git a/data/scripts/maps/AquaHideout_B1F.inc b/data/scripts/maps/AquaHideout_B1F.inc index 969d590e3..0001d7574 100644 --- a/data/scripts/maps/AquaHideout_B1F.inc +++ b/data/scripts/maps/AquaHideout_B1F.inc @@ -5,11 +5,11 @@ AquaHideout_B1F_MapScripts:: @ 815D831 AquaHideout_B1F_MapScript1_15D83C:: @ 815D83C checkflag 2145 - callif 1, AquaHideout_B1F_EventScript_15D846 + call_if 1, AquaHideout_B1F_EventScript_15D846 end AquaHideout_B1F_EventScript_15D846:: @ 815D846 - disappear LAST_TALKED + removeobject LAST_TALKED return AquaHideout_B1F_MapScript1_15D84A:: @ 815D84A diff --git a/data/scripts/maps/AquaHideout_B2F.inc b/data/scripts/maps/AquaHideout_B2F.inc index 845b755b7..230d0e2db 100644 --- a/data/scripts/maps/AquaHideout_B2F.inc +++ b/data/scripts/maps/AquaHideout_B2F.inc @@ -10,15 +10,15 @@ AquaHideout_B2F_EventScript_15D8BD:: @ 815D8BD MagmaHideout_B2F_EventScript_15D8BD:: @ 815D8BD lockall setvar 0x8008, 1 - playsfx 21 - move 0x8008, AquaHideout_B2F_Movement_1A0833 - waitmove 0 + playse 21 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0833 + waitmovement 0 .ifdef SAPPHIRE - move 0x8008, AquaHideout_B2F_Movement_1A0839 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0839 .else - move 0x8008, AquaHideout_B2F_Movement_1A0841 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0841 .endif - waitmove 0 + waitmovement 0 setvar 0x4001, 1 releaseall end @@ -38,31 +38,31 @@ AquaHideout_B2F_EventScript_15D8FD:: @ 815D8FD setvar 0x8009, 3 .endif .ifdef SAPPHIRE - move 0x8008, Movement_1A083F + applymovement 0x8008, Movement_1A083F .else - move 0x8008, AquaHideout_B2F_Movement_1A0843 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0843 .endif - waitmove 0 - pause 20 - move 0x8008, AquaHideout_B2F_Movement_1A0839 - waitmove 0 + waitmovement 0 + delay 20 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0839 + waitmovement 0 msgbox AquaHideout_B2F_Text_197162, 4 - closebutton + closemessage .ifdef SAPPHIRE - move 0x8008, Movement_1A083F + applymovement 0x8008, Movement_1A083F .else - move 0x8008, AquaHideout_B2F_Movement_1A0843 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0843 .endif .ifdef SAPPHIRE - move 0x8009, AquaHideout_B2F_Movement_15D958 + applymovement 0x8009, AquaHideout_B2F_Movement_15D958 .else - move 0x8009, AquaHideout_B2F_Movement_15D95D + applymovement 0x8009, AquaHideout_B2F_Movement_15D95D .endif - waitmove 0 - disappear 0x8009 - pause 20 - move 0x8008, AquaHideout_B2F_Movement_1A0839 - waitmove 0 + waitmovement 0 + removeobject 0x8009 + delay 20 + applymovement 0x8008, AquaHideout_B2F_Movement_1A0839 + waitmovement 0 msgbox AquaHideout_B2F_Text_1971AE, 4 setflag 112 setflag 852 diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc index 2f0fb97b9..dbab17a8b 100644 --- a/data/scripts/maps/BattleTower_BattleRoom.inc +++ b/data/scripts/maps/BattleTower_BattleRoom.inc @@ -8,18 +8,18 @@ BattleTower_BattleRoom_MapScript2_1608E1:: @ 81608E1 BattleTower_BattleRoom_EventScript_1608EB:: @ 81608EB setvar 0x4000, 1 - move 255, BattleTower_BattleRoom_Movement_160AB7 - waitmove 0 + applymovement 255, BattleTower_BattleRoom_Movement_160AB7 + waitmovement 0 BattleTower_BattleRoom_EventScript_1608FA:: @ 81608FA special sub_81347F8 - reappear 1 - move 1, BattleTower_BattleRoom_Movement_160AC0 - waitmove 0 - special sub_8135474 + addobject 1 + applymovement 1, BattleTower_BattleRoom_Movement_160AC0 + waitmovement 0 + special PrintBattleTowerTrainerGreeting msgbox 0x20234cc, 4 - waittext - closebutton + waitmessage + closemessage special ScrSpecial_HealPlayerParty setvar 0x8004, 0 setvar 0x8005, 0 @@ -43,18 +43,18 @@ BattleTower_BattleRoom_EventScript_160961:: @ 8160961 special sub_8135668 switch RESULT case 8, BattleTower_BattleRoom_EventScript_160A56 - move 1, BattleTower_BattleRoom_Movement_160AC6 - waitmove 0 - disappear 1 - move 2, BattleTower_BattleRoom_Movement_160ACB - waitmove 0 - move 255, BattleTower_BattleRoom_Movement_160ABC - waitmove 0 + applymovement 1, BattleTower_BattleRoom_Movement_160AC6 + waitmovement 0 + removeobject 1 + applymovement 2, BattleTower_BattleRoom_Movement_160ACB + waitmovement 0 + applymovement 255, BattleTower_BattleRoom_Movement_160ABC + waitmovement 0 msgbox BattleTower_BattleRoom_Text_19ACDC, 4 special LoadPlayerParty special SavePlayerParty special sub_8135A14 - fanfare 368 + playfanfare 368 waitfanfare special ScrSpecial_HealPlayerParty @@ -80,12 +80,12 @@ BattleTower_BattleRoom_EventScript_160A0E:: @ 8160A0E case 127, BattleTower_BattleRoom_EventScript_1609B2 BattleTower_BattleRoom_EventScript_160A3C:: @ 8160A3C - closebutton - move 255, BattleTower_BattleRoom_Movement_160ABE - waitmove 0 - move 2, BattleTower_BattleRoom_Movement_160AD0 - waitmove 0 - jump BattleTower_BattleRoom_EventScript_1608FA + closemessage + applymovement 255, BattleTower_BattleRoom_Movement_160ABE + waitmovement 0 + applymovement 2, BattleTower_BattleRoom_Movement_160AD0 + waitmovement 0 + goto BattleTower_BattleRoom_EventScript_1608FA BattleTower_BattleRoom_EventScript_160A56:: @ 8160A56 special LoadPlayerParty @@ -108,15 +108,15 @@ BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94 setvar 0x8004, 2 special sub_8135BA0 message BattleTower_BattleRoom_Text_1C6CE1 - pause 60 - waittext - playsfx 55 - checksound + delay 60 + waitmessage + playse 55 + waitse msgbox BattleTower_BattleRoom_Text_1C6D05, 4 BattleTower_BattleRoom_EventScript_160AB1:: @ 8160AB1 fadescreen 1 - special sub_8135C38 + special BattleTower_SoftReset end BattleTower_BattleRoom_Movement_160AB7:: @ 8160AB7 diff --git a/data/scripts/maps/BattleTower_Corridor.inc b/data/scripts/maps/BattleTower_Corridor.inc index 4ccf2028c..9d4fbc844 100644 --- a/data/scripts/maps/BattleTower_Corridor.inc +++ b/data/scripts/maps/BattleTower_Corridor.inc @@ -5,7 +5,7 @@ BattleTower_Corridor_MapScripts:: @ 8160845 BattleTower_Corridor_MapScript1_160850:: @ 8160850 compare 0x8006, 1 - jumpeq BattleTower_Corridor_EventScript_16086E + goto_if_eq BattleTower_Corridor_EventScript_16086E setmaptile 12, 0, 519, 0 setmaptile 12, 1, 527, 0 end @@ -22,16 +22,16 @@ BattleTower_Corridor_MapScript2_160881:: @ 8160881 BattleTower_Corridor_EventScript_16088B:: @ 816088B setvar 0x4000, 1 compare 0x8006, 1 - jumpeq BattleTower_Corridor_EventScript_1608B1 - move 1, BattleTower_Corridor_Movement_1608D5 - move 255, BattleTower_Corridor_Movement_1608D4 - waitmove 0 - jump BattleTower_Corridor_EventScript_1608C2 + goto_if_eq BattleTower_Corridor_EventScript_1608B1 + applymovement 1, BattleTower_Corridor_Movement_1608D5 + applymovement 255, BattleTower_Corridor_Movement_1608D4 + waitmovement 0 + goto BattleTower_Corridor_EventScript_1608C2 BattleTower_Corridor_EventScript_1608B1:: @ 81608B1 - move 1, BattleTower_Corridor_Movement_1608D2 - move 255, BattleTower_Corridor_Movement_1608D1 - waitmove 0 + applymovement 1, BattleTower_Corridor_Movement_1608D2 + applymovement 255, BattleTower_Corridor_Movement_1608D1 + waitmovement 0 BattleTower_Corridor_EventScript_1608C2:: @ 81608C2 setvar 0x4000, 0 diff --git a/data/scripts/maps/BattleTower_Elevator.inc b/data/scripts/maps/BattleTower_Elevator.inc index 408e7485e..a147a3b5a 100644 --- a/data/scripts/maps/BattleTower_Elevator.inc +++ b/data/scripts/maps/BattleTower_Elevator.inc @@ -9,15 +9,15 @@ BattleTower_Elevator_MapScript2_1607DA:: @ 81607DA BattleTower_Elevator_EventScript_1607E4:: @ 81607E4 setvar 0x4000, 1 - move 1, BattleTower_Elevator_Movement_160835 - move 255, BattleTower_Elevator_Movement_160839 - waitmove 0 + applymovement 1, BattleTower_Elevator_Movement_160835 + applymovement 255, BattleTower_Elevator_Movement_160839 + waitmovement 0 special sub_810EBEC waitstate - pause 64 - move 1, BattleTower_Elevator_Movement_16083D - move 255, BattleTower_Elevator_Movement_160841 - waitmove 0 + delay 64 + applymovement 1, BattleTower_Elevator_Movement_16083D + applymovement 255, BattleTower_Elevator_Movement_160841 + waitmovement 0 setvar 0x4000, 0 warp BattleTower_Corridor, 255, 8, 1 waitstate @@ -29,7 +29,7 @@ BattleTower_Elevator_MapScript2_160821:: @ 8160821 BattleTower_Elevator_EventScript_16082B:: @ 816082B setvar 0x4001, 1 - spriteface 255, 2 + turnobject 255, 2 end BattleTower_Elevator_Movement_160835:: @ 8160835 diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc index a1570ac13..75d4f8731 100644 --- a/data/scripts/maps/BattleTower_Lobby.inc +++ b/data/scripts/maps/BattleTower_Lobby.inc @@ -14,20 +14,20 @@ BattleTower_Lobby_EventScript_16029C:: @ 816029C setvar 0x8004, 10 special sub_8135668 checkflag 238 - jumpeq BattleTower_Lobby_EventScript_1602E4 + goto_if_eq BattleTower_Lobby_EventScript_1602E4 checkflag 237 - jumpeq BattleTower_Lobby_EventScript_1602CD - specialval 0x8007, sub_810F404 + goto_if_eq BattleTower_Lobby_EventScript_1602CD + specialvar 0x8007, sub_810F404 compare 0x8007, 50 - jumpif 0, BattleTower_Lobby_EventScript_1602E4 + goto_if 0, BattleTower_Lobby_EventScript_1602E4 clearflag 941 special sub_810F8FC return BattleTower_Lobby_EventScript_1602CD:: @ 81602CD - specialval 0x8007, sub_810F404 + specialvar 0x8007, sub_810F404 compare 0x8007, 100 - jumpif 0, BattleTower_Lobby_EventScript_1602E4 + goto_if 0, BattleTower_Lobby_EventScript_1602E4 clearflag 941 special sub_810F8FC return @@ -46,7 +46,7 @@ BattleTower_Lobby_MapScript2_1602EE:: @ 81602EE BattleTower_Lobby_EventScript_1602F8:: @ 81602F8 setvar 0x4001, 1 - spriteface 255, 2 + turnobject 255, 2 end BattleTower_Lobby_MapScript2_160302:: @ 8160302 @@ -65,7 +65,7 @@ BattleTower_Lobby_EventScript_160330:: @ 8160330 lock faceplayer msgbox BattleTower_Lobby_Text_19A3FD, 4 - closebutton + closemessage setvar 0x4000, 5 release end @@ -74,17 +74,17 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342 lock faceplayer message BattleTower_Lobby_Text_19A487 - waittext + waitmessage setvar 0x8004, 0 special sub_81358A4 compare RESULT, 6 - jumpeq BattleTower_Lobby_EventScript_16037D - special sub_8135E50 + goto_if_eq BattleTower_Lobby_EventScript_16037D + special AwardBattleTowerRibbons compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_16037D + goto_if_eq BattleTower_Lobby_EventScript_16037D message BattleTower_Lobby_Text_19A6BE - waittext - fanfare 370 + waitmessage + playfanfare 370 waitfanfare msgbox BattleTower_Lobby_Text_19A719, 4 @@ -92,47 +92,47 @@ BattleTower_Lobby_EventScript_16037D:: @ 816037D setvar 0x8004, 8 special sub_81358A4 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_1603AD + goto_if_eq BattleTower_Lobby_EventScript_1603AD message BattleTower_Lobby_Text_19A589 - waittext + waitmessage setvar 0x8004, 13 special sub_8135668 - special sub_8135D84 + special DetermineBattleTowerPrize setvar 0x8004, 3 special sub_8135BA0 - playsfx 55 - checksound + playse 55 + waitse BattleTower_Lobby_EventScript_1603AD:: @ 81603AD setvar 0x8004, 0 setvar 0x8005, 3 special sub_8135668 message BattleTower_Lobby_Text_19A4BB - waittext - special sub_8135DEC + waitmessage + special GiveBattleTowerPrize switch RESULT case 0, BattleTower_Lobby_EventScript_160408 message BattleTower_Lobby_Text_19A506 - waittext - fanfare 370 + waitmessage + playfanfare 370 waitfanfare setvar 0x8004, 9 special sub_81358A4 compare RESULT, 49 - jumpif 5, BattleTower_Lobby_EventScript_1603F8 + goto_if 5, BattleTower_Lobby_EventScript_1603F8 msgbox BattleTower_Lobby_Text_19A617, 4 BattleTower_Lobby_EventScript_1603F8:: @ 81603F8 msgbox BattleTower_Lobby_Text_199FA9, 4 - closebutton + closemessage setvar 0x4000, 5 release end BattleTower_Lobby_EventScript_160408:: @ 8160408 msgbox BattleTower_Lobby_Text_19A520, 4 - waittext - closebutton + waitmessage + closemessage setvar 0x4000, 5 release end @@ -141,17 +141,17 @@ BattleTower_Lobby_EventScript_160419:: @ 8160419 lock faceplayer message BattleTower_Lobby_Text_19A571 - waittext + waitmessage message BattleTower_Lobby_Text_19A589 - waittext + waitmessage setvar 0x8004, 13 special sub_8135668 setvar 0x8004, 0 special sub_8135BA0 - playsfx 55 - checksound + playse 55 + waitse msgbox BattleTower_Lobby_Text_199FA9, 4 - closebutton + closemessage setvar 0x4000, 5 release end @@ -161,13 +161,13 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B faceplayer setvar 0x40bc, 1 message BattleTower_Lobby_Text_19A5B1 - waittext + waitmessage message BattleTower_Lobby_Text_19A5CE - waittext + waitmessage setvar 0x8004, 1 special sub_8135BA0 - playsfx 55 - checksound + playse 55 + waitse setvar 0x8004, 8 setvar 0x8005, 0 special sub_8135668 @@ -175,7 +175,7 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B special SavePlayerParty special sub_8135A14 msgbox BattleTower_Lobby_Text_19A0A8, 4 - closebutton + closemessage call BattleTower_Lobby_EventScript_160664 warp BattleTower_Elevator, 255, 1, 6 setvar 0x4000, 0 @@ -187,13 +187,13 @@ BattleTower_Lobby_EventScript_16049E:: @ 816049E setvar 0x8004, 0 special sub_81358A4 compare RESULT, 6 - jumpeq BattleTower_Lobby_EventScript_160342 + goto_if_eq BattleTower_Lobby_EventScript_160342 special SavePlayerParty msgbox BattleTower_Lobby_Text_199F2C, 4 BattleTower_Lobby_EventScript_1604BE:: @ 81604BE message BattleTower_Lobby_Text_199F79 - waittext + waitmessage multichoice 15, 6, 23, 0 switch RESULT case 0, BattleTower_Lobby_EventScript_1604FA @@ -203,14 +203,14 @@ BattleTower_Lobby_EventScript_1604BE:: @ 81604BE BattleTower_Lobby_EventScript_1604FA:: @ 81604FA message BattleTower_Lobby_Text_19A024 - waittext + waitmessage multichoice 18, 6, 24, 0 switch RESULT case 2, BattleTower_Lobby_EventScript_160652 case 127, BattleTower_Lobby_EventScript_160652 special CheckPartyBattleTowerBanlist compare 0x8004, 1 - jumpeq BattleTower_Lobby_EventScript_16060D + goto_if_eq BattleTower_Lobby_EventScript_16060D setvar 0x8004, 1 copyvar 0x8005, RESULT copyvar 0x8006, RESULT @@ -220,7 +220,7 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA special ChooseBattleTowerPlayerParty waitstate compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_16064F + goto_if_eq BattleTower_Lobby_EventScript_16064F msgbox BattleTower_Lobby_Text_199FDA, 5 switch RESULT case 0, BattleTower_Lobby_EventScript_16064F @@ -240,19 +240,19 @@ BattleTower_Lobby_EventScript_160587:: @ 8160587 setvar 0x8005, 0 special sub_8135668 special LoadPlayerParty - closebutton - pause 2 + closemessage + delay 2 call S_DoSaveDialog setvar 0x4000, 5 - hidebox 0, 0, 15, 10 + erasebox 0, 0, 15, 10 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_160642 - inccounter GAME_STAT_ENTERED_BATTLE_TOWER + goto_if_eq BattleTower_Lobby_EventScript_160642 + incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER special SavePlayerParty special sub_8135A14 setvar 0x40bc, 1 msgbox BattleTower_Lobby_Text_19A0A8, 4 - closebutton + closemessage call BattleTower_Lobby_EventScript_160664 warp BattleTower_Elevator, 255, 1, 6 setvar 0x4000, 0 @@ -260,7 +260,7 @@ BattleTower_Lobby_EventScript_160587:: @ 8160587 BattleTower_Lobby_EventScript_160600:: @ 8160600 msgbox BattleTower_Lobby_Text_19A0D1, 4 - jump BattleTower_Lobby_EventScript_1604BE + goto BattleTower_Lobby_EventScript_1604BE BattleTower_Lobby_EventScript_16060D:: @ 816060D switch RESULT @@ -269,16 +269,16 @@ BattleTower_Lobby_EventScript_16060D:: @ 816060D BattleTower_Lobby_EventScript_160628:: @ 8160628 msgbox BattleTower_Lobby_Text_19A249, 4 - jump BattleTower_Lobby_EventScript_160662 + goto BattleTower_Lobby_EventScript_160662 BattleTower_Lobby_EventScript_160635:: @ 8160635 msgbox BattleTower_Lobby_Text_19A32D, 4 - jump BattleTower_Lobby_EventScript_160662 + goto BattleTower_Lobby_EventScript_160662 BattleTower_Lobby_EventScript_160642:: @ 8160642 setvar 0x8004, 12 special sub_8135668 - jump BattleTower_Lobby_EventScript_160652 + goto BattleTower_Lobby_EventScript_160652 BattleTower_Lobby_EventScript_16064F:: @ 816064F special LoadPlayerParty @@ -293,16 +293,16 @@ BattleTower_Lobby_EventScript_160662:: @ 8160662 end BattleTower_Lobby_EventScript_160664:: @ 8160664 - move 1, BattleTower_Lobby_Movement_160693 - move 255, BattleTower_Lobby_Movement_160693 - waitmove 0 - setdooropened 6, 1 - doorchange - move 1, BattleTower_Lobby_Movement_160697 - move 255, BattleTower_Lobby_Movement_16069A - waitmove 0 - setdoorclosed 6, 1 - doorchange + applymovement 1, BattleTower_Lobby_Movement_160693 + applymovement 255, BattleTower_Lobby_Movement_160693 + waitmovement 0 + opendoor 6, 1 + waitdooranim + applymovement 1, BattleTower_Lobby_Movement_160697 + applymovement 255, BattleTower_Lobby_Movement_16069A + waitmovement 0 + closedoor 6, 1 + waitdooranim return BattleTower_Lobby_Movement_160693:: @ 8160693 @@ -348,9 +348,9 @@ BattleTower_Lobby_EventScript_1606CC:: @ 81606CC lock faceplayer compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_160701 + goto_if_eq BattleTower_Lobby_EventScript_160701 compare RESULT, 1 - jumpeq BattleTower_Lobby_EventScript_16070B + goto_if_eq BattleTower_Lobby_EventScript_16070B end BattleTower_Lobby_EventScript_1606F7:: @ 81606F7 @@ -380,7 +380,7 @@ BattleTower_Lobby_EventScript_160727:: @ 8160727 lockall special ShowBattleTowerRecords waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -388,35 +388,35 @@ BattleTower_Lobby_EventScript_160733:: @ 8160733 lock faceplayer checkflag 238 - jumpeq BattleTower_Lobby_EventScript_1607C5 + goto_if_eq BattleTower_Lobby_EventScript_1607C5 checkflag 237 - jumpeq BattleTower_Lobby_EventScript_160773 + goto_if_eq BattleTower_Lobby_EventScript_160773 msgbox BattleTower_Lobby_Text_19A9EE, 4 setvar 0x8008, 42 givedecoration 42 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1607AF + goto_if_eq BattleTower_Lobby_EventScript_1607AF setflag 237 msgbox BattleTower_Lobby_Text_19ABAA, 4 release end BattleTower_Lobby_EventScript_160773:: @ 8160773 - specialval RESULT, sub_810F404 + specialvar RESULT, sub_810F404 compare RESULT, 100 - jumpif 0, BattleTower_Lobby_EventScript_1607C5 + goto_if 0, BattleTower_Lobby_EventScript_1607C5 msgbox BattleTower_Lobby_Text_19AAC4, 4 setvar 0x8008, 43 givedecoration 43 compare RESULT, 0 - jumpeq BattleTower_Lobby_EventScript_1607AF + goto_if_eq BattleTower_Lobby_EventScript_1607AF setflag 238 msgbox BattleTower_Lobby_Text_19ABAA, 4 release end BattleTower_Lobby_EventScript_1607AF:: @ 81607AF - bufferdecor 1, 0x8008 + getdecorname 1, 0x8008 msgbox BattleTower_Lobby_Text_1A0CEF, 4 msgbox BattleTower_Lobby_Text_19ABED, 4 release diff --git a/data/scripts/maps/BattleTower_Outside.inc b/data/scripts/maps/BattleTower_Outside.inc index 02c4e0c6f..95c5a9d77 100644 --- a/data/scripts/maps/BattleTower_Outside.inc +++ b/data/scripts/maps/BattleTower_Outside.inc @@ -14,14 +14,14 @@ BattleTower_Outside_EventScript_160168:: @ 8160168 msgbox BattleTower_Outside_Text_199D06, 4 checkitem ITEM_SS_TICKET, 1 compare RESULT, 0 - jumpeq BattleTower_Outside_EventScript_1601C6 + goto_if_eq BattleTower_Outside_EventScript_1601C6 message BattleTower_Outside_Text_199D9D - waittext - jump BattleTower_Outside_EventScript_16018E + waitmessage + goto BattleTower_Outside_EventScript_16018E end BattleTower_Outside_EventScript_16018E:: @ 816018E - multichoicedef 21, 6, 53, 2, 0 + multichoicedefault 21, 6, 53, 2, 0 switch RESULT case 0, BattleTower_Outside_EventScript_1601D0 case 1, BattleTower_Outside_EventScript_1601FB @@ -37,7 +37,7 @@ BattleTower_Outside_EventScript_1601C6:: @ 81601C6 BattleTower_Outside_EventScript_1601D0:: @ 81601D0 msgbox BattleTower_Outside_Text_199DF2, 5 compare RESULT, 0 - jumpeq BattleTower_Outside_EventScript_160226 + goto_if_eq BattleTower_Outside_EventScript_160226 msgbox BattleTower_Outside_Text_199E4B, 4 call BattleTower_Outside_EventScript_160232 warp SlateportCity_Harbor, 255, 8, 11 @@ -48,7 +48,7 @@ BattleTower_Outside_EventScript_1601D0:: @ 81601D0 BattleTower_Outside_EventScript_1601FB:: @ 81601FB msgbox BattleTower_Outside_Text_199E0E, 5 compare RESULT, 0 - jumpeq BattleTower_Outside_EventScript_160226 + goto_if_eq BattleTower_Outside_EventScript_160226 msgbox BattleTower_Outside_Text_199E4B, 4 call BattleTower_Outside_EventScript_160232 warp LilycoveCity_Harbor, 255, 8, 11 @@ -58,16 +58,16 @@ BattleTower_Outside_EventScript_1601FB:: @ 81601FB BattleTower_Outside_EventScript_160226:: @ 8160226 message BattleTower_Outside_Text_199E7A - waittext - jump BattleTower_Outside_EventScript_16018E + waitmessage + goto BattleTower_Outside_EventScript_16018E end BattleTower_Outside_EventScript_160232:: @ 8160232 - closebutton - move LAST_TALKED, BattleTower_Outside_Movement_1A0845 - waitmove 0 - pause 30 - spriteinvisible 5, 26, 4 + closemessage + applymovement LAST_TALKED, BattleTower_Outside_Movement_1A0845 + waitmovement 0 + delay 30 + hideobject 5, 26, 4 setvar 0x8004, 4 call BattleTower_Outside_EventScript_1A047C return diff --git a/data/scripts/maps/CaveOfOrigin_1F.inc b/data/scripts/maps/CaveOfOrigin_1F.inc index 7fd365b36..3ad36cc18 100644 --- a/data/scripts/maps/CaveOfOrigin_1F.inc +++ b/data/scripts/maps/CaveOfOrigin_1F.inc @@ -4,5 +4,5 @@ CaveOfOrigin_1F_MapScripts:: @ 815DD6C CaveOfOrigin_1F_MapScript1_15DD72:: @ 815DD72 checkflag 113 - callif 1, CaveOfOrigin_1F_EventScript_1A04E3 + call_if 1, CaveOfOrigin_1F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B1F.inc b/data/scripts/maps/CaveOfOrigin_B1F.inc index 9603ae83b..c3bbdd45f 100644 --- a/data/scripts/maps/CaveOfOrigin_B1F.inc +++ b/data/scripts/maps/CaveOfOrigin_B1F.inc @@ -4,5 +4,5 @@ CaveOfOrigin_B1F_MapScripts:: @ 815DD7C CaveOfOrigin_B1F_MapScript1_15DD82:: @ 815DD82 checkflag 113 - callif 1, CaveOfOrigin_B1F_EventScript_1A04E3 + call_if 1, CaveOfOrigin_B1F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B2F.inc b/data/scripts/maps/CaveOfOrigin_B2F.inc index 6b3a55648..fb65de171 100644 --- a/data/scripts/maps/CaveOfOrigin_B2F.inc +++ b/data/scripts/maps/CaveOfOrigin_B2F.inc @@ -4,5 +4,5 @@ CaveOfOrigin_B2F_MapScripts:: @ 815DD8C CaveOfOrigin_B2F_MapScript1_15DD92:: @ 815DD92 checkflag 113 - callif 1, CaveOfOrigin_B2F_EventScript_1A04E3 + call_if 1, CaveOfOrigin_B2F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B3F.inc b/data/scripts/maps/CaveOfOrigin_B3F.inc index 8e61048d2..c21b04e91 100644 --- a/data/scripts/maps/CaveOfOrigin_B3F.inc +++ b/data/scripts/maps/CaveOfOrigin_B3F.inc @@ -4,5 +4,5 @@ CaveOfOrigin_B3F_MapScripts:: @ 815DD9C CaveOfOrigin_B3F_MapScript1_15DDA2:: @ 815DDA2 checkflag 113 - callif 1, CaveOfOrigin_B3F_EventScript_1A04E3 + call_if 1, CaveOfOrigin_B3F_EventScript_1A04E3 end diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc index 5517a9c7e..c6c3cd45e 100644 --- a/data/scripts/maps/CaveOfOrigin_B4F.inc +++ b/data/scripts/maps/CaveOfOrigin_B4F.inc @@ -5,69 +5,69 @@ CaveOfOrigin_B4F_MapScripts:: @ 815DDAC CaveOfOrigin_B4F_MapScript1_15DDB7:: @ 815DDB7 checkflag 2145 - callif 1, CaveOfOrigin_B4F_EventScript_15DDC1 + call_if 1, CaveOfOrigin_B4F_EventScript_15DDC1 end CaveOfOrigin_B4F_EventScript_15DDC1:: @ 815DDC1 - disappear 1 + removeobject 1 return CaveOfOrigin_B4F_MapScript1_15DDC5:: @ 815DDC5 .ifdef SAPPHIRE - setmapfooter 163 + setmaplayoutindex 163 .else - setmapfooter 313 + setmaplayoutindex 313 .endif call CaveOfOrigin_B4F_EventScript_1A01B5 checkflag 113 - callif 1, CaveOfOrigin_B4F_EventScript_1A04E3 + call_if 1, CaveOfOrigin_B4F_EventScript_1A04E3 end CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 lockall - move 255, CaveOfOrigin_B4F_Movement_1A0841 - waitmove 0 + applymovement 255, CaveOfOrigin_B4F_Movement_1A0841 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B4F03, 4 .else msgbox CaveOfOrigin_B4F_Text_1B4FE4, 4 .endif - closebutton + closemessage setweather 0 doweather special WaitWeather waitstate - playsfx 209 - setanimation 0, 9 - setanimation 1, 13 - setanimation 2, 0 - doanimation 54 - checkanimation 54 + playse 209 + setfieldeffect 0, 9 + setfieldeffect 1, 13 + setfieldeffect 2, 0 + dofieldeffect 54 + waitfieldeffect 54 .ifdef SAPPHIRE setvar RESULT, 3 .else setvar RESULT, 2 .endif - playsfx 107 + playse 107 special sub_80818A4 waitstate special sub_80818FC waitstate - move 1, CaveOfOrigin_B4F_Movement_15DE7D - waitmove 0 - pause 60 + applymovement 1, CaveOfOrigin_B4F_Movement_15DE7D + waitmovement 0 + delay 60 setwildbattle SPECIES_GROUDON_OR_KYOGRE, 45, ITEM_NONE - checksound - pokecry SPECIES_GROUDON_OR_KYOGRE, 2 - pause 40 + waitse + playpokecry SPECIES_GROUDON_OR_KYOGRE, 2 + delay 40 waitpokecry setflag 2145 special ScrSpecial_StartGroudonKyogreBattle waitstate clearflag 2145 - specialval RESULT, sub_810E300 + specialvar RESULT, sub_810E300 compare RESULT, 1 - callif 1, CaveOfOrigin_B4F_EventScript_15DE73 + call_if 1, CaveOfOrigin_B4F_EventScript_15DE73 setflag 816 setflag 855 setflag 856 @@ -87,7 +87,7 @@ CaveOfOrigin_B4F_EventScript_15DE73:: @ 815DE73 .else msgbox CaveOfOrigin_B4F_Text_1B5009, 4 .endif - closebutton + closemessage return CaveOfOrigin_B4F_Movement_15DE7D:: @ 815DE7D diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc index 97a22bae3..9f6f7b388 100644 --- a/data/scripts/maps/DesertRuins.inc +++ b/data/scripts/maps/DesertRuins.inc @@ -6,16 +6,16 @@ DesertRuins_MapScripts:: @ 815CAF3 DesertRuins_MapScript1_15CB03:: @ 815CB03 checkflag 2145 - callif 1, DesertRuins_EventScript_15CB0D + call_if 1, DesertRuins_EventScript_15CB0D end DesertRuins_EventScript_15CB0D:: @ 815CB0D - disappear LAST_TALKED + removeobject LAST_TALKED return DesertRuins_MapScript1_15CB11:: @ 815CB11 checkflag 2128 - callif 0, DesertRuins_EventScript_15CB1B + call_if 0, DesertRuins_EventScript_15CB1B end DesertRuins_EventScript_15CB1B:: @ 815CB1B @@ -34,10 +34,10 @@ DesertRuins_MapScript1_15CB52:: @ 815CB52 DesertRuins_EventScript_15CB56:: @ 815CB56 lockall checkflag 2128 - jumpeq DesertRuins_EventScript_15CB6D - braillemsg DesertRuins_Braille_1C54C8 + goto_if_eq DesertRuins_EventScript_15CB6D + braillemessage DesertRuins_Braille_1C54C8 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -48,18 +48,18 @@ DesertRuins_EventScript_15CB6D:: @ 815CB6D DesertRuins_EventScript_15CB77:: @ 815CB77 lockall - braillemsg DesertRuins_Braille_1C54C8 + braillemessage DesertRuins_Braille_1C54C8 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end DesertRuins_EventScript_15CB85:: @ 815CB85 lock faceplayer - checksound - pokecry SPECIES_REGIROCK, 2 - pause 40 + waitse + playpokecry SPECIES_REGIROCK, 2 + delay 40 waitpokecry setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE setflag 935 diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc index 8ca2eb3df..aa3584741 100644 --- a/data/scripts/maps/DewfordTown.inc +++ b/data/scripts/maps/DewfordTown.inc @@ -10,10 +10,10 @@ DewfordTown_EventScript_14E002:: @ 814E002 lock faceplayer checkflag 189 - jumpif 0, DewfordTown_EventScript_14E076 + goto_if 0, DewfordTown_EventScript_14E076 message DewfordTown_Text_16B522 - waittext - multichoicedef 21, 6, 0, 2, 0 + waitmessage + multichoicedefault 21, 6, 0, 2, 0 switch RESULT case 0, DewfordTown_EventScript_14E04B case 1, DewfordTown_EventScript_14E05B @@ -23,36 +23,36 @@ DewfordTown_EventScript_14E002:: @ 814E002 DewfordTown_EventScript_14E04B:: @ 814E04B msgbox DewfordTown_Text_16B57D, 4 - closebutton - jump DewfordTown_EventScript_14E151 + closemessage + goto DewfordTown_EventScript_14E151 release end DewfordTown_EventScript_14E05B:: @ 814E05B msgbox DewfordTown_Text_16B5D2, 4 - closebutton - jump DewfordTown_EventScript_14E1D8 + closemessage + goto DewfordTown_EventScript_14E1D8 release end DewfordTown_EventScript_14E06B:: @ 814E06B msgbox DewfordTown_Text_16B627, 4 - closebutton + closemessage release end DewfordTown_EventScript_14E076:: @ 814E076 msgbox DewfordTown_Text_16B3BC, 5 compare RESULT, 1 - jumpeq DewfordTown_EventScript_14E093 + goto_if_eq DewfordTown_EventScript_14E093 msgbox DewfordTown_Text_16B471, 4 release end DewfordTown_EventScript_14E093:: @ 814E093 msgbox DewfordTown_Text_16B417, 4 - closebutton - jump DewfordTown_EventScript_14E151 + closemessage + goto DewfordTown_EventScript_14E151 end DewfordTown_EventScript_14E0A2:: @ 814E0A2 @@ -75,12 +75,12 @@ DewfordTown_EventScript_14E0C6:: @ 814E0C6 lock faceplayer checkflag 257 - jumpeq DewfordTown_EventScript_14E11B + goto_if_eq DewfordTown_EventScript_14E11B msgbox DewfordTown_Text_16B665, 5 compare RESULT, 1 - jumpeq DewfordTown_EventScript_14E0F0 + goto_if_eq DewfordTown_EventScript_14E0F0 compare RESULT, 0 - jumpeq DewfordTown_EventScript_14E111 + goto_if_eq DewfordTown_EventScript_14E111 end DewfordTown_EventScript_14E0F0:: @ 814E0F0 @@ -98,12 +98,12 @@ DewfordTown_EventScript_14E111:: @ 814E111 DewfordTown_EventScript_14E11B:: @ 814E11B message DewfordTown_Text_16B84E - waittext + waitmessage multichoice 20, 8, 50, 1 compare RESULT, 0 - jumpeq DewfordTown_EventScript_14E13D + goto_if_eq DewfordTown_EventScript_14E13D compare RESULT, 1 - jumpeq DewfordTown_EventScript_14E147 + goto_if_eq DewfordTown_EventScript_14E147 end DewfordTown_EventScript_14E13D:: @ 814E13D @@ -118,30 +118,30 @@ DewfordTown_EventScript_14E147:: @ 814E147 DewfordTown_EventScript_14E151:: @ 814E151 call DewfordTown_EventScript_1A010C - spritelevelup 2, 0, 11, 0 - spritelevelup 255, 0, 11, 0 - move 2, DewfordTown_Movement_14E40E - waitmove 0 - disappear 2 - move 255, DewfordTown_Movement_14E402 - waitmove 0 - spriteinvisible 255, 0, 11 + setobjectpriority 2, 0, 11, 0 + setobjectpriority 255, 0, 11, 0 + applymovement 2, DewfordTown_Movement_14E40E + waitmovement 0 + removeobject 2 + applymovement 255, DewfordTown_Movement_14E402 + waitmovement 0 + hideobject 255, 0, 11 call DewfordTown_EventScript_1A02E7 - move 4, DewfordTown_Movement_14E293 - move 255, DewfordTown_Movement_14E293 - waitmove 0 - spritevisible 255, 0, 19 + applymovement 4, DewfordTown_Movement_14E293 + applymovement 255, DewfordTown_Movement_14E293 + waitmovement 0 + showobject 255, 0, 19 call DewfordTown_EventScript_1A02EF - move 255, DewfordTown_Movement_14E405 - waitmove 0 - spritevisible 255, 0, 19 + applymovement 255, DewfordTown_Movement_14E405 + waitmovement 0 + showobject 255, 0, 19 clearflag 739 clearflag 881 clearflag 742 setflag 743 - spriteinvisible 4, 0, 11 + hideobject 4, 0, 11 setvar 0x408e, 2 - restorespritelevel 255, 0, 11 + resetobjectpriority 255, 0, 11 warp Route104_MrBrineysHouse, 255, 5, 4 copyvar 0x4096, 0x8008 waitstate @@ -150,41 +150,41 @@ DewfordTown_EventScript_14E151:: @ 814E151 DewfordTown_EventScript_14E1D8:: @ 814E1D8 call DewfordTown_EventScript_1A010C - spritelevelup 2, 0, 11, 0 - spritelevelup 255, 0, 11, 1 - move 2, DewfordTown_Movement_14E40E - waitmove 0 - disappear 2 - move 255, DewfordTown_Movement_14E402 - waitmove 0 - spriteinvisible 255, 0, 11 + setobjectpriority 2, 0, 11, 0 + setobjectpriority 255, 0, 11, 1 + applymovement 2, DewfordTown_Movement_14E40E + waitmovement 0 + removeobject 2 + applymovement 255, DewfordTown_Movement_14E402 + waitmovement 0 + hideobject 255, 0, 11 call DewfordTown_EventScript_1A02E7 - move 4, DewfordTown_Movement_14E356 - move 255, DewfordTown_Movement_14E356 - waitmove 0 + applymovement 4, DewfordTown_Movement_14E356 + applymovement 255, DewfordTown_Movement_14E356 + waitmovement 0 call DewfordTown_EventScript_1A02EF - spritevisible 255, 0, 24 - move 255, DewfordTown_Movement_14E409 - waitmove 0 - movespriteperm 2, 21, 26 - reappear 2 - spritelevelup 2, 0, 24, 0 - move 2, DewfordTown_Movement_14E410 - waitmove 0 + showobject 255, 0, 24 + applymovement 255, DewfordTown_Movement_14E409 + waitmovement 0 + setobjectxyperm 2, 21, 26 + addobject 2 + setobjectpriority 2, 0, 24, 0 + applymovement 2, DewfordTown_Movement_14E410 + waitmovement 0 clearflag 741 - reappear 1 + addobject 1 clearflag 744 setflag 743 - spriteinvisible 4, 0, 11 + hideobject 4, 0, 11 checkflag 149 - callif 0, DewfordTown_EventScript_14E281 + call_if 0, DewfordTown_EventScript_14E281 checkflag 149 - callif 1, DewfordTown_EventScript_14E28A - closebutton + call_if 1, DewfordTown_EventScript_14E28A + closemessage copyvar 0x4096, 0x8008 - restorespritelevel 255, 0, 11 - restorespritelevel 2, 0, 24 - moveoffscreen 2 + resetobjectpriority 255, 0, 11 + resetobjectpriority 2, 0, 24 + moveobjectoffscreen 2 release end @@ -600,9 +600,9 @@ DewfordTown_EventScript_14E413:: @ 814E413 call DewfordTown_EventScript_1A0102 msgbox DewfordTown_Text_16B9CE, 5 compare RESULT, 1 - jumpeq DewfordTown_EventScript_14E439 + goto_if_eq DewfordTown_EventScript_14E439 compare RESULT, 0 - jumpeq DewfordTown_EventScript_14E443 + goto_if_eq DewfordTown_EventScript_14E443 end DewfordTown_EventScript_14E439:: @ 814E439 @@ -617,15 +617,15 @@ DewfordTown_EventScript_14E443:: @ 814E443 lock faceplayer compare RESULT, 1 - jumpeq DewfordTown_EventScript_14E46E + goto_if_eq DewfordTown_EventScript_14E46E compare RESULT, 0 - jumpeq DewfordTown_EventScript_14E485 + goto_if_eq DewfordTown_EventScript_14E485 end DewfordTown_EventScript_14E46E:: @ 814E46E - inccounter GAME_STAT_STARTED_TRENDS + incrementgamestat GAME_STAT_STARTED_TRENDS compare 0x8004, 0 - jumpeq DewfordTown_EventScript_14E48F + goto_if_eq DewfordTown_EventScript_14E48F msgbox DewfordTown_Text_16BB44, 4 release end diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc index 51d4f44ba..92776afb1 100644 --- a/data/scripts/maps/DewfordTown_Gym.inc +++ b/data/scripts/maps/DewfordTown_Gym.inc @@ -8,91 +8,91 @@ DewfordTown_Gym_MapScript1_15306B:: @ 815306B DewfordTown_Gym_EventScript_153071:: @ 8153071 checktrainerflag OPPONENT_BRAWLY - jumpeq DewfordTown_Gym_EventScript_1530AA + goto_if_eq DewfordTown_Gym_EventScript_1530AA call DewfordTown_Gym_EventScript_153122 copyvar 0x8001, 0x8000 compare 0x8000, 0 - jumpeq DewfordTown_Gym_EventScript_1530BA + goto_if_eq DewfordTown_Gym_EventScript_1530BA compare 0x8000, 1 - jumpeq DewfordTown_Gym_EventScript_1530B6 + goto_if_eq DewfordTown_Gym_EventScript_1530B6 compare 0x8000, 2 - jumpeq DewfordTown_Gym_EventScript_1530B2 - jump DewfordTown_Gym_EventScript_1530AE + goto_if_eq DewfordTown_Gym_EventScript_1530B2 + goto DewfordTown_Gym_EventScript_1530AE DewfordTown_Gym_EventScript_1530AA:: @ 81530AA - darken 0 + setdarklevel 0 return DewfordTown_Gym_EventScript_1530AE:: @ 81530AE - darken 1 + setdarklevel 1 return DewfordTown_Gym_EventScript_1530B2:: @ 81530B2 - darken 2 + setdarklevel 2 return DewfordTown_Gym_EventScript_1530B6:: @ 81530B6 - darken 3 + setdarklevel 3 return DewfordTown_Gym_EventScript_1530BA:: @ 81530BA - darken 4 + setdarklevel 4 return DewfordTown_Gym_EventScript_1530BE:: @ 81530BE call DewfordTown_Gym_EventScript_153122 - snop1 - comparevars 0x8000, 0x8001 - jumpeq DewfordTown_Gym_EventScript_1530F5 + nop1 + compare 0x8000, 0x8001 + goto_if_eq DewfordTown_Gym_EventScript_1530F5 copyvar 0x8001, 0x8000 compare 0x8000, 1 - jumpeq DewfordTown_Gym_EventScript_1530F6 + goto_if_eq DewfordTown_Gym_EventScript_1530F6 compare 0x8000, 2 - jumpeq DewfordTown_Gym_EventScript_153101 + goto_if_eq DewfordTown_Gym_EventScript_153101 compare 0x8000, 3 - jumpeq DewfordTown_Gym_EventScript_15310C + goto_if_eq DewfordTown_Gym_EventScript_15310C DewfordTown_Gym_EventScript_1530F5:: @ 81530F5 return DewfordTown_Gym_EventScript_1530F6:: @ 81530F6 - playsfx 35 - lighten 3 + playse 35 + animdarklevel 3 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_153101:: @ 8153101 - playsfx 35 - lighten 2 + playse 35 + animdarklevel 2 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_15310C:: @ 815310C - playsfx 35 - lighten 1 + playse 35 + animdarklevel 1 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_153117:: @ 8153117 - playsfx 35 - lighten 0 + playse 35 + animdarklevel 0 call DewfordTown_Gym_EventScript_153071 return DewfordTown_Gym_EventScript_153122:: @ 8153122 setvar 0x8000, 0 checktrainerflag OPPONENT_HIDEKI - jumpif 0, DewfordTown_Gym_EventScript_153135 + goto_if 0, DewfordTown_Gym_EventScript_153135 addvar 0x8000, 1 DewfordTown_Gym_EventScript_153135:: @ 8153135 checktrainerflag OPPONENT_TESSA - jumpif 0, DewfordTown_Gym_EventScript_153143 + goto_if 0, DewfordTown_Gym_EventScript_153143 addvar 0x8000, 1 DewfordTown_Gym_EventScript_153143:: @ 8153143 checktrainerflag OPPONENT_LAURA - jumpif 0, DewfordTown_Gym_EventScript_153151 + goto_if 0, DewfordTown_Gym_EventScript_153151 addvar 0x8000, 1 DewfordTown_Gym_EventScript_153151:: @ 8153151 @@ -101,7 +101,7 @@ DewfordTown_Gym_EventScript_153151:: @ 8153151 DewfordTown_Gym_EventScript_153152:: @ 8153152 trainerbattle 1, OPPONENT_BRAWLY, 0, DewfordTown_Gym_Text_175182, DewfordTown_Gym_Text_175246, DewfordTown_Gym_EventScript_153177 checkflag 166 - jumpif 0, DewfordTown_Gym_EventScript_1531B5 + goto_if 0, DewfordTown_Gym_EventScript_1531B5 msgbox DewfordTown_Gym_Text_175412, 4 release end @@ -109,23 +109,23 @@ DewfordTown_Gym_EventScript_153152:: @ 8153152 DewfordTown_Gym_EventScript_153177:: @ 8153177 call DewfordTown_Gym_EventScript_153117 message DewfordTown_Gym_Text_1752BB - waittext + waitmessage call DewfordTown_Gym_EventScript_1A02C5 msgbox DewfordTown_Gym_Text_1752E6, 4 setflag 1204 setflag 2056 addvar 0x4085, 1 compare 0x4085, 6 - callif 1, DewfordTown_Gym_EventScript_1A00FB + call_if 1, DewfordTown_Gym_EventScript_1A00FB setvar 0x8008, 2 call DewfordTown_Gym_EventScript_1A01C0 - jump DewfordTown_Gym_EventScript_1531B5 + goto DewfordTown_Gym_EventScript_1531B5 end DewfordTown_Gym_EventScript_1531B5:: @ 81531B5 giveitem ITEM_TM08 compare RESULT, 0 - jumpeq DewfordTown_Gym_EventScript_1A029B + goto_if_eq DewfordTown_Gym_EventScript_1A029B msgbox DewfordTown_Gym_Text_1753BF, 4 setflag 166 release @@ -165,7 +165,7 @@ DewfordTown_Gym_EventScript_15323F:: @ 815323F lock faceplayer checkflag 1204 - jumpeq DewfordTown_Gym_EventScript_153254 + goto_if_eq DewfordTown_Gym_EventScript_153254 msgbox DewfordTown_Gym_Text_174D98, 4 release end @@ -178,15 +178,15 @@ DewfordTown_Gym_EventScript_153254:: @ 8153254 DewfordTown_Gym_EventScript_15325E:: @ 815325E lockall checkflag 2056 - jumpeq DewfordTown_Gym_EventScript_15327E - jump DewfordTown_Gym_EventScript_153288 + goto_if_eq DewfordTown_Gym_EventScript_15327E + goto DewfordTown_Gym_EventScript_153288 end DewfordTown_Gym_EventScript_15326E:: @ 815326E lockall checkflag 2056 - jumpeq DewfordTown_Gym_EventScript_15327E - jump DewfordTown_Gym_EventScript_153288 + goto_if_eq DewfordTown_Gym_EventScript_15327E + goto DewfordTown_Gym_EventScript_153288 end DewfordTown_Gym_EventScript_15327E:: @ 815327E diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc index 28d396a3e..ea4016147 100644 --- a/data/scripts/maps/DewfordTown_Hall.inc +++ b/data/scripts/maps/DewfordTown_Hall.inc @@ -7,7 +7,7 @@ DewfordTown_Hall_EventScript_153293:: @ 8153293 call DewfordTown_Hall_EventScript_1A0102 special sub_80FA5E4 compare RESULT, 1 - jumpeq DewfordTown_Hall_EventScript_1532B2 + goto_if_eq DewfordTown_Hall_EventScript_1532B2 msgbox DewfordTown_Hall_Text_1754C9, 4 release end @@ -32,9 +32,9 @@ DewfordTown_Hall_EventScript_1532CD:: @ 81532CD special sub_80EB83C msgbox DewfordTown_Hall_Text_1755F9, 5 compare RESULT, 1 - jumpeq DewfordTown_Hall_EventScript_1532F6 + goto_if_eq DewfordTown_Hall_EventScript_1532F6 compare RESULT, 0 - jumpeq DewfordTown_Hall_EventScript_153300 + goto_if_eq DewfordTown_Hall_EventScript_153300 end DewfordTown_Hall_EventScript_1532F6:: @ 81532F6 @@ -52,9 +52,9 @@ DewfordTown_Hall_EventScript_15330A:: @ 815330A faceplayer call DewfordTown_Hall_EventScript_1A0102 msgbox DewfordTown_Hall_Text_17570D, 4 - closebutton - move 4, DewfordTown_Hall_Movement_1A0841 - waitmove 0 + closemessage + applymovement 4, DewfordTown_Hall_Movement_1A0841 + waitmovement 0 release end @@ -63,9 +63,9 @@ DewfordTown_Hall_EventScript_153326:: @ 8153326 faceplayer call DewfordTown_Hall_EventScript_1A0102 msgbox DewfordTown_Hall_Text_17574C, 4 - closebutton - move 5, DewfordTown_Hall_Movement_1A0841 - waitmove 0 + closemessage + applymovement 5, DewfordTown_Hall_Movement_1A0841 + waitmovement 0 release end @@ -122,13 +122,13 @@ DewfordTown_Hall_EventScript_1533E8:: @ 81533E8 DewfordTown_Hall_EventScript_1533F2:: @ 81533F2 lockall setvar 0x8008, 0 - jump DewfordTown_Hall_EventScript_15340A + goto DewfordTown_Hall_EventScript_15340A end DewfordTown_Hall_EventScript_1533FE:: @ 81533FE lockall setvar 0x8008, 1 - jump DewfordTown_Hall_EventScript_15340A + goto DewfordTown_Hall_EventScript_15340A end DewfordTown_Hall_EventScript_15340A:: @ 815340A @@ -189,55 +189,55 @@ DewfordTown_Hall_EventScript_1534FC:: @ 81534FC return DewfordTown_Hall_EventScript_1534FD:: @ 81534FD - move 8, DewfordTown_Hall_Movement_153599 - waitmove 0 + applymovement 8, DewfordTown_Hall_Movement_153599 + waitmovement 0 compare 0x8008, 0 - jumpeq DewfordTown_Hall_EventScript_15351E + goto_if_eq DewfordTown_Hall_EventScript_15351E compare 0x8008, 1 - jumpeq DewfordTown_Hall_EventScript_153534 + goto_if_eq DewfordTown_Hall_EventScript_153534 end DewfordTown_Hall_EventScript_15351E:: @ 815351E compare FACING, 4 - jumpeq DewfordTown_Hall_EventScript_1534FC - move 255, DewfordTown_Hall_Movement_1A0843 - waitmove 0 + goto_if_eq DewfordTown_Hall_EventScript_1534FC + applymovement 255, DewfordTown_Hall_Movement_1A0843 + waitmovement 0 return DewfordTown_Hall_EventScript_153534:: @ 8153534 return DewfordTown_Hall_EventScript_153535:: @ 8153535 - move 7, DewfordTown_Hall_Movement_15359B - waitmove 0 + applymovement 7, DewfordTown_Hall_Movement_15359B + waitmovement 0 compare 0x8008, 0 - jumpeq DewfordTown_Hall_EventScript_153556 + goto_if_eq DewfordTown_Hall_EventScript_153556 compare 0x8008, 1 - jumpeq DewfordTown_Hall_EventScript_153583 + goto_if_eq DewfordTown_Hall_EventScript_153583 end DewfordTown_Hall_EventScript_153556:: @ 8153556 compare FACING, 2 - callif 1, DewfordTown_Hall_EventScript_15356D + call_if 1, DewfordTown_Hall_EventScript_15356D compare FACING, 1 - callif 1, DewfordTown_Hall_EventScript_153578 + call_if 1, DewfordTown_Hall_EventScript_153578 return DewfordTown_Hall_EventScript_15356D:: @ 815356D - move 255, DewfordTown_Hall_Movement_1A0841 - waitmove 0 + applymovement 255, DewfordTown_Hall_Movement_1A0841 + waitmovement 0 return DewfordTown_Hall_EventScript_153578:: @ 8153578 - move 255, DewfordTown_Hall_Movement_1A0845 - waitmove 0 + applymovement 255, DewfordTown_Hall_Movement_1A0845 + waitmovement 0 return DewfordTown_Hall_EventScript_153583:: @ 8153583 compare FACING, 3 - jumpeq DewfordTown_Hall_EventScript_1534FC - move 255, DewfordTown_Hall_Movement_1A083F - waitmove 0 + goto_if_eq DewfordTown_Hall_EventScript_1534FC + applymovement 255, DewfordTown_Hall_Movement_1A083F + waitmovement 0 return DewfordTown_Hall_Movement_153599:: @ 8153599 @@ -253,11 +253,11 @@ DewfordTown_Hall_EventScript_15359D:: @ 815359D faceplayer call DewfordTown_Hall_EventScript_1A0102 checkflag 230 - jumpeq DewfordTown_Hall_EventScript_1535D1 + goto_if_eq DewfordTown_Hall_EventScript_1535D1 msgbox DewfordTown_Hall_Text_175E13, 4 giveitem ITEM_TM36 compare RESULT, 0 - jumpeq DewfordTown_Hall_EventScript_1A029B + goto_if_eq DewfordTown_Hall_EventScript_1A029B setflag 230 release end diff --git a/data/scripts/maps/DewfordTown_House1.inc b/data/scripts/maps/DewfordTown_House1.inc index 40e06357c..e8897b974 100644 --- a/data/scripts/maps/DewfordTown_House1.inc +++ b/data/scripts/maps/DewfordTown_House1.inc @@ -12,8 +12,8 @@ DewfordTown_House1_EventScript_152FF8:: @ 8152FF8 DewfordTown_House1_EventScript_153001:: @ 8153001 lock faceplayer - checksound - pokecry SPECIES_ZIGZAGOON, 0 + waitse + playpokecry SPECIES_ZIGZAGOON, 0 msgbox DewfordTown_House1_Text_174CC8, 4 waitpokecry release diff --git a/data/scripts/maps/DewfordTown_House2.inc b/data/scripts/maps/DewfordTown_House2.inc index 529f8bb24..befe47404 100644 --- a/data/scripts/maps/DewfordTown_House2.inc +++ b/data/scripts/maps/DewfordTown_House2.inc @@ -5,11 +5,11 @@ DewfordTown_House2_EventScript_1535DC:: @ 81535DC lock faceplayer checkflag 289 - jumpeq DewfordTown_House2_EventScript_153615 + goto_if_eq DewfordTown_House2_EventScript_153615 msgbox DewfordTown_House2_Text_175EFE, 4 giveitem ITEM_SILK_SCARF compare RESULT, 0 - jumpeq DewfordTown_House2_EventScript_15360B + goto_if_eq DewfordTown_House2_EventScript_15360B setflag 289 release end diff --git a/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc index 96c198ae5..70e75492e 100644 --- a/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ DewfordTown_PokemonCenter_1F_MapScript1_15301A:: @ 815301A DewfordTown_PokemonCenter_1F_EventScript_153023:: @ 8153023 setvar 0x800b, 1 call DewfordTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc index 9b6d2a8b7..c9768d006 100644 --- a/data/scripts/maps/EverGrandeCity.inc +++ b/data/scripts/maps/EverGrandeCity.inc @@ -4,7 +4,7 @@ EverGrandeCity_MapScripts:: @ 814D4D5 EverGrandeCity_MapScript1_14D4DB:: @ 814D4DB checkflag 2090 - callif 1, EverGrandeCity_EventScript_1A02C1 + call_if 1, EverGrandeCity_EventScript_1A02C1 end EverGrandeCity_EventScript_14D4E5:: @ 814D4E5 diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc index bddcfa74b..90df9ab4e 100644 --- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc +++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc @@ -13,7 +13,7 @@ EverGrandeCity_ChampionsRoom_MapScript2_15B7C5:: @ 815B7C5 .2byte 0 EverGrandeCity_ChampionsRoom_EventScript_15B7CF:: @ 815B7CF - spriteface 255, 2 + turnobject 255, 2 end EverGrandeCity_ChampionsRoom_MapScript2_15B7D4:: @ 815B7D4 @@ -22,13 +22,13 @@ EverGrandeCity_ChampionsRoom_MapScript2_15B7D4:: @ 815B7D4 EverGrandeCity_ChampionsRoom_EventScript_15B7DE:: @ 815B7DE lockall - move 255, EverGrandeCity_ChampionsRoom_Movement_1A084E - waitmove 0 - pause 40 - move 255, EverGrandeCity_ChampionsRoom_Movement_15B802 - waitmove 0 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A084E + waitmovement 0 + delay 40 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B802 + waitmovement 0 setvar 0x4001, 1 - jump EverGrandeCity_ChampionsRoom_EventScript_15B805 + goto EverGrandeCity_ChampionsRoom_EventScript_15B805 releaseall end @@ -38,104 +38,104 @@ EverGrandeCity_ChampionsRoom_Movement_15B802:: @ 815B802 step_end EverGrandeCity_ChampionsRoom_EventScript_15B805:: @ 815B805 - playmusic 454, 0 + playbgm 454, 0 msgbox EverGrandeCity_ChampionsRoom_Text_190F9C, 4 trainerbattle 3, OPPONENT_STEVEN, 0, EverGrandeCity_ChampionsRoom_Text_1910A0 - jump EverGrandeCity_ChampionsRoom_EventScript_15B821 + goto EverGrandeCity_ChampionsRoom_EventScript_15B821 end EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821 - playsfx 8 + playse 8 setmaptile 6, 1, 838, 0 setmaptile 6, 2, 839, 0 special DrawWholeMapView msgbox EverGrandeCity_ChampionsRoom_Text_1910FE, 4 - closebutton - playsfx 8 - checkgender + closemessage + playse 8 + checkplayergender compare RESULT, 0 - callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B87C compare RESULT, 1 - callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B881 - reappear 2 + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B881 + addobject 2 call EverGrandeCity_ChampionsRoom_EventScript_15B9BD - checkgender + checkplayergender compare RESULT, 0 - jumpeq EverGrandeCity_ChampionsRoom_EventScript_15B886 + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B886 compare RESULT, 1 - jumpeq EverGrandeCity_ChampionsRoom_EventScript_15B8BB + goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_15B8BB end EverGrandeCity_ChampionsRoom_EventScript_15B87C:: @ 815B87C - playmusic 415, 0 + playbgm 415, 0 return EverGrandeCity_ChampionsRoom_EventScript_15B881:: @ 815B881 - playmusic 421, 0 + playbgm 421, 0 return EverGrandeCity_ChampionsRoom_EventScript_15B886:: @ 815B886 msgbox EverGrandeCity_ChampionsRoom_Text_191225, 4 - pause 40 - playsfx 21 - move 2, EverGrandeCity_ChampionsRoom_Movement_1A0833 - waitmove 0 - move 2, EverGrandeCity_ChampionsRoom_Movement_1A0835 - waitmove 0 + delay 40 + playse 21 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0833 + waitmovement 0 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0835 + waitmovement 0 call EverGrandeCity_ChampionsRoom_EventScript_15B9D2 msgbox EverGrandeCity_ChampionsRoom_Text_191268, 4 - jump EverGrandeCity_ChampionsRoom_EventScript_15B8F0 + goto EverGrandeCity_ChampionsRoom_EventScript_15B8F0 end EverGrandeCity_ChampionsRoom_EventScript_15B8BB:: @ 815B8BB msgbox EverGrandeCity_ChampionsRoom_Text_1912B3, 4 - pause 40 - playsfx 21 - move 2, EverGrandeCity_ChampionsRoom_Movement_1A0833 - waitmove 0 - move 2, EverGrandeCity_ChampionsRoom_Movement_1A0835 - waitmove 0 + delay 40 + playse 21 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0833 + waitmovement 0 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_1A0835 + waitmovement 0 call EverGrandeCity_ChampionsRoom_EventScript_15B9D2 msgbox EverGrandeCity_ChampionsRoom_Text_191305, 4 - jump EverGrandeCity_ChampionsRoom_EventScript_15B8F0 + goto EverGrandeCity_ChampionsRoom_EventScript_15B8F0 end EverGrandeCity_ChampionsRoom_EventScript_15B8F0:: @ 815B8F0 - closebutton - reappear 3 - move 3, EverGrandeCity_ChampionsRoom_Movement_15BA03 - waitmove 0 - move 255, EverGrandeCity_ChampionsRoom_Movement_1A0843 - waitmove 0 + closemessage + addobject 3 + applymovement 3, EverGrandeCity_ChampionsRoom_Movement_15BA03 + waitmovement 0 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A0843 + waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_19134D, 4 call EverGrandeCity_ChampionsRoom_EventScript_1A03B0 msgbox EverGrandeCity_ChampionsRoom_Text_1914C6, 4 - move 1, EverGrandeCity_ChampionsRoom_Movement_1A0841 - waitmove 0 - pause 20 - move 1, EverGrandeCity_ChampionsRoom_Movement_1A0845 - waitmove 0 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_1A0841 + waitmovement 0 + delay 20 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_1A0845 + waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_191512, 4 - closebutton - pause 30 - move 1, EverGrandeCity_ChampionsRoom_Movement_15B9FB - move 255, EverGrandeCity_ChampionsRoom_Movement_15B9DD - move 3, EverGrandeCity_ChampionsRoom_Movement_1A0841 - move 2, EverGrandeCity_ChampionsRoom_Movement_15B9F8 - waitmove 0 - pause 20 - move 255, EverGrandeCity_ChampionsRoom_Movement_1A0845 - waitmove 0 + closemessage + delay 30 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_15B9FB + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B9DD + applymovement 3, EverGrandeCity_ChampionsRoom_Movement_1A0841 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_15B9F8 + waitmovement 0 + delay 20 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A0845 + waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_191546, 4 - checkgender + checkplayergender compare RESULT, 0 - callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B9AB + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9AB compare RESULT, 1 - callif 1, EverGrandeCity_ChampionsRoom_EventScript_15B9B4 - closebutton - move 1, EverGrandeCity_ChampionsRoom_Movement_15B9FF - move 255, EverGrandeCity_ChampionsRoom_Movement_15B9E0 - waitmove 0 + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_15B9B4 + closemessage + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_15B9FF + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_15B9E0 + waitmovement 0 setflag 781 warp EverGrandeCity_HallOfFame, 255, 7, 16 waitstate @@ -151,15 +151,15 @@ EverGrandeCity_ChampionsRoom_EventScript_15B9B4:: @ 815B9B4 return EverGrandeCity_ChampionsRoom_EventScript_15B9BD:: @ 815B9BD - move 2, EverGrandeCity_ChampionsRoom_Movement_15B9E6 - waitmove 0 - move 255, EverGrandeCity_ChampionsRoom_Movement_1A083F - waitmove 0 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_15B9E6 + waitmovement 0 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_1A083F + waitmovement 0 return EverGrandeCity_ChampionsRoom_EventScript_15B9D2:: @ 815B9D2 - move 2, EverGrandeCity_ChampionsRoom_Movement_15B9EF - waitmove 0 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_15B9EF + waitmovement 0 return EverGrandeCity_ChampionsRoom_Movement_15B9DD:: @ 815B9DD diff --git a/data/scripts/maps/EverGrandeCity_Corridor1.inc b/data/scripts/maps/EverGrandeCity_Corridor1.inc index 499ad673f..104504960 100644 --- a/data/scripts/maps/EverGrandeCity_Corridor1.inc +++ b/data/scripts/maps/EverGrandeCity_Corridor1.inc @@ -7,5 +7,5 @@ EverGrandeCity_Corridor1_MapScript2_15BA12:: @ 815BA12 .2byte 0 EverGrandeCity_Corridor1_EventScript_15BA1C:: @ 815BA1C - spriteface 255, 2 + turnobject 255, 2 end diff --git a/data/scripts/maps/EverGrandeCity_Corridor2.inc b/data/scripts/maps/EverGrandeCity_Corridor2.inc index 692de1ed9..c7c049020 100644 --- a/data/scripts/maps/EverGrandeCity_Corridor2.inc +++ b/data/scripts/maps/EverGrandeCity_Corridor2.inc @@ -7,5 +7,5 @@ EverGrandeCity_Corridor2_MapScript2_15BA27:: @ 815BA27 .2byte 0 EverGrandeCity_Corridor2_EventScript_15BA31:: @ 815BA31 - spriteface 255, 2 + turnobject 255, 2 end diff --git a/data/scripts/maps/EverGrandeCity_Corridor3.inc b/data/scripts/maps/EverGrandeCity_Corridor3.inc index f8ed19669..1714db5cc 100644 --- a/data/scripts/maps/EverGrandeCity_Corridor3.inc +++ b/data/scripts/maps/EverGrandeCity_Corridor3.inc @@ -7,5 +7,5 @@ EverGrandeCity_Corridor3_MapScript2_15BA3C:: @ 815BA3C .2byte 0 EverGrandeCity_Corridor3_EventScript_15BA46:: @ 815BA46 - spriteface 255, 2 + turnobject 255, 2 end diff --git a/data/scripts/maps/EverGrandeCity_Corridor4.inc b/data/scripts/maps/EverGrandeCity_Corridor4.inc index 616a25ec5..64cc234eb 100644 --- a/data/scripts/maps/EverGrandeCity_Corridor4.inc +++ b/data/scripts/maps/EverGrandeCity_Corridor4.inc @@ -7,5 +7,5 @@ EverGrandeCity_Corridor4_MapScript2_15BA51:: @ 815BA51 .2byte 0 EverGrandeCity_Corridor4_EventScript_15BA5B:: @ 815BA5B - spriteface 255, 2 + turnobject 255, 2 end diff --git a/data/scripts/maps/EverGrandeCity_Corridor5.inc b/data/scripts/maps/EverGrandeCity_Corridor5.inc index 783b03aec..73c0b5a84 100644 --- a/data/scripts/maps/EverGrandeCity_Corridor5.inc +++ b/data/scripts/maps/EverGrandeCity_Corridor5.inc @@ -7,5 +7,5 @@ EverGrandeCity_Corridor5_MapScript2_15BA66:: @ 815BA66 .2byte 0 EverGrandeCity_Corridor5_EventScript_15BA70:: @ 815BA70 - spriteface 255, 2 + turnobject 255, 2 end diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc index d10957a8e..3d3d56ff9 100644 --- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc @@ -9,7 +9,7 @@ EverGrandeCity_DrakesRoom_MapScripts:: @ 815B70D .2byte 0 EverGrandeCity_DrakesRoom_EventScript_15B727:: @ 815B727 - spriteface 255, 2 + turnobject 255, 2 end EverGrandeCity_DrakesRoom_MapScript2_15B72C:: @ 815B72C @@ -25,9 +25,9 @@ EverGrandeCity_DrakesRoom_EventScript_15B736:: @ 815B736 EverGrandeCity_DrakesRoom_MapScript1_15B743:: @ 815B743 checkflag 1248 - callif 1, EverGrandeCity_DrakesRoom_EventScript_15B758 + call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B758 compare 0x409c, 4 - callif 1, EverGrandeCity_DrakesRoom_EventScript_15B75E + call_if 1, EverGrandeCity_DrakesRoom_EventScript_15B75E end EverGrandeCity_DrakesRoom_EventScript_15B758:: @ 815B758 @@ -42,11 +42,11 @@ EverGrandeCity_DrakesRoom_EventScript_15B764:: @ 815B764 lock faceplayer checkflag 1248 - jumpeq EverGrandeCity_DrakesRoom_EventScript_15B78B - playmusic 450, 0 + goto_if_eq EverGrandeCity_DrakesRoom_EventScript_15B78B + playbgm 450, 0 msgbox EverGrandeCity_DrakesRoom_Text_190CEB, 4 trainerbattle 3, OPPONENT_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_190E42 - jump EverGrandeCity_DrakesRoom_EventScript_15B795 + goto EverGrandeCity_DrakesRoom_EventScript_15B795 end EverGrandeCity_DrakesRoom_EventScript_15B78B:: @ 815B78B diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc index 039b2a772..07f6e8877 100644 --- a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc +++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc @@ -9,7 +9,7 @@ EverGrandeCity_GlaciasRoom_MapScript2_15B683:: @ 815B683 .2byte 0 EverGrandeCity_GlaciasRoom_EventScript_15B68D:: @ 815B68D - spriteface 255, 2 + turnobject 255, 2 end EverGrandeCity_GlaciasRoom_MapScript2_15B692:: @ 815B692 @@ -25,9 +25,9 @@ EverGrandeCity_GlaciasRoom_EventScript_15B69C:: @ 815B69C EverGrandeCity_GlaciasRoom_MapScript1_15B6A9:: @ 815B6A9 checkflag 1247 - callif 1, EverGrandeCity_GlaciasRoom_EventScript_15B6BE + call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6BE compare 0x409c, 3 - callif 1, EverGrandeCity_GlaciasRoom_EventScript_15B6C4 + call_if 1, EverGrandeCity_GlaciasRoom_EventScript_15B6C4 end EverGrandeCity_GlaciasRoom_EventScript_15B6BE:: @ 815B6BE @@ -42,11 +42,11 @@ EverGrandeCity_GlaciasRoom_EventScript_15B6CA:: @ 815B6CA lock faceplayer checkflag 1247 - jumpeq EverGrandeCity_GlaciasRoom_EventScript_15B6F1 - playmusic 450, 0 + goto_if_eq EverGrandeCity_GlaciasRoom_EventScript_15B6F1 + playbgm 450, 0 msgbox EverGrandeCity_GlaciasRoom_Text_190AF9, 4 trainerbattle 3, OPPONENT_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_190C01 - jump EverGrandeCity_GlaciasRoom_EventScript_15B6FB + goto EverGrandeCity_GlaciasRoom_EventScript_15B6FB end EverGrandeCity_GlaciasRoom_EventScript_15B6F1:: @ 815B6F1 diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc index 175990328..d9baaee89 100644 --- a/data/scripts/maps/EverGrandeCity_HallOfFame.inc +++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc @@ -8,7 +8,7 @@ EverGrandeCity_HallOfFame_MapScript2_15BB8F:: @ 815BB8F .2byte 0 EverGrandeCity_HallOfFame_EventScript_15BB99:: @ 815BB99 - spriteface 255, 2 + turnobject 255, 2 end EverGrandeCity_HallOfFame_MapScript2_15BB9E:: @ 815BB9E @@ -17,37 +17,37 @@ EverGrandeCity_HallOfFame_MapScript2_15BB9E:: @ 815BB9E EverGrandeCity_HallOfFame_EventScript_15BBA8:: @ 815BBA8 lockall - move 1, EverGrandeCity_HallOfFame_Movement_15BC59 - move 255, EverGrandeCity_HallOfFame_Movement_15BC59 - waitmove 0 - move 1, EverGrandeCity_HallOfFame_Movement_1A0843 - move 255, EverGrandeCity_HallOfFame_Movement_1A083F - waitmove 0 + applymovement 1, EverGrandeCity_HallOfFame_Movement_15BC59 + applymovement 255, EverGrandeCity_HallOfFame_Movement_15BC59 + waitmovement 0 + applymovement 1, EverGrandeCity_HallOfFame_Movement_1A0843 + applymovement 255, EverGrandeCity_HallOfFame_Movement_1A083F + waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_191841, 4 - closebutton - move 1, EverGrandeCity_HallOfFame_Movement_15BC60 - move 255, EverGrandeCity_HallOfFame_Movement_15BC60 - waitmove 0 - pause 20 - move 1, EverGrandeCity_HallOfFame_Movement_1A0843 - move 255, EverGrandeCity_HallOfFame_Movement_1A083F - waitmove 0 + closemessage + applymovement 1, EverGrandeCity_HallOfFame_Movement_15BC60 + applymovement 255, EverGrandeCity_HallOfFame_Movement_15BC60 + waitmovement 0 + delay 20 + applymovement 1, EverGrandeCity_HallOfFame_Movement_1A0843 + applymovement 255, EverGrandeCity_HallOfFame_Movement_1A083F + waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_1918D7, 4 - closebutton - move 1, EverGrandeCity_HallOfFame_Movement_1A0841 - move 255, EverGrandeCity_HallOfFame_Movement_1A0841 - waitmove 0 - pause 20 - doanimation 62 - checkanimation 62 - pause 40 + closemessage + applymovement 1, EverGrandeCity_HallOfFame_Movement_1A0841 + applymovement 255, EverGrandeCity_HallOfFame_Movement_1A0841 + waitmovement 0 + delay 20 + dofieldeffect 62 + waitfieldeffect 62 + delay 40 setvar 0x4001, 1 call EverGrandeCity_HallOfFame_EventScript_19FC13 - checkgender + checkplayergender compare RESULT, 0 - jumpeq EverGrandeCity_HallOfFame_EventScript_15BC41 + goto_if_eq EverGrandeCity_HallOfFame_EventScript_15BC41 compare RESULT, 1 - jumpeq EverGrandeCity_HallOfFame_EventScript_15BC4D + goto_if_eq EverGrandeCity_HallOfFame_EventScript_15BC4D end EverGrandeCity_HallOfFame_EventScript_15BC41:: @ 815BC41 diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc index 7e8ee131a..b7c1618ba 100644 --- a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc @@ -9,7 +9,7 @@ EverGrandeCity_PhoebesRoom_MapScript2_15B5E9:: @ 815B5E9 .2byte 0 EverGrandeCity_PhoebesRoom_EventScript_15B5F3:: @ 815B5F3 - spriteface 255, 2 + turnobject 255, 2 end EverGrandeCity_PhoebesRoom_MapScript2_15B5F8:: @ 815B5F8 @@ -25,9 +25,9 @@ EverGrandeCity_PhoebesRoom_EventScript_15B602:: @ 815B602 EverGrandeCity_PhoebesRoom_MapScript1_15B60F:: @ 815B60F checkflag 1246 - callif 1, EverGrandeCity_PhoebesRoom_EventScript_15B624 + call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B624 compare 0x409c, 2 - callif 1, EverGrandeCity_PhoebesRoom_EventScript_15B62A + call_if 1, EverGrandeCity_PhoebesRoom_EventScript_15B62A end EverGrandeCity_PhoebesRoom_EventScript_15B624:: @ 815B624 @@ -42,11 +42,11 @@ EverGrandeCity_PhoebesRoom_EventScript_15B630:: @ 815B630 lock faceplayer checkflag 1246 - jumpeq EverGrandeCity_PhoebesRoom_EventScript_15B657 - playmusic 450, 0 + goto_if_eq EverGrandeCity_PhoebesRoom_EventScript_15B657 + playbgm 450, 0 msgbox EverGrandeCity_PhoebesRoom_Text_1908F5, 4 trainerbattle 3, OPPONENT_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_190A0C - jump EverGrandeCity_PhoebesRoom_EventScript_15B661 + goto EverGrandeCity_PhoebesRoom_EventScript_15B661 end EverGrandeCity_PhoebesRoom_EventScript_15B657:: @ 815B657 diff --git a/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc index 7c0b8b0a4..57262b211 100644 --- a/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ EverGrandeCity_PokemonCenter_1F_EventScript_15BC70:: @ 815BC70 SootopolisCity_PokemonCenter_1F_EventScript_15BC70:: @ 815BC70 setvar 0x800b, 1 call SootopolisCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc index bfb3cdc1b..acbdac899 100644 --- a/data/scripts/maps/EverGrandeCity_PokemonLeague.inc +++ b/data/scripts/maps/EverGrandeCity_PokemonLeague.inc @@ -6,18 +6,18 @@ EverGrandeCity_PokemonLeague_MapScript1_15BA7B:: @ 815BA7B sethealplace 20 setflag 2132 checkflag 263 - callif 0, EverGrandeCity_PokemonLeague_EventScript_15BA8B + call_if 0, EverGrandeCity_PokemonLeague_EventScript_15BA8B end EverGrandeCity_PokemonLeague_EventScript_15BA8B:: @ 815BA8B - movespriteperm 3, 9, 2 - movespriteperm 4, 10, 2 + setobjectxyperm 3, 9, 2 + setobjectxyperm 4, 10, 2 return EverGrandeCity_PokemonLeague_EventScript_15BA9A:: @ 815BA9A setvar 0x800b, 1 call EverGrandeCity_PokemonLeague_EventScript_19FD5B - waittext + waitmessage waitbutton release end @@ -26,7 +26,7 @@ EverGrandeCity_PokemonLeague_EventScript_15BAA8:: @ 815BAA8 lock faceplayer message EverGrandeCity_PokemonLeague_Text_1A0BE4 - waittext + waitmessage pokemart EverGrandeCity_PokemonLeague_Items msgbox EverGrandeCity_PokemonLeague_Text_1A0C02, 4 release @@ -48,56 +48,56 @@ EverGrandeCity_PokemonLeague_Items:: @ 815BAC0 EverGrandeCity_PokemonLeague_EventScript_15BAD2:: @ 815BAD2 lockall checkflag 263 - jumpeq EverGrandeCity_PokemonLeague_EventScript_15BB57 + goto_if_eq EverGrandeCity_PokemonLeague_EventScript_15BB57 getplayerxy 0x4000, 0x4001 compare 0x4000, 11 - callif 4, EverGrandeCity_PokemonLeague_EventScript_15BB34 + call_if 4, EverGrandeCity_PokemonLeague_EventScript_15BB34 compare 0x4000, 8 - callif 3, EverGrandeCity_PokemonLeague_EventScript_15BB3F + call_if 3, EverGrandeCity_PokemonLeague_EventScript_15BB3F message EverGrandeCity_PokemonLeague_Text_1916FD - waittext - pause 75 + waitmessage + delay 75 checkflag 2060 - jumpif 0, EverGrandeCity_PokemonLeague_EventScript_15BB4A - closebutton - move 3, EverGrandeCity_PokemonLeague_Movement_15BB7E - move 4, EverGrandeCity_PokemonLeague_Movement_15BB81 - waitmove 0 - pause 10 - fanfare 369 + goto_if 0, EverGrandeCity_PokemonLeague_EventScript_15BB4A + closemessage + applymovement 3, EverGrandeCity_PokemonLeague_Movement_15BB7E + applymovement 4, EverGrandeCity_PokemonLeague_Movement_15BB81 + waitmovement 0 + delay 10 + playfanfare 369 message EverGrandeCity_PokemonLeague_Text_191804 - waittext + waitmessage waitfanfare - closebutton - moveoffscreen 3 - moveoffscreen 4 + closemessage + moveobjectoffscreen 3 + moveobjectoffscreen 4 setflag 263 releaseall end EverGrandeCity_PokemonLeague_EventScript_15BB34:: @ 815BB34 - move 255, EverGrandeCity_PokemonLeague_Movement_15BB76 - waitmove 0 + applymovement 255, EverGrandeCity_PokemonLeague_Movement_15BB76 + waitmovement 0 return EverGrandeCity_PokemonLeague_EventScript_15BB3F:: @ 815BB3F - move 255, EverGrandeCity_PokemonLeague_Movement_15BB7A - waitmove 0 + applymovement 255, EverGrandeCity_PokemonLeague_Movement_15BB7A + waitmovement 0 return EverGrandeCity_PokemonLeague_EventScript_15BB4A:: @ 815BB4A - playsfx 32 + playse 32 msgbox EverGrandeCity_PokemonLeague_Text_19179C, 4 releaseall end EverGrandeCity_PokemonLeague_EventScript_15BB57:: @ 815BB57 - move LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A0839 - waitmove 0 + applymovement LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A0839 + waitmovement 0 msgbox EverGrandeCity_PokemonLeague_Text_191804, 4 - closebutton - move LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, EverGrandeCity_PokemonLeague_Movement_1A083D + waitmovement 0 releaseall end diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc index 84a6c3fdc..daca98176 100644 --- a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc +++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc @@ -6,9 +6,9 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 815B53F EverGrandeCity_SidneysRoom_MapScript1_15B54F:: @ 815B54F checkflag 1245 - callif 1, EverGrandeCity_SidneysRoom_EventScript_15B564 + call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B564 compare 0x409c, 1 - callif 1, EverGrandeCity_SidneysRoom_EventScript_15B56A + call_if 1, EverGrandeCity_SidneysRoom_EventScript_15B56A end EverGrandeCity_SidneysRoom_EventScript_15B564:: @ 815B564 @@ -25,7 +25,7 @@ EverGrandeCity_SidneysRoom_MapScript2_15B570:: @ 815B570 .2byte 0 EverGrandeCity_SidneysRoom_EventScript_15B57A:: @ 815B57A - spriteface 255, 2 + turnobject 255, 2 end EverGrandeCity_SidneysRoom_MapScript2_15B57F:: @ 815B57F @@ -43,11 +43,11 @@ EverGrandeCity_SidneysRoom_EventScript_15B596:: @ 815B596 lock faceplayer checkflag 1245 - jumpeq EverGrandeCity_SidneysRoom_EventScript_15B5BD - playmusic 450, 0 + goto_if_eq EverGrandeCity_SidneysRoom_EventScript_15B5BD + playbgm 450, 0 msgbox EverGrandeCity_SidneysRoom_Text_190728, 4 trainerbattle 3, OPPONENT_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_190823 - jump EverGrandeCity_SidneysRoom_EventScript_15B5C7 + goto EverGrandeCity_SidneysRoom_EventScript_15B5C7 end EverGrandeCity_SidneysRoom_EventScript_15B5BD:: @ 815B5BD diff --git a/data/scripts/maps/FallarborTown.inc b/data/scripts/maps/FallarborTown.inc index a48be5b24..13c8a9f2e 100644 --- a/data/scripts/maps/FallarborTown.inc +++ b/data/scripts/maps/FallarborTown.inc @@ -13,7 +13,7 @@ FallarborTown_EventScript_14E7F5:: @ 814E7F5 lock faceplayer checkflag 139 - jumpeq FallarborTown_EventScript_14E80A + goto_if_eq FallarborTown_EventScript_14E80A msgbox FallarborTown_Text_16C7FF, 4 release end @@ -34,8 +34,8 @@ FallarborTown_EventScript_14E81D:: @ 814E81D FallarborTown_EventScript_14E826:: @ 814E826 lock faceplayer - checksound - pokecry SPECIES_AZURILL, 0 + waitse + playpokecry SPECIES_AZURILL, 0 msgbox FallarborTown_Text_16C92C, 4 waitpokecry release diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc index ed67d922d..c4c590b53 100644 --- a/data/scripts/maps/FallarborTown_ContestLobby.inc +++ b/data/scripts/maps/FallarborTown_ContestLobby.inc @@ -20,28 +20,28 @@ FallarborTown_ContestLobby_EventScript_1539CD:: @ 81539CD FallarborTown_ContestLobby_EventScript_1539F8:: @ 81539F8 lockall - move 1, FallarborTown_ContestLobby_Movement_153A7C - waitmove 0 - playsfx 71 + applymovement 1, FallarborTown_ContestLobby_Movement_153A7C + waitmovement 0 + playse 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 special DrawWholeMapView - move 1, FallarborTown_ContestLobby_Movement_153A7F - waitmove 0 - playsfx 71 + applymovement 1, FallarborTown_ContestLobby_Movement_153A7F + waitmovement 0 + playse 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 special DrawWholeMapView - pause 20 - move 1, FallarborTown_ContestLobby_Movement_153A8C - waitmove 0 - move 255, FallarborTown_ContestLobby_Movement_153A7A - waitmove 0 + delay 20 + applymovement 1, FallarborTown_ContestLobby_Movement_153A8C + waitmovement 0 + applymovement 255, FallarborTown_ContestLobby_Movement_153A7A + waitmovement 0 msgbox FallarborTown_ContestLobby_Text_1A6832, 4 - closebutton - move 1, FallarborTown_ContestLobby_Movement_153A83 - move 255, FallarborTown_ContestLobby_Movement_153A70 - waitmove 0 + closemessage + applymovement 1, FallarborTown_ContestLobby_Movement_153A83 + applymovement 255, FallarborTown_ContestLobby_Movement_153A70 + waitmovement 0 releaseall return @@ -93,7 +93,7 @@ FallarborTown_ContestLobby_EventScript_153A8E:: @ 8153A8E FallarborTown_ContestLobby_EventScript_153A97:: @ 8153A97 checkflag 270 - jumpeq FallarborTown_ContestLobby_EventScript_153AA9 + goto_if_eq FallarborTown_ContestLobby_EventScript_153AA9 msgbox FallarborTown_ContestLobby_Text_177246, 2 end @@ -108,7 +108,7 @@ FallarborTown_ContestLobby_EventScript_153AB2:: @ 8153AB2 FallarborTown_ContestLobby_EventScript_153ABB:: @ 8153ABB lockall fadescreen 1 - showcontestwinner 2 + drawcontestwinner 2 releaseall end @@ -116,6 +116,6 @@ FallarborTown_ContestLobby_EventScript_153AC2:: @ 8153AC2 lockall special ShowBerryBlenderRecordWindow waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc index 8a44cdcfb..0228fe25d 100644 --- a/data/scripts/maps/FallarborTown_House1.inc +++ b/data/scripts/maps/FallarborTown_House1.inc @@ -9,25 +9,25 @@ FallarborTown_House1_EventScript_153BB5:: @ 8153BB5 lock faceplayer checkflag 229 - jumpeq FallarborTown_House1_EventScript_153C54 + goto_if_eq FallarborTown_House1_EventScript_153C54 checkitem ITEM_METEORITE, 1 compare RESULT, 1 - jumpeq FallarborTown_House1_EventScript_153BDA + goto_if_eq FallarborTown_House1_EventScript_153BDA msgbox FallarborTown_House1_Text_177755, 4 release end FallarborTown_House1_EventScript_153BDA:: @ 8153BDA checkflag 2 - callif 0, FallarborTown_House1_EventScript_153C2D + call_if 0, FallarborTown_House1_EventScript_153C2D checkflag 2 - callif 1, FallarborTown_House1_EventScript_153C3E + call_if 1, FallarborTown_House1_EventScript_153C3E compare RESULT, 0 - jumpeq FallarborTown_House1_EventScript_153C47 + goto_if_eq FallarborTown_House1_EventScript_153C47 msgbox FallarborTown_House1_Text_1778C4, 4 giveitem ITEM_TM27 compare RESULT, 0 - jumpeq FallarborTown_House1_EventScript_1A029B + goto_if_eq FallarborTown_House1_EventScript_1A029B setvar 0x8004, 280 call FallarborTown_House1_EventScript_1A067F setflag 229 @@ -59,9 +59,9 @@ FallarborTown_House1_EventScript_153C5E:: @ 8153C5E lock faceplayer checkflag 229 - jumpeq FallarborTown_House1_EventScript_153C86 + goto_if_eq FallarborTown_House1_EventScript_153C86 checkflag 139 - jumpeq FallarborTown_House1_EventScript_153C7C + goto_if_eq FallarborTown_House1_EventScript_153C7C msgbox FallarborTown_House1_Text_177A2B, 4 release end diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc index 1351b96d3..3b215a697 100644 --- a/data/scripts/maps/FallarborTown_House2.inc +++ b/data/scripts/maps/FallarborTown_House2.inc @@ -3,23 +3,23 @@ FallarborTown_House2_MapScripts:: @ 8153C90 FallarborTown_House2_EventScript_153C91:: @ 8153C91 lockall - move 1, FallarborTown_House2_Movement_1A0839 - waitmove 0 + applymovement 1, FallarborTown_House2_Movement_1A0839 + waitmovement 0 checkflag 1 - jumpeq FallarborTown_House2_EventScript_153CB6 + goto_if_eq FallarborTown_House2_EventScript_153CB6 msgbox FallarborTown_House2_Text_177AF4, 4 setflag 1 - jump FallarborTown_House2_EventScript_153CB6 + goto FallarborTown_House2_EventScript_153CB6 end FallarborTown_House2_EventScript_153CB6:: @ 8153CB6 checkitem ITEM_HEART_SCALE, 1 compare RESULT, 0 - jumpeq FallarborTown_House2_EventScript_153D60 + goto_if_eq FallarborTown_House2_EventScript_153D60 msgbox FallarborTown_House2_Text_177BDB, 5 switch RESULT case 0, FallarborTown_House2_EventScript_153D60 - jump FallarborTown_House2_EventScript_153CE4 + goto FallarborTown_House2_EventScript_153CE4 end FallarborTown_House2_EventScript_153CE4:: @ 8153CE4 @@ -27,13 +27,13 @@ FallarborTown_House2_EventScript_153CE4:: @ 8153CE4 special sub_80F9A4C waitstate compare 0x8004, 255 - jumpeq FallarborTown_House2_EventScript_153D60 + goto_if_eq FallarborTown_House2_EventScript_153D60 special sub_80FA148 compare RESULT, 1 - jumpeq FallarborTown_House2_EventScript_153D52 + goto_if_eq FallarborTown_House2_EventScript_153D52 compare 0x8005, 0 - jumpeq FallarborTown_House2_EventScript_153D44 - jump FallarborTown_House2_EventScript_153D1A + goto_if_eq FallarborTown_House2_EventScript_153D44 + goto FallarborTown_House2_EventScript_153D1A end FallarborTown_House2_EventScript_153D1A:: @ 8153D1A @@ -41,20 +41,20 @@ FallarborTown_House2_EventScript_153D1A:: @ 8153D1A special sub_8132670 waitstate compare 0x8004, 0 - jumpeq FallarborTown_House2_EventScript_153CE4 + goto_if_eq FallarborTown_House2_EventScript_153CE4 msgbox FallarborTown_House2_Text_177CC3, 4 removeitem ITEM_HEART_SCALE, 1 - jump FallarborTown_House2_EventScript_153D60 + goto FallarborTown_House2_EventScript_153D60 end FallarborTown_House2_EventScript_153D44:: @ 8153D44 msgbox FallarborTown_House2_Text_177C78, 4 - jump FallarborTown_House2_EventScript_153CE4 + goto FallarborTown_House2_EventScript_153CE4 end FallarborTown_House2_EventScript_153D52:: @ 8153D52 msgbox FallarborTown_House2_Text_177D33, 4 - jump FallarborTown_House2_EventScript_153CE4 + goto FallarborTown_House2_EventScript_153CE4 end FallarborTown_House2_EventScript_153D60:: @ 8153D60 diff --git a/data/scripts/maps/FallarborTown_Mart.inc b/data/scripts/maps/FallarborTown_Mart.inc index 4b66546e8..e6f715697 100644 --- a/data/scripts/maps/FallarborTown_Mart.inc +++ b/data/scripts/maps/FallarborTown_Mart.inc @@ -5,7 +5,7 @@ FallarborTown_Mart_EventScript_153967:: @ 8153967 lock faceplayer message FallarborTown_Mart_Text_1A0BE4 - waittext + waitmessage pokemart FallarborTown_Mart_Items msgbox FallarborTown_Mart_Text_1A0C02, 4 release @@ -40,8 +40,8 @@ FallarborTown_Mart_EventScript_1539A5:: @ 81539A5 FallarborTown_Mart_EventScript_1539AE:: @ 81539AE lock faceplayer - checksound - pokecry SPECIES_SKITTY, 0 + waitse + playpokecry SPECIES_SKITTY, 0 msgbox FallarborTown_Mart_Text_1770D3, 4 waitpokecry release diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc index 636cac8f1..5b1f1c948 100644 --- a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ FallarborTown_PokemonCenter_1F_MapScript1_153AF9:: @ 8153AF9 FallarborTown_PokemonCenter_1F_EventScript_153B02:: @ 8153B02 setvar 0x800b, 1 call FallarborTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end @@ -27,27 +27,27 @@ FallarborTown_PokemonCenter_1F_EventScript_153B22:: @ 8153B22 lock faceplayer msgbox FallarborTown_PokemonCenter_1F_Text_1774D4, 4 - closebutton + closemessage switch FACING case 2, FallarborTown_PokemonCenter_1F_EventScript_153B49 case 3, FallarborTown_PokemonCenter_1F_EventScript_153B59 end FallarborTown_PokemonCenter_1F_EventScript_153B49:: @ 8153B49 - move 4, FallarborTown_PokemonCenter_1F_Movement_153B74 - waitmove 0 - jump FallarborTown_PokemonCenter_1F_EventScript_153B69 + applymovement 4, FallarborTown_PokemonCenter_1F_Movement_153B74 + waitmovement 0 + goto FallarborTown_PokemonCenter_1F_EventScript_153B69 end FallarborTown_PokemonCenter_1F_EventScript_153B59:: @ 8153B59 - move 4, FallarborTown_PokemonCenter_1F_Movement_153B81 - waitmove 0 - jump FallarborTown_PokemonCenter_1F_EventScript_153B69 + applymovement 4, FallarborTown_PokemonCenter_1F_Movement_153B81 + waitmovement 0 + goto FallarborTown_PokemonCenter_1F_EventScript_153B69 end FallarborTown_PokemonCenter_1F_EventScript_153B69:: @ 8153B69 - playsfx 18 - disappear 4 + playse 18 + removeobject 4 clearflag 870 release end diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc index 7f9d5ae12..6ea89dcb7 100644 --- a/data/scripts/maps/FortreeCity.inc +++ b/data/scripts/maps/FortreeCity.inc @@ -19,7 +19,7 @@ FortreeCity_EventScript_14C95E:: @ 814C95E lock faceplayer checkflag 295 - jumpeq FortreeCity_EventScript_14C973 + goto_if_eq FortreeCity_EventScript_14C973 msgbox FortreeCity_Text_1675C2, 4 release end @@ -58,7 +58,7 @@ FortreeCity_EventScript_14C9B3:: @ 814C9B3 faceplayer checkitem ITEM_DEVON_SCOPE, 1 compare RESULT, 1 - jumpeq FortreeCity_EventScript_14C9CF + goto_if_eq FortreeCity_EventScript_14C9CF msgbox FortreeCity_Text_167868, 4 release end @@ -66,22 +66,22 @@ FortreeCity_EventScript_14C9B3:: @ 814C9B3 FortreeCity_EventScript_14C9CF:: @ 814C9CF msgbox FortreeCity_Text_16788B, 5 compare RESULT, 1 - jumpeq FortreeCity_EventScript_14C9E4 + goto_if_eq FortreeCity_EventScript_14C9E4 release end FortreeCity_EventScript_14C9E4:: @ 814C9E4 msgbox FortreeCity_Text_1678CB, 4 - closebutton - move LAST_TALKED, FortreeCity_Movement_1A0662 - waitmove 0 - checksound - pokecry SPECIES_KECLEON, 2 - pause 40 + closemessage + applymovement LAST_TALKED, FortreeCity_Movement_1A0662 + waitmovement 0 + waitse + playpokecry SPECIES_KECLEON, 2 + delay 40 waitpokecry - move LAST_TALKED, FortreeCity_Movement_14CA13 - waitmove 0 - disappear LAST_TALKED + applymovement LAST_TALKED, FortreeCity_Movement_14CA13 + waitmovement 0 + removeobject LAST_TALKED setflag 295 release end diff --git a/data/scripts/maps/FortreeCity_DecorationShop.inc b/data/scripts/maps/FortreeCity_DecorationShop.inc index c9d9fdd4e..fca20b866 100644 --- a/data/scripts/maps/FortreeCity_DecorationShop.inc +++ b/data/scripts/maps/FortreeCity_DecorationShop.inc @@ -13,7 +13,7 @@ FortreeCity_DecorationShop_EventScript_15826A:: @ 815826A lock faceplayer message FortreeCity_DecorationShop_Text_1A0BE4 - waittext + waitmessage pokemartdecor FortreeCity_DecorationShop_Decorations1 msgbox FortreeCity_DecorationShop_Text_1A0C02, 4 release @@ -37,7 +37,7 @@ FortreeCity_DecorationShop_EventScript_158298:: @ 8158298 lock faceplayer message FortreeCity_DecorationShop_Text_1A0BE4 - waittext + waitmessage pokemartdecor FortreeCity_DecorationShop_Decorations2 msgbox FortreeCity_DecorationShop_Text_1A0C02, 4 release diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc index 44f5890a2..7309be0bb 100644 --- a/data/scripts/maps/FortreeCity_Gym.inc +++ b/data/scripts/maps/FortreeCity_Gym.inc @@ -18,27 +18,27 @@ FortreeCity_Gym_EventScript_157EEC:: @ 8157EEC FortreeCity_Gym_EventScript_157EF0:: @ 8157EF0 trainerbattle 1, OPPONENT_WINONA, 0, FortreeCity_Gym_Text_185CCB, FortreeCity_Gym_Text_185DBA, FortreeCity_Gym_EventScript_157F15 checkflag 170 - jumpif 0, FortreeCity_Gym_EventScript_157F3E + goto_if 0, FortreeCity_Gym_EventScript_157F3E msgbox FortreeCity_Gym_Text_185F98, 4 release end FortreeCity_Gym_EventScript_157F15:: @ 8157F15 message FortreeCity_Gym_Text_185E48 - waittext + waitmessage call FortreeCity_Gym_EventScript_1A02C5 msgbox FortreeCity_Gym_Text_185E73, 4 setflag 1225 setflag 2060 setvar 0x8008, 6 call FortreeCity_Gym_EventScript_1A01C0 - jump FortreeCity_Gym_EventScript_157F3E + goto FortreeCity_Gym_EventScript_157F3E end FortreeCity_Gym_EventScript_157F3E:: @ 8157F3E giveitem ITEM_TM40 compare RESULT, 0 - jumpeq FortreeCity_Gym_EventScript_1A029B + goto_if_eq FortreeCity_Gym_EventScript_1A029B msgbox FortreeCity_Gym_Text_185F4A, 4 setflag 170 release @@ -68,7 +68,7 @@ FortreeCity_Gym_EventScript_157FBE:: @ 8157FBE lock faceplayer checkflag 1225 - jumpeq FortreeCity_Gym_EventScript_157FD3 + goto_if_eq FortreeCity_Gym_EventScript_157FD3 msgbox FortreeCity_Gym_Text_18589C, 4 release end @@ -81,15 +81,15 @@ FortreeCity_Gym_EventScript_157FD3:: @ 8157FD3 FortreeCity_Gym_EventScript_157FDD:: @ 8157FDD lockall checkflag 2060 - jumpeq FortreeCity_Gym_EventScript_157FFD - jump FortreeCity_Gym_EventScript_158007 + goto_if_eq FortreeCity_Gym_EventScript_157FFD + goto FortreeCity_Gym_EventScript_158007 end FortreeCity_Gym_EventScript_157FED:: @ 8157FED lockall checkflag 2060 - jumpeq FortreeCity_Gym_EventScript_157FFD - jump FortreeCity_Gym_EventScript_158007 + goto_if_eq FortreeCity_Gym_EventScript_157FFD + goto FortreeCity_Gym_EventScript_158007 end FortreeCity_Gym_EventScript_157FFD:: @ 8157FFD diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc index f5bda05ab..7b7ef0b2e 100644 --- a/data/scripts/maps/FortreeCity_House1.inc +++ b/data/scripts/maps/FortreeCity_House1.inc @@ -5,30 +5,30 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13 lock faceplayer checkflag 155 - jumpeq FortreeCity_House1_EventScript_157EAD + goto_if_eq FortreeCity_House1_EventScript_157EAD setvar 0x8008, 1 copyvar 0x8004, 0x8008 - specialval RESULT, sub_804D89C + specialvar RESULT, sub_804D89C copyvar 0x8009, RESULT msgbox FortreeCity_House1_Text_18568C, 5 compare RESULT, 0 - jumpeq FortreeCity_House1_EventScript_157E95 + goto_if_eq FortreeCity_House1_EventScript_157E95 special sub_80F9A0C waitstate copyvar 0x800a, 0x8004 compare 0x8004, 255 - jumpeq FortreeCity_House1_EventScript_157E95 + goto_if_eq FortreeCity_House1_EventScript_157E95 copyvar 0x8005, 0x800a - specialval RESULT, sub_804DB2C + specialvar RESULT, sub_804DB2C copyvar 0x800b, RESULT - comparevars RESULT, 0x8009 - jumpif 5, FortreeCity_House1_EventScript_157E9F + compare RESULT, 0x8009 + goto_if 5, FortreeCity_House1_EventScript_157E9F copyvar 0x8004, 0x8008 copyvar 0x8005, 0x800a special sub_804DB68 special sub_804E174 waitstate - bufferpoke 0, 0x8009 + getspeciesname 0, 0x8009 msgbox FortreeCity_House1_Text_1856F7, 4 setflag 155 release @@ -40,7 +40,7 @@ FortreeCity_House1_EventScript_157E95:: @ 8157E95 end FortreeCity_House1_EventScript_157E9F:: @ 8157E9F - bufferpoke 0, 0x8009 + getspeciesname 0, 0x8009 msgbox FortreeCity_House1_Text_185737, 4 release end @@ -57,8 +57,8 @@ FortreeCity_House1_EventScript_157EB7:: @ 8157EB7 FortreeCity_House1_EventScript_157EC0:: @ 8157EC0 lock faceplayer - checksound - pokecry SPECIES_ZIGZAGOON, 0 + waitse + playpokecry SPECIES_ZIGZAGOON, 0 msgbox FortreeCity_House1_Text_185888, 4 waitpokecry release diff --git a/data/scripts/maps/FortreeCity_House2.inc b/data/scripts/maps/FortreeCity_House2.inc index ea4aad3d8..f210dd3ac 100644 --- a/data/scripts/maps/FortreeCity_House2.inc +++ b/data/scripts/maps/FortreeCity_House2.inc @@ -5,9 +5,9 @@ FortreeCity_House2_EventScript_1580B4:: @ 81580B4 lock faceplayer checkflag 264 - jumpeq FortreeCity_House2_EventScript_158157 + goto_if_eq FortreeCity_House2_EventScript_158157 checkflag 118 - callif 0, FortreeCity_House2_EventScript_15814B + call_if 0, FortreeCity_House2_EventScript_15814B msgbox FortreeCity_House2_Text_186360, 4 multichoice 21, 8, 54, 1 switch RESULT @@ -23,7 +23,7 @@ FortreeCity_House2_EventScript_1580B4:: @ 81580B4 msgbox FortreeCity_House2_Text_1864C6, 4 giveitem ITEM_TM10 compare RESULT, 0 - jumpeq FortreeCity_House2_EventScript_1A029B + goto_if_eq FortreeCity_House2_EventScript_1A029B setflag 264 msgbox FortreeCity_House2_Text_18652F, 4 release diff --git a/data/scripts/maps/FortreeCity_House4.inc b/data/scripts/maps/FortreeCity_House4.inc index 33d0ed1ae..b261e14fb 100644 --- a/data/scripts/maps/FortreeCity_House4.inc +++ b/data/scripts/maps/FortreeCity_House4.inc @@ -8,42 +8,42 @@ FortreeCity_House4_EventScript_15817F:: @ 815817F FortreeCity_House4_EventScript_158188:: @ 8158188 lockall checkflag 223 - jumpeq FortreeCity_House4_EventScript_158204 + goto_if_eq FortreeCity_House4_EventScript_158204 checkflag 224 - jumpeq FortreeCity_House4_EventScript_1581D6 + goto_if_eq FortreeCity_House4_EventScript_1581D6 checkflag 222 - jumpeq FortreeCity_House4_EventScript_1581C2 + goto_if_eq FortreeCity_House4_EventScript_1581C2 msgbox FortreeCity_House4_Text_186835, 4 - closebutton + closemessage setflag 222 clearflag 934 - move 3, FortreeCity_House4_Movement_158218 - waitmove 0 - disappear 3 + applymovement 3, FortreeCity_House4_Movement_158218 + waitmovement 0 + removeobject 3 releaseall end FortreeCity_House4_EventScript_1581C2:: @ 81581C2 - move LAST_TALKED, FortreeCity_House4_Movement_1A0839 - waitmove 0 + applymovement LAST_TALKED, FortreeCity_House4_Movement_1A0839 + waitmovement 0 msgbox FortreeCity_House4_Text_18684E, 4 releaseall end FortreeCity_House4_EventScript_1581D6:: @ 81581D6 - move LAST_TALKED, FortreeCity_House4_Movement_1A0839 - waitmove 0 + applymovement LAST_TALKED, FortreeCity_House4_Movement_1A0839 + waitmovement 0 msgbox FortreeCity_House4_Text_186881, 4 giveitem ITEM_MENTAL_HERB compare RESULT, 0 - jumpeq FortreeCity_House4_EventScript_1A029B + goto_if_eq FortreeCity_House4_EventScript_1A029B setflag 223 releaseall end FortreeCity_House4_EventScript_158204:: @ 8158204 - move LAST_TALKED, FortreeCity_House4_Movement_1A0839 - waitmove 0 + applymovement LAST_TALKED, FortreeCity_House4_Movement_1A0839 + waitmovement 0 msgbox FortreeCity_House4_Text_186924, 4 releaseall end @@ -59,8 +59,8 @@ FortreeCity_House4_Movement_158218:: @ 8158218 FortreeCity_House4_EventScript_15821E:: @ 815821E lock faceplayer - checksound - pokecry SPECIES_WINGULL, 0 + waitse + playpokecry SPECIES_WINGULL, 0 msgbox FortreeCity_House4_Text_18695C, 4 waitpokecry release diff --git a/data/scripts/maps/FortreeCity_House5.inc b/data/scripts/maps/FortreeCity_House5.inc index 1144a8e81..fe10b53b0 100644 --- a/data/scripts/maps/FortreeCity_House5.inc +++ b/data/scripts/maps/FortreeCity_House5.inc @@ -12,8 +12,8 @@ FortreeCity_House5_EventScript_15823B:: @ 815823B FortreeCity_House5_EventScript_158244:: @ 8158244 lock faceplayer - checksound - pokecry SPECIES_ZIGZAGOON, 0 + waitse + playpokecry SPECIES_ZIGZAGOON, 0 msgbox FortreeCity_House5_Text_186A4F, 4 waitpokecry release diff --git a/data/scripts/maps/FortreeCity_Mart.inc b/data/scripts/maps/FortreeCity_Mart.inc index 9e5f34ff9..076f702af 100644 --- a/data/scripts/maps/FortreeCity_Mart.inc +++ b/data/scripts/maps/FortreeCity_Mart.inc @@ -5,7 +5,7 @@ FortreeCity_Mart_EventScript_158067:: @ 8158067 lock faceplayer message FortreeCity_Mart_Text_1A0BE4 - waittext + waitmessage pokemart FortreeCity_Mart_Items msgbox FortreeCity_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc index 148324abf..5268cbeed 100644 --- a/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc @@ -9,7 +9,7 @@ FortreeCity_PokemonCenter_1F_MapScript1_158017:: @ 8158017 FortreeCity_PokemonCenter_1F_EventScript_15801B:: @ 815801B setvar 0x800b, 1 call FortreeCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/GraniteCave_1F.inc b/data/scripts/maps/GraniteCave_1F.inc index 59aaa2fc3..f389a774e 100644 --- a/data/scripts/maps/GraniteCave_1F.inc +++ b/data/scripts/maps/GraniteCave_1F.inc @@ -5,7 +5,7 @@ GraniteCave_1F_EventScript_15CBA7:: @ 815CBA7 lock faceplayer checkflag 109 - jumpeq GraniteCave_1F_EventScript_15CBD3 + goto_if_eq GraniteCave_1F_EventScript_15CBD3 msgbox GraniteCave_1F_Text_194917, 4 giveitem ITEM_HM05 setflag 109 diff --git a/data/scripts/maps/GraniteCave_B1F.inc b/data/scripts/maps/GraniteCave_B1F.inc index 240de1d98..aa8d705c7 100644 --- a/data/scripts/maps/GraniteCave_B1F.inc +++ b/data/scripts/maps/GraniteCave_B1F.inc @@ -6,5 +6,5 @@ GraniteCave_B1F_MapScripts:: @ 815CBDD GraniteCave_B1F_MapScript1_15CBED:: @ 815CBED tileeffect 7 - warp5 GraniteCave_B2F, 255, 0, 0 + setholewarp GraniteCave_B2F, 255, 0, 0 end diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc index 895241406..070276e58 100644 --- a/data/scripts/maps/GraniteCave_StevensRoom.inc +++ b/data/scripts/maps/GraniteCave_StevensRoom.inc @@ -11,30 +11,30 @@ GraniteCave_StevensRoom_EventScript_15CBFA:: @ 815CBFA msgbox GraniteCave_StevensRoom_Text_194BDD, 4 giveitem ITEM_TM47 compare RESULT, 0 - callif 1, GraniteCave_StevensRoom_EventScript_15CC83 + call_if 1, GraniteCave_StevensRoom_EventScript_15CC83 msgbox GraniteCave_StevensRoom_Text_194C8D, 4 - closebutton + closemessage compare FACING, 2 - callif 1, GraniteCave_StevensRoom_EventScript_15CC6D + call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D compare FACING, 1 - callif 1, GraniteCave_StevensRoom_EventScript_15CC78 + call_if 1, GraniteCave_StevensRoom_EventScript_15CC78 compare FACING, 3 - callif 1, GraniteCave_StevensRoom_EventScript_15CC6D + call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D compare FACING, 4 - callif 1, GraniteCave_StevensRoom_EventScript_15CC6D - playsfx 9 - disappear 1 + call_if 1, GraniteCave_StevensRoom_EventScript_15CC6D + playse 9 + removeobject 1 release end GraniteCave_StevensRoom_EventScript_15CC6D:: @ 815CC6D - move 1, GraniteCave_StevensRoom_Movement_15CC8C - waitmove 0 + applymovement 1, GraniteCave_StevensRoom_Movement_15CC8C + waitmovement 0 return GraniteCave_StevensRoom_EventScript_15CC78:: @ 815CC78 - move 1, GraniteCave_StevensRoom_Movement_15CC93 - waitmove 0 + applymovement 1, GraniteCave_StevensRoom_Movement_15CC93 + waitmovement 0 return GraniteCave_StevensRoom_EventScript_15CC83:: @ 815CC83 diff --git a/data/scripts/maps/InsideOfTruck.inc b/data/scripts/maps/InsideOfTruck.inc index 0c26f0f88..fc2930aa5 100644 --- a/data/scripts/maps/InsideOfTruck.inc +++ b/data/scripts/maps/InsideOfTruck.inc @@ -16,11 +16,11 @@ InsideOfTruck_MapScript1_15FC26:: @ 815FC26 InsideOfTruck_EventScript_15FC29:: @ 815FC29 lockall setflag 0x4000 - checkgender + checkplayergender compare RESULT, 0 - jumpeq InsideOfTruck_EventScript_15FC45 + goto_if_eq InsideOfTruck_EventScript_15FC45 compare RESULT, 1 - jumpeq InsideOfTruck_EventScript_15FC68 + goto_if_eq InsideOfTruck_EventScript_15FC68 end InsideOfTruck_EventScript_15FC45:: @ 815FC45 @@ -31,7 +31,7 @@ InsideOfTruck_EventScript_15FC45:: @ 815FC45 setflag 784 setflag 760 setvar 0x408c, 1 - warpplace LittlerootTown, 255, 3, 10 + setdynamicwarp LittlerootTown, 255, 3, 10 releaseall end @@ -43,7 +43,7 @@ InsideOfTruck_EventScript_15FC68:: @ 815FC68 setflag 785 setflag 722 setvar 0x4082, 1 - warpplace LittlerootTown, 255, 12, 10 + setdynamicwarp LittlerootTown, 255, 12, 10 releaseall end diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc index 2f8ba2121..75399bde8 100644 --- a/data/scripts/maps/IslandCave.inc +++ b/data/scripts/maps/IslandCave.inc @@ -6,16 +6,16 @@ IslandCave_MapScripts:: @ 815EEB6 IslandCave_MapScript1_15EEC6:: @ 815EEC6 checkflag 2145 - callif 1, IslandCave_EventScript_15EED0 + call_if 1, IslandCave_EventScript_15EED0 end IslandCave_EventScript_15EED0:: @ 815EED0 - disappear LAST_TALKED + removeobject LAST_TALKED return IslandCave_MapScript1_15EED4:: @ 815EED4 checkflag 2129 - callif 0, IslandCave_EventScript_15EEDE + call_if 0, IslandCave_EventScript_15EEDE end IslandCave_EventScript_15EEDE:: @ 815EEDE @@ -39,18 +39,18 @@ S_OpenRegiceChamber:: @ 815EF19 setmaptile 8, 20, 563, 0 setmaptile 9, 20, 564, 1 special DrawWholeMapView - playsfx SE_BAN + playse SE_BAN setflag 2129 end IslandCave_EventScript_15EF59:: @ 815EF59 lockall checkflag 2129 - jumpeq IslandCave_EventScript_15EF72 - braillemsg IslandCave_Braille_1C54FC + goto_if_eq IslandCave_EventScript_15EF72 + braillemessage IslandCave_Braille_1C54FC special DoBrailleWait waitstate - jump IslandCave_EventScript_15EF95 + goto IslandCave_EventScript_15EF95 end IslandCave_EventScript_15EF72:: @ 815EF72 @@ -60,26 +60,26 @@ IslandCave_EventScript_15EF72:: @ 815EF72 IslandCave_EventScript_15EF7C:: @ 815EF7C lockall - braillemsg IslandCave_Braille_1C54FC + braillemessage IslandCave_Braille_1C54FC checkflag 2129 - jumpeq IslandCave_EventScript_15EF95 + goto_if_eq IslandCave_EventScript_15EF95 special DoBrailleWait waitstate - jump IslandCave_EventScript_15EF95 + goto IslandCave_EventScript_15EF95 end IslandCave_EventScript_15EF95:: @ 815EF95 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end IslandCave_EventScript_15EF9D:: @ 815EF9D lock faceplayer - checksound - pokecry SPECIES_REGICE, 2 - pause 40 + waitse + playpokecry SPECIES_REGICE, 2 + delay 40 waitpokecry setwildbattle SPECIES_REGICE, 40, ITEM_NONE setflag 936 diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc index 151f1ec79..6f910d0ad 100644 --- a/data/scripts/maps/JaggedPass.inc +++ b/data/scripts/maps/JaggedPass.inc @@ -9,7 +9,7 @@ JaggedPass_MapScript1_15D271:: @ 815D271 JaggedPass_MapScript1_15D274:: @ 815D274 compare 0x40bd, 1 - callif 1, JaggedPass_EventScript_15D280 + call_if 1, JaggedPass_EventScript_15D280 end JaggedPass_EventScript_15D280:: @ 815D280 @@ -24,9 +24,9 @@ JaggedPass_EventScript_15D285:: @ 815D285 JaggedPass_EventScript_15D29C:: @ 815D29C trainerbattle 0, OPPONENT_DIANA_1, 0, JaggedPass_Text_195E9E, JaggedPass_Text_195EDF - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq JaggedPass_EventScript_15D2C3 + goto_if_eq JaggedPass_EventScript_15D2C3 msgbox JaggedPass_Text_195F04, 6 end @@ -37,9 +37,9 @@ JaggedPass_EventScript_15D2C3:: @ 815D2C3 JaggedPass_EventScript_15D2DA:: @ 815D2DA trainerbattle 0, OPPONENT_ETHAN_1, 0, JaggedPass_Text_195FF2, JaggedPass_Text_196032 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq JaggedPass_EventScript_15D301 + goto_if_eq JaggedPass_EventScript_15D301 msgbox JaggedPass_Text_196077, 6 end diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc index 685e44d58..5192176a7 100644 --- a/data/scripts/maps/LavaridgeTown.inc +++ b/data/scripts/maps/LavaridgeTown.inc @@ -6,16 +6,16 @@ LavaridgeTown_MapScripts:: @ 814E4A3 LavaridgeTown_MapScript1_14E4AE:: @ 814E4AE setflag 2066 checkflag 139 - callif 1, LavaridgeTown_EventScript_14E4DF + call_if 1, LavaridgeTown_EventScript_14E4DF call LavaridgeTown_EventScript_1A014E call LavaridgeTown_EventScript_1A0172 compare 0x4053, 2 - callif 1, LavaridgeTown_EventScript_14E4D0 + call_if 1, LavaridgeTown_EventScript_14E4D0 end LavaridgeTown_EventScript_14E4D0:: @ 814E4D0 - movespriteperm 8, 11, 9 - movespriteperm 7, 11, 9 + setobjectxyperm 8, 11, 9 + setobjectxyperm 7, 11, 9 return LavaridgeTown_EventScript_14E4DF:: @ 814E4DF @@ -29,56 +29,56 @@ LavaridgeTown_MapScript2_14E4E3:: @ 814E4E3 LavaridgeTown_EventScript_14E4ED:: @ 814E4ED lockall setvar 0x8008, 1 - setdooropened 12, 15 - doorchange - reappear 8 - move 8, LavaridgeTown_Movement_14E70E - waitmove 0 - setdoorclosed 12, 15 - doorchange - move 8, LavaridgeTown_Movement_1A083F - waitmove 0 - move 255, LavaridgeTown_Movement_1A0843 - move 8, LavaridgeTown_Movement_1A0833 - waitmove 0 - move 8, LavaridgeTown_Movement_1A0835 - waitmove 0 - checkgender + opendoor 12, 15 + waitdooranim + addobject 8 + applymovement 8, LavaridgeTown_Movement_14E70E + waitmovement 0 + closedoor 12, 15 + waitdooranim + applymovement 8, LavaridgeTown_Movement_1A083F + waitmovement 0 + applymovement 255, LavaridgeTown_Movement_1A0843 + applymovement 8, LavaridgeTown_Movement_1A0833 + waitmovement 0 + applymovement 8, LavaridgeTown_Movement_1A0835 + waitmovement 0 + checkplayergender compare RESULT, 0 - callif 1, LavaridgeTown_EventScript_14E56B + call_if 1, LavaridgeTown_EventScript_14E56B compare RESULT, 1 - callif 1, LavaridgeTown_EventScript_14E570 + call_if 1, LavaridgeTown_EventScript_14E570 compare 0x8008, 1 - callif 1, LavaridgeTown_EventScript_14E68F - checkgender + call_if 1, LavaridgeTown_EventScript_14E68F + checkplayergender compare RESULT, 0 - jumpeq LavaridgeTown_EventScript_14E5AB + goto_if_eq LavaridgeTown_EventScript_14E5AB compare RESULT, 1 - jumpeq LavaridgeTown_EventScript_14E5D0 + goto_if_eq LavaridgeTown_EventScript_14E5D0 end LavaridgeTown_EventScript_14E56B:: @ 814E56B - playmusic 415, 1 + playbgm 415, 1 return LavaridgeTown_EventScript_14E570:: @ 814E570 - playmusic 421, 1 + playbgm 421, 1 return LavaridgeTown_EventScript_14E575:: @ 814E575 lock faceplayer setvar 0x8008, 0 - checkgender + checkplayergender compare RESULT, 0 - callif 1, LavaridgeTown_EventScript_14E56B + call_if 1, LavaridgeTown_EventScript_14E56B compare RESULT, 1 - callif 1, LavaridgeTown_EventScript_14E570 - checkgender + call_if 1, LavaridgeTown_EventScript_14E570 + checkplayergender compare RESULT, 0 - jumpeq LavaridgeTown_EventScript_14E5AB + goto_if_eq LavaridgeTown_EventScript_14E5AB compare RESULT, 1 - jumpeq LavaridgeTown_EventScript_14E5D0 + goto_if_eq LavaridgeTown_EventScript_14E5D0 end LavaridgeTown_EventScript_14E5AB:: @ 814E5AB @@ -86,7 +86,7 @@ LavaridgeTown_EventScript_14E5AB:: @ 814E5AB giveitem ITEM_GO_GOGGLES setflag 221 msgbox LavaridgeTown_Text_16BE7D, 4 - jump LavaridgeTown_EventScript_14E5F5 + goto LavaridgeTown_EventScript_14E5F5 end LavaridgeTown_EventScript_14E5D0:: @ 814E5D0 @@ -94,28 +94,28 @@ LavaridgeTown_EventScript_14E5D0:: @ 814E5D0 giveitem ITEM_GO_GOGGLES setflag 221 msgbox LavaridgeTown_Text_16C020, 4 - jump LavaridgeTown_EventScript_14E5F5 + goto LavaridgeTown_EventScript_14E5F5 end LavaridgeTown_EventScript_14E5F5:: @ 814E5F5 - closebutton + closemessage compare 0x8008, 1 - callif 1, LavaridgeTown_EventScript_14E646 + call_if 1, LavaridgeTown_EventScript_14E646 compare 0x8008, 0 - callif 1, LavaridgeTown_EventScript_14E64E - disappear 8 - reappear 7 - pause 30 + call_if 1, LavaridgeTown_EventScript_14E64E + removeobject 8 + addobject 7 + delay 30 compare 0x8008, 1 - callif 1, LavaridgeTown_EventScript_14E69A + call_if 1, LavaridgeTown_EventScript_14E69A compare 0x8008, 0 - callif 1, LavaridgeTown_EventScript_14E6A5 - disappear 7 + call_if 1, LavaridgeTown_EventScript_14E6A5 + removeobject 7 setvar 0x4053, 2 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm compare 0x8008, 0 - jumpeq LavaridgeTown_EventScript_14E644 + goto_if_eq LavaridgeTown_EventScript_14E644 releaseall end @@ -124,65 +124,65 @@ LavaridgeTown_EventScript_14E644:: @ 814E644 end LavaridgeTown_EventScript_14E646:: @ 814E646 - movespriteperm 7, 6, 16 + setobjectxyperm 7, 6, 16 return LavaridgeTown_EventScript_14E64E:: @ 814E64E compare FACING, 2 - callif 1, LavaridgeTown_EventScript_14E67B + call_if 1, LavaridgeTown_EventScript_14E67B compare FACING, 1 - callif 1, LavaridgeTown_EventScript_14E680 + call_if 1, LavaridgeTown_EventScript_14E680 compare FACING, 3 - callif 1, LavaridgeTown_EventScript_14E685 + call_if 1, LavaridgeTown_EventScript_14E685 compare FACING, 4 - callif 1, LavaridgeTown_EventScript_14E68A + call_if 1, LavaridgeTown_EventScript_14E68A return LavaridgeTown_EventScript_14E67B:: @ 814E67B - spritebehave 7, 8 + setobjectmovementtype 7, 8 return LavaridgeTown_EventScript_14E680:: @ 814E680 - spritebehave 7, 7 + setobjectmovementtype 7, 7 return LavaridgeTown_EventScript_14E685:: @ 814E685 - spritebehave 7, 10 + setobjectmovementtype 7, 10 return LavaridgeTown_EventScript_14E68A:: @ 814E68A - spritebehave 7, 9 + setobjectmovementtype 7, 9 return LavaridgeTown_EventScript_14E68F:: @ 814E68F - move 8, LavaridgeTown_Movement_14E6E8 - waitmove 0 + applymovement 8, LavaridgeTown_Movement_14E6E8 + waitmovement 0 return LavaridgeTown_EventScript_14E69A:: @ 814E69A - move 7, LavaridgeTown_Movement_14E6EF - waitmove 0 + applymovement 7, LavaridgeTown_Movement_14E6EF + waitmovement 0 return LavaridgeTown_EventScript_14E6A5:: @ 814E6A5 compare FACING, 2 - callif 1, LavaridgeTown_EventScript_14E6D2 + call_if 1, LavaridgeTown_EventScript_14E6D2 compare FACING, 1 - callif 1, LavaridgeTown_EventScript_14E6D2 + call_if 1, LavaridgeTown_EventScript_14E6D2 compare FACING, 3 - callif 1, LavaridgeTown_EventScript_14E6DD + call_if 1, LavaridgeTown_EventScript_14E6DD compare FACING, 4 - callif 1, LavaridgeTown_EventScript_14E6D2 + call_if 1, LavaridgeTown_EventScript_14E6D2 return LavaridgeTown_EventScript_14E6D2:: @ 814E6D2 - move 7, LavaridgeTown_Movement_14E6FA - waitmove 0 + applymovement 7, LavaridgeTown_Movement_14E6FA + waitmovement 0 return LavaridgeTown_EventScript_14E6DD:: @ 814E6DD - move 7, LavaridgeTown_Movement_14E703 - waitmove 0 + applymovement 7, LavaridgeTown_Movement_14E703 + waitmovement 0 return LavaridgeTown_Movement_14E6E8:: @ 814E6E8 @@ -236,13 +236,13 @@ LavaridgeTown_Movement_14E70E:: @ 814E70E step_end LavaridgeTown_EventScript_14E710:: @ 814E710 - specialval RESULT, player_get_direction_lower_nybble + specialvar RESULT, player_get_direction_lower_nybble compare RESULT, 1 - jumpeq LavaridgeTown_EventScript_14E721 + goto_if_eq LavaridgeTown_EventScript_14E721 end LavaridgeTown_EventScript_14E721:: @ 814E721 - inccounter GAME_STAT_ENTERED_HOT_SPRINGS + incrementgamestat GAME_STAT_ENTERED_HOT_SPRINGS end LavaridgeTown_EventScript_14E724:: @ 814E724 @@ -273,19 +273,19 @@ LavaridgeTown_EventScript_14E75A:: @ 814E75A lock faceplayer checkflag 266 - jumpeq LavaridgeTown_EventScript_14E79E + goto_if_eq LavaridgeTown_EventScript_14E79E msgbox LavaridgeTown_Text_16C174, 5 compare RESULT, 0 - jumpeq LavaridgeTown_EventScript_14E7B2 + goto_if_eq LavaridgeTown_EventScript_14E7B2 countpokemon compare RESULT, 6 - jumpeq LavaridgeTown_EventScript_14E7A8 + goto_if_eq LavaridgeTown_EventScript_14E7A8 msgbox LavaridgeTown_Text_16C2B6, 4 setflag 266 - fanfare 370 + playfanfare 370 message LavaridgeTown_Text_16C2EA waitfanfare - waittext + waitmessage giveegg 360 release end diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc index 57506bdb6..2edffe9f0 100644 --- a/data/scripts/maps/LavaridgeTown_Gym_1F.inc +++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc @@ -14,27 +14,27 @@ LavaridgeTown_Gym_1F_EventScript_15369F:: @ 815369F setvar 0x400e, 0 setvar 0x400f, 0 checktrainerflag OPPONENT_COLE - jumpeq LavaridgeTown_Gym_1F_EventScript_1536C6 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536C6 setvar 0x400b, 1 LavaridgeTown_Gym_1F_EventScript_1536C6:: @ 81536C6 checktrainerflag OPPONENT_ZANE - jumpeq LavaridgeTown_Gym_1F_EventScript_1536D4 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536D4 setvar 0x400c, 1 LavaridgeTown_Gym_1F_EventScript_1536D4:: @ 81536D4 checktrainerflag OPPONENT_AXLE - jumpeq LavaridgeTown_Gym_1F_EventScript_1536E2 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536E2 setvar 0x400d, 1 LavaridgeTown_Gym_1F_EventScript_1536E2:: @ 81536E2 checktrainerflag OPPONENT_SADIE - jumpeq LavaridgeTown_Gym_1F_EventScript_1536F0 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536F0 setvar 0x400e, 1 LavaridgeTown_Gym_1F_EventScript_1536F0:: @ 81536F0 checktrainerflag OPPONENT_ANDY - jumpeq LavaridgeTown_Gym_1F_EventScript_1536FE + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1536FE setvar 0x400f, 1 LavaridgeTown_Gym_1F_EventScript_1536FE:: @ 81536FE @@ -42,28 +42,28 @@ LavaridgeTown_Gym_1F_EventScript_1536FE:: @ 81536FE LavaridgeTown_Gym_1F_EventScript_1536FF:: @ 81536FF checktrainerflag OPPONENT_COLE - jumpeq LavaridgeTown_Gym_1F_EventScript_15370C - spritebehave 2, 63 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_15370C + setobjectmovementtype 2, 63 LavaridgeTown_Gym_1F_EventScript_15370C:: @ 815370C checktrainerflag OPPONENT_ZANE - jumpeq LavaridgeTown_Gym_1F_EventScript_153719 - spritebehave 3, 63 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_153719 + setobjectmovementtype 3, 63 LavaridgeTown_Gym_1F_EventScript_153719:: @ 8153719 checktrainerflag OPPONENT_AXLE - jumpeq LavaridgeTown_Gym_1F_EventScript_153726 - spritebehave 4, 63 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_153726 + setobjectmovementtype 4, 63 LavaridgeTown_Gym_1F_EventScript_153726:: @ 8153726 checktrainerflag OPPONENT_SADIE - jumpeq LavaridgeTown_Gym_1F_EventScript_153733 - spritebehave 5, 63 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_153733 + setobjectmovementtype 5, 63 LavaridgeTown_Gym_1F_EventScript_153733:: @ 8153733 checktrainerflag OPPONENT_ANDY - jumpeq LavaridgeTown_Gym_1F_EventScript_153740 - spritebehave 7, 63 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_153740 + setobjectmovementtype 7, 63 LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740 return @@ -71,32 +71,32 @@ LavaridgeTown_Gym_1F_EventScript_153740:: @ 8153740 LavaridgeTown_Gym_1F_EventScript_153741:: @ 8153741 trainerbattle 1, OPPONENT_FLANNERY, 0, LavaridgeTown_Gym_1F_Text_176801, LavaridgeTown_Gym_1F_Text_176960, LavaridgeTown_Gym_1F_EventScript_153766 checkflag 168 - jumpif 0, LavaridgeTown_Gym_1F_EventScript_1537A7 + goto_if 0, LavaridgeTown_Gym_1F_EventScript_1537A7 msgbox LavaridgeTown_Gym_1F_Text_176C4A, 4 release end LavaridgeTown_Gym_1F_EventScript_153766:: @ 8153766 message LavaridgeTown_Gym_1F_Text_176A62 - waittext + waitmessage call LavaridgeTown_Gym_1F_EventScript_1A02C5 msgbox LavaridgeTown_Gym_1F_Text_176A8C, 4 setflag 1213 setflag 2058 addvar 0x4085, 1 compare 0x4085, 6 - callif 1, LavaridgeTown_Gym_1F_EventScript_1A00FB + call_if 1, LavaridgeTown_Gym_1F_EventScript_1A00FB setvar 0x8008, 4 call LavaridgeTown_Gym_1F_EventScript_1A01C0 setflag 806 setvar 0x4053, 1 - jump LavaridgeTown_Gym_1F_EventScript_1537A7 + goto LavaridgeTown_Gym_1F_EventScript_1537A7 end LavaridgeTown_Gym_1F_EventScript_1537A7:: @ 81537A7 giveitem ITEM_TM50 compare RESULT, 0 - jumpeq LavaridgeTown_Gym_1F_EventScript_1A029B + goto_if_eq LavaridgeTown_Gym_1F_EventScript_1A029B msgbox LavaridgeTown_Gym_1F_Text_176B8F, 4 setflag 168 release @@ -136,7 +136,7 @@ LavaridgeTown_Gym_1F_EventScript_153859:: @ 8153859 lock faceplayer checkflag 1213 - jumpeq LavaridgeTown_Gym_1F_EventScript_15386E + goto_if_eq LavaridgeTown_Gym_1F_EventScript_15386E msgbox LavaridgeTown_Gym_1F_Text_176312, 4 release end @@ -149,15 +149,15 @@ LavaridgeTown_Gym_1F_EventScript_15386E:: @ 815386E LavaridgeTown_Gym_1F_EventScript_153878:: @ 8153878 lockall checkflag 2058 - jumpeq LavaridgeTown_Gym_1F_EventScript_153898 - jump LavaridgeTown_Gym_1F_EventScript_1538A2 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898 + goto LavaridgeTown_Gym_1F_EventScript_1538A2 end LavaridgeTown_Gym_1F_EventScript_153888:: @ 8153888 lockall checkflag 2058 - jumpeq LavaridgeTown_Gym_1F_EventScript_153898 - jump LavaridgeTown_Gym_1F_EventScript_1538A2 + goto_if_eq LavaridgeTown_Gym_1F_EventScript_153898 + goto LavaridgeTown_Gym_1F_EventScript_1538A2 end LavaridgeTown_Gym_1F_EventScript_153898:: @ 8153898 diff --git a/data/scripts/maps/LavaridgeTown_HerbShop.inc b/data/scripts/maps/LavaridgeTown_HerbShop.inc index 6ff103ce3..5ec6731d4 100644 --- a/data/scripts/maps/LavaridgeTown_HerbShop.inc +++ b/data/scripts/maps/LavaridgeTown_HerbShop.inc @@ -5,7 +5,7 @@ LavaridgeTown_HerbShop_EventScript_153629:: @ 8153629 lock faceplayer message LavaridgeTown_HerbShop_Text_17615C - waittext + waitmessage pokemart LavaridgeTown_HerbShop_Items msgbox LavaridgeTown_HerbShop_Text_1A0C02, 4 release @@ -29,11 +29,11 @@ LavaridgeTown_HerbShop_EventScript_153655:: @ 8153655 lock faceplayer checkflag 254 - jumpeq LavaridgeTown_HerbShop_EventScript_153684 + goto_if_eq LavaridgeTown_HerbShop_EventScript_153684 msgbox LavaridgeTown_HerbShop_Text_1761A2, 4 giveitem ITEM_CHARCOAL compare RESULT, 0 - jumpeq LavaridgeTown_HerbShop_EventScript_1A029B + goto_if_eq LavaridgeTown_HerbShop_EventScript_1A029B setflag 254 release end diff --git a/data/scripts/maps/LavaridgeTown_House.inc b/data/scripts/maps/LavaridgeTown_House.inc index 944427bb6..c75cb9e4b 100644 --- a/data/scripts/maps/LavaridgeTown_House.inc +++ b/data/scripts/maps/LavaridgeTown_House.inc @@ -8,8 +8,8 @@ LavaridgeTown_House_EventScript_1538AE:: @ 81538AE LavaridgeTown_House_EventScript_1538B7:: @ 81538B7 lock faceplayer - checksound - pokecry SPECIES_ZIGZAGOON, 0 + waitse + playpokecry SPECIES_ZIGZAGOON, 0 msgbox LavaridgeTown_House_Text_176D94, 4 waitpokecry release diff --git a/data/scripts/maps/LavaridgeTown_Mart.inc b/data/scripts/maps/LavaridgeTown_Mart.inc index 4f28e16b0..99b567e06 100644 --- a/data/scripts/maps/LavaridgeTown_Mart.inc +++ b/data/scripts/maps/LavaridgeTown_Mart.inc @@ -5,7 +5,7 @@ LavaridgeTown_Mart_EventScript_1538CB:: @ 81538CB lock faceplayer message LavaridgeTown_Mart_Text_1A0BE4 - waittext + waitmessage pokemart LavaridgeTown_Mart_Items msgbox LavaridgeTown_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc index c0762bcc3..9d0f31059 100644 --- a/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ LavaridgeTown_PokemonCenter_1F_MapScript1_153912:: @ 8153912 LavaridgeTown_PokemonCenter_1F_EventScript_15391B:: @ 815391B setvar 0x800b, 1 call LavaridgeTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc index b688107ce..cf8e2e07d 100644 --- a/data/scripts/maps/LilycoveCity.inc +++ b/data/scripts/maps/LilycoveCity.inc @@ -8,7 +8,7 @@ LilycoveCity_MapScript1_14CA20:: @ 814CA20 setvar 0x4086, 0 setflag 802 checkflag 2090 - callif 1, LilycoveCity_EventScript_1A02C1 + call_if 1, LilycoveCity_EventScript_1A02C1 call LilycoveCity_EventScript_1A0196 call LilycoveCity_EventScript_1A014E end @@ -29,9 +29,9 @@ LilycoveCity_MapScript1_14CA3F:: @ 814CA3F setmaptile 72, 6, 445, 0 .endif checkflag 112 - callif 0, LilycoveCity_EventScript_14CABE + call_if 0, LilycoveCity_EventScript_14CABE checkflag 2061 - callif 1, LilycoveCity_EventScript_14CB2B + call_if 1, LilycoveCity_EventScript_14CB2B end LilycoveCity_EventScript_14CABE:: @ 814CABE @@ -63,15 +63,15 @@ LilycoveCity_EventScript_14CB2B:: @ 814CB2B LilycoveCity_EventScript_14CB74:: @ 814CB74 lock faceplayer - checkdailyflags + dodailyevents checkflag 2255 - jumpeq LilycoveCity_EventScript_14CBB4 + goto_if_eq LilycoveCity_EventScript_14CBB4 msgbox LilycoveCity_Text_1C5A7A, 4 random 10 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq LilycoveCity_EventScript_1A029B + goto_if_eq LilycoveCity_EventScript_1A029B setflag 2255 msgbox LilycoveCity_Text_1C5B1D, 4 release @@ -90,7 +90,7 @@ LilycoveCity_EventScript_14CBC7:: @ 814CBC7 lock faceplayer checkflag 2061 - jumpeq LilycoveCity_EventScript_14CBDC + goto_if_eq LilycoveCity_EventScript_14CBDC msgbox LilycoveCity_Text_168750, 4 release end @@ -108,7 +108,7 @@ LilycoveCity_EventScript_14CBEF:: @ 814CBEF lock faceplayer checkflag 112 - jumpeq LilycoveCity_EventScript_14CC04 + goto_if_eq LilycoveCity_EventScript_14CC04 msgbox LilycoveCity_Text_1688C1, 4 release end @@ -122,7 +122,7 @@ LilycoveCity_EventScript_14CC0E:: @ 814CC0E lock faceplayer checkflag 112 - jumpeq LilycoveCity_EventScript_14CC23 + goto_if_eq LilycoveCity_EventScript_14CC23 msgbox LilycoveCity_Text_1689BF, 4 release end @@ -148,7 +148,7 @@ LilycoveCity_EventScript_14CC48:: @ 814CC48 lock faceplayer checkflag 2061 - jumpeq LilycoveCity_EventScript_14CC5D + goto_if_eq LilycoveCity_EventScript_14CC5D msgbox LilycoveCity_Text_168C16, 4 release end @@ -172,7 +172,7 @@ LilycoveCity_EventScript_14CC79:: @ 814CC79 LilycoveCity_EventScript_14CC82:: @ 814CC82 lockall - specialval 0x8004, sub_80C4D50 + specialvar 0x8004, sub_80C4D50 switch 0x8004 case 0, LilycoveCity_EventScript_14CCA2 msgbox LilycoveCity_Text_168EA4, 4 @@ -187,7 +187,7 @@ LilycoveCity_EventScript_14CCA2:: @ 814CCA2 LilycoveCity_EventScript_14CCAC:: @ 814CCAC lockall checkflag 2052 - jumpeq LilycoveCity_EventScript_14CCC0 + goto_if_eq LilycoveCity_EventScript_14CCC0 msgbox LilycoveCity_Text_168EDA, 4 releaseall end @@ -212,13 +212,13 @@ LilycoveCity_EventScript_14CCDC:: @ 814CCDC LilycoveCity_EventScript_14CCE5:: @ 814CCE5 lockall checkflag 218 - jumpeq LilycoveCity_EventScript_14CD18 + goto_if_eq LilycoveCity_EventScript_14CD18 msgbox LilycoveCity_Text_16864A, 4 - move LAST_TALKED, LilycoveCity_Movement_1A0839 - waitmove 0 + applymovement LAST_TALKED, LilycoveCity_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_Text_168675, 4 - move LAST_TALKED, LilycoveCity_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, LilycoveCity_Movement_1A083D + waitmovement 0 setflag 218 releaseall end @@ -247,21 +247,21 @@ LilycoveCity_EventScript_14CD3D:: @ 814CD3D LilycoveCity_EventScript_14CD46:: @ 814CD46 lock faceplayer - checkgender + checkplayergender compare RESULT, 0 - jumpeq LilycoveCity_EventScript_14CD60 + goto_if_eq LilycoveCity_EventScript_14CD60 compare RESULT, 1 - jumpeq LilycoveCity_EventScript_14CDD3 + goto_if_eq LilycoveCity_EventScript_14CDD3 end LilycoveCity_EventScript_14CD60:: @ 814CD60 - playmusic 415, 1 + playbgm 415, 1 checkflag 286 - callif 1, LilycoveCity_EventScript_14CDB0 + call_if 1, LilycoveCity_EventScript_14CDB0 checkflag 286 - callif 0, LilycoveCity_EventScript_14CDB9 + call_if 0, LilycoveCity_EventScript_14CDB9 compare RESULT, 0 - jumpeq LilycoveCity_EventScript_14CDC2 + goto_if_eq LilycoveCity_EventScript_14CDC2 msgbox LilycoveCity_Text_167B94, 4 switch 0x4023 case 0, LilycoveCity_EventScript_14CE46 @@ -280,19 +280,19 @@ LilycoveCity_EventScript_14CDB9:: @ 814CDB9 LilycoveCity_EventScript_14CDC2:: @ 814CDC2 setflag 286 msgbox LilycoveCity_Text_167AEB, 4 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm release end LilycoveCity_EventScript_14CDD3:: @ 814CDD3 - playmusic 421, 1 + playbgm 421, 1 checkflag 286 - callif 1, LilycoveCity_EventScript_14CE23 + call_if 1, LilycoveCity_EventScript_14CE23 checkflag 286 - callif 0, LilycoveCity_EventScript_14CE2C + call_if 0, LilycoveCity_EventScript_14CE2C compare RESULT, 0 - jumpeq LilycoveCity_EventScript_14CE35 + goto_if_eq LilycoveCity_EventScript_14CE35 msgbox LilycoveCity_Text_1680A9, 4 switch 0x4023 case 0, LilycoveCity_EventScript_14CE76 @@ -311,58 +311,58 @@ LilycoveCity_EventScript_14CE2C:: @ 814CE2C LilycoveCity_EventScript_14CE35:: @ 814CE35 setflag 286 msgbox LilycoveCity_Text_16802C, 4 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm release end LilycoveCity_EventScript_14CE46:: @ 814CE46 trainerbattle 3, OPPONENT_MAY_11, 0, LilycoveCity_Text_167BD5 - jump LilycoveCity_EventScript_14CEA6 + goto LilycoveCity_EventScript_14CEA6 end LilycoveCity_EventScript_14CE56:: @ 814CE56 trainerbattle 3, OPPONENT_MAY_12, 0, LilycoveCity_Text_167BD5 - jump LilycoveCity_EventScript_14CEA6 + goto LilycoveCity_EventScript_14CEA6 end LilycoveCity_EventScript_14CE66:: @ 814CE66 trainerbattle 3, OPPONENT_MAY_10, 0, LilycoveCity_Text_167BD5 - jump LilycoveCity_EventScript_14CEA6 + goto LilycoveCity_EventScript_14CEA6 end LilycoveCity_EventScript_14CE76:: @ 814CE76 trainerbattle 3, OPPONENT_BRENDAN_11, 0, LilycoveCity_Text_1680E4 - jump LilycoveCity_EventScript_14CF12 + goto LilycoveCity_EventScript_14CF12 end LilycoveCity_EventScript_14CE86:: @ 814CE86 trainerbattle 3, OPPONENT_BRENDAN_12, 0, LilycoveCity_Text_1680E4 - jump LilycoveCity_EventScript_14CF12 + goto LilycoveCity_EventScript_14CF12 end LilycoveCity_EventScript_14CE96:: @ 814CE96 trainerbattle 3, OPPONENT_BRENDAN_10, 0, LilycoveCity_Text_1680E4 - jump LilycoveCity_EventScript_14CF12 + goto LilycoveCity_EventScript_14CF12 end LilycoveCity_EventScript_14CEA6:: @ 814CEA6 msgbox LilycoveCity_Text_167C6B, 4 setvar RESULT, 0 checkflag 2060 - callif 1, LilycoveCity_EventScript_14CEDE + call_if 1, LilycoveCity_EventScript_14CEDE compare RESULT, 0 - callif 1, LilycoveCity_EventScript_14CEEE + call_if 1, LilycoveCity_EventScript_14CEEE compare RESULT, 1 - callif 1, LilycoveCity_EventScript_14CEF7 + call_if 1, LilycoveCity_EventScript_14CEF7 clearflag 722 clearflag 849 - jump LilycoveCity_EventScript_14CF6B + goto LilycoveCity_EventScript_14CF6B end LilycoveCity_EventScript_14CEDE:: @ 814CEDE checkflag 2062 - jumpeq LilycoveCity_EventScript_14CEE8 + goto_if_eq LilycoveCity_EventScript_14CEE8 return LilycoveCity_EventScript_14CEE8:: @ 814CEE8 @@ -375,7 +375,7 @@ LilycoveCity_EventScript_14CEEE:: @ 814CEEE LilycoveCity_EventScript_14CEF7:: @ 814CEF7 checkflag 2052 - jumpeq LilycoveCity_EventScript_14CF09 + goto_if_eq LilycoveCity_EventScript_14CF09 msgbox LilycoveCity_Text_167DDD, 4 return @@ -387,13 +387,13 @@ LilycoveCity_EventScript_14CF12:: @ 814CF12 msgbox LilycoveCity_Text_168149, 4 setvar RESULT, 0 checkflag 2060 - callif 1, LilycoveCity_EventScript_14CEDE + call_if 1, LilycoveCity_EventScript_14CEDE compare RESULT, 0 - callif 1, LilycoveCity_EventScript_14CF47 + call_if 1, LilycoveCity_EventScript_14CF47 compare RESULT, 1 - callif 1, LilycoveCity_EventScript_14CF50 + call_if 1, LilycoveCity_EventScript_14CF50 clearflag 760 - jump LilycoveCity_EventScript_14CF6B + goto LilycoveCity_EventScript_14CF6B end LilycoveCity_EventScript_14CF47:: @ 814CF47 @@ -402,7 +402,7 @@ LilycoveCity_EventScript_14CF47:: @ 814CF47 LilycoveCity_EventScript_14CF50:: @ 814CF50 checkflag 2052 - jumpeq LilycoveCity_EventScript_14CF62 + goto_if_eq LilycoveCity_EventScript_14CF62 msgbox LilycoveCity_Text_168282, 4 return @@ -411,17 +411,17 @@ LilycoveCity_EventScript_14CF62:: @ 814CF62 return LilycoveCity_EventScript_14CF6B:: @ 814CF6B - closebutton - move LAST_TALKED, LilycoveCity_Movement_1A0845 - waitmove 0 - pause 50 - setanimation 0, 1 - doanimation 30 - pause 15 - disappear LAST_TALKED - checkanimation 30 - playmusicbattle 0 - fadedefault + closemessage + applymovement LAST_TALKED, LilycoveCity_Movement_1A0845 + waitmovement 0 + delay 50 + setfieldeffect 0, 1 + dofieldeffect 30 + delay 15 + removeobject LAST_TALKED + waitfieldeffect 30 + savebgm 0 + fadedefaultbgm setflag 292 release end diff --git a/data/scripts/maps/LilycoveCity_ContestHall.inc b/data/scripts/maps/LilycoveCity_ContestHall.inc index 3601cb455..944857a21 100644 --- a/data/scripts/maps/LilycoveCity_ContestHall.inc +++ b/data/scripts/maps/LilycoveCity_ContestHall.inc @@ -22,48 +22,48 @@ LilycoveCity_ContestHall_EventScript_1590B6:: @ 81590B6 LilycoveCity_ContestHall_EventScript_1590BF:: @ 81590BF msgbox LilycoveCity_ContestHall_Text_189301, 2 lockall - move 4, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 4, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1590D4:: @ 81590D4 msgbox LilycoveCity_ContestHall_Text_189366, 2 lockall - move 5, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 5, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1590E9:: @ 81590E9 msgbox LilycoveCity_ContestHall_Text_1893CE, 2 lockall - move 6, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 6, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1590FE:: @ 81590FE msgbox LilycoveCity_ContestHall_Text_189463, 2 lockall - move 7, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 7, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159113:: @ 8159113 msgbox LilycoveCity_ContestHall_Text_189512, 2 lockall - move 8, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 8, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159128:: @ 8159128 msgbox LilycoveCity_ContestHall_Text_18956B, 2 lockall - move 9, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 9, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end @@ -74,154 +74,154 @@ LilycoveCity_ContestHall_EventScript_15913D:: @ 815913D LilycoveCity_ContestHall_EventScript_159146:: @ 8159146 msgbox LilycoveCity_ContestHall_Text_189617, 2 lockall - move 12, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 12, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_15915B:: @ 815915B msgbox LilycoveCity_ContestHall_Text_1896BE, 2 lockall - move 22, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 22, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159170:: @ 8159170 msgbox LilycoveCity_ContestHall_Text_1896FE, 2 lockall - move 11, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 11, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159185:: @ 8159185 msgbox LilycoveCity_ContestHall_Text_189771, 2 lockall - move 13, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 13, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_15919A:: @ 815919A msgbox LilycoveCity_ContestHall_Text_1897AA, 2 lockall - move 14, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 14, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1591AF:: @ 81591AF msgbox LilycoveCity_ContestHall_Text_18980B, 2 lockall - move 15, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 15, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1591C4:: @ 81591C4 msgbox LilycoveCity_ContestHall_Text_189874, 2 lockall - move 16, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 16, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1591D9:: @ 81591D9 msgbox LilycoveCity_ContestHall_Text_18990A, 2 lockall - move 17, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 17, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1591EE:: @ 81591EE msgbox LilycoveCity_ContestHall_Text_189981, 2 lockall - move 18, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 18, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159203:: @ 8159203 msgbox LilycoveCity_ContestHall_Text_189A1D, 2 lockall - move 19, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 19, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159218:: @ 8159218 msgbox LilycoveCity_ContestHall_Text_189A82, 2 lockall - move 21, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 21, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_15922D:: @ 815922D msgbox LilycoveCity_ContestHall_Text_189AE1, 2 lockall - move 20, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 20, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159242:: @ 8159242 msgbox LilycoveCity_ContestHall_Text_189B4E, 2 lockall - move 23, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 23, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159257:: @ 8159257 msgbox LilycoveCity_ContestHall_Text_189BBF, 2 lockall - move 24, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 24, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_15926C:: @ 815926C msgbox LilycoveCity_ContestHall_Text_189C29, 2 lockall - move 25, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 25, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159281:: @ 8159281 msgbox LilycoveCity_ContestHall_Text_189C67, 2 lockall - move 26, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 26, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_159296:: @ 8159296 msgbox LilycoveCity_ContestHall_Text_189CB3, 2 lockall - move 27, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 27, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1592AB:: @ 81592AB msgbox LilycoveCity_ContestHall_Text_189D11, 2 lockall - move 28, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 28, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1592C0:: @ 81592C0 lockall - move 29, LilycoveCity_ContestHall_Movement_1A0839 - waitmove 0 - pause 25 - move 29, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 29, LilycoveCity_ContestHall_Movement_1A0839 + waitmovement 0 + delay 25 + applymovement 29, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 msgbox LilycoveCity_ContestHall_Text_189DA2, 3 releaseall end @@ -229,16 +229,16 @@ LilycoveCity_ContestHall_EventScript_1592C0:: @ 81592C0 LilycoveCity_ContestHall_EventScript_1592E2:: @ 81592E2 msgbox LilycoveCity_ContestHall_Text_189E5F, 2 lockall - move 31, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 31, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_ContestHall_EventScript_1592F7:: @ 81592F7 msgbox LilycoveCity_ContestHall_Text_189DF3, 2 lockall - move 30, LilycoveCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 30, LilycoveCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index 6bdcf55e2..a8c32a4fe 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -14,41 +14,41 @@ LilycoveCity_ContestLobby_MapScript2_158877:: @ 8158877 LilycoveCity_ContestLobby_EventScript_158889:: @ 8158889 checkflag 775 - jumpeq LilycoveCity_ContestLobby_EventScript_158898 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158898 setvar 0x4099, 0 end LilycoveCity_ContestLobby_EventScript_158898:: @ 8158898 lockall - reappear 4 - move 4, LilycoveCity_ContestLobby_Movement_158A3B - waitmove 4 - move 255, LilycoveCity_ContestLobby_Movement_158A4C - waitmove 0 + addobject 4 + applymovement 4, LilycoveCity_ContestLobby_Movement_158A3B + waitmovement 4 + applymovement 255, LilycoveCity_ContestLobby_Movement_158A4C + waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_18890F, 4 lockall fadescreen 1 - showcontestwinner 0 + drawcontestwinner 0 lockall msgbox LilycoveCity_ContestLobby_Text_1889FD, 5 compare RESULT, 1 - jumpeq LilycoveCity_ContestLobby_EventScript_1588DE + goto_if_eq LilycoveCity_ContestLobby_EventScript_1588DE compare RESULT, 0 - jumpeq LilycoveCity_ContestLobby_EventScript_158918 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158918 releaseall end LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE msgbox LilycoveCity_ContestLobby_Text_188AE8, 4 - closebutton + closemessage special sub_80C4CEC setvar 0x4099, 0 - specialval RESULT, GiveMonArtistRibbon + specialvar RESULT, GiveMonArtistRibbon compare RESULT, 1 - callif 1, LilycoveCity_ContestLobby_EventScript_158948 - move 4, LilycoveCity_ContestLobby_Movement_158A43 - waitmove 0 - disappear 4 + call_if 1, LilycoveCity_ContestLobby_EventScript_158948 + applymovement 4, LilycoveCity_ContestLobby_Movement_158A43 + waitmovement 0 + removeobject 4 call LilycoveCity_ContestLobby_EventScript_158994 call LilycoveCity_ContestLobby_EventScript_1589EA releaseall @@ -57,37 +57,37 @@ LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE LilycoveCity_ContestLobby_EventScript_158918:: @ 8158918 msgbox LilycoveCity_ContestLobby_Text_188C41, 5 compare RESULT, 1 - jumpeq LilycoveCity_ContestLobby_EventScript_1588DE + goto_if_eq LilycoveCity_ContestLobby_EventScript_1588DE msgbox LilycoveCity_ContestLobby_Text_188CBD, 4 - closebutton - move 4, LilycoveCity_ContestLobby_Movement_158A43 - waitmove 0 + closemessage + applymovement 4, LilycoveCity_ContestLobby_Movement_158A43 + waitmovement 0 setvar 0x4099, 0 - disappear 4 + removeobject 4 releaseall end LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948 - inccounter GAME_STAT_RECEIVED_RIBBONS + incrementgamestat GAME_STAT_RECEIVED_RIBBONS special sub_80C4858 - move 4, LilycoveCity_ContestLobby_Movement_158A4E - waitmove 0 - playsfx 21 - move 4, LilycoveCity_ContestLobby_Movement_1A0833 - waitmove 0 - move 4, LilycoveCity_ContestLobby_Movement_158A52 - waitmove 0 + applymovement 4, LilycoveCity_ContestLobby_Movement_158A4E + waitmovement 0 + playse 21 + applymovement 4, LilycoveCity_ContestLobby_Movement_1A0833 + waitmovement 0 + applymovement 4, LilycoveCity_ContestLobby_Movement_158A52 + waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_188BB5, 4 - fanfare 370 + playfanfare 370 msgbox LilycoveCity_ContestLobby_Text_188C03, 4 waitfanfare msgbox LilycoveCity_ContestLobby_Text_188C19, 4 msgbox LilycoveCity_ContestLobby_Text_188C32, 4 - closebutton + closemessage return LilycoveCity_ContestLobby_EventScript_158994:: @ 8158994 - specialval 0x8004, sub_80C4D50 + specialvar 0x8004, sub_80C4D50 switch 0x8004 case 1, LilycoveCity_ContestLobby_EventScript_1589D6 case 2, LilycoveCity_ContestLobby_EventScript_1589DA @@ -189,39 +189,39 @@ LilycoveCity_ContestLobby_Movement_158A52:: @ 8158A52 LilycoveCity_ContestLobby_EventScript_158A5B:: @ 8158A5B checkflag 775 - jumpeq LilycoveCity_ContestLobby_EventScript_158A6A + goto_if_eq LilycoveCity_ContestLobby_EventScript_158A6A setvar 0x4099, 0 end LilycoveCity_ContestLobby_EventScript_158A6A:: @ 8158A6A lockall - reappear 11 - move 11, LilycoveCity_ContestLobby_Movement_158B64 - waitmove 11 - move 255, LilycoveCity_ContestLobby_Movement_158B76 - waitmove 0 + addobject 11 + applymovement 11, LilycoveCity_ContestLobby_Movement_158B64 + waitmovement 11 + applymovement 255, LilycoveCity_ContestLobby_Movement_158B76 + waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_18890F, 4 lockall fadescreen 1 - showcontestwinner 0 + drawcontestwinner 0 msgbox LilycoveCity_ContestLobby_Text_1889FD, 5 compare RESULT, 1 - jumpeq LilycoveCity_ContestLobby_EventScript_158AAE + goto_if_eq LilycoveCity_ContestLobby_EventScript_158AAE compare RESULT, 0 - jumpeq LilycoveCity_ContestLobby_EventScript_158AE8 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158AE8 end LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE msgbox LilycoveCity_ContestLobby_Text_188AE8, 4 - closebutton + closemessage special sub_80C4CEC setvar 0x4099, 0 - specialval RESULT, GiveMonArtistRibbon + specialvar RESULT, GiveMonArtistRibbon compare RESULT, 1 - callif 1, LilycoveCity_ContestLobby_EventScript_158B18 - move 11, LilycoveCity_ContestLobby_Movement_158B6D - waitmove 0 - disappear 11 + call_if 1, LilycoveCity_ContestLobby_EventScript_158B18 + applymovement 11, LilycoveCity_ContestLobby_Movement_158B6D + waitmovement 0 + removeobject 11 call LilycoveCity_ContestLobby_EventScript_158994 call LilycoveCity_ContestLobby_EventScript_1589EA releaseall @@ -230,33 +230,33 @@ LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE LilycoveCity_ContestLobby_EventScript_158AE8:: @ 8158AE8 msgbox LilycoveCity_ContestLobby_Text_188C41, 5 compare RESULT, 1 - jumpeq LilycoveCity_ContestLobby_EventScript_158AAE + goto_if_eq LilycoveCity_ContestLobby_EventScript_158AAE msgbox LilycoveCity_ContestLobby_Text_188CBD, 4 - closebutton - move 11, LilycoveCity_ContestLobby_Movement_158B6D - waitmove 0 + closemessage + applymovement 11, LilycoveCity_ContestLobby_Movement_158B6D + waitmovement 0 setvar 0x4099, 0 - disappear 11 + removeobject 11 releaseall end LilycoveCity_ContestLobby_EventScript_158B18:: @ 8158B18 - inccounter GAME_STAT_RECEIVED_RIBBONS + incrementgamestat GAME_STAT_RECEIVED_RIBBONS special sub_80C4858 - move 11, LilycoveCity_ContestLobby_Movement_158B78 - waitmove 0 - playsfx 21 - move 11, LilycoveCity_ContestLobby_Movement_1A0833 - waitmove 0 - move 11, LilycoveCity_ContestLobby_Movement_158B7C - waitmove 0 + applymovement 11, LilycoveCity_ContestLobby_Movement_158B78 + waitmovement 0 + playse 21 + applymovement 11, LilycoveCity_ContestLobby_Movement_1A0833 + waitmovement 0 + applymovement 11, LilycoveCity_ContestLobby_Movement_158B7C + waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_188BB5, 4 - fanfare 370 + playfanfare 370 msgbox LilycoveCity_ContestLobby_Text_188C03, 4 waitfanfare msgbox LilycoveCity_ContestLobby_Text_188C19, 4 msgbox LilycoveCity_ContestLobby_Text_188C32, 4 - closebutton + closemessage return LilycoveCity_ContestLobby_Movement_158B64:: @ 8158B64 @@ -306,19 +306,19 @@ LilycoveCity_ContestLobby_EventScript_158B85:: @ 8158B85 lockall checkitem ITEM_CONTEST_PASS, 1 compare RESULT, 0 - jumpeq LilycoveCity_ContestLobby_EventScript_158BBA + goto_if_eq LilycoveCity_ContestLobby_EventScript_158BBA checkflag 2 - jumpeq LilycoveCity_ContestLobby_EventScript_158BAE + goto_if_eq LilycoveCity_ContestLobby_EventScript_158BAE message LilycoveCity_ContestLobby_Text_18848C - waittext + waitmessage setflag 2 - jump LilycoveCity_ContestLobby_EventScript_158BF0 + goto LilycoveCity_ContestLobby_EventScript_158BF0 end LilycoveCity_ContestLobby_EventScript_158BAE:: @ 8158BAE message LilycoveCity_ContestLobby_Text_188584 - waittext - jump LilycoveCity_ContestLobby_EventScript_158BF0 + waitmessage + goto LilycoveCity_ContestLobby_EventScript_158BF0 end LilycoveCity_ContestLobby_EventScript_158BBA:: @ 8158BBA @@ -329,11 +329,11 @@ LilycoveCity_ContestLobby_EventScript_158BBA:: @ 8158BBA LilycoveCity_ContestLobby_EventScript_158BC4:: @ 8158BC4 msgbox LilycoveCity_ContestLobby_Text_188521, 5 compare RESULT, 0 - jumpeq LilycoveCity_ContestLobby_EventScript_158C35 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158C35 call S_DoSaveDialog - hidebox 0, 0, 15, 9 + erasebox 0, 0, 15, 9 compare RESULT, 0 - jumpeq LilycoveCity_ContestLobby_EventScript_158C35 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158C35 setflag 3 return @@ -348,7 +348,7 @@ LilycoveCity_ContestLobby_EventScript_158BF0:: @ 8158BF0 LilycoveCity_ContestLobby_EventScript_158C27:: @ 8158C27 msgbox LilycoveCity_ContestLobby_Text_1885A7, 4 - jump LilycoveCity_ContestLobby_EventScript_158B85 + goto LilycoveCity_ContestLobby_EventScript_158B85 end LilycoveCity_ContestLobby_EventScript_158C35:: @ 8158C35 @@ -362,39 +362,39 @@ LilycoveCity_ContestLobby_EventScript_158C42:: @ 8158C42 setvar CONTEST_RANK, 0 choosecontestpkmn compare 0x8004, 255 - jumpeq LilycoveCity_ContestLobby_EventScript_158CEA + goto_if_eq LilycoveCity_ContestLobby_EventScript_158CEA special sub_80C43F4 compare RESULT, 0 - jumpeq LilycoveCity_ContestLobby_EventScript_158C96 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158C96 compare RESULT, 1 - jumpeq LilycoveCity_ContestLobby_EventScript_158CC0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158CC0 compare RESULT, 2 - jumpeq LilycoveCity_ContestLobby_EventScript_158CC0 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158CC0 compare RESULT, 3 - jumpeq LilycoveCity_ContestLobby_EventScript_158CA4 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158CA4 compare RESULT, 4 - jumpeq LilycoveCity_ContestLobby_EventScript_158CB2 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158CB2 end LilycoveCity_ContestLobby_EventScript_158C96:: @ 8158C96 msgbox LilycoveCity_ContestLobby_Text_1A664A, 4 - jump LilycoveCity_ContestLobby_EventScript_158C42 + goto LilycoveCity_ContestLobby_EventScript_158C42 end LilycoveCity_ContestLobby_EventScript_158CA4:: @ 8158CA4 msgbox LilycoveCity_ContestLobby_Text_1A669F, 4 - jump LilycoveCity_ContestLobby_EventScript_158C42 + goto LilycoveCity_ContestLobby_EventScript_158C42 end LilycoveCity_ContestLobby_EventScript_158CB2:: @ 8158CB2 msgbox LilycoveCity_ContestLobby_Text_1A66DC, 4 - jump LilycoveCity_ContestLobby_EventScript_158C42 + goto LilycoveCity_ContestLobby_EventScript_158C42 end LilycoveCity_ContestLobby_EventScript_158CC0:: @ 8158CC0 copyvar 0x8008, 0x8004 message LilycoveCity_ContestLobby_Text_1A67A3 - waittext + waitmessage yesnobox 20, 8 switch RESULT case 0, LilycoveCity_ContestLobby_EventScript_158C42 @@ -403,31 +403,31 @@ LilycoveCity_ContestLobby_EventScript_158CC0:: @ 8158CC0 LilycoveCity_ContestLobby_EventScript_158CEA:: @ 8158CEA checkflag 3 - callif 0, LilycoveCity_ContestLobby_EventScript_158BC4 + call_if 0, LilycoveCity_ContestLobby_EventScript_158BC4 message LilycoveCity_ContestLobby_Text_1886DC - waittext + waitmessage multichoice 0, 0, 4, 0 switch RESULT case 5, LilycoveCity_ContestLobby_EventScript_158C35 case 127, LilycoveCity_ContestLobby_EventScript_158C35 copyvar CONTEST_CATEGORY, RESULT - jump LilycoveCity_ContestLobby_EventScript_158C42 + goto LilycoveCity_ContestLobby_EventScript_158C42 end LilycoveCity_ContestLobby_EventScript_158D24:: @ 8158D24 message LilycoveCity_ContestLobby_Text_1887C7 - waittext + waitmessage copyvar 0x8004, RESULT special sub_808363C waitstate compare RESULT, 3 - jumpeq LilycoveCity_ContestLobby_EventScript_158D90 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158D90 compare RESULT, 5 - jumpeq LilycoveCity_ContestLobby_EventScript_158DA1 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158DA1 compare RESULT, 6 - jumpeq LilycoveCity_ContestLobby_EventScript_158DB2 - message2 LilycoveCity_ContestLobby_Text_18872A - waittext + goto_if_eq LilycoveCity_ContestLobby_EventScript_158DB2 + messageautoscroll LilycoveCity_ContestLobby_Text_18872A + waitmessage contestlinktransfer switch 0x8004 case 0, LilycoveCity_ContestLobby_EventScript_158DD1 @@ -437,13 +437,13 @@ LilycoveCity_ContestLobby_EventScript_158D24:: @ 8158D24 LilycoveCity_ContestLobby_EventScript_158D82:: @ 8158D82 msgbox LilycoveCity_ContestLobby_Text_188750, 4 - jump LilycoveCity_ContestLobby_EventScript_158CEA + goto LilycoveCity_ContestLobby_EventScript_158CEA end LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90 special CloseLink msgbox LilycoveCity_ContestLobby_Text_18878D, 4 - closebutton + closemessage releaseall clearflag 3 end @@ -451,7 +451,7 @@ LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90 LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1 special CloseLink msgbox LilycoveCity_ContestLobby_Text_1887F4, 4 - closebutton + closemessage releaseall clearflag 3 end @@ -459,24 +459,24 @@ LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1 LilycoveCity_ContestLobby_EventScript_158DB2:: @ 8158DB2 special CloseLink msgbox LilycoveCity_ContestLobby_Text_18881F, 4 - closebutton + closemessage releaseall clearflag 3 end LilycoveCity_ContestLobby_EventScript_158DC3:: @ 8158DC3 msgbox LilycoveCity_ContestLobby_Text_18873A, 4 - jump LilycoveCity_ContestLobby_EventScript_158CEA + goto LilycoveCity_ContestLobby_EventScript_158CEA end LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1 special sub_80C496C addvar 0x8004, 1 - buffernum 1, 32772 - message2 LilycoveCity_ContestLobby_Text_188845 - waittext + getnumberstring 1, 32772 + messageautoscroll LilycoveCity_ContestLobby_Text_188845 + waitmessage addvar 0x8004, 65535 - jump LilycoveCity_ContestLobby_EventScript_158DEE + goto LilycoveCity_ContestLobby_EventScript_158DEE end LilycoveCity_ContestLobby_EventScript_158DEE:: @ 8158DEE @@ -490,34 +490,34 @@ LilycoveCity_ContestLobby_EventScript_158DEE:: @ 8158DEE LilycoveCity_ContestLobby_EventScript_158E0B:: @ 8158E0B lockall - message2 LilycoveCity_ContestLobby_Text_1888C6 - waittext - pause 20 - closebutton - move 2, LilycoveCity_ContestLobby_Movement_158E9C - waitmove 0 - playsfx 71 + messageautoscroll LilycoveCity_ContestLobby_Text_1888C6 + waitmessage + delay 20 + closemessage + applymovement 2, LilycoveCity_ContestLobby_Movement_158E9C + waitmovement 0 + playse 71 setmaptile 9, 2, 545, 1 setmaptile 9, 3, 609, 1 special DrawWholeMapView - move 2, LilycoveCity_ContestLobby_Movement_158EA0 - waitmove 0 - playsfx 71 + applymovement 2, LilycoveCity_ContestLobby_Movement_158EA0 + waitmovement 0 + playse 71 setmaptile 9, 2, 721, 1 setmaptile 9, 3, 729, 1 special DrawWholeMapView - pause 20 - move 2, LilycoveCity_ContestLobby_Movement_158EAE - waitmove 0 - move 255, LilycoveCity_ContestLobby_Movement_158E99 - waitmove 0 - message2 LilycoveCity_ContestLobby_Text_1A6832 - waittext - pause 20 - closebutton - move 2, LilycoveCity_ContestLobby_Movement_158EA4 - move 255, LilycoveCity_ContestLobby_Movement_158E8E - waitmove 0 + delay 20 + applymovement 2, LilycoveCity_ContestLobby_Movement_158EAE + waitmovement 0 + applymovement 255, LilycoveCity_ContestLobby_Movement_158E99 + waitmovement 0 + messageautoscroll LilycoveCity_ContestLobby_Text_1A6832 + waitmessage + delay 20 + closemessage + applymovement 2, LilycoveCity_ContestLobby_Movement_158EA4 + applymovement 255, LilycoveCity_ContestLobby_Movement_158E8E + waitmovement 0 releaseall return @@ -568,9 +568,9 @@ LilycoveCity_ContestLobby_Movement_158EAE:: @ 8158EAE step_end LilycoveCity_ContestLobby_EventScript_158EB0:: @ 8158EB0 - specialval RESULT, sub_80C5044 + specialvar RESULT, sub_80C5044 compare RESULT, 1 - jumpeq LilycoveCity_ContestLobby_EventScript_158EE8 + goto_if_eq LilycoveCity_ContestLobby_EventScript_158EE8 setvar 0x800b, 8 setvar CONTEST_RANK, 3 call LilycoveCity_ContestLobby_EventScript_1A4E92 @@ -602,59 +602,59 @@ LilycoveCity_ContestLobby_EventScript_158F08:: @ 8158F08 return LilycoveCity_ContestLobby_EventScript_158F45:: @ 8158F45 - warp3 LinkContestRoom4, 255, 7, 5 + setwarp LinkContestRoom4, 255, 7, 5 special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F52:: @ 8158F52 - warp3 LinkContestRoom2, 255, 7, 5 + setwarp LinkContestRoom2, 255, 7, 5 special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F5F:: @ 8158F5F - warp3 LinkContestRoom6, 255, 7, 5 + setwarp LinkContestRoom6, 255, 7, 5 special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F6C:: @ 8158F6C - warp3 LinkContestRoom5, 255, 7, 5 + setwarp LinkContestRoom5, 255, 7, 5 special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F79:: @ 8158F79 - warp3 LinkContestRoom3, 255, 7, 5 + setwarp LinkContestRoom3, 255, 7, 5 special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F86:: @ 8158F86 lockall - move 1, LilycoveCity_ContestLobby_Movement_15900B - waitmove 0 - playsfx 71 + applymovement 1, LilycoveCity_ContestLobby_Movement_15900B + waitmovement 0 + playse 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 special DrawWholeMapView - move 1, LilycoveCity_ContestLobby_Movement_15900F - waitmove 0 - playsfx 71 + applymovement 1, LilycoveCity_ContestLobby_Movement_15900F + waitmovement 0 + playse 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 special DrawWholeMapView - pause 20 - move 1, LilycoveCity_ContestLobby_Movement_15901C - waitmove 0 - move 255, LilycoveCity_ContestLobby_Movement_159008 - waitmove 0 + delay 20 + applymovement 1, LilycoveCity_ContestLobby_Movement_15901C + waitmovement 0 + applymovement 255, LilycoveCity_ContestLobby_Movement_159008 + waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_1A6832, 4 - closebutton - move 1, LilycoveCity_ContestLobby_Movement_159013 - move 255, LilycoveCity_ContestLobby_Movement_158FFE - waitmove 0 + closemessage + applymovement 1, LilycoveCity_ContestLobby_Movement_159013 + applymovement 255, LilycoveCity_ContestLobby_Movement_158FFE + waitmovement 0 releaseall return @@ -708,7 +708,7 @@ LilycoveCity_ContestLobby_EventScript_15901E:: @ 815901E LilycoveCity_ContestLobby_EventScript_159027:: @ 8159027 checkflag 150 - jumpif 0, LilycoveCity_ContestLobby_EventScript_159039 + goto_if 0, LilycoveCity_ContestLobby_EventScript_159039 msgbox LilycoveCity_ContestLobby_Text_188DDA, 2 end @@ -735,21 +735,21 @@ LilycoveCity_ContestLobby_EventScript_15905D:: @ 815905D LilycoveCity_ContestLobby_EventScript_159066:: @ 8159066 lockall fadescreen 1 - showcontestwinner 6 + drawcontestwinner 6 releaseall end LilycoveCity_ContestLobby_EventScript_15906D:: @ 815906D lockall fadescreen 1 - showcontestwinner 7 + drawcontestwinner 7 releaseall end LilycoveCity_ContestLobby_EventScript_159074:: @ 8159074 lockall fadescreen 1 - showcontestwinner 8 + drawcontestwinner 8 releaseall end @@ -766,6 +766,6 @@ SlateportCity_ContestLobby_EventScript_15908D:: @ 815908D lockall special ShowBerryBlenderRecordWindow waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc index 95945a595..7b602b2c7 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc @@ -4,57 +4,57 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 81582C4 LilycoveCity_CoveLilyMotel_1F_EventScript_1582C5:: @ 81582C5 lockall checkflag 2052 - jumpeq LilycoveCity_CoveLilyMotel_1F_EventScript_158326 + goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_158326 checkflag 2061 - jumpeq LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF + goto_if_eq LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF msgbox LilycoveCity_CoveLilyMotel_1F_Text_186B71, 4 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 - waitmove 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_186C2B, 4 - closebutton - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_CoveLilyMotel_1F_EventScript_1582FF:: @ 81582FF msgbox LilycoveCity_CoveLilyMotel_1F_Text_186CCE, 4 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 - waitmove 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_186D7F, 4 - closebutton - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_CoveLilyMotel_1F_EventScript_158326:: @ 8158326 msgbox LilycoveCity_CoveLilyMotel_1F_Text_186E57, 4 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 - waitmove 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_186F09, 4 - closebutton - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A083D + waitmovement 0 releaseall end LilycoveCity_CoveLilyMotel_1F_EventScript_15834D:: @ 815834D lockall - playsfx 21 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0833 - waitmove 0 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0835 - waitmove 0 - move 255, LilycoveCity_CoveLilyMotel_1F_Movement_1A0845 - waitmove 0 + playse 21 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0833 + waitmovement 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_1A0835 + waitmovement 0 + applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_1A0845 + waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_186CA6, 4 - closebutton - move 255, LilycoveCity_CoveLilyMotel_1F_Movement_158395 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839A - waitmove 0 - move 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839C - waitmove 0 + closemessage + applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_158395 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839A + waitmovement 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_15839C + waitmovement 0 release end diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc index 09d19c1c5..fd9ea8a58 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc @@ -5,12 +5,12 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1:: @ 81583A1 lock faceplayer checkflag 2 - callif 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7 + call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7 checkflag 2 - callif 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD - specialval RESULT, sub_8090FC0 + call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD + specialvar RESULT, sub_8090FC0 compare RESULT, 1 - jumpeq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0 + goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0 release end @@ -20,14 +20,14 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7:: @ 81583C7 LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0:: @ 81583D0 setflag 2 - fanfare 370 + playfanfare 370 waitfanfare - jump LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD + goto LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD end LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD:: @ 81583DD message LilycoveCity_CoveLilyMotel_2F_Text_18708F - waittext + waitmessage call LilycoveCity_CoveLilyMotel_2F_EventScript_1A02C5 special ScrSpecial_ShowDiploma waitstate diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc index 74b746633..9d04d2e33 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc @@ -5,11 +5,11 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C lock faceplayer checkflag 2 - callif 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF + call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF copyvar 0x8005, 0x4043 special sub_810E944 message LilycoveCity_DepartmentStoreElevator_Text_1A0EF6 - waittext + waitmessage multichoice 0, 0, 57, 0 switch RESULT case 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A402 @@ -21,59 +21,59 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C end LilycoveCity_DepartmentStoreElevator_EventScript_15A402:: @ 815A402 - warpplace LilycoveCity_DepartmentStore_1F, 255, 2, 1 + setdynamicwarp LilycoveCity_DepartmentStore_1F, 255, 2, 1 compare 0x4043, 0 - jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8 setvar 0x4043, 0 - jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 end LilycoveCity_DepartmentStoreElevator_EventScript_15A425:: @ 815A425 - warpplace LilycoveCity_DepartmentStore_2F, 255, 2, 1 + setdynamicwarp LilycoveCity_DepartmentStore_2F, 255, 2, 1 compare 0x4043, 1 - jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8 setvar 0x4043, 1 - jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 end LilycoveCity_DepartmentStoreElevator_EventScript_15A448:: @ 815A448 - warpplace LilycoveCity_DepartmentStore_3F, 255, 2, 1 + setdynamicwarp LilycoveCity_DepartmentStore_3F, 255, 2, 1 compare 0x4043, 2 - jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8 setvar 0x4043, 2 - jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 end LilycoveCity_DepartmentStoreElevator_EventScript_15A46B:: @ 815A46B - warpplace LilycoveCity_DepartmentStore_4F, 255, 2, 1 + setdynamicwarp LilycoveCity_DepartmentStore_4F, 255, 2, 1 compare 0x4043, 3 - jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8 setvar 0x4043, 3 - jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 end LilycoveCity_DepartmentStoreElevator_EventScript_15A48E:: @ 815A48E - warpplace LilycoveCity_DepartmentStore_5F, 255, 2, 1 + setdynamicwarp LilycoveCity_DepartmentStore_5F, 255, 2, 1 compare 0x4043, 4 - jumpeq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 call LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8 setvar 0x4043, 4 - jump LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 + goto LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1 end LilycoveCity_DepartmentStoreElevator_EventScript_15A4B1:: @ 815A4B1 - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 release end LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8:: @ 815A4B8 - hidebox 0, 0, 29, 19 - move LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_1A0845 - waitmove 0 + erasebox 0, 0, 29, 19 + applymovement LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_1A0845 + waitmovement 0 special sub_810EBEC waitstate setflag 2 diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc index f84c84201..29914a9b5 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc @@ -3,11 +3,11 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 815A13F .byte 0 LilycoveCity_DepartmentStoreRooftop_MapScript1_15A145:: @ 815A145 - event_96 3 + getpricereduction 3 compare RESULT, 1 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F compare RESULT, 0 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A163 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A163 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A15F:: @ 815A15F @@ -22,7 +22,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A167:: @ 815A167 lock faceplayer message LilycoveCity_DepartmentStoreRooftop_Text_1A0BE4 - waittext + waitmessage pokemartdecor LilycoveCity_DepartmentStoreRooftop_Decorations msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C02, 4 release @@ -51,9 +51,9 @@ LilycoveCity_DepartmentStoreRooftop_Decorations:: @ 815A180 LilycoveCity_DepartmentStoreRooftop_EventScript_15A1A0:: @ 815A1A0 lock faceplayer - event_96 3 + getpricereduction 3 compare RESULT, 1 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A1BA msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C61F, 4 release end @@ -70,10 +70,10 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1C4:: @ 815A1C4 LilycoveCity_DepartmentStoreRooftop_EventScript_15A1CD:: @ 815A1CD lockall message LilycoveCity_DepartmentStoreRooftop_Text_18C72B - waittext - showmoney 0, 0 - snop - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE + waitmessage + showmoneybox 0, 0 + nop + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE end LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE:: @ 815A1DE @@ -84,22 +84,22 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE:: @ 815A1DE case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A227 case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_15A232 msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C7C3, 4 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A396 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A396 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A21C:: @ 815A21C setvar 0x4000, 26 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A227:: @ 815A227 setvar 0x4000, 27 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A232:: @ 815A232 setvar 0x4000, 28 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A267 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D:: @ 815A23D @@ -115,88 +115,88 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B:: @ 815A24B return LilycoveCity_DepartmentStoreRooftop_EventScript_15A252:: @ 815A252 - paymoney 0xc8, 0 + takemoney 0xc8, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_15A259:: @ 815A259 - paymoney 0x12c, 0 + takemoney 0x12c, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_15A260:: @ 815A260 - paymoney 0x15e, 0 + takemoney 0x15e, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_15A267:: @ 815A267 compare 0x4001, 0 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A23D compare 0x4001, 1 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A244 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A244 compare 0x4001, 2 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A24B compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A checkitemspace 0x4000, 1 compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 compare 0x4001, 0 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A252 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A252 compare 0x4001, 1 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A259 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A259 compare 0x4001, 2 - callif 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A260 - updatemoney 0, 0 - snop - bufferitem 0, 0x4000 - playsfx 106 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_15A260 + updatemoneybox 0, 0 + nop + getitemname 0, 0x4000 + playse 106 msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C75F, 4 additem 0x4000, 1 - bufferitem 1, 0x4000 - bufferstd 2, 14 + getitemname 1, 0x4000 + getstdstring 2, 14 msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4 random 64 compare RESULT, 0 - jumpif 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E + goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E checkitemspace 0x4000, 1 compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 - playsfx 106 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 + playse 106 msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C780, 4 additem 0x4000, 1 - bufferitem 1, 0x4000 - bufferstd 2, 14 + getitemname 1, 0x4000 + getstdstring 2, 14 msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4 random 64 compare RESULT, 0 - jumpif 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E + goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E checkitemspace 0x4000, 1 compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 - playsfx 106 + goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_15A388 + playse 106 msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C780, 4 additem 0x4000, 1 - bufferitem 1, 0x4000 - bufferstd 2, 14 + getitemname 1, 0x4000 + getstdstring 2, 14 msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C8C, 4 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E end LilycoveCity_DepartmentStoreRooftop_EventScript_15A36E:: @ 815A36E message LilycoveCity_DepartmentStoreRooftop_Text_18C72B - waittext - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE + waitmessage + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A1DE end LilycoveCity_DepartmentStoreRooftop_EventScript_15A37A:: @ 815A37A msgbox LilycoveCity_DepartmentStoreRooftop_Text_18C7AF, 4 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A396 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A396 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A388:: @ 815A388 msgbox LilycoveCity_DepartmentStoreRooftop_Text_1A0C79, 4 - jump LilycoveCity_DepartmentStoreRooftop_EventScript_15A396 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_15A396 end LilycoveCity_DepartmentStoreRooftop_EventScript_15A396:: @ 815A396 - hidemoney 0, 0 + hidemoneybox 0, 0 releaseall end diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc index feff49c42..7acd29523 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc @@ -8,51 +8,51 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D55:: @ 8159D55 LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E lock faceplayer - checkdailyflags + dodailyevents compare 0x4045, 0 - jumpif 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1 + goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_159EB1 checkflag 2250 - jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E4C + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E4C msgbox LilycoveCity_DepartmentStore_1F_Text_1C4B5E, 5 compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E56 + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E56 setflag 2250 message LilycoveCity_DepartmentStore_1F_Text_1C4CC6 - waittext + waitmessage special RetrieveLotteryNumber copyvar 0x8008, RESULT special sub_810F9AC msgbox LilycoveCity_DepartmentStore_1F_Text_1C4CF6, 4 - move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843 - waitmove 0 - playsfx 4 + applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843 + waitmovement 0 + playse 4 special DoLotteryCornerComputerEffect special PickLotteryCornerTicket - pause 220 + delay 220 special EndLotteryCornerComputerEffect - pause 10 - move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0839 - waitmove 0 + delay 10 + applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_1A0839 + waitmovement 0 compare 0x8004, 0 - jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E60 - inccounter GAME_STAT_WON_POKEMON_LOTTERY + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E60 + incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY compare 0x8006, 0 - callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E3A + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E3A compare 0x8006, 1 - callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E43 - bufferitem 0, 0x8005 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E43 + getitemname 0, 0x8005 compare 0x8004, 1 - callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E78 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E78 compare 0x8004, 2 - callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E81 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E81 compare 0x8004, 3 - callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E8A + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E8A compare 0x8004, 4 - callif 1, LilycoveCity_DepartmentStore_1F_EventScript_159E93 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_159E93 giveitem 0x8005 compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159E9C - jump LilycoveCity_DepartmentStore_1F_EventScript_159E6E + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159E9C + goto LilycoveCity_DepartmentStore_1F_EventScript_159E6E end LilycoveCity_DepartmentStore_1F_EventScript_159E3A:: @ 8159E3A @@ -75,7 +75,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159E56:: @ 8159E56 LilycoveCity_DepartmentStore_1F_EventScript_159E60:: @ 8159E60 msgbox LilycoveCity_DepartmentStore_1F_Text_1C4E27, 4 - jump LilycoveCity_DepartmentStore_1F_EventScript_159E6E + goto LilycoveCity_DepartmentStore_1F_EventScript_159E6E end LilycoveCity_DepartmentStore_1F_EventScript_159E6E:: @ 8159E6E @@ -101,7 +101,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159E93:: @ 8159E93 LilycoveCity_DepartmentStore_1F_EventScript_159E9C:: @ 8159E9C copyvar 0x4045, 0x8005 - jump LilycoveCity_DepartmentStore_1F_EventScript_159EA7 + goto LilycoveCity_DepartmentStore_1F_EventScript_159EA7 end LilycoveCity_DepartmentStore_1F_EventScript_159EA7:: @ 8159EA7 @@ -113,7 +113,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_159EB1:: @ 8159EB1 msgbox LilycoveCity_DepartmentStore_1F_Text_1C4FCC, 4 giveitem 0x4045 compare RESULT, 0 - jumpeq LilycoveCity_DepartmentStore_1F_EventScript_159EA7 + goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_159EA7 setvar 0x4045, 0 release end @@ -133,8 +133,8 @@ LilycoveCity_DepartmentStore_1F_EventScript_159EE9:: @ 8159EE9 LilycoveCity_DepartmentStore_1F_EventScript_159EF2:: @ 8159EF2 lock faceplayer - checksound - pokecry SPECIES_AZUMARILL, 0 + waitse + playpokecry SPECIES_AZUMARILL, 0 msgbox LilycoveCity_DepartmentStore_1F_Text_18C0C3, 4 waitpokecry release diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc index e54883714..25e981628 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc @@ -17,7 +17,7 @@ LilycoveCity_DepartmentStore_2F_EventScript_159F2A:: @ 8159F2A lock faceplayer message LilycoveCity_DepartmentStore_2F_Text_1A0BE4 - waittext + waitmessage pokemart LilycoveCity_DepartmentStore_2F_Items1 msgbox LilycoveCity_DepartmentStore_2F_Text_1A0C02, 4 release @@ -44,7 +44,7 @@ LilycoveCity_DepartmentStore_2F_EventScript_159F5E:: @ 8159F5E lock faceplayer message LilycoveCity_DepartmentStore_2F_Text_1A0BE4 - waittext + waitmessage pokemart LilycoveCity_DepartmentStore_2F_Items2 msgbox LilycoveCity_DepartmentStore_2F_Text_1A0C02, 4 release diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc index e669cef7f..1f55f5018 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc @@ -5,7 +5,7 @@ LilycoveCity_DepartmentStore_3F_EventScript_159F91:: @ 8159F91 lock faceplayer message LilycoveCity_DepartmentStore_3F_Text_1A0BE4 - waittext + waitmessage pokemart LilycoveCity_DepartmentStore_3F_Items1 msgbox LilycoveCity_DepartmentStore_3F_Text_1A0C02, 4 release @@ -27,7 +27,7 @@ LilycoveCity_DepartmentStore_3F_EventScript_159FB8:: @ 8159FB8 lock faceplayer message LilycoveCity_DepartmentStore_3F_Text_1A0BE4 - waittext + waitmessage pokemart LilycoveCity_DepartmentStore_3F_Items2 msgbox LilycoveCity_DepartmentStore_3F_Text_1A0C02, 4 release diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc index 994b3b63f..d922d9181 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc @@ -17,7 +17,7 @@ LilycoveCity_DepartmentStore_4F_EventScript_15A019:: @ 815A019 lock faceplayer message LilycoveCity_DepartmentStore_4F_Text_1A0BE4 - waittext + waitmessage pokemart LilycoveCity_DepartmentStore_4F_Items1 msgbox LilycoveCity_DepartmentStore_4F_Text_1A0C02, 4 release @@ -37,7 +37,7 @@ LilycoveCity_DepartmentStore_4F_EventScript_15A03C:: @ 815A03C lock faceplayer message LilycoveCity_DepartmentStore_4F_Text_1A0BE4 - waittext + waitmessage pokemart LilycoveCity_DepartmentStore_4F_Items2 msgbox LilycoveCity_DepartmentStore_4F_Text_1A0C02, 4 release diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc index 0bef8866a..835a0f48d 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc @@ -5,7 +5,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A061:: @ 815A061 lock faceplayer message LilycoveCity_DepartmentStore_5F_Text_1A0BE4 - waittext + waitmessage pokemartbp LilycoveCity_DepartmentStore_5F_Items1 msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4 release @@ -33,7 +33,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A094:: @ 815A094 lock faceplayer message LilycoveCity_DepartmentStore_5F_Text_1A0BE4 - waittext + waitmessage pokemartbp LilycoveCity_DepartmentStore_5F_Items2 msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4 release @@ -58,7 +58,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A0C2:: @ 815A0C2 lock faceplayer message LilycoveCity_DepartmentStore_5F_Text_1A0BE4 - waittext + waitmessage pokemartbp LilycoveCity_DepartmentStore_5F_Items3 msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4 release @@ -83,7 +83,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_15A0F2:: @ 815A0F2 lock faceplayer message LilycoveCity_DepartmentStore_5F_Text_1A0BE4 - waittext + waitmessage pokemartbp LilycoveCity_DepartmentStore_5F_Items4 msgbox LilycoveCity_DepartmentStore_5F_Text_1A0C02, 4 release diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc index aca6b16d4..7e14db994 100644 --- a/data/scripts/maps/LilycoveCity_Harbor.inc +++ b/data/scripts/maps/LilycoveCity_Harbor.inc @@ -3,7 +3,7 @@ LilycoveCity_Harbor_MapScripts:: @ 8159893 .byte 0 LilycoveCity_Harbor_MapScript1_159899:: @ 8159899 - warp6 LilycoveCity, 255, 12, 33 + setescapewarp LilycoveCity, 255, 12, 33 end LilycoveCity_Harbor_EventScript_1598A2:: @ 81598A2 @@ -11,13 +11,13 @@ LilycoveCity_Harbor_EventScript_1598A2:: @ 81598A2 faceplayer checkitem ITEM_EON_TICKET, 1 compare RESULT, 1 - jumpeq LilycoveCity_Harbor_EventScript_1599EE - jump LilycoveCity_Harbor_EventScript_1598BA + goto_if_eq LilycoveCity_Harbor_EventScript_1599EE + goto LilycoveCity_Harbor_EventScript_1598BA end LilycoveCity_Harbor_EventScript_1598BA:: @ 81598BA checkflag 2052 - jumpeq LilycoveCity_Harbor_EventScript_1598CD + goto_if_eq LilycoveCity_Harbor_EventScript_1598CD msgbox LilycoveCity_Harbor_Text_18B306, 4 release end @@ -26,14 +26,14 @@ LilycoveCity_Harbor_EventScript_1598CD:: @ 81598CD msgbox LilycoveCity_Harbor_Text_18B36F, 4 checkitem ITEM_SS_TICKET, 1 compare RESULT, 0 - jumpeq LilycoveCity_Harbor_EventScript_159929 + goto_if_eq LilycoveCity_Harbor_EventScript_159929 message LilycoveCity_Harbor_Text_18B406 - waittext - jump LilycoveCity_Harbor_EventScript_1598F1 + waitmessage + goto LilycoveCity_Harbor_EventScript_1598F1 end LilycoveCity_Harbor_EventScript_1598F1:: @ 81598F1 - multichoicedef 18, 6, 56, 2, 0 + multichoicedefault 18, 6, 56, 2, 0 switch RESULT case 0, LilycoveCity_Harbor_EventScript_159933 case 1, LilycoveCity_Harbor_EventScript_15995B @@ -49,7 +49,7 @@ LilycoveCity_Harbor_EventScript_159929:: @ 8159929 LilycoveCity_Harbor_EventScript_159933:: @ 8159933 msgbox LilycoveCity_Harbor_Text_18B47D, 5 compare RESULT, 0 - jumpeq LilycoveCity_Harbor_EventScript_15997E + goto_if_eq LilycoveCity_Harbor_EventScript_15997E setvar 0x40b4, 5 call LilycoveCity_Harbor_EventScript_15998A warp SSTidalCorridor, 255, 1, 10 @@ -60,7 +60,7 @@ LilycoveCity_Harbor_EventScript_159933:: @ 8159933 LilycoveCity_Harbor_EventScript_15995B:: @ 815995B msgbox LilycoveCity_Harbor_Text_18B499, 5 compare RESULT, 0 - jumpeq LilycoveCity_Harbor_EventScript_15997E + goto_if_eq LilycoveCity_Harbor_EventScript_15997E call LilycoveCity_Harbor_EventScript_15998A warp BattleTower_Outside, 255, 19, 23 waitstate @@ -69,35 +69,35 @@ LilycoveCity_Harbor_EventScript_15995B:: @ 815995B LilycoveCity_Harbor_EventScript_15997E:: @ 815997E message LilycoveCity_Harbor_Text_18B4E2 - waittext - jump LilycoveCity_Harbor_EventScript_1598F1 + waitmessage + goto LilycoveCity_Harbor_EventScript_1598F1 end LilycoveCity_Harbor_EventScript_15998A:: @ 815998A msgbox LilycoveCity_Harbor_Text_18B4B3, 4 - closebutton - move LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841 - waitmove 0 - pause 30 - spriteinvisible LAST_TALKED, 13, 10 + closemessage + applymovement LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841 + waitmovement 0 + delay 30 + hideobject LAST_TALKED, 13, 10 compare FACING, 2 - callif 1, LilycoveCity_Harbor_EventScript_1599D9 + call_if 1, LilycoveCity_Harbor_EventScript_1599D9 compare FACING, 4 - callif 1, LilycoveCity_Harbor_EventScript_1599CE - pause 30 - spriteinvisible 255, 0, 0 + call_if 1, LilycoveCity_Harbor_EventScript_1599CE + delay 30 + hideobject 255, 0, 0 setvar 0x8004, 2 call LilycoveCity_Harbor_EventScript_1A040E return LilycoveCity_Harbor_EventScript_1599CE:: @ 81599CE - move 255, LilycoveCity_Harbor_Movement_159A86 - waitmove 0 + applymovement 255, LilycoveCity_Harbor_Movement_159A86 + waitmovement 0 return LilycoveCity_Harbor_EventScript_1599D9:: @ 81599D9 - move 255, LilycoveCity_Harbor_Movement_159A89 - waitmove 0 + applymovement 255, LilycoveCity_Harbor_Movement_159A89 + waitmovement 0 return LilycoveCity_Harbor_EventScript_1599E4:: @ 81599E4 @@ -107,34 +107,34 @@ LilycoveCity_Harbor_EventScript_1599E4:: @ 81599E4 LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE checkflag 2052 - jumpif 0, LilycoveCity_Harbor_EventScript_1598BA + goto_if 0, LilycoveCity_Harbor_EventScript_1598BA checkflag 206 - jumpeq LilycoveCity_Harbor_EventScript_1598BA + goto_if_eq LilycoveCity_Harbor_EventScript_1598BA checkflag 2131 - jumpif 0, LilycoveCity_Harbor_EventScript_1598BA + goto_if 0, LilycoveCity_Harbor_EventScript_1598BA msgbox LilycoveCity_Harbor_Text_1C50F2, 4 - closebutton - move LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841 - waitmove 0 - pause 30 - spriteinvisible LAST_TALKED, 13, 10 - pause 60 - reappear 4 - pause 30 - move 4, LilycoveCity_Harbor_Movement_1A0839 - waitmove 0 + closemessage + applymovement LAST_TALKED, LilycoveCity_Harbor_Movement_1A0841 + waitmovement 0 + delay 30 + hideobject LAST_TALKED, 13, 10 + delay 60 + addobject 4 + delay 30 + applymovement 4, LilycoveCity_Harbor_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_Harbor_Text_1C5120, 4 - closebutton - move 4, LilycoveCity_Harbor_Movement_1A0841 - waitmove 0 - pause 30 - disappear 4 + closemessage + applymovement 4, LilycoveCity_Harbor_Movement_1A0841 + waitmovement 0 + delay 30 + removeobject 4 compare FACING, 2 - callif 1, LilycoveCity_Harbor_EventScript_1599D9 + call_if 1, LilycoveCity_Harbor_EventScript_1599D9 compare FACING, 4 - callif 1, LilycoveCity_Harbor_EventScript_1599CE - pause 30 - spriteinvisible 255, 0, 0 + call_if 1, LilycoveCity_Harbor_EventScript_1599CE + delay 30 + hideobject 255, 0, 0 special ScrSpecial_HealPlayerParty setvar 0x8004, 2 call LilycoveCity_Harbor_EventScript_1A040E @@ -160,7 +160,7 @@ LilycoveCity_Harbor_EventScript_159A8D:: @ 8159A8D lock faceplayer checkflag 2052 - jumpeq LilycoveCity_Harbor_EventScript_159AA2 + goto_if_eq LilycoveCity_Harbor_EventScript_159AA2 msgbox LilycoveCity_Harbor_Text_18B504, 4 release end diff --git a/data/scripts/maps/LilycoveCity_House1.inc b/data/scripts/maps/LilycoveCity_House1.inc index 3dae362c1..4defe37b8 100644 --- a/data/scripts/maps/LilycoveCity_House1.inc +++ b/data/scripts/maps/LilycoveCity_House1.inc @@ -8,8 +8,8 @@ LilycoveCity_House1_EventScript_159B86:: @ 8159B86 LilycoveCity_House1_EventScript_159B8F:: @ 8159B8F lock faceplayer - checksound - pokecry SPECIES_KECLEON, 0 + waitse + playpokecry SPECIES_KECLEON, 0 msgbox LilycoveCity_House1_Text_18B82B, 4 waitpokecry release diff --git a/data/scripts/maps/LilycoveCity_House2.inc b/data/scripts/maps/LilycoveCity_House2.inc index 75780667d..d3399f5ac 100644 --- a/data/scripts/maps/LilycoveCity_House2.inc +++ b/data/scripts/maps/LilycoveCity_House2.inc @@ -5,11 +5,11 @@ LilycoveCity_House2_EventScript_159BA3:: @ 8159BA3 lock faceplayer checkflag 234 - jumpeq LilycoveCity_House2_EventScript_159BDA + goto_if_eq LilycoveCity_House2_EventScript_159BDA msgbox LilycoveCity_House2_Text_18B83C, 4 giveitem ITEM_TM44 compare RESULT, 0 - jumpeq LilycoveCity_House2_EventScript_1A029B + goto_if_eq LilycoveCity_House2_EventScript_1A029B setflag 234 msgbox LilycoveCity_House2_Text_18B883, 4 release diff --git a/data/scripts/maps/LilycoveCity_House3.inc b/data/scripts/maps/LilycoveCity_House3.inc index 51e4988b3..f700eed9d 100644 --- a/data/scripts/maps/LilycoveCity_House3.inc +++ b/data/scripts/maps/LilycoveCity_House3.inc @@ -12,19 +12,19 @@ LilycoveCity_House3_EventScript_159BF3:: @ 8159BF3 faceplayer msgbox LilycoveCity_House3_Text_18B8CC, 5 compare RESULT, 0 - jumpeq LilycoveCity_House3_EventScript_159C1D + goto_if_eq LilycoveCity_House3_EventScript_159C1D msgbox LilycoveCity_House3_Text_18BA2B, 4 - closebutton - move LAST_TALKED, LilycoveCity_House3_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, LilycoveCity_House3_Movement_1A083D + waitmovement 0 release end LilycoveCity_House3_EventScript_159C1D:: @ 8159C1D msgbox LilycoveCity_House3_Text_18B9DC, 4 - closebutton - move LAST_TALKED, LilycoveCity_House3_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, LilycoveCity_House3_Movement_1A083D + waitmovement 0 release end @@ -32,9 +32,9 @@ LilycoveCity_House3_EventScript_159C32:: @ 8159C32 lock faceplayer msgbox LilycoveCity_House3_Text_18BD64, 4 - closebutton - move LAST_TALKED, LilycoveCity_House3_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, LilycoveCity_House3_Movement_1A083D + waitmovement 0 release end diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc index a481f9c32..06e82d5f8 100644 --- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc @@ -7,14 +7,14 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_15841C:: @ 815841C LilycoveCity_LilycoveMuseum_1F_EventScript_158425:: @ 8158425 lockall - move 2, LilycoveCity_LilycoveMuseum_1F_Movement_1A0839 + applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_1A0839 message LilycoveCity_LilycoveMuseum_1F_Text_1873B9 - waittext + waitmessage multichoice 20, 8, 16, 1 compare RESULT, 0 - jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_158458 + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158458 compare RESULT, 1 - jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_15844F + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_15844F end LilycoveCity_LilycoveMuseum_1F_EventScript_15844F:: @ 815844F @@ -24,9 +24,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_15844F:: @ 815844F LilycoveCity_LilycoveMuseum_1F_EventScript_158458:: @ 8158458 msgbox LilycoveCity_LilycoveMuseum_1F_Text_187495, 5 compare RESULT, 0 - jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_158477 + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158477 compare RESULT, 1 - jumpeq LilycoveCity_LilycoveMuseum_1F_EventScript_158481 + goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_158481 end LilycoveCity_LilycoveMuseum_1F_EventScript_158477:: @ 8158477 @@ -36,9 +36,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_158477:: @ 8158477 LilycoveCity_LilycoveMuseum_1F_EventScript_158481:: @ 8158481 msgbox LilycoveCity_LilycoveMuseum_1F_Text_187534, 3 - move 2, LilycoveCity_LilycoveMuseum_1F_Movement_1584FC - waitmove 0 - disappear 2 + applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_1584FC + waitmovement 0 + removeobject 2 switch FACING case 2, LilycoveCity_LilycoveMuseum_1F_EventScript_1584BD case 3, LilycoveCity_LilycoveMuseum_1F_EventScript_1584D2 @@ -47,24 +47,24 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_158481:: @ 8158481 LilycoveCity_LilycoveMuseum_1F_EventScript_1584BD:: @ 81584BD lockall - move 255, LilycoveCity_LilycoveMuseum_1F_Movement_158504 - waitmove 0 + applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_158504 + waitmovement 0 warp LilycoveCity_LilycoveMuseum_2F, 255, 11, 8 waitstate end LilycoveCity_LilycoveMuseum_1F_EventScript_1584D2:: @ 81584D2 lockall - move 255, LilycoveCity_LilycoveMuseum_1F_Movement_1584FE - waitmove 0 + applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_1584FE + waitmovement 0 warp LilycoveCity_LilycoveMuseum_2F, 255, 11, 8 waitstate end LilycoveCity_LilycoveMuseum_1F_EventScript_1584E7:: @ 81584E7 lockall - move 255, LilycoveCity_LilycoveMuseum_1F_Movement_158501 - waitmove 0 + applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_158501 + waitmovement 0 warp LilycoveCity_LilycoveMuseum_2F, 255, 11, 8 waitstate end @@ -152,8 +152,8 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_158585:: @ 8158585 LilycoveCity_LilycoveMuseum_1F_EventScript_15858E:: @ 815858E msgbox LilycoveCity_LilycoveMuseum_1F_Text_187B04, 2 lockall - move 8, LilycoveCity_LilycoveMuseum_1F_Movement_1A083D - waitmove 0 + applymovement 8, LilycoveCity_LilycoveMuseum_1F_Movement_1A083D + waitmovement 0 releaseall end diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc index b3564ebf5..a4599f14a 100644 --- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc @@ -5,55 +5,55 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 81585AC LilycoveCity_LilycoveMuseum_2F_MapScript1_1585B7:: @ 81585B7 checkflag 160 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6:: @ 81585C6 checkflag 161 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158615 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158615 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5:: @ 81585D5 checkflag 162 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15862D - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15862D + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4:: @ 81585E4 checkflag 163 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158645 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158645 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3:: @ 81585F3 checkflag 164 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15865D + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15865D end LilycoveCity_LilycoveMuseum_2F_EventScript_1585FD:: @ 81585FD setmaptile 10, 6, 606, 1 setmaptile 11, 6, 607, 1 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585C6 end LilycoveCity_LilycoveMuseum_2F_EventScript_158615:: @ 8158615 setmaptile 18, 6, 604, 1 setmaptile 19, 6, 605, 1 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585D5 end LilycoveCity_LilycoveMuseum_2F_EventScript_15862D:: @ 815862D setmaptile 14, 10, 608, 1 setmaptile 15, 10, 609, 1 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585E4 end LilycoveCity_LilycoveMuseum_2F_EventScript_158645:: @ 8158645 setmaptile 6, 10, 602, 1 setmaptile 7, 10, 603, 1 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_1585F3 end LilycoveCity_LilycoveMuseum_2F_EventScript_15865D:: @ 815865D @@ -67,19 +67,19 @@ LilycoveCity_LilycoveMuseum_2F_MapScript2_158670:: @ 8158670 LilycoveCity_LilycoveMuseum_2F_EventScript_15867A:: @ 815867A lockall - move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 - move 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3 - waitmove 0 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 + applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3 + waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_187C42, 3 - move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5 - waitmove 0 - move 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5 - waitmove 0 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5 + waitmovement 0 + applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5 + waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_187C64, 3 - move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 - waitmove 0 - move 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3 - waitmove 0 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 + waitmovement 0 + applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_1586D3 + waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_187E1D, 3 copyvar 0x4094, 0x1 releaseall @@ -97,8 +97,8 @@ LilycoveCity_LilycoveMuseum_2F_Movement_1586D5:: @ 81586D5 LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8:: @ 81586D8 lockall checkflag 236 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158793 - specialval 0x8004, sub_80C4D50 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158793 + specialvar 0x8004, sub_80C4D50 switch 0x8004 case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C @@ -113,29 +113,29 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_15872C:: @ 815872C end LilycoveCity_LilycoveMuseum_2F_EventScript_158735:: @ 8158735 - move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 - waitmove 0 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_18802F, 4 - move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1586D5 msgbox LilycoveCity_LilycoveMuseum_2F_Text_188041, 4 - jump LilycoveCity_LilycoveMuseum_2F_EventScript_15875C + goto LilycoveCity_LilycoveMuseum_2F_EventScript_15875C end LilycoveCity_LilycoveMuseum_2F_EventScript_15875C:: @ 815875C - move 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_1A0839 msgbox LilycoveCity_LilycoveMuseum_2F_Text_188120, 4 givedecoration 44 compare RESULT, 0 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158783 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158783 setflag 236 - closebutton + closemessage releaseall end LilycoveCity_LilycoveMuseum_2F_EventScript_158783:: @ 8158783 call LilycoveCity_LilycoveMuseum_2F_EventScript_1A02B8 msgbox LilycoveCity_LilycoveMuseum_2F_Text_188166, 4 - closebutton + closemessage releaseall end @@ -147,35 +147,35 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_158793:: @ 8158793 LilycoveCity_LilycoveMuseum_2F_EventScript_15879D:: @ 815879D lockall checkflag 162 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15883C + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15883C msgbox LilycoveCity_LilycoveMuseum_2F_Text_188219, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587B0:: @ 81587B0 lockall checkflag 164 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158858 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158858 msgbox LilycoveCity_LilycoveMuseum_2F_Text_18824C, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587C3:: @ 81587C3 lockall checkflag 160 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158820 + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_158820 msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882B4, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587D6:: @ 81587D6 lockall checkflag 161 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15882E + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15882E msgbox LilycoveCity_LilycoveMuseum_2F_Text_188281, 3 end LilycoveCity_LilycoveMuseum_2F_EventScript_1587E9:: @ 81587E9 lockall checkflag 163 - jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_15884A + goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_15884A msgbox LilycoveCity_LilycoveMuseum_2F_Text_1882E6, 3 end @@ -198,34 +198,34 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_158817:: @ 8158817 LilycoveCity_LilycoveMuseum_2F_EventScript_158820:: @ 8158820 msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3 fadescreen 1 - showcontestwinner 9 + drawcontestwinner 9 releaseall end LilycoveCity_LilycoveMuseum_2F_EventScript_15882E:: @ 815882E msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3 fadescreen 1 - showcontestwinner 10 + drawcontestwinner 10 releaseall end LilycoveCity_LilycoveMuseum_2F_EventScript_15883C:: @ 815883C msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3 fadescreen 1 - showcontestwinner 11 + drawcontestwinner 11 releaseall end LilycoveCity_LilycoveMuseum_2F_EventScript_15884A:: @ 815884A msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3 fadescreen 1 - showcontestwinner 12 + drawcontestwinner 12 releaseall end LilycoveCity_LilycoveMuseum_2F_EventScript_158858:: @ 8158858 msgbox LilycoveCity_LilycoveMuseum_2F_Text_18831A, 3 fadescreen 1 - showcontestwinner 13 + drawcontestwinner 13 releaseall end diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc index 2786c930c..02558e9d3 100644 --- a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc +++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc @@ -3,8 +3,8 @@ LilycoveCity_MoveDeletersHouse_MapScripts:: @ 8159AAD LilycoveCity_MoveDeletersHouse_EventScript_159AAE:: @ 8159AAE lockall - move 1, LilycoveCity_MoveDeletersHouse_Movement_1A0839 - waitmove 0 + applymovement 1, LilycoveCity_MoveDeletersHouse_Movement_1A0839 + waitmovement 0 msgbox LilycoveCity_MoveDeletersHouse_Text_18B622, 5 switch RESULT case 1, LilycoveCity_MoveDeletersHouse_EventScript_159ADE @@ -17,19 +17,19 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE special sub_80F9A0C waitstate compare 0x8004, 255 - jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B7B + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159B7B special sub_80FA148 compare RESULT, 1 - jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B71 + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159B71 special ScrSpecial_CountPokemonMoves compare RESULT, 1 - jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B64 + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159B64 msgbox LilycoveCity_MoveDeletersHouse_Text_18B6B0, 4 fadescreen 1 special sub_80F9EEC fadescreen 0 compare 0x8005, 4 - jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159ADE + goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_159ADE special ScrSpecial_GetPokemonNicknameAndMoveName msgbox LilycoveCity_MoveDeletersHouse_Text_18B6F2, 5 switch RESULT @@ -40,7 +40,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53 special sub_80FA0DC - fanfare 378 + playfanfare 378 waitfanfare msgbox LilycoveCity_MoveDeletersHouse_Text_18B71E, 4 releaseall diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc index 5809e28c8..20b5c5f13 100644 --- a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc @@ -9,7 +9,7 @@ LilycoveCity_PokemonCenter_1F_MapScript1_15932D:: @ 815932D LilycoveCity_PokemonCenter_1F_EventScript_159331:: @ 8159331 setvar 0x800b, 1 call LilycoveCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end @@ -22,7 +22,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_159348:: @ 8159348 lock faceplayer checkflag 2061 - jumpeq LilycoveCity_PokemonCenter_1F_EventScript_15935D + goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_15935D msgbox LilycoveCity_PokemonCenter_1F_Text_18A048, 4 release end diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc index e503ef4ec..13217b340 100644 --- a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc +++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc @@ -9,21 +9,21 @@ LilycoveCity_PokemonTrainerFanClub_MapScript2_159395:: @ 8159395 LilycoveCity_PokemonTrainerFanClub_EventScript_15939F:: @ 815939F lockall - move 1, LilycoveCity_PokemonTrainerFanClub_Movement_1A0845 - waitmove 0 + applymovement 1, LilycoveCity_PokemonTrainerFanClub_Movement_1A0845 + waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A1D6, 4 - move 4, LilycoveCity_PokemonTrainerFanClub_Movement_159402 - move 2, LilycoveCity_PokemonTrainerFanClub_Movement_1593FA - waitmove 0 - move 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A0843 - waitmove 0 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_159402 + applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_1593FA + waitmovement 0 + applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A0843 + waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A1E8, 4 - move 4, LilycoveCity_PokemonTrainerFanClub_Movement_159409 - waitmove 0 - move 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A083F - waitmove 0 - move 4, LilycoveCity_PokemonTrainerFanClub_Movement_15940C - waitmove 0 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_159409 + waitmovement 0 + applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_1A083F + waitmovement 0 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_15940C + waitmovement 0 setvar 0x4095, 2 releaseall end @@ -62,77 +62,77 @@ LilycoveCity_PokemonTrainerFanClub_Movement_15940C:: @ 815940C LilycoveCity_PokemonTrainerFanClub_MapScript1_159412:: @ 8159412 compare 0x4095, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159515 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159515 compare 0x4095, 2 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159429 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159429 end LilycoveCity_PokemonTrainerFanClub_EventScript_159429:: @ 8159429 special sub_810FCE8 setvar 0x8004, 8 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5 setvar 0x8004, 9 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD setvar 0x8004, 10 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5 setvar 0x8004, 11 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED setvar 0x8004, 12 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5 setvar 0x8004, 13 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD setvar 0x8004, 14 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505 setvar 0x8004, 15 - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 0 - callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D end LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5:: @ 81594D5 - movespriteperm 1, 7, 5 + setobjectxyperm 1, 7, 5 return LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD:: @ 81594DD - movespriteperm 3, 3, 4 + setobjectxyperm 3, 3, 4 return LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5:: @ 81594E5 - movespriteperm 4, 7, 2 + setobjectxyperm 4, 7, 2 return LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED:: @ 81594ED - movespriteperm 5, 5, 5 + setobjectxyperm 5, 5, 5 return LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5:: @ 81594F5 - movespriteperm 6, 5, 2 + setobjectxyperm 6, 5, 2 return LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD:: @ 81594FD - movespriteperm 2, 8, 4 + setobjectxyperm 2, 8, 4 return LilycoveCity_PokemonTrainerFanClub_EventScript_159505:: @ 8159505 - movespriteperm 7, 3, 3 + setobjectxyperm 7, 3, 3 return LilycoveCity_PokemonTrainerFanClub_EventScript_15950D:: @ 815950D - movespriteperm 8, 8, 3 + setobjectxyperm 8, 8, 3 return LilycoveCity_PokemonTrainerFanClub_EventScript_159515:: @ 8159515 @@ -149,21 +149,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15952F:: @ 815952F setvar 0x8004, 13 special sub_810FDAC compare 0x4095, 0 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15959C - specialval RESULT, sub_810FD60 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15959C + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15956E - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15956E + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159592 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159592 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A400, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_15956E:: @ 815956E - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159588 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159588 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A36A, 4 release end @@ -189,21 +189,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6:: @ 81595A6 setvar 0x8004, 8 special sub_810FDAC compare 0x4095, 0 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159613 - specialval RESULT, sub_810FD60 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159613 + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5 - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5 + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159609 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159609 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A629, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5:: @ 81595E5 - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595FF + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1595FF msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A584, 4 release end @@ -229,21 +229,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15961D:: @ 815961D setvar 0x8004, 9 special sub_810FDAC compare 0x4095, 0 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15968A - specialval RESULT, sub_810FD60 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15968A + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15965C - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15965C + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159680 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159680 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A814, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_15965C:: @ 815965C - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159676 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159676 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A71E, 4 release end @@ -269,21 +269,21 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159694:: @ 8159694 setvar 0x8004, 10 special sub_810FDAC compare 0x4095, 0 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159701 - specialval RESULT, sub_810FD60 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159701 + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3 - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3 + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596F7 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1596F7 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AB0A, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3:: @ 81596D3 - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596ED + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1596ED msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AA39, 4 release end @@ -308,20 +308,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15970B:: @ 815970B faceplayer setvar 0x8004, 11 special sub_810FDAC - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15973F - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15973F + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159763 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159763 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18ACC7, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_15973F:: @ 815973F - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159759 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159759 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AC15, 4 release end @@ -341,20 +341,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15976D:: @ 815976D faceplayer setvar 0x8004, 12 special sub_810FDAC - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1 - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1 + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597C5 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1597C5 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AE63, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1:: @ 81597A1 - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597BB + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_1597BB msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AD6D, 4 release end @@ -374,20 +374,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF:: @ 81597CF faceplayer setvar 0x8004, 14 special sub_810FDAC - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159803 - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159803 + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159827 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159827 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B030, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_159803:: @ 8159803 - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15981D + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15981D msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AF62, 4 release end @@ -407,20 +407,20 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159831:: @ 8159831 faceplayer setvar 0x8004, 15 special sub_810FDAC - specialval RESULT, sub_810FD60 + specialvar RESULT, sub_810FD60 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159865 - specialval RESULT, sub_810FCB0 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159865 + specialvar RESULT, sub_810FCB0 compare RESULT, 7 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159889 + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_159889 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B1FD, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_159865:: @ 8159865 - specialval RESULT, sub_810FCB0 + specialvar RESULT, sub_810FCB0 compare RESULT, 1 - jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15987F + goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_15987F msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B16E, 4 release end diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc index 2a4f77529..220aeead7 100644 --- a/data/scripts/maps/LittlerootTown.inc +++ b/data/scripts/maps/LittlerootTown.inc @@ -6,19 +6,19 @@ LittlerootTown_MapScripts:: @ 814D509 LittlerootTown_MapScript1_14D514:: @ 814D514 setflag 2063 compare 0x4092, 2 - callif 1, LittlerootTown_EventScript_14D57B + call_if 1, LittlerootTown_EventScript_14D57B checkflag 82 - callif 0, LittlerootTown_EventScript_14D583 + call_if 0, LittlerootTown_EventScript_14D583 compare 0x4050, 3 - callif 1, LittlerootTown_EventScript_14D5A6 + call_if 1, LittlerootTown_EventScript_14D5A6 compare 0x4082, 4 - callif 1, LittlerootTown_EventScript_14D570 + call_if 1, LittlerootTown_EventScript_14D570 compare 0x408c, 4 - callif 1, LittlerootTown_EventScript_14D570 + call_if 1, LittlerootTown_EventScript_14D570 compare 0x40c7, 1 - callif 1, LittlerootTown_EventScript_14D567 + call_if 1, LittlerootTown_EventScript_14D567 compare 0x408d, 3 - callif 1, LittlerootTown_EventScript_14D563 + call_if 1, LittlerootTown_EventScript_14D563 end LittlerootTown_EventScript_14D563:: @ 814D563 @@ -36,37 +36,37 @@ LittlerootTown_EventScript_14D570:: @ 814D570 return LittlerootTown_EventScript_14D57B:: @ 814D57B - movespriteperm 4, 14, 8 + setobjectxyperm 4, 14, 8 return LittlerootTown_EventScript_14D583:: @ 814D583 compare 0x4050, 0 - jumpeq LittlerootTown_EventScript_14D59A - movespriteperm 1, 10, 1 - spritebehave 1, 7 + goto_if_eq LittlerootTown_EventScript_14D59A + setobjectxyperm 1, 10, 1 + setobjectmovementtype 1, 7 return LittlerootTown_EventScript_14D59A:: @ 814D59A - movespriteperm 1, 7, 2 - spritebehave 1, 8 + setobjectxyperm 1, 7, 2 + setobjectmovementtype 1, 8 return LittlerootTown_EventScript_14D5A6:: @ 814D5A6 clearflag 752 - spritebehave 4, 8 - checkgender + setobjectmovementtype 4, 8 + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D5C5 + call_if 1, LittlerootTown_EventScript_14D5C5 compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D5CD + call_if 1, LittlerootTown_EventScript_14D5CD return LittlerootTown_EventScript_14D5C5:: @ 814D5C5 - movespriteperm 4, 5, 9 + setobjectxyperm 4, 5, 9 return LittlerootTown_EventScript_14D5CD:: @ 814D5CD - movespriteperm 4, 14, 9 + setobjectxyperm 4, 14, 9 return LittlerootTown_MapScript2_14D5D5:: @ 814D5D5 @@ -81,7 +81,7 @@ LittlerootTown_EventScript_14D5EF:: @ 814D5EF setvar 0x8005, 8 call LittlerootTown_EventScript_14D62B setflag 761 - warpmuted LittlerootTown_BrendansHouse_1F, 255, 8, 8 + warpsilent LittlerootTown_BrendansHouse_1F, 255, 8, 8 waitstate releaseall end @@ -92,41 +92,41 @@ LittlerootTown_EventScript_14D60D:: @ 814D60D setvar 0x8005, 8 call LittlerootTown_EventScript_14D62B setflag 762 - warpmuted LittlerootTown_MaysHouse_1F, 255, 2, 8 + warpsilent LittlerootTown_MaysHouse_1F, 255, 2, 8 waitstate releaseall end LittlerootTown_EventScript_14D62B:: @ 814D62B - pause 15 - playsfx 10 - move 255, LittlerootTown_Movement_14D6C0 - waitmove 0 - setdooropened 0x8004, 0x8005 - doorchange - reappear 4 - move 4, LittlerootTown_Movement_14D6AC - waitmove 0 - setdoorclosed 0x8004, 0x8005 - doorchange - pause 10 - move 4, LittlerootTown_Movement_14D6AE - waitmove 0 + delay 15 + playse 10 + applymovement 255, LittlerootTown_Movement_14D6C0 + waitmovement 0 + opendoor 0x8004, 0x8005 + waitdooranim + addobject 4 + applymovement 4, LittlerootTown_Movement_14D6AC + waitmovement 0 + closedoor 0x8004, 0x8005 + waitdooranim + delay 10 + applymovement 4, LittlerootTown_Movement_14D6AE + waitmovement 0 msgbox LittlerootTown_Text_16A7C9, 4 - closebutton - move 4, LittlerootTown_Movement_14D6B1 - move 255, LittlerootTown_Movement_14D6B8 - waitmove 0 - setdooropened 0x8004, 0x8005 - doorchange - move 4, LittlerootTown_Movement_14D6B5 - move 255, LittlerootTown_Movement_14D6BD - waitmove 0 + closemessage + applymovement 4, LittlerootTown_Movement_14D6B1 + applymovement 255, LittlerootTown_Movement_14D6B8 + waitmovement 0 + opendoor 0x8004, 0x8005 + waitdooranim + applymovement 4, LittlerootTown_Movement_14D6B5 + applymovement 255, LittlerootTown_Movement_14D6BD + waitmovement 0 setflag 752 setvar 0x4092, 3 - spriteinvisible 255, 0, 0 - setdoorclosed 0x8004, 0x8005 - doorchange + hideobject 255, 0, 0 + closedoor 0x8004, 0x8005 + waitdooranim clearflag 868 clearflag 0x4000 return @@ -188,20 +188,20 @@ LittlerootTown_EventScript_14D6DF:: @ 814D6DF lock faceplayer checkflag 116 - jumpeq LittlerootTown_EventScript_14D72F + goto_if_eq LittlerootTown_EventScript_14D72F checkflag 82 - jumpeq LittlerootTown_EventScript_14D722 + goto_if_eq LittlerootTown_EventScript_14D722 compare 0x4050, 0 - jumpif 5, LittlerootTown_EventScript_14D708 + goto_if 5, LittlerootTown_EventScript_14D708 msgbox LittlerootTown_Text_16ACEB, 4 release end LittlerootTown_EventScript_14D708:: @ 814D708 msgbox LittlerootTown_Text_16AD82, 4 - closebutton - move 1, LittlerootTown_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, LittlerootTown_Movement_1A083D + waitmovement 0 setvar 0x4050, 2 release end @@ -219,22 +219,22 @@ LittlerootTown_EventScript_14D72F:: @ 814D72F LittlerootTown_EventScript_14D739:: @ 814D739 lockall - move 1, LittlerootTown_Movement_14D779 - waitmove 0 + applymovement 1, LittlerootTown_Movement_14D779 + waitmovement 0 call LittlerootTown_EventScript_14D755 - move 1, LittlerootTown_Movement_14D789 - waitmove 0 + applymovement 1, LittlerootTown_Movement_14D789 + waitmovement 0 releaseall end LittlerootTown_EventScript_14D755:: @ 814D755 msgbox LittlerootTown_Text_16ACEB, 4 - closebutton - move 1, LittlerootTown_Movement_14D787 - move 255, LittlerootTown_Movement_14D793 - waitmove 0 + closemessage + applymovement 1, LittlerootTown_Movement_14D787 + applymovement 255, LittlerootTown_Movement_14D793 + waitmovement 0 msgbox LittlerootTown_Text_16AD3C, 4 - closebutton + closemessage return LittlerootTown_Movement_14D779:: @ 814D779 @@ -277,11 +277,11 @@ LittlerootTown_Movement_14D793:: @ 814D793 LittlerootTown_EventScript_14D797:: @ 814D797 lockall - move 1, LittlerootTown_Movement_14D7B3 - waitmove 0 + applymovement 1, LittlerootTown_Movement_14D7B3 + waitmovement 0 call LittlerootTown_EventScript_14D755 - move 1, LittlerootTown_Movement_14D7C0 - waitmove 0 + applymovement 1, LittlerootTown_Movement_14D7C0 + waitmovement 0 releaseall end @@ -311,14 +311,14 @@ LittlerootTown_Movement_14D7C0:: @ 814D7C0 LittlerootTown_EventScript_14D7C7:: @ 814D7C7 lockall - move 1, LittlerootTown_Movement_1A0843 - waitmove 0 - move 255, LittlerootTown_Movement_1A083F - waitmove 0 + applymovement 1, LittlerootTown_Movement_1A0843 + waitmovement 0 + applymovement 255, LittlerootTown_Movement_1A083F + waitmovement 0 msgbox LittlerootTown_Text_16AD82, 4 - closebutton - move 1, LittlerootTown_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, LittlerootTown_Movement_1A083D + waitmovement 0 setvar 0x4050, 2 releaseall end @@ -333,11 +333,11 @@ LittlerootTown_EventScript_14D7FF:: @ 814D7FF LittlerootTown_EventScript_14D808:: @ 814D808 lockall - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D822 + call_if 1, LittlerootTown_EventScript_14D822 compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D82B + call_if 1, LittlerootTown_EventScript_14D82B releaseall end @@ -351,11 +351,11 @@ LittlerootTown_EventScript_14D82B:: @ 814D82B LittlerootTown_EventScript_14D834:: @ 814D834 lockall - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D84E + call_if 1, LittlerootTown_EventScript_14D84E compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D857 + call_if 1, LittlerootTown_EventScript_14D857 releaseall end @@ -370,66 +370,66 @@ LittlerootTown_EventScript_14D857:: @ 814D857 LittlerootTown_EventScript_14D860:: @ 814D860 lockall setvar 0x8008, 0 - movesprite 4, 10, 9 - jump LittlerootTown_EventScript_14D8B6 + setobjectxy 4, 10, 9 + goto LittlerootTown_EventScript_14D8B6 end LittlerootTown_EventScript_14D873:: @ 814D873 lockall setvar 0x8008, 1 - movesprite 4, 11, 9 - jump LittlerootTown_EventScript_14D8B6 + setobjectxy 4, 11, 9 + goto LittlerootTown_EventScript_14D8B6 end LittlerootTown_EventScript_14D886:: @ 814D886 lockall setvar 0x8008, 2 - jump LittlerootTown_EventScript_14D8B6 + goto LittlerootTown_EventScript_14D8B6 end LittlerootTown_EventScript_14D892:: @ 814D892 lockall setvar 0x8008, 3 - jump LittlerootTown_EventScript_14D8B6 + goto LittlerootTown_EventScript_14D8B6 end LittlerootTown_EventScript_14D89E:: @ 814D89E lockall setvar 0x8008, 4 - jump LittlerootTown_EventScript_14D8B6 + goto LittlerootTown_EventScript_14D8B6 end LittlerootTown_EventScript_14D8AA:: @ 814D8AA lockall setvar 0x8008, 5 - jump LittlerootTown_EventScript_14D8B6 + goto LittlerootTown_EventScript_14D8B6 end LittlerootTown_EventScript_14D8B6:: @ 814D8B6 - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D93C + call_if 1, LittlerootTown_EventScript_14D93C compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D947 - checkgender + call_if 1, LittlerootTown_EventScript_14D947 + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D926 + call_if 1, LittlerootTown_EventScript_14D926 compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D931 + call_if 1, LittlerootTown_EventScript_14D931 msgbox LittlerootTown_Text_16A8EE, 4 - closebutton - checkgender + closemessage + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D952 + call_if 1, LittlerootTown_EventScript_14D952 compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D995 + call_if 1, LittlerootTown_EventScript_14D995 call LittlerootTown_EventScript_14DD38 - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14DAAA + call_if 1, LittlerootTown_EventScript_14DAAA compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14DAED - jump LittlerootTown_EventScript_14DD2B + call_if 1, LittlerootTown_EventScript_14DAED + goto LittlerootTown_EventScript_14DD2B end LittlerootTown_EventScript_14D926:: @ 814D926 @@ -443,249 +443,249 @@ LittlerootTown_EventScript_14D931:: @ 814D931 return LittlerootTown_EventScript_14D93C:: @ 814D93C - move 4, LittlerootTown_Movement_1A0843 - waitmove 0 + applymovement 4, LittlerootTown_Movement_1A0843 + waitmovement 0 return LittlerootTown_EventScript_14D947:: @ 814D947 - move 4, LittlerootTown_Movement_1A083F - waitmove 0 + applymovement 4, LittlerootTown_Movement_1A083F + waitmovement 0 return LittlerootTown_EventScript_14D952:: @ 814D952 compare 0x8008, 0 - callif 1, LittlerootTown_EventScript_14D9D8 + call_if 1, LittlerootTown_EventScript_14D9D8 compare 0x8008, 1 - callif 1, LittlerootTown_EventScript_14D9ED + call_if 1, LittlerootTown_EventScript_14D9ED compare 0x8008, 2 - callif 1, LittlerootTown_EventScript_14DA02 + call_if 1, LittlerootTown_EventScript_14DA02 compare 0x8008, 3 - callif 1, LittlerootTown_EventScript_14DA17 + call_if 1, LittlerootTown_EventScript_14DA17 compare 0x8008, 4 - callif 1, LittlerootTown_EventScript_14DA2C + call_if 1, LittlerootTown_EventScript_14DA2C compare 0x8008, 5 - callif 1, LittlerootTown_EventScript_14DA41 + call_if 1, LittlerootTown_EventScript_14DA41 return LittlerootTown_EventScript_14D995:: @ 814D995 compare 0x8008, 0 - callif 1, LittlerootTown_EventScript_14D9D8 + call_if 1, LittlerootTown_EventScript_14D9D8 compare 0x8008, 1 - callif 1, LittlerootTown_EventScript_14D9ED + call_if 1, LittlerootTown_EventScript_14D9ED compare 0x8008, 2 - callif 1, LittlerootTown_EventScript_14DA56 + call_if 1, LittlerootTown_EventScript_14DA56 compare 0x8008, 3 - callif 1, LittlerootTown_EventScript_14DA6B + call_if 1, LittlerootTown_EventScript_14DA6B compare 0x8008, 4 - callif 1, LittlerootTown_EventScript_14DA80 + call_if 1, LittlerootTown_EventScript_14DA80 compare 0x8008, 5 - callif 1, LittlerootTown_EventScript_14DA95 + call_if 1, LittlerootTown_EventScript_14DA95 return LittlerootTown_EventScript_14D9D8:: @ 814D9D8 - move 255, LittlerootTown_Movement_1A0845 - waitmove 0 - move 4, LittlerootTown_Movement_14DC76 - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A0845 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC76 + waitmovement 0 return LittlerootTown_EventScript_14D9ED:: @ 814D9ED - move 255, LittlerootTown_Movement_1A0845 - waitmove 0 - move 4, LittlerootTown_Movement_14DC7D - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A0845 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC7D + waitmovement 0 return LittlerootTown_EventScript_14DA02:: @ 814DA02 - move 255, LittlerootTown_Movement_1A083F - waitmove 0 - move 4, LittlerootTown_Movement_14DC84 - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A083F + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC84 + waitmovement 0 return LittlerootTown_EventScript_14DA17:: @ 814DA17 - move 255, LittlerootTown_Movement_1A083F - waitmove 0 - move 4, LittlerootTown_Movement_14DC89 - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A083F + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC89 + waitmovement 0 return LittlerootTown_EventScript_14DA2C:: @ 814DA2C - move 255, LittlerootTown_Movement_1A083F - waitmove 0 - move 4, LittlerootTown_Movement_14DC8F - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A083F + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC8F + waitmovement 0 return LittlerootTown_EventScript_14DA41:: @ 814DA41 - move 255, LittlerootTown_Movement_1A083F - waitmove 0 - move 4, LittlerootTown_Movement_14DC92 - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A083F + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC92 + waitmovement 0 return LittlerootTown_EventScript_14DA56:: @ 814DA56 - move 255, LittlerootTown_Movement_1A0843 - waitmove 0 - move 4, LittlerootTown_Movement_14DC96 - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A0843 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC96 + waitmovement 0 return LittlerootTown_EventScript_14DA6B:: @ 814DA6B - move 255, LittlerootTown_Movement_1A0843 - waitmove 0 - move 4, LittlerootTown_Movement_14DC9A - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A0843 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC9A + waitmovement 0 return LittlerootTown_EventScript_14DA80:: @ 814DA80 - move 255, LittlerootTown_Movement_1A0843 - waitmove 0 - move 4, LittlerootTown_Movement_14DC9D - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A0843 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DC9D + waitmovement 0 return LittlerootTown_EventScript_14DA95:: @ 814DA95 - move 255, LittlerootTown_Movement_1A0843 - waitmove 0 - move 4, LittlerootTown_Movement_14DCA3 - waitmove 0 + applymovement 255, LittlerootTown_Movement_1A0843 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_14DCA3 + waitmovement 0 return LittlerootTown_EventScript_14DAAA:: @ 814DAAA compare 0x8008, 0 - callif 1, LittlerootTown_EventScript_14DB30 + call_if 1, LittlerootTown_EventScript_14DB30 compare 0x8008, 1 - callif 1, LittlerootTown_EventScript_14DB3B + call_if 1, LittlerootTown_EventScript_14DB3B compare 0x8008, 2 - callif 1, LittlerootTown_EventScript_14DB46 + call_if 1, LittlerootTown_EventScript_14DB46 compare 0x8008, 3 - callif 1, LittlerootTown_EventScript_14DB6C + call_if 1, LittlerootTown_EventScript_14DB6C compare 0x8008, 4 - callif 1, LittlerootTown_EventScript_14DB92 + call_if 1, LittlerootTown_EventScript_14DB92 compare 0x8008, 5 - callif 1, LittlerootTown_EventScript_14DBB8 + call_if 1, LittlerootTown_EventScript_14DBB8 return LittlerootTown_EventScript_14DAED:: @ 814DAED compare 0x8008, 0 - callif 1, LittlerootTown_EventScript_14DB30 + call_if 1, LittlerootTown_EventScript_14DB30 compare 0x8008, 1 - callif 1, LittlerootTown_EventScript_14DB3B + call_if 1, LittlerootTown_EventScript_14DB3B compare 0x8008, 2 - callif 1, LittlerootTown_EventScript_14DBDE + call_if 1, LittlerootTown_EventScript_14DBDE compare 0x8008, 3 - callif 1, LittlerootTown_EventScript_14DC04 + call_if 1, LittlerootTown_EventScript_14DC04 compare 0x8008, 4 - callif 1, LittlerootTown_EventScript_14DC2A + call_if 1, LittlerootTown_EventScript_14DC2A compare 0x8008, 5 - callif 1, LittlerootTown_EventScript_14DC50 + call_if 1, LittlerootTown_EventScript_14DC50 return LittlerootTown_EventScript_14DB30:: @ 814DB30 - move 4, LittlerootTown_Movement_14DCA8 - waitmove 0 + applymovement 4, LittlerootTown_Movement_14DCA8 + waitmovement 0 return LittlerootTown_EventScript_14DB3B:: @ 814DB3B - move 4, LittlerootTown_Movement_14DCAE - waitmove 0 + applymovement 4, LittlerootTown_Movement_14DCAE + waitmovement 0 return LittlerootTown_EventScript_14DB46:: @ 814DB46 - move 4, LittlerootTown_Movement_14DCB4 - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCB4 + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DB6C:: @ 814DB6C - move 4, LittlerootTown_Movement_14DCBA - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCBA + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DB92:: @ 814DB92 - move 4, LittlerootTown_Movement_14DCC1 - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCC1 + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DBB8:: @ 814DBB8 - move 4, LittlerootTown_Movement_14DCC5 - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCC5 + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DBDE:: @ 814DBDE - move 4, LittlerootTown_Movement_14DCCA - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCCA + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DC04:: @ 814DC04 - move 4, LittlerootTown_Movement_14DCCF - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCCF + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DC2A:: @ 814DC2A - move 4, LittlerootTown_Movement_14DCD3 - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCD3 + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_EventScript_14DC50:: @ 814DC50 - move 4, LittlerootTown_Movement_14DCDA - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange + applymovement 4, LittlerootTown_Movement_14DCDA + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim return LittlerootTown_Movement_14DC76:: @ 814DC76 @@ -841,26 +841,26 @@ LittlerootTown_Movement_14DCE0:: @ 814DCE0 LittlerootTown_EventScript_14DCE2:: @ 814DCE2 lock faceplayer - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_EventScript_14D926 + call_if 1, LittlerootTown_EventScript_14D926 compare RESULT, 1 - callif 1, LittlerootTown_EventScript_14D931 + call_if 1, LittlerootTown_EventScript_14D931 call LittlerootTown_EventScript_14DD38 - move 4, LittlerootTown_Movement_1A0841 - waitmove 0 - setdooropened 0x8009, 0x800a - doorchange - move 4, LittlerootTown_Movement_14DCE0 - waitmove 0 - spriteinvisible 4, 0, 9 - setdoorclosed 0x8009, 0x800a - doorchange - jump LittlerootTown_EventScript_14DD2B + applymovement 4, LittlerootTown_Movement_1A0841 + waitmovement 0 + opendoor 0x8009, 0x800a + waitdooranim + applymovement 4, LittlerootTown_Movement_14DCE0 + waitmovement 0 + hideobject 4, 0, 9 + closedoor 0x8009, 0x800a + waitdooranim + goto LittlerootTown_EventScript_14DD2B end LittlerootTown_EventScript_14DD2B:: @ 814DD2B - disappear 4 + removeobject 4 setflag 2144 setvar 0x4050, 4 release @@ -868,13 +868,13 @@ LittlerootTown_EventScript_14DD2B:: @ 814DD2B LittlerootTown_EventScript_14DD38:: @ 814DD38 msgbox LittlerootTown_Text_16A8FD, 4 - fanfare 370 + playfanfare 370 message LittlerootTown_Text_16AA32 waitfanfare - waittext + waitmessage setflag 274 msgbox LittlerootTown_Text_16AA5C, 4 msgbox LittlerootTown_Text_16AB10, 4 - closebutton - pause 30 + closemessage + delay 30 return diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc index 69206566a..04256cacb 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc @@ -6,9 +6,9 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 815263B LittlerootTown_BrendansHouse_1F_MapScript1_15264B:: @ 815264B compare 0x4092, 6 - callif 0, LittlerootTown_BrendansHouse_1F_EventScript_152660 + call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_152660 checkflag 274 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_152673 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_152673 end LittlerootTown_BrendansHouse_1F_EventScript_152660:: @ 8152660 @@ -17,9 +17,9 @@ LittlerootTown_BrendansHouse_1F_EventScript_152660:: @ 8152660 return LittlerootTown_BrendansHouse_1F_EventScript_152673:: @ 8152673 - checkgender + checkplayergender compare RESULT, 0 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152680 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152680 return LittlerootTown_BrendansHouse_1F_EventScript_152680:: @ 8152680 @@ -28,26 +28,26 @@ LittlerootTown_BrendansHouse_1F_EventScript_152680:: @ 8152680 LittlerootTown_BrendansHouse_1F_MapScript1_15268A:: @ 815268A compare 0x4092, 3 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1526C4 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526C4 compare 0x4092, 5 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1526AC + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526AC compare 0x4092, 6 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1526B8 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1526B8 end LittlerootTown_BrendansHouse_1F_EventScript_1526AC:: @ 81526AC - movespriteperm 1, 8, 4 - spritebehave 1, 7 + setobjectxyperm 1, 8, 4 + setobjectmovementtype 1, 7 return LittlerootTown_BrendansHouse_1F_EventScript_1526B8:: @ 81526B8 - movespriteperm 1, 4, 5 - spritebehave 1, 7 + setobjectxyperm 1, 4, 5 + setobjectmovementtype 1, 7 return LittlerootTown_BrendansHouse_1F_EventScript_1526C4:: @ 81526C4 - movespriteperm 1, 9, 8 - spritebehave 1, 7 + setobjectxyperm 1, 9, 8 + setobjectmovementtype 1, 7 return LittlerootTown_BrendansHouse_1F_MapScript2_1526D0:: @ 81526D0 @@ -61,10 +61,10 @@ LittlerootTown_BrendansHouse_1F_MapScript2_1526D0:: @ 81526D0 LittlerootTown_BrendansHouse_1F_EventScript_1526FA:: @ 81526FA lockall msgbox LittlerootTown_BrendansHouse_1F_Text_172574, 4 - closebutton - move 255, LittlerootTown_BrendansHouse_1F_Movement_152720 - move 1, LittlerootTown_BrendansHouse_1F_Movement_152720 - waitmove 0 + closemessage + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_152720 + applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_152720 + waitmovement 0 warp LittlerootTown_BrendansHouse_2F, 255, 7, 1 waitstate releaseall @@ -78,26 +78,26 @@ LittlerootTown_BrendansHouse_1F_EventScript_152722:: @ 8152722 lockall setvar 0x8004, 1 setvar 0x8005, 0 - jump LittlerootTown_BrendansHouse_1F_EventScript_1B6956 + goto LittlerootTown_BrendansHouse_1F_EventScript_1B6956 end LittlerootTown_BrendansHouse_1F_EventScript_152733:: @ 8152733 lockall setvar 0x8004, 0 setvar 0x8005, 1 - jump LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF + goto LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF end LittlerootTown_BrendansHouse_1F_EventScript_152744:: @ 8152744 lockall - playsfx 21 - move 4, LittlerootTown_BrendansHouse_1F_Movement_1A0833 - waitmove 0 - move 4, LittlerootTown_BrendansHouse_1F_Movement_1A0835 - waitmove 0 - move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F - move 4, LittlerootTown_BrendansHouse_1F_Movement_152782 - waitmove 0 + playse 21 + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1A0833 + waitmovement 0 + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1A0835 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_152782 + waitmovement 0 special GetRivalSonDaughterString msgbox LittlerootTown_BrendansHouse_1F_Text_1730C2, 4 setflag 87 @@ -118,7 +118,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_152789:: @ 8152789 lockall setvar 0x8004, 1 setvar 0x8005, 0 - move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A083F - waitmove 0 - jump LittlerootTown_BrendansHouse_1F_EventScript_1B69B7 + applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A083F + waitmovement 0 + goto LittlerootTown_BrendansHouse_1F_EventScript_1B69B7 end diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc index 0803cd512..8ff7f8b81 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc @@ -5,16 +5,16 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81527A4 LittlerootTown_BrendansHouse_2F_MapScript1_1527AF:: @ 81527AF checkflag 130 - callif 0, LittlerootTown_BrendansHouse_2F_EventScript_1527CE + call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1527CE compare 0x4092, 4 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6950 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6950 call LittlerootTown_BrendansHouse_2F_EventScript_1A2F3D setvar 0x4089, 0 end LittlerootTown_BrendansHouse_2F_EventScript_1527CE:: @ 81527CE - movespriteperm 1, 1, 2 - spritebehave 1, 7 + setobjectxyperm 1, 1, 2 + setobjectmovementtype 1, 7 return LittlerootTown_BrendansHouse_2F_MapScript2_1527DA:: @ 81527DA @@ -22,18 +22,18 @@ LittlerootTown_BrendansHouse_2F_MapScript2_1527DA:: @ 81527DA .2byte 0 LittlerootTown_BrendansHouse_2F_EventScript_1527E4:: @ 81527E4 - checkgender + checkplayergender compare RESULT, 0 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_1A2F68 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1A2F68 end @ 81527F1 lockall - checkgender + checkplayergender compare RESULT, 0 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_15280A + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_15280A compare RESULT, 1 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152814 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152814 end LittlerootTown_BrendansHouse_2F_EventScript_15280A:: @ 815280A @@ -50,17 +50,17 @@ gUnknown_0815281E:: @ 815281E LittlerootTown_BrendansHouse_2F_EventScript_15281E:: @ 815281E lockall - checkgender + checkplayergender compare RESULT, 0 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152837 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152837 compare RESULT, 1 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_15285D + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_15285D end LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837 setvar 0x8004, 1 special DoPCTurnOnEffect - playsfx SE_PC_ON + playse SE_PC_ON msgbox LittlerootTown_BrendansHouse_2F_Text_1A10D6, 4 special BedroomPC waitstate @@ -69,7 +69,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837 gBrendanHouse_TurnPCOff:: @ 8152850 setvar 0x8004, 1 - playsfx SE_PC_OFF + playse SE_PC_OFF special DoPCTurnOffEffect releaseall end diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc index 5f7f20d63..14c7f5d8a 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc @@ -6,9 +6,9 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 8152879 LittlerootTown_MaysHouse_1F_MapScript1_152889:: @ 8152889 compare 0x4092, 6 - callif 0, LittlerootTown_MaysHouse_1F_EventScript_15289E + call_if 0, LittlerootTown_MaysHouse_1F_EventScript_15289E checkflag 274 - callif 1, LittlerootTown_MaysHouse_1F_EventScript_1528B1 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528B1 end LittlerootTown_MaysHouse_1F_EventScript_15289E:: @ 815289E @@ -17,9 +17,9 @@ LittlerootTown_MaysHouse_1F_EventScript_15289E:: @ 815289E return LittlerootTown_MaysHouse_1F_EventScript_1528B1:: @ 81528B1 - checkgender + checkplayergender compare RESULT, 1 - jumpeq LittlerootTown_MaysHouse_1F_EventScript_1528BE + goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1528BE return LittlerootTown_MaysHouse_1F_EventScript_1528BE:: @ 81528BE @@ -28,26 +28,26 @@ LittlerootTown_MaysHouse_1F_EventScript_1528BE:: @ 81528BE LittlerootTown_MaysHouse_1F_MapScript1_1528C8:: @ 81528C8 compare 0x4092, 3 - callif 1, LittlerootTown_MaysHouse_1F_EventScript_152902 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_152902 compare 0x4092, 5 - callif 1, LittlerootTown_MaysHouse_1F_EventScript_1528EA + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528EA compare 0x4092, 6 - callif 1, LittlerootTown_MaysHouse_1F_EventScript_1528F6 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1528F6 end LittlerootTown_MaysHouse_1F_EventScript_1528EA:: @ 81528EA - movespriteperm 1, 2, 4 - spritebehave 1, 7 + setobjectxyperm 1, 2, 4 + setobjectmovementtype 1, 7 return LittlerootTown_MaysHouse_1F_EventScript_1528F6:: @ 81528F6 - movespriteperm 1, 6, 5 - spritebehave 1, 7 + setobjectxyperm 1, 6, 5 + setobjectmovementtype 1, 7 return LittlerootTown_MaysHouse_1F_EventScript_152902:: @ 8152902 - movespriteperm 1, 1, 8 - spritebehave 1, 7 + setobjectxyperm 1, 1, 8 + setobjectmovementtype 1, 7 return LittlerootTown_MaysHouse_1F_MapScript2_15290E:: @ 815290E @@ -61,10 +61,10 @@ LittlerootTown_MaysHouse_1F_MapScript2_15290E:: @ 815290E LittlerootTown_MaysHouse_1F_EventScript_152938:: @ 8152938 lockall msgbox LittlerootTown_MaysHouse_1F_Text_172574, 4 - closebutton - move 255, LittlerootTown_MaysHouse_1F_Movement_15295E - move 1, LittlerootTown_MaysHouse_1F_Movement_15295E - waitmove 0 + closemessage + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_15295E + applymovement 1, LittlerootTown_MaysHouse_1F_Movement_15295E + waitmovement 0 warp LittlerootTown_MaysHouse_2F, 255, 1, 1 waitstate releaseall @@ -78,26 +78,26 @@ LittlerootTown_MaysHouse_1F_EventScript_152960:: @ 8152960 lockall setvar 0x8004, 1 setvar 0x8005, 1 - jump LittlerootTown_MaysHouse_1F_EventScript_1B6956 + goto LittlerootTown_MaysHouse_1F_EventScript_1B6956 end LittlerootTown_MaysHouse_1F_EventScript_152971:: @ 8152971 lockall setvar 0x8004, 1 setvar 0x8005, 1 - jump LittlerootTown_MaysHouse_1F_EventScript_1B6B2E + goto LittlerootTown_MaysHouse_1F_EventScript_1B6B2E end LittlerootTown_MaysHouse_1F_EventScript_152982:: @ 8152982 lockall - playsfx 21 - move 4, LittlerootTown_MaysHouse_1F_Movement_1A0833 - waitmove 0 - move 4, LittlerootTown_MaysHouse_1F_Movement_1A0835 - waitmove 0 - move 255, LittlerootTown_MaysHouse_1F_Movement_1A0843 - move 4, LittlerootTown_MaysHouse_1F_Movement_1529C0 - waitmove 0 + playse 21 + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1A0833 + waitmovement 0 + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1A0835 + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1A0843 + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1529C0 + waitmovement 0 special GetRivalSonDaughterString msgbox LittlerootTown_MaysHouse_1F_Text_1730C2, 4 setflag 87 @@ -116,11 +116,11 @@ LittlerootTown_MaysHouse_1F_Movement_1529C0:: @ 81529C0 @ 81529C7 lockall - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_MaysHouse_1F_EventScript_1529E1 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E1 compare RESULT, 1 - callif 1, LittlerootTown_MaysHouse_1F_EventScript_1529E2 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1529E2 releaseall end @@ -136,11 +136,11 @@ LittlerootTown_MaysHouse_1F_EventScript_1529EB:: @ 81529EB lock faceplayer checkflag 130 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A21 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A21 checkflag 301 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A17 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A17 compare 0x408d, 3 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A2B + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_152A2B special GetRivalSonDaughterString msgbox LittlerootTown_BrendansHouse_1F_Text_1731C6, 4 release @@ -165,7 +165,7 @@ LittlerootTown_MaysHouse_1F_EventScript_152A35:: @ 8152A35 lockall setvar 0x8004, 1 setvar 0x8005, 1 - move 0x8004, LittlerootTown_MaysHouse_1F_Movement_1A0843 - waitmove 0 - jump LittlerootTown_MaysHouse_1F_EventScript_1B69B7 + applymovement 0x8004, LittlerootTown_MaysHouse_1F_Movement_1A0843 + waitmovement 0 + goto LittlerootTown_MaysHouse_1F_EventScript_1B69B7 end diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc index 85a41caff..68bdf0fcb 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc @@ -5,16 +5,16 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 8152A50 LittlerootTown_MaysHouse_2F_MapScript1_152A5B:: @ 8152A5B checkflag 130 - callif 0, LittlerootTown_MaysHouse_2F_EventScript_152A7A + call_if 0, LittlerootTown_MaysHouse_2F_EventScript_152A7A compare 0x4092, 4 - callif 1, LittlerootTown_MaysHouse_2F_EventScript_1B6950 + call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1B6950 call LittlerootTown_MaysHouse_2F_EventScript_1A2F3D setvar 0x4089, 0 end LittlerootTown_MaysHouse_2F_EventScript_152A7A:: @ 8152A7A - movespriteperm 1, 7, 2 - spritebehave 1, 7 + setobjectxyperm 1, 7, 2 + setobjectmovementtype 1, 7 return LittlerootTown_MaysHouse_2F_MapScript2_152A86:: @ 8152A86 @@ -22,114 +22,114 @@ LittlerootTown_MaysHouse_2F_MapScript2_152A86:: @ 8152A86 .2byte 0 LittlerootTown_MaysHouse_2F_EventScript_152A90:: @ 8152A90 - checkgender + checkplayergender compare RESULT, 1 - jumpeq LittlerootTown_MaysHouse_2F_EventScript_1A2F68 + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1A2F68 end LittlerootTown_BrendansHouse_2F_EventScript_152A9D:: @ 8152A9D LittlerootTown_MaysHouse_2F_EventScript_152A9D:: @ 8152A9D lockall checkflag 292 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152BB5 - checkgender + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BB5 + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152AD4 compare RESULT, 1 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A - playsfx 9 - disappear LAST_TALKED + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B4A + playse 9 + removeobject LAST_TALKED setvar 0x408d, 3 setvar 0x4050, 1 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm releaseall end LittlerootTown_BrendansHouse_2F_EventScript_152AD4:: @ 8152AD4 msgbox LittlerootTown_BrendansHouse_2F_Text_17337E, 4 - playmusic 415, 1 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 - waitmove 0 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833 - waitmove 0 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835 - waitmove 0 + playbgm 415, 1 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 + waitmovement 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833 + waitmovement 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835 + waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1733AF, 4 - closebutton + closemessage compare FACING, 4 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B29 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B29 compare FACING, 2 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B34 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B34 compare FACING, 3 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B3F + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B3F return LittlerootTown_BrendansHouse_2F_EventScript_152B29:: @ 8152B29 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C11 - waitmove 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C11 + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_152B34:: @ 8152B34 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C - waitmove 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_152B3F:: @ 8152B3F - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C - waitmove 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C1C + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_152B4A:: @ 8152B4A msgbox LittlerootTown_BrendansHouse_2F_Text_1735C9, 4 - playmusic 421, 1 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 - waitmove 0 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833 - waitmove 0 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835 - waitmove 0 + playbgm 421, 1 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 + waitmovement 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0833 + waitmovement 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0835 + waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_1735FC, 4 - closebutton + closemessage compare FACING, 4 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F compare FACING, 2 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152B9F compare FACING, 3 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152BAA + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BAA return LittlerootTown_BrendansHouse_2F_EventScript_152B9F:: @ 8152B9F - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C30 - waitmove 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C30 + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_152BAA:: @ 8152BAA - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C25 - waitmove 0 + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_152C25 + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_152BB5:: @ 8152BB5 - move LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 - waitmove 0 - checkgender + applymovement LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_1A0839 + waitmovement 0 + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152BDB + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BDB compare RESULT, 1 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_152BED + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_152BED setflag 293 releaseall end LittlerootTown_BrendansHouse_2F_EventScript_152BDB:: @ 8152BDB checkflag 293 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152BFF + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152BFF msgbox LittlerootTown_BrendansHouse_2F_Text_1737AE, 4 return LittlerootTown_BrendansHouse_2F_EventScript_152BED:: @ 8152BED checkflag 293 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_152C08 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_152C08 msgbox LittlerootTown_BrendansHouse_2F_Text_1738F2, 4 return @@ -193,11 +193,11 @@ gUnknown_08152C39:: @ 8152C39 LittlerootTown_MaysHouse_2F_EventScript_152C39:: @ 8152C39 lockall - checkgender + checkplayergender compare RESULT, 0 - jumpeq LittlerootTown_MaysHouse_2F_EventScript_152C52 + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_152C52 compare RESULT, 1 - jumpeq LittlerootTown_MaysHouse_2F_EventScript_152C5C + goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_152C5C end LittlerootTown_MaysHouse_2F_EventScript_152C52:: @ 8152C52 @@ -208,7 +208,7 @@ LittlerootTown_MaysHouse_2F_EventScript_152C52:: @ 8152C52 LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C setvar 0x8004, 2 special DoPCTurnOnEffect - playsfx SE_PC_ON + playse SE_PC_ON msgbox LittlerootTown_MaysHouse_2F_Text_1A10D6, 4 special BedroomPC waitstate @@ -217,7 +217,7 @@ LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C gMayHouse_TurnPCOff:: @ 8152C75 setvar 0x8004, 2 - playsfx SE_PC_OFF + playse SE_PC_OFF special DoPCTurnOffEffect releaseall end diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc index 94aeadfa6..e7ccd73f6 100644 --- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc +++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc @@ -14,7 +14,7 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_152C9D:: @ 8152C9D .2byte 0 LittlerootTown_ProfessorBirchsLab_EventScript_152CA7:: @ 8152CA7 - spriteface 255, 2 + turnobject 255, 2 end LittlerootTown_ProfessorBirchsLab_MapScript2_152CAC:: @ 8152CAC @@ -24,30 +24,30 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_152CAC:: @ 8152CAC LittlerootTown_ProfessorBirchsLab_EventScript_152CBE:: @ 8152CBE lockall - bufferfirstpoke 0 + getfirstpartypokename 0 message LittlerootTown_ProfessorBirchsLab_Text_173D94 - waittext - fanfare 370 + waitmessage + playfanfare 370 waitfanfare msgbox LittlerootTown_ProfessorBirchsLab_Text_173EF8, 5 compare RESULT, 1 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152CEA + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152CEA compare RESULT, 0 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152CFA + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152CFA end LittlerootTown_ProfessorBirchsLab_EventScript_152CEA:: @ 8152CEA setvar 0x8004, 0 call LittlerootTown_ProfessorBirchsLab_EventScript_1A0678 - jump LittlerootTown_ProfessorBirchsLab_EventScript_152CFA + goto LittlerootTown_ProfessorBirchsLab_EventScript_152CFA end LittlerootTown_ProfessorBirchsLab_EventScript_152CFA:: @ 8152CFA msgbox LittlerootTown_ProfessorBirchsLab_Text_173F3D, 5 compare RESULT, 1 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D19 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D19 compare RESULT, 0 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B end LittlerootTown_ProfessorBirchsLab_EventScript_152D19:: @ 8152D19 @@ -60,16 +60,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D19:: @ 8152D19 LittlerootTown_ProfessorBirchsLab_EventScript_152D2B:: @ 8152D2B msgbox LittlerootTown_ProfessorBirchsLab_Text_174075, 5 compare RESULT, 1 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D19 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D19 compare RESULT, 0 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D2B end LittlerootTown_ProfessorBirchsLab_EventScript_152D4A:: @ 8152D4A lockall - move 255, LittlerootTown_ProfessorBirchsLab_Movement_152D5B - waitmove 0 - jump LittlerootTown_ProfessorBirchsLab_EventScript_152DBA + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_152D5B + waitmovement 0 + goto LittlerootTown_ProfessorBirchsLab_EventScript_152DBA end LittlerootTown_ProfessorBirchsLab_Movement_152D5B:: @ 8152D5B @@ -86,9 +86,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D63:: @ 8152D63 lock faceplayer compare 0x4084, 3 - jumpif 4, LittlerootTown_ProfessorBirchsLab_EventScript_152D90 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_152D90 checkflag 88 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152D86 + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152D86 msgbox LittlerootTown_ProfessorBirchsLab_Text_173B29, 4 setflag 88 release @@ -108,9 +108,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152D9A:: @ 8152D9A lock faceplayer checkflag 896 - jumpif 0, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F + goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1A037F compare 0x4084, 5 - jumpeq LittlerootTown_ProfessorBirchsLab_EventScript_152E7B + goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_152E7B msgbox LittlerootTown_ProfessorBirchsLab_Text_1740B4, 4 release end @@ -119,15 +119,15 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152DBA:: @ 8152DBA msgbox LittlerootTown_ProfessorBirchsLab_Text_17411F, 4 call LittlerootTown_ProfessorBirchsLab_EventScript_152E6D msgbox LittlerootTown_ProfessorBirchsLab_Text_174248, 4 - move 3, LittlerootTown_ProfessorBirchsLab_Movement_152E97 - waitmove 0 - move 255, LittlerootTown_ProfessorBirchsLab_Movement_1A0843 - waitmove 0 - checkgender + applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_152E97 + waitmovement 0 + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1A0843 + waitmovement 0 + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E13 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E13 compare RESULT, 1 - callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E40 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E40 setvar 0x4084, 5 setflag 116 setvar 0x4051, 1 @@ -140,7 +140,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E13:: @ 8152E13 msgbox LittlerootTown_ProfessorBirchsLab_Text_1743D4, 4 giveitem ITEM_POKE_BALL, 5 compare RESULT, 0 - callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E85 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E85 msgbox LittlerootTown_ProfessorBirchsLab_Text_17443D, 4 setvar RESULT, 0 return @@ -149,16 +149,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E40:: @ 8152E40 msgbox LittlerootTown_ProfessorBirchsLab_Text_17453C, 4 giveitem ITEM_POKE_BALL, 5 compare RESULT, 0 - callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E8E + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152E8E msgbox LittlerootTown_ProfessorBirchsLab_Text_17458C, 4 setvar RESULT, 1 return LittlerootTown_ProfessorBirchsLab_EventScript_152E6D:: @ 8152E6D - fanfare 370 + playfanfare 370 message LittlerootTown_ProfessorBirchsLab_Text_17422F waitfanfare - waittext + waitmessage setflag 2049 return @@ -187,11 +187,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_152E9A:: @ 8152E9A LittlerootTown_ProfessorBirchsLab_EventScript_152EA3:: @ 8152EA3 lock faceplayer - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EBE + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EBE compare RESULT, 1 - callif 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EC7 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_152EC7 release end diff --git a/data/scripts/maps/MagmaHideout_B1F.inc b/data/scripts/maps/MagmaHideout_B1F.inc index 0304181fb..780eea4f5 100644 --- a/data/scripts/maps/MagmaHideout_B1F.inc +++ b/data/scripts/maps/MagmaHideout_B1F.inc @@ -4,9 +4,9 @@ MagmaHideout_B1F_MapScripts:: @ 815F2A8 MagmaHideout_B1F_MapScript1_15F2AE:: @ 815F2AE checkflag 2145 - callif 1, MagmaHideout_B1F_EventScript_15F2B8 + call_if 1, MagmaHideout_B1F_EventScript_15F2B8 end MagmaHideout_B1F_EventScript_15F2B8:: @ 815F2B8 - disappear LAST_TALKED + removeobject LAST_TALKED return diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc index 1b2827f2a..5c93aa252 100644 --- a/data/scripts/maps/MauvilleCity.inc +++ b/data/scripts/maps/MauvilleCity.inc @@ -9,7 +9,7 @@ MauvilleCity_MapScript1_14C038:: @ 814C038 clearflag 99 setvar 0x4093, 0 checkflag 209 - callif 1, MauvilleCity_EventScript_14C053 + call_if 1, MauvilleCity_EventScript_14C053 end MauvilleCity_EventScript_14C053:: @ 814C053 @@ -53,7 +53,7 @@ MauvilleCity_EventScript_14C0A2:: @ 814C0A2 lock faceplayer checkflag 98 - jumpeq MauvilleCity_EventScript_14C0BA + goto_if_eq MauvilleCity_EventScript_14C0BA msgbox MauvilleCity_Text_16674A, 4 setflag 98 release @@ -68,94 +68,94 @@ MauvilleCity_EventScript_14C0C4:: @ 814C0C4 lock faceplayer checkflag 284 - jumpeq MauvilleCity_EventScript_14C0E4 + goto_if_eq MauvilleCity_EventScript_14C0E4 msgbox MauvilleCity_Text_165B76, 4 - closebutton - move 7, MauvilleCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 7, MauvilleCity_Movement_1A083D + waitmovement 0 release end MauvilleCity_EventScript_14C0E4:: @ 814C0E4 msgbox MauvilleCity_Text_165E45, 4 - closebutton - move 7, MauvilleCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 7, MauvilleCity_Movement_1A083D + waitmovement 0 release end MauvilleCity_EventScript_14C0F9:: @ 814C0F9 lockall checkflag 284 - jumpeq MauvilleCity_EventScript_14C292 - move 6, MauvilleCity_Movement_1A0843 - waitmove 0 + goto_if_eq MauvilleCity_EventScript_14C292 + applymovement 6, MauvilleCity_Movement_1A0843 + waitmovement 0 msgbox MauvilleCity_Text_165BE3, 4 msgbox MauvilleCity_Text_165C57, 4 msgbox MauvilleCity_Text_165D01, 4 - move 6, MauvilleCity_Movement_1A0839 - waitmove 0 - playsfx 21 - move 6, MauvilleCity_Movement_1A0833 - waitmove 0 - move 6, MauvilleCity_Movement_1A0835 - waitmove 0 + applymovement 6, MauvilleCity_Movement_1A0839 + waitmovement 0 + playse 21 + applymovement 6, MauvilleCity_Movement_1A0833 + waitmovement 0 + applymovement 6, MauvilleCity_Movement_1A0835 + waitmovement 0 msgbox MauvilleCity_Text_165D50, 5 - jump MauvilleCity_EventScript_14C154 + goto MauvilleCity_EventScript_14C154 end MauvilleCity_EventScript_14C154:: @ 814C154 compare RESULT, 1 - callif 1, MauvilleCity_EventScript_14C23C + call_if 1, MauvilleCity_EventScript_14C23C compare RESULT, 0 - jumpeq MauvilleCity_EventScript_14C285 - closebutton + goto_if_eq MauvilleCity_EventScript_14C285 + closemessage switch FACING case 2, MauvilleCity_EventScript_14C187 case 4, MauvilleCity_EventScript_14C1D9 end MauvilleCity_EventScript_14C187:: @ 814C187 - move 6, MauvilleCity_Movement_14C2AA - move 7, MauvilleCity_Movement_14C2CC - waitmove 0 - move 6, MauvilleCity_Movement_1A0843 - waitmove 0 - pause 30 - move 7, MauvilleCity_Movement_14C2D8 - waitmove 0 - move 255, MauvilleCity_Movement_1A0845 - waitmove 0 + applymovement 6, MauvilleCity_Movement_14C2AA + applymovement 7, MauvilleCity_Movement_14C2CC + waitmovement 0 + applymovement 6, MauvilleCity_Movement_1A0843 + waitmovement 0 + delay 30 + applymovement 7, MauvilleCity_Movement_14C2D8 + waitmovement 0 + applymovement 255, MauvilleCity_Movement_1A0845 + waitmovement 0 msgbox MauvilleCity_Text_1660FA, 4 - closebutton - move 6, MauvilleCity_Movement_14C2B6 - move 7, MauvilleCity_Movement_14C2DF - waitmove 0 - jump MauvilleCity_EventScript_14C22B + closemessage + applymovement 6, MauvilleCity_Movement_14C2B6 + applymovement 7, MauvilleCity_Movement_14C2DF + waitmovement 0 + goto MauvilleCity_EventScript_14C22B end MauvilleCity_EventScript_14C1D9:: @ 814C1D9 - move 6, MauvilleCity_Movement_14C2B0 - move 7, MauvilleCity_Movement_14C2D2 - waitmove 0 - move 6, MauvilleCity_Movement_1A0843 - waitmove 0 - pause 30 - move 7, MauvilleCity_Movement_14C2DC - waitmove 0 - move 255, MauvilleCity_Movement_1A0845 - waitmove 0 + applymovement 6, MauvilleCity_Movement_14C2B0 + applymovement 7, MauvilleCity_Movement_14C2D2 + waitmovement 0 + applymovement 6, MauvilleCity_Movement_1A0843 + waitmovement 0 + delay 30 + applymovement 7, MauvilleCity_Movement_14C2DC + waitmovement 0 + applymovement 255, MauvilleCity_Movement_1A0845 + waitmovement 0 msgbox MauvilleCity_Text_1660FA, 4 - closebutton - move 6, MauvilleCity_Movement_14C2C1 - move 7, MauvilleCity_Movement_14C2E8 - waitmove 0 - jump MauvilleCity_EventScript_14C22B + closemessage + applymovement 6, MauvilleCity_Movement_14C2C1 + applymovement 7, MauvilleCity_Movement_14C2E8 + waitmovement 0 + goto MauvilleCity_EventScript_14C22B end MauvilleCity_EventScript_14C22B:: @ 814C22B - disappear 6 - disappear 7 + removeobject 6 + removeobject 7 clearflag 806 clearflag 809 setflag 190 @@ -165,14 +165,14 @@ MauvilleCity_EventScript_14C22B:: @ 814C22B MauvilleCity_EventScript_14C23C:: @ 814C23C msgbox MauvilleCity_Text_165F0D, 4 trainerbattle 3, OPPONENT_WALLY_2, 0, MauvilleCity_Text_165F38 - move 6, MauvilleCity_Movement_1A0843 - waitmove 0 + applymovement 6, MauvilleCity_Movement_1A0843 + waitmovement 0 msgbox MauvilleCity_Text_165F85, 4 - move 6, MauvilleCity_Movement_1A0839 - waitmove 0 + applymovement 6, MauvilleCity_Movement_1A0839 + waitmovement 0 msgbox MauvilleCity_Text_165FB3, 4 - move 6, MauvilleCity_Movement_1A0843 - waitmove 0 + applymovement 6, MauvilleCity_Movement_1A0843 + waitmovement 0 msgbox MauvilleCity_Text_166050, 4 return @@ -183,10 +183,10 @@ MauvilleCity_EventScript_14C285:: @ 814C285 end MauvilleCity_EventScript_14C292:: @ 814C292 - move 6, MauvilleCity_Movement_1A0839 - waitmove 0 + applymovement 6, MauvilleCity_Movement_1A0839 + waitmovement 0 msgbox MauvilleCity_Text_165EE2, 5 - jump MauvilleCity_EventScript_14C154 + goto MauvilleCity_EventScript_14C154 end MauvilleCity_Movement_14C2AA:: @ 814C2AA @@ -285,11 +285,11 @@ MauvilleCity_EventScript_14C2F2:: @ 814C2F2 lock faceplayer checkflag 209 - jumpeq MauvilleCity_EventScript_14C368 + goto_if_eq MauvilleCity_EventScript_14C368 compare 0x40ba, 2 - jumpeq MauvilleCity_EventScript_14C33C + goto_if_eq MauvilleCity_EventScript_14C33C checkflag 208 - jumpeq MauvilleCity_EventScript_14C332 + goto_if_eq MauvilleCity_EventScript_14C332 msgbox MauvilleCity_Text_1661C1, 4 giveitem ITEM_BASEMENT_KEY setflag 208 @@ -306,7 +306,7 @@ MauvilleCity_EventScript_14C33C:: @ 814C33C msgbox MauvilleCity_Text_1663EB, 4 giveitem ITEM_TM24 compare RESULT, 0 - jumpeq MauvilleCity_EventScript_1A029B + goto_if_eq MauvilleCity_EventScript_1A029B setflag 209 msgbox MauvilleCity_Text_166488, 4 release diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc index 5436bf38a..a93ff5170 100644 --- a/data/scripts/maps/MauvilleCity_BikeShop.inc +++ b/data/scripts/maps/MauvilleCity_BikeShop.inc @@ -5,28 +5,28 @@ MauvilleCity_BikeShop_EventScript_156796:: @ 8156796 lock faceplayer checkflag 90 - jumpeq MauvilleCity_BikeShop_EventScript_15686E + goto_if_eq MauvilleCity_BikeShop_EventScript_15686E checkflag 89 - jumpeq MauvilleCity_BikeShop_EventScript_1567D1 + goto_if_eq MauvilleCity_BikeShop_EventScript_1567D1 msgbox MauvilleCity_BikeShop_Text_180F9F, 4 msgbox MauvilleCity_BikeShop_Text_181016, 5 compare RESULT, 1 - jumpeq MauvilleCity_BikeShop_EventScript_156824 + goto_if_eq MauvilleCity_BikeShop_EventScript_156824 compare RESULT, 0 - jumpeq MauvilleCity_BikeShop_EventScript_156817 + goto_if_eq MauvilleCity_BikeShop_EventScript_156817 end MauvilleCity_BikeShop_EventScript_1567D1:: @ 81567D1 msgbox MauvilleCity_BikeShop_Text_181016, 5 compare RESULT, 1 - jumpeq MauvilleCity_BikeShop_EventScript_156824 + goto_if_eq MauvilleCity_BikeShop_EventScript_156824 compare RESULT, 0 - jumpeq MauvilleCity_BikeShop_EventScript_156817 + goto_if_eq MauvilleCity_BikeShop_EventScript_156817 end MauvilleCity_BikeShop_EventScript_1567F0:: @ 81567F0 message MauvilleCity_BikeShop_Text_1810B1 - waittext + waitmessage multichoice 21, 8, 12, 1 switch RESULT case 0, MauvilleCity_BikeShop_EventScript_15682D @@ -41,19 +41,19 @@ MauvilleCity_BikeShop_EventScript_156817:: @ 8156817 MauvilleCity_BikeShop_EventScript_156824:: @ 8156824 setflag 90 - jump MauvilleCity_BikeShop_EventScript_1567F0 + goto MauvilleCity_BikeShop_EventScript_1567F0 end MauvilleCity_BikeShop_EventScript_15682D:: @ 815682D msgbox MauvilleCity_BikeShop_Text_181332, 4 giveitem ITEM_MACH_BIKE - jump MauvilleCity_BikeShop_EventScript_156861 + goto MauvilleCity_BikeShop_EventScript_156861 end MauvilleCity_BikeShop_EventScript_156847:: @ 8156847 msgbox MauvilleCity_BikeShop_Text_18134A, 4 giveitem ITEM_ACRO_BIKE - jump MauvilleCity_BikeShop_EventScript_156861 + goto MauvilleCity_BikeShop_EventScript_156861 end MauvilleCity_BikeShop_EventScript_156861:: @ 8156861 @@ -65,19 +65,19 @@ MauvilleCity_BikeShop_EventScript_156861:: @ 8156861 MauvilleCity_BikeShop_EventScript_15686E:: @ 815686E msgbox MauvilleCity_BikeShop_Text_1813A0, 5 compare RESULT, 1 - jumpeq MauvilleCity_BikeShop_EventScript_15688D + goto_if_eq MauvilleCity_BikeShop_EventScript_15688D compare RESULT, 0 - jumpeq MauvilleCity_BikeShop_EventScript_1568BF + goto_if_eq MauvilleCity_BikeShop_EventScript_1568BF end MauvilleCity_BikeShop_EventScript_15688D:: @ 815688D msgbox MauvilleCity_BikeShop_Text_1813D4, 4 checkitem ITEM_ACRO_BIKE, 1 compare RESULT, 1 - jumpeq MauvilleCity_BikeShop_EventScript_1568C9 + goto_if_eq MauvilleCity_BikeShop_EventScript_1568C9 checkitem ITEM_MACH_BIKE, 1 compare RESULT, 1 - jumpeq MauvilleCity_BikeShop_EventScript_1568EA + goto_if_eq MauvilleCity_BikeShop_EventScript_1568EA msgbox MauvilleCity_BikeShop_Text_181498, 4 release end @@ -88,19 +88,19 @@ MauvilleCity_BikeShop_EventScript_1568BF:: @ 81568BF end MauvilleCity_BikeShop_EventScript_1568C9:: @ 81568C9 - inccounter GAME_STAT_TRADED_BIKES + incrementgamestat GAME_STAT_TRADED_BIKES msgbox MauvilleCity_BikeShop_Text_181439, 4 removeitem ITEM_ACRO_BIKE, 1 giveitem ITEM_MACH_BIKE - jump MauvilleCity_BikeShop_EventScript_156861 + goto MauvilleCity_BikeShop_EventScript_156861 end MauvilleCity_BikeShop_EventScript_1568EA:: @ 81568EA - inccounter GAME_STAT_TRADED_BIKES + incrementgamestat GAME_STAT_TRADED_BIKES msgbox MauvilleCity_BikeShop_Text_181408, 4 removeitem ITEM_MACH_BIKE, 1 giveitem ITEM_ACRO_BIKE - jump MauvilleCity_BikeShop_EventScript_156861 + goto MauvilleCity_BikeShop_EventScript_156861 end MauvilleCity_BikeShop_EventScript_15690B:: @ 815690B @@ -109,8 +109,8 @@ MauvilleCity_BikeShop_EventScript_15690B:: @ 815690B MauvilleCity_BikeShop_EventScript_156914:: @ 8156914 message MauvilleCity_BikeShop_Text_1815EA - waittext - jump MauvilleCity_BikeShop_EventScript_156920 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156920 end MauvilleCity_BikeShop_EventScript_156920:: @ 8156920 @@ -125,20 +125,20 @@ MauvilleCity_BikeShop_EventScript_156920:: @ 8156920 MauvilleCity_BikeShop_EventScript_156962:: @ 8156962 message MauvilleCity_BikeShop_Text_18162C - waittext - jump MauvilleCity_BikeShop_EventScript_156920 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156920 end MauvilleCity_BikeShop_EventScript_15696E:: @ 815696E message MauvilleCity_BikeShop_Text_1816F5 - waittext - jump MauvilleCity_BikeShop_EventScript_156920 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156920 end MauvilleCity_BikeShop_EventScript_15697A:: @ 815697A message MauvilleCity_BikeShop_Text_1817BF - waittext - jump MauvilleCity_BikeShop_EventScript_156920 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156920 end MauvilleCity_BikeShop_EventScript_156986:: @ 8156986 @@ -147,8 +147,8 @@ MauvilleCity_BikeShop_EventScript_156986:: @ 8156986 MauvilleCity_BikeShop_EventScript_156988:: @ 8156988 message MauvilleCity_BikeShop_Text_181892 - waittext - jump MauvilleCity_BikeShop_EventScript_156994 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156994 end MauvilleCity_BikeShop_EventScript_156994:: @ 8156994 @@ -163,20 +163,20 @@ MauvilleCity_BikeShop_EventScript_156994:: @ 8156994 MauvilleCity_BikeShop_EventScript_1569D6:: @ 81569D6 message MauvilleCity_BikeShop_Text_1818D4 - waittext - jump MauvilleCity_BikeShop_EventScript_156994 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156994 end MauvilleCity_BikeShop_EventScript_1569E2:: @ 81569E2 message MauvilleCity_BikeShop_Text_18199A - waittext - jump MauvilleCity_BikeShop_EventScript_156994 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156994 end MauvilleCity_BikeShop_EventScript_1569EE:: @ 81569EE message MauvilleCity_BikeShop_Text_181A3D - waittext - jump MauvilleCity_BikeShop_EventScript_156994 + waitmessage + goto MauvilleCity_BikeShop_EventScript_156994 end MauvilleCity_BikeShop_EventScript_1569FA:: @ 81569FA diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index f20a7dacd..2e0231287 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -7,65 +7,65 @@ MauvilleCity_GameCorner_EventScript_156A34:: @ 8156A34 msgbox MauvilleCity_GameCorner_Text_181C35, 4 checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156B32 + goto_if_eq MauvilleCity_GameCorner_EventScript_156B32 message MauvilleCity_GameCorner_Text_181CB4 - waittext - showmoney 0, 0 - snop - showcoins 0, 5 - jump MauvilleCity_GameCorner_EventScript_156A60 + waitmessage + showmoneybox 0, 0 + nop + showcoinsbox 0, 5 + goto MauvilleCity_GameCorner_EventScript_156A60 MauvilleCity_GameCorner_EventScript_156A60:: @ 8156A60 - multichoicedef 15, 0, 49, 0, 0 + multichoicedefault 15, 0, 49, 0, 0 switch RESULT case 0, MauvilleCity_GameCorner_EventScript_156AAE case 1, MauvilleCity_GameCorner_EventScript_156AF0 - jump MauvilleCity_GameCorner_EventScript_156B4C + goto MauvilleCity_GameCorner_EventScript_156B4C end @ 8156A87 - multichoicedef 15, 0, 49, 1, 0 + multichoicedefault 15, 0, 49, 1, 0 switch RESULT case 0, MauvilleCity_GameCorner_EventScript_156AAE case 1, MauvilleCity_GameCorner_EventScript_156AF0 - jump MauvilleCity_GameCorner_EventScript_156B4C + goto MauvilleCity_GameCorner_EventScript_156B4C end MauvilleCity_GameCorner_EventScript_156AAE:: @ 8156AAE checkcoins 16385 compare 0x4001, 9950 - jumpif 4, MauvilleCity_GameCorner_EventScript_156B5C + goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C checkmoney 0x3e8, 0 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156B3C + goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C givecoins 50 - paymoney 0x3e8, 0 - updatemoney 0, 0 - snop - updatecoins 0, 5 - playsfx 95 + takemoney 0x3e8, 0 + updatemoneybox 0, 0 + nop + updatecoinsbox 0, 5 + playse 95 msgbox MauvilleCity_GameCorner_Text_181CFE, 4 - hidemoney 0, 0 - hidecoins 0, 5 + hidemoneybox 0, 0 + hidecoinsbox 0, 5 release end MauvilleCity_GameCorner_EventScript_156AF0:: @ 8156AF0 checkcoins 16385 compare 0x4001, 9500 - jumpif 4, MauvilleCity_GameCorner_EventScript_156B5C + goto_if 4, MauvilleCity_GameCorner_EventScript_156B5C checkmoney 0x2710, 0 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156B3C + goto_if_eq MauvilleCity_GameCorner_EventScript_156B3C givecoins 500 - paymoney 0x2710, 0 - updatemoney 0, 0 - snop - updatecoins 0, 5 - playsfx 95 + takemoney 0x2710, 0 + updatemoneybox 0, 0 + nop + updatecoinsbox 0, 5 + playse 95 msgbox MauvilleCity_GameCorner_Text_181CFE, 4 - hidemoney 0, 0 - hidecoins 0, 5 + hidemoneybox 0, 0 + hidecoinsbox 0, 5 release end @@ -76,22 +76,22 @@ MauvilleCity_GameCorner_EventScript_156B32:: @ 8156B32 MauvilleCity_GameCorner_EventScript_156B3C:: @ 8156B3C msgbox MauvilleCity_GameCorner_Text_181D28, 4 - hidemoney 0, 0 - hidecoins 0, 5 + hidemoneybox 0, 0 + hidecoinsbox 0, 5 release end MauvilleCity_GameCorner_EventScript_156B4C:: @ 8156B4C msgbox MauvilleCity_GameCorner_Text_181D73, 4 - hidemoney 0, 0 - hidecoins 0, 5 + hidemoneybox 0, 0 + hidecoinsbox 0, 5 release end MauvilleCity_GameCorner_EventScript_156B5C:: @ 8156B5C msgbox MauvilleCity_GameCorner_Text_181D57, 4 - hidemoney 0, 0 - hidecoins 0, 5 + hidemoneybox 0, 0 + hidecoinsbox 0, 5 release end @@ -101,21 +101,21 @@ MauvilleCity_GameCorner_EventScript_156B6C:: @ 8156B6C msgbox MauvilleCity_GameCorner_Text_181DE1, 4 checkitem ITEM_COIN_CASE, 1 compare RESULT, 1 - jumpeq MauvilleCity_GameCorner_EventScript_156B88 + goto_if_eq MauvilleCity_GameCorner_EventScript_156B88 release end MauvilleCity_GameCorner_EventScript_156B88:: @ 8156B88 message MauvilleCity_GameCorner_Text_181E17 - waittext - showcoins 0, 0 + waitmessage + showcoinsbox 0, 0 setvar 0x4001, 0 - jump MauvilleCity_GameCorner_EventScript_156BA6 + goto MauvilleCity_GameCorner_EventScript_156BA6 MauvilleCity_GameCorner_EventScript_156B9B:: @ 8156B9B message MauvilleCity_GameCorner_Text_181E17 - waittext - jump MauvilleCity_GameCorner_EventScript_156BA6 + waitmessage + goto MauvilleCity_GameCorner_EventScript_156BA6 MauvilleCity_GameCorner_EventScript_156BA6:: @ 8156BA6 multichoice 12, 0, 48, 0 @@ -124,28 +124,28 @@ MauvilleCity_GameCorner_EventScript_156BA6:: @ 8156BA6 case 1, MauvilleCity_GameCorner_EventScript_156BF0 case 2, MauvilleCity_GameCorner_EventScript_156BFE case 3, MauvilleCity_GameCorner_EventScript_156D0D - jump MauvilleCity_GameCorner_EventScript_156D0D + goto MauvilleCity_GameCorner_EventScript_156D0D end MauvilleCity_GameCorner_EventScript_156BE2:: @ 8156BE2 setvar 0x4001, 1 - bufferdecor 0, 88 - jump MauvilleCity_GameCorner_EventScript_156C0C + getdecorname 0, 88 + goto MauvilleCity_GameCorner_EventScript_156C0C MauvilleCity_GameCorner_EventScript_156BF0:: @ 8156BF0 setvar 0x4001, 2 - bufferdecor 0, 89 - jump MauvilleCity_GameCorner_EventScript_156C0C + getdecorname 0, 89 + goto MauvilleCity_GameCorner_EventScript_156C0C MauvilleCity_GameCorner_EventScript_156BFE:: @ 8156BFE setvar 0x4001, 3 - bufferdecor 0, 90 - jump MauvilleCity_GameCorner_EventScript_156C0C + getdecorname 0, 90 + goto MauvilleCity_GameCorner_EventScript_156C0C MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C msgbox MauvilleCity_GameCorner_Text_181E33, 5 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156D0D + goto_if_eq MauvilleCity_GameCorner_EventScript_156D0D switch 0x4001 case 1, MauvilleCity_GameCorner_EventScript_156C46 case 2, MauvilleCity_GameCorner_EventScript_156C80 @@ -155,64 +155,64 @@ MauvilleCity_GameCorner_EventScript_156C0C:: @ 8156C0C MauvilleCity_GameCorner_EventScript_156C46:: @ 8156C46 checkcoins 16386 compare 0x4002, 1000 - jumpif 0, MauvilleCity_GameCorner_EventScript_156CF4 - bufferdecor 1, 88 + goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 + getdecorname 1, 88 checkdecor 88 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156D02 - removecoins 1000 + goto_if_eq MauvilleCity_GameCorner_EventScript_156D02 + takecoins 1000 adddecor 88 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181E49, 4 - jump MauvilleCity_GameCorner_EventScript_156B9B + goto MauvilleCity_GameCorner_EventScript_156B9B end MauvilleCity_GameCorner_EventScript_156C80:: @ 8156C80 checkcoins 16386 compare 0x4002, 1000 - jumpif 0, MauvilleCity_GameCorner_EventScript_156CF4 - bufferdecor 1, 89 + goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 + getdecorname 1, 89 checkdecor 89 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156D02 - removecoins 1000 + goto_if_eq MauvilleCity_GameCorner_EventScript_156D02 + takecoins 1000 adddecor 89 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181E49, 4 - jump MauvilleCity_GameCorner_EventScript_156B9B + goto MauvilleCity_GameCorner_EventScript_156B9B end MauvilleCity_GameCorner_EventScript_156CBA:: @ 8156CBA checkcoins 16386 compare 0x4002, 1000 - jumpif 0, MauvilleCity_GameCorner_EventScript_156CF4 - bufferdecor 1, 90 + goto_if 0, MauvilleCity_GameCorner_EventScript_156CF4 + getdecorname 1, 90 checkdecor 90 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156D02 - removecoins 1000 + goto_if_eq MauvilleCity_GameCorner_EventScript_156D02 + takecoins 1000 adddecor 90 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181E49, 4 - jump MauvilleCity_GameCorner_EventScript_156B9B + goto MauvilleCity_GameCorner_EventScript_156B9B end MauvilleCity_GameCorner_EventScript_156CF4:: @ 8156CF4 msgbox MauvilleCity_GameCorner_Text_181E76, 4 - jump MauvilleCity_GameCorner_EventScript_156B9B + goto MauvilleCity_GameCorner_EventScript_156B9B end MauvilleCity_GameCorner_EventScript_156D02:: @ 8156D02 call MauvilleCity_GameCorner_EventScript_1A02B8 - jump MauvilleCity_GameCorner_EventScript_156B9B + goto MauvilleCity_GameCorner_EventScript_156B9B end MauvilleCity_GameCorner_EventScript_156D0D:: @ 8156D0D msgbox MauvilleCity_GameCorner_Text_181EC2, 4 - hidecoins 0, 0 + hidecoinsbox 0, 0 release end @@ -222,21 +222,21 @@ MauvilleCity_GameCorner_EventScript_156D1A:: @ 8156D1A msgbox MauvilleCity_GameCorner_Text_181DE1, 4 checkitem ITEM_COIN_CASE, 1 compare RESULT, 1 - jumpeq MauvilleCity_GameCorner_EventScript_156D36 + goto_if_eq MauvilleCity_GameCorner_EventScript_156D36 release end MauvilleCity_GameCorner_EventScript_156D36:: @ 8156D36 message MauvilleCity_GameCorner_Text_181E17 - waittext - showcoins 0, 0 + waitmessage + showcoinsbox 0, 0 setvar 0x4001, 0 - jump MauvilleCity_GameCorner_EventScript_156D54 + goto MauvilleCity_GameCorner_EventScript_156D54 MauvilleCity_GameCorner_EventScript_156D49:: @ 8156D49 message MauvilleCity_GameCorner_Text_181E17 - waittext - jump MauvilleCity_GameCorner_EventScript_156D54 + waitmessage + goto MauvilleCity_GameCorner_EventScript_156D54 MauvilleCity_GameCorner_EventScript_156D54:: @ 8156D54 multichoice 12, 0, 55, 0 @@ -247,38 +247,38 @@ MauvilleCity_GameCorner_EventScript_156D54:: @ 8156D54 case 3, MauvilleCity_GameCorner_EventScript_156DD0 case 4, MauvilleCity_GameCorner_EventScript_156DDE case 5, MauvilleCity_GameCorner_EventScript_156F77 - jump MauvilleCity_GameCorner_EventScript_156F77 + goto MauvilleCity_GameCorner_EventScript_156F77 end MauvilleCity_GameCorner_EventScript_156DA6:: @ 8156DA6 setvar 0x4001, 1 - bufferitem 0, ITEM_TM32 - jump MauvilleCity_GameCorner_EventScript_156DEC + getitemname 0, ITEM_TM32 + goto MauvilleCity_GameCorner_EventScript_156DEC MauvilleCity_GameCorner_EventScript_156DB4:: @ 8156DB4 setvar 0x4001, 2 - bufferitem 0, ITEM_TM29 - jump MauvilleCity_GameCorner_EventScript_156DEC + getitemname 0, ITEM_TM29 + goto MauvilleCity_GameCorner_EventScript_156DEC MauvilleCity_GameCorner_EventScript_156DC2:: @ 8156DC2 setvar 0x4001, 3 - bufferitem 0, ITEM_TM35 - jump MauvilleCity_GameCorner_EventScript_156DEC + getitemname 0, ITEM_TM35 + goto MauvilleCity_GameCorner_EventScript_156DEC MauvilleCity_GameCorner_EventScript_156DD0:: @ 8156DD0 setvar 0x4001, 4 - bufferitem 0, ITEM_TM24 - jump MauvilleCity_GameCorner_EventScript_156DEC + getitemname 0, ITEM_TM24 + goto MauvilleCity_GameCorner_EventScript_156DEC MauvilleCity_GameCorner_EventScript_156DDE:: @ 8156DDE setvar 0x4001, 5 - bufferitem 0, ITEM_TM13 - jump MauvilleCity_GameCorner_EventScript_156DEC + getitemname 0, ITEM_TM13 + goto MauvilleCity_GameCorner_EventScript_156DEC MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC msgbox MauvilleCity_GameCorner_Text_181E33, 5 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156F77 + goto_if_eq MauvilleCity_GameCorner_EventScript_156F77 switch 0x4001 case 1, MauvilleCity_GameCorner_EventScript_156E3C case 2, MauvilleCity_GameCorner_EventScript_156E76 @@ -290,91 +290,91 @@ MauvilleCity_GameCorner_EventScript_156DEC:: @ 8156DEC MauvilleCity_GameCorner_EventScript_156E3C:: @ 8156E3C checkcoins 16386 compare 0x4002, 1500 - jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM32, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156F6C - removecoins 1500 + goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C + takecoins 1500 additem ITEM_TM32, 1 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181F08, 4 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156E76:: @ 8156E76 checkcoins 16386 compare 0x4002, 3500 - jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM29, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156F6C - removecoins 3500 + goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C + takecoins 3500 additem ITEM_TM29, 1 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181F08, 4 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156EB0:: @ 8156EB0 checkcoins 16386 compare 0x4002, 4000 - jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM35, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156F6C - removecoins 4000 + goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C + takecoins 4000 additem ITEM_TM35, 1 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181F08, 4 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156EEA:: @ 8156EEA checkcoins 16386 compare 0x4002, 4000 - jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM24, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156F6C - removecoins 4000 + goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C + takecoins 4000 additem ITEM_TM24, 1 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181F08, 4 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156F24:: @ 8156F24 checkcoins 16386 compare 0x4002, 4000 - jumpif 0, MauvilleCity_GameCorner_EventScript_156F5E + goto_if 0, MauvilleCity_GameCorner_EventScript_156F5E checkitemspace ITEM_TM13, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_156F6C - removecoins 4000 + goto_if_eq MauvilleCity_GameCorner_EventScript_156F6C + takecoins 4000 additem ITEM_TM13, 1 - updatecoins 0, 0 - playsfx 95 + updatecoinsbox 0, 0 + playse 95 msgbox MauvilleCity_GameCorner_Text_181F08, 4 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156F5E:: @ 8156F5E msgbox MauvilleCity_GameCorner_Text_181E76, 4 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156F6C:: @ 8156F6C call MauvilleCity_GameCorner_EventScript_1A02A5 - jump MauvilleCity_GameCorner_EventScript_156D49 + goto MauvilleCity_GameCorner_EventScript_156D49 end MauvilleCity_GameCorner_EventScript_156F77:: @ 8156F77 msgbox MauvilleCity_GameCorner_Text_181EC2, 4 - hidecoins 0, 0 + hidecoinsbox 0, 0 release end @@ -390,10 +390,10 @@ MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96 lock faceplayer checkflag 226 - jumpeq MauvilleCity_GameCorner_EventScript_157072 + goto_if_eq MauvilleCity_GameCorner_EventScript_157072 msgbox MauvilleCity_GameCorner_Text_181F3D, 5 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_157068 + goto_if_eq MauvilleCity_GameCorner_EventScript_157068 switch 0x4023 case 0, MauvilleCity_GameCorner_EventScript_156FDB case 1, MauvilleCity_GameCorner_EventScript_157005 @@ -401,36 +401,36 @@ MauvilleCity_GameCorner_EventScript_156F96:: @ 8156F96 end MauvilleCity_GameCorner_EventScript_156FDB:: @ 8156FDB - bufferdecor 1, 88 + getdecorname 1, 88 checkdecor 88 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_157059 + goto_if_eq MauvilleCity_GameCorner_EventScript_157059 msgbox MauvilleCity_GameCorner_Text_181F89, 4 givedecoration 88 setflag 226 - jump MauvilleCity_GameCorner_EventScript_157072 + goto MauvilleCity_GameCorner_EventScript_157072 end MauvilleCity_GameCorner_EventScript_157005:: @ 8157005 - bufferdecor 1, 89 + getdecorname 1, 89 checkdecor 89 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_157059 + goto_if_eq MauvilleCity_GameCorner_EventScript_157059 msgbox MauvilleCity_GameCorner_Text_181F89, 4 givedecoration 89 setflag 226 - jump MauvilleCity_GameCorner_EventScript_157072 + goto MauvilleCity_GameCorner_EventScript_157072 end MauvilleCity_GameCorner_EventScript_15702F:: @ 815702F - bufferdecor 1, 90 + getdecorname 1, 90 checkdecor 90 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_157059 + goto_if_eq MauvilleCity_GameCorner_EventScript_157059 msgbox MauvilleCity_GameCorner_Text_181F89, 4 givedecoration 90 setflag 226 - jump MauvilleCity_GameCorner_EventScript_157072 + goto MauvilleCity_GameCorner_EventScript_157072 end MauvilleCity_GameCorner_EventScript_157059:: @ 8157059 @@ -454,54 +454,54 @@ MauvilleCity_GameCorner_EventScript_15707C:: @ 815707C faceplayer checkitem ITEM_COIN_CASE, 1 compare RESULT, 1 - jumpeq MauvilleCity_GameCorner_EventScript_15709C + goto_if_eq MauvilleCity_GameCorner_EventScript_15709C msgbox MauvilleCity_GameCorner_Text_18201E, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_15709C:: @ 815709C checkflag 225 - jumpeq MauvilleCity_GameCorner_EventScript_1570CA + goto_if_eq MauvilleCity_GameCorner_EventScript_1570CA checkcoins 16385 compare 0x4001, 1 - jumpif 4, MauvilleCity_GameCorner_EventScript_1570CA + goto_if 4, MauvilleCity_GameCorner_EventScript_1570CA setflag 225 givecoins 20 msgbox MauvilleCity_GameCorner_Text_18208E, 4 - playsfx 95 - jump MauvilleCity_GameCorner_EventScript_1570CA + playse 95 + goto MauvilleCity_GameCorner_EventScript_1570CA end MauvilleCity_GameCorner_EventScript_1570CA:: @ 81570CA msgbox MauvilleCity_GameCorner_Text_1820DD, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_1570D8:: @ 81570D8 lock faceplayer msgbox MauvilleCity_GameCorner_Text_182120, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_1570E8:: @ 81570E8 lock faceplayer msgbox MauvilleCity_GameCorner_Text_18217C, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_1570F8:: @ 81570F8 lock faceplayer msgbox MauvilleCity_GameCorner_Text_182241, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_157108:: @ 8157108 - closebutton - move LAST_TALKED, MauvilleCity_GameCorner_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, MauvilleCity_GameCorner_Movement_1A083D + waitmovement 0 release end @@ -509,24 +509,24 @@ MauvilleCity_GameCorner_EventScript_157115:: @ 8157115 lock faceplayer msgbox MauvilleCity_GameCorner_Text_182272, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_157125:: @ 8157125 lock faceplayer msgbox MauvilleCity_GameCorner_Text_1822F4, 4 - jump MauvilleCity_GameCorner_EventScript_157108 + goto MauvilleCity_GameCorner_EventScript_157108 end MauvilleCity_GameCorner_EventScript_157135:: @ 8157135 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 0 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -534,10 +534,10 @@ MauvilleCity_GameCorner_EventScript_157155:: @ 8157155 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 1 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -545,10 +545,10 @@ MauvilleCity_GameCorner_EventScript_157175:: @ 8157175 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 2 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -556,10 +556,10 @@ MauvilleCity_GameCorner_EventScript_157195:: @ 8157195 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 3 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -567,10 +567,10 @@ MauvilleCity_GameCorner_EventScript_1571B5:: @ 81571B5 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 4 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -578,10 +578,10 @@ MauvilleCity_GameCorner_EventScript_1571D5:: @ 81571D5 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 5 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -589,10 +589,10 @@ MauvilleCity_GameCorner_EventScript_1571F5:: @ 81571F5 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 6 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -600,10 +600,10 @@ MauvilleCity_GameCorner_EventScript_157215:: @ 8157215 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 7 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -611,10 +611,10 @@ MauvilleCity_GameCorner_EventScript_157235:: @ 8157235 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 8 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -622,10 +622,10 @@ MauvilleCity_GameCorner_EventScript_157255:: @ 8157255 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 9 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -633,10 +633,10 @@ MauvilleCity_GameCorner_EventScript_157275:: @ 8157275 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 10 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end @@ -644,10 +644,10 @@ MauvilleCity_GameCorner_EventScript_157295:: @ 8157295 lockall checkitem ITEM_COIN_CASE, 1 compare RESULT, 0 - jumpeq MauvilleCity_GameCorner_EventScript_1572B5 + goto_if_eq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 11 - specialval RESULT, sub_810F424 - pokecasino RESULT + specialvar RESULT, sub_810F424 + playslotmachine RESULT releaseall end diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc index bd5c119f3..5221add7a 100644 --- a/data/scripts/maps/MauvilleCity_Gym.inc +++ b/data/scripts/maps/MauvilleCity_Gym.inc @@ -4,7 +4,7 @@ MauvilleCity_Gym_MapScripts:: @ 8156450 MauvilleCity_Gym_MapScript1_156456:: @ 8156456 checkflag 1208 - jumpeq MauvilleCity_Gym_EventScript_1565A7 + goto_if_eq MauvilleCity_Gym_EventScript_1565A7 switch 0x4093 case 0, MauvilleCity_Gym_EventScript_156491 case 1, MauvilleCity_Gym_EventScript_15657D @@ -14,7 +14,7 @@ MauvilleCity_Gym_MapScript1_156456:: @ 8156456 MauvilleCity_Gym_EventScript_156491:: @ 8156491 checkflag 99 - jumpeq MauvilleCity_Gym_EventScript_15649B + goto_if_eq MauvilleCity_Gym_EventScript_15649B end MauvilleCity_Gym_EventScript_15649B:: @ 815649B @@ -48,19 +48,19 @@ MauvilleCity_Gym_EventScript_15649B:: @ 815649B MauvilleCity_Gym_EventScript_15657D:: @ 815657D setvar 0x8004, 0 special MauvilleGymSpecial1 - jump MauvilleCity_Gym_EventScript_156491 + goto MauvilleCity_Gym_EventScript_156491 end MauvilleCity_Gym_EventScript_15658B:: @ 815658B setvar 0x8004, 1 special MauvilleGymSpecial1 - jump MauvilleCity_Gym_EventScript_156491 + goto MauvilleCity_Gym_EventScript_156491 end MauvilleCity_Gym_EventScript_156599:: @ 8156599 setvar 0x8004, 2 special MauvilleGymSpecial1 - jump MauvilleCity_Gym_EventScript_156491 + goto MauvilleCity_Gym_EventScript_156491 end MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7 @@ -70,35 +70,35 @@ MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7 MauvilleCity_Gym_EventScript_1565AB:: @ 81565AB trainerbattle 1, OPPONENT_WATTSON, 0, MauvilleCity_Gym_Text_180C32, MauvilleCity_Gym_Text_180D64, MauvilleCity_Gym_EventScript_1565DB checkflag 167 - jumpif 0, MauvilleCity_Gym_EventScript_15661D + goto_if 0, MauvilleCity_Gym_EventScript_15661D compare 0x40ba, 2 - jumpeq MauvilleCity_Gym_EventScript_156641 + goto_if_eq MauvilleCity_Gym_EventScript_156641 msgbox MauvilleCity_Gym_Text_180EDB, 4 release end MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB message MauvilleCity_Gym_Text_180DAF - waittext + waitmessage call MauvilleCity_Gym_EventScript_1A02C5 msgbox MauvilleCity_Gym_Text_180DDA, 4 setflag 1208 setflag 2057 addvar 0x4085, 1 compare 0x4085, 6 - callif 1, MauvilleCity_Gym_EventScript_1A00FB + call_if 1, MauvilleCity_Gym_EventScript_1A00FB setvar 0x8008, 3 call MauvilleCity_Gym_EventScript_1A01C0 special MauvilleGymSpecial3 special DrawWholeMapView - playsfx 44 - jump MauvilleCity_Gym_EventScript_15661D + playse 44 + goto MauvilleCity_Gym_EventScript_15661D end MauvilleCity_Gym_EventScript_15661D:: @ 815661D giveitem ITEM_TM34 compare RESULT, 0 - jumpeq MauvilleCity_Gym_EventScript_1A029B + goto_if_eq MauvilleCity_Gym_EventScript_1A029B msgbox MauvilleCity_Gym_Text_180E76, 4 setflag 167 release @@ -112,45 +112,45 @@ MauvilleCity_Gym_EventScript_156641:: @ 8156641 MauvilleCity_Gym_EventScript_15664B:: @ 815664B lockall checkflag 1208 - jumpeq MauvilleCity_Gym_EventScript_1566DA + goto_if_eq MauvilleCity_Gym_EventScript_1566DA compare 0x4093, 1 - jumpeq MauvilleCity_Gym_EventScript_1566DA + goto_if_eq MauvilleCity_Gym_EventScript_1566DA setvar 0x4093, 1 setvar 0x8004, 0 - jump MauvilleCity_Gym_EventScript_1566BA + goto MauvilleCity_Gym_EventScript_1566BA end MauvilleCity_Gym_EventScript_156670:: @ 8156670 lockall checkflag 1208 - jumpeq MauvilleCity_Gym_EventScript_1566DA + goto_if_eq MauvilleCity_Gym_EventScript_1566DA compare 0x4093, 2 - jumpeq MauvilleCity_Gym_EventScript_1566DA + goto_if_eq MauvilleCity_Gym_EventScript_1566DA setvar 0x4093, 2 setvar 0x8004, 1 - jump MauvilleCity_Gym_EventScript_1566BA + goto MauvilleCity_Gym_EventScript_1566BA end MauvilleCity_Gym_EventScript_156695:: @ 8156695 lockall checkflag 1208 - jumpeq MauvilleCity_Gym_EventScript_1566DA + goto_if_eq MauvilleCity_Gym_EventScript_1566DA compare 0x4093, 3 - jumpeq MauvilleCity_Gym_EventScript_1566DA + goto_if_eq MauvilleCity_Gym_EventScript_1566DA setvar 0x4093, 3 setvar 0x8004, 2 - jump MauvilleCity_Gym_EventScript_1566BA + goto MauvilleCity_Gym_EventScript_1566BA end MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA special MauvilleGymSpecial2 special MauvilleGymSpecial1 special DrawWholeMapView - playsfx 44 + playse 44 checkflag 99 - jumpeq MauvilleCity_Gym_EventScript_1566E1 + goto_if_eq MauvilleCity_Gym_EventScript_1566E1 checkflag 99 - jumpif 0, MauvilleCity_Gym_EventScript_1566DC + goto_if 0, MauvilleCity_Gym_EventScript_1566DC releaseall end @@ -192,7 +192,7 @@ MauvilleCity_Gym_EventScript_156742:: @ 8156742 lock faceplayer checkflag 1208 - jumpeq MauvilleCity_Gym_EventScript_156757 + goto_if_eq MauvilleCity_Gym_EventScript_156757 msgbox MauvilleCity_Gym_Text_180815, 4 release end @@ -205,15 +205,15 @@ MauvilleCity_Gym_EventScript_156757:: @ 8156757 MauvilleCity_Gym_EventScript_156761:: @ 8156761 lockall checkflag 2057 - jumpeq MauvilleCity_Gym_EventScript_156781 - jump MauvilleCity_Gym_EventScript_15678B + goto_if_eq MauvilleCity_Gym_EventScript_156781 + goto MauvilleCity_Gym_EventScript_15678B end MauvilleCity_Gym_EventScript_156771:: @ 8156771 lockall checkflag 2057 - jumpeq MauvilleCity_Gym_EventScript_156781 - jump MauvilleCity_Gym_EventScript_15678B + goto_if_eq MauvilleCity_Gym_EventScript_156781 + goto MauvilleCity_Gym_EventScript_15678B end MauvilleCity_Gym_EventScript_156781:: @ 8156781 diff --git a/data/scripts/maps/MauvilleCity_House1.inc b/data/scripts/maps/MauvilleCity_House1.inc index 48ee31be5..e76564847 100644 --- a/data/scripts/maps/MauvilleCity_House1.inc +++ b/data/scripts/maps/MauvilleCity_House1.inc @@ -5,7 +5,7 @@ MauvilleCity_House1_EventScript_1569FD:: @ 81569FD lock faceplayer checkflag 107 - jumpeq MauvilleCity_House1_EventScript_156A29 + goto_if_eq MauvilleCity_House1_EventScript_156A29 msgbox MauvilleCity_House1_Text_181B1A, 4 giveitem ITEM_HM06 setflag 107 diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc index 8a73af034..a500a246e 100644 --- a/data/scripts/maps/MauvilleCity_House2.inc +++ b/data/scripts/maps/MauvilleCity_House2.inc @@ -5,25 +5,25 @@ MauvilleCity_House2_EventScript_1572C0:: @ 81572C0 lock faceplayer checkflag 258 - jumpeq MauvilleCity_House2_EventScript_15733D + goto_if_eq MauvilleCity_House2_EventScript_15733D msgbox MauvilleCity_House2_Text_18244E, 4 checkitem ITEM_HARBOR_MAIL, 1 compare RESULT, 1 - jumpeq MauvilleCity_House2_EventScript_1572E5 + goto_if_eq MauvilleCity_House2_EventScript_1572E5 release end MauvilleCity_House2_EventScript_1572E5:: @ 81572E5 - playsfx 21 - move LAST_TALKED, MauvilleCity_House2_Movement_1A0833 - waitmove 0 - move LAST_TALKED, MauvilleCity_House2_Movement_1A0835 - waitmove 0 + playse 21 + applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0833 + waitmovement 0 + applymovement LAST_TALKED, MauvilleCity_House2_Movement_1A0835 + waitmovement 0 msgbox MauvilleCity_House2_Text_1824D8, 5 compare RESULT, 1 - jumpeq MauvilleCity_House2_EventScript_15731B + goto_if_eq MauvilleCity_House2_EventScript_15731B compare RESULT, 0 - jumpeq MauvilleCity_House2_EventScript_157347 + goto_if_eq MauvilleCity_House2_EventScript_157347 end MauvilleCity_House2_EventScript_15731B:: @ 815731B @@ -31,7 +31,7 @@ MauvilleCity_House2_EventScript_15731B:: @ 815731B removeitem ITEM_HARBOR_MAIL, 1 giveitem ITEM_COIN_CASE setflag 258 - jump MauvilleCity_House2_EventScript_15733D + goto MauvilleCity_House2_EventScript_15733D end MauvilleCity_House2_EventScript_15733D:: @ 815733D diff --git a/data/scripts/maps/MauvilleCity_Mart.inc b/data/scripts/maps/MauvilleCity_Mart.inc index fac5906ad..0dd66eddf 100644 --- a/data/scripts/maps/MauvilleCity_Mart.inc +++ b/data/scripts/maps/MauvilleCity_Mart.inc @@ -5,7 +5,7 @@ MauvilleCity_Mart_EventScript_1573BE:: @ 81573BE lock faceplayer message MauvilleCity_Mart_Text_1A0BE4 - waittext + waitmessage pokemart MauvilleCity_Mart_Items msgbox MauvilleCity_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc index b2b5dabd4..7122b8c3c 100644 --- a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc @@ -5,7 +5,7 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8157351 MauvilleCity_PokemonCenter_1F_MapScript1_157357:: @ 8157357 sethealplace 5 call MauvilleCity_PokemonCenter_1F_EventScript_19FD1B - jump MauvilleCity_PokemonCenter_1F_EventScript_157365 + goto MauvilleCity_PokemonCenter_1F_EventScript_157365 end MauvilleCity_PokemonCenter_1F_EventScript_157365:: @ 8157365 @@ -15,7 +15,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_157365:: @ 8157365 MauvilleCity_PokemonCenter_1F_EventScript_157369:: @ 8157369 setvar 0x800b, 1 call MauvilleCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc index 3e7155955..06abbc8f6 100644 --- a/data/scripts/maps/MeteorFalls_1F_1R.inc +++ b/data/scripts/maps/MeteorFalls_1F_1R.inc @@ -8,75 +8,75 @@ MeteorFalls_1F_1R_MapScript1_15C496:: @ 815C496 MeteorFalls_1F_1R_EventScript_15C49C:: @ 815C49C lockall - move 255, MeteorFalls_1F_1R_Movement_1A0845 - waitmove 0 - pause 30 - move 5, MeteorFalls_1F_1R_Movement_1A0845 - waitmove 0 + applymovement 255, MeteorFalls_1F_1R_Movement_1A0845 + waitmovement 0 + delay 30 + applymovement 5, MeteorFalls_1F_1R_Movement_1A0845 + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_193237, 4 - closebutton - move 5, MeteorFalls_1F_1R_Movement_1A0841 - move 6, MeteorFalls_1F_1R_Movement_1A0841 - waitmove 0 - playsfx 21 - move 5, MeteorFalls_1F_1R_Movement_1A0833 - waitmove 0 - move 5, MeteorFalls_1F_1R_Movement_1A0835 - waitmove 0 + closemessage + applymovement 5, MeteorFalls_1F_1R_Movement_1A0841 + applymovement 6, MeteorFalls_1F_1R_Movement_1A0841 + waitmovement 0 + playse 21 + applymovement 5, MeteorFalls_1F_1R_Movement_1A0833 + waitmovement 0 + applymovement 5, MeteorFalls_1F_1R_Movement_1A0835 + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_193268, 4 - closebutton - move 5, MeteorFalls_1F_1R_Movement_15C5EE - waitmove 0 + closemessage + applymovement 5, MeteorFalls_1F_1R_Movement_15C5EE + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_1932C5, 4 - closebutton - move 255, MeteorFalls_1F_1R_Movement_1A083F - move 5, MeteorFalls_1F_1R_Movement_1A083F - move 6, MeteorFalls_1F_1R_Movement_1A083F - waitmove 0 - reappear 7 - reappear 8 - reappear 9 - move 7, MeteorFalls_1F_1R_Movement_15C608 - move 8, MeteorFalls_1F_1R_Movement_15C60F - move 9, MeteorFalls_1F_1R_Movement_15C617 - waitmove 0 - move 5, MeteorFalls_1F_1R_Movement_1A083F - move 6, MeteorFalls_1F_1R_Movement_1A083F - waitmove 0 + closemessage + applymovement 255, MeteorFalls_1F_1R_Movement_1A083F + applymovement 5, MeteorFalls_1F_1R_Movement_1A083F + applymovement 6, MeteorFalls_1F_1R_Movement_1A083F + waitmovement 0 + addobject 7 + addobject 8 + addobject 9 + applymovement 7, MeteorFalls_1F_1R_Movement_15C608 + applymovement 8, MeteorFalls_1F_1R_Movement_15C60F + applymovement 9, MeteorFalls_1F_1R_Movement_15C617 + waitmovement 0 + applymovement 5, MeteorFalls_1F_1R_Movement_1A083F + applymovement 6, MeteorFalls_1F_1R_Movement_1A083F + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_193320, 4 - closebutton - move 255, MeteorFalls_1F_1R_Movement_15C64F - move 5, MeteorFalls_1F_1R_Movement_15C5F1 - move 6, MeteorFalls_1F_1R_Movement_15C5FC - waitmove 0 - disappear 5 - disappear 6 - move 7, MeteorFalls_1F_1R_Movement_15C628 - waitmove 0 + closemessage + applymovement 255, MeteorFalls_1F_1R_Movement_15C64F + applymovement 5, MeteorFalls_1F_1R_Movement_15C5F1 + applymovement 6, MeteorFalls_1F_1R_Movement_15C5FC + waitmovement 0 + removeobject 5 + removeobject 6 + applymovement 7, MeteorFalls_1F_1R_Movement_15C628 + waitmovement 0 .ifdef SAPPHIRE msgbox MeteorFalls_1F_1R_Text_1933EC, 4 .else msgbox MeteorFalls_1F_1R_Text_193584, 4 .endif - closebutton - move 8, MeteorFalls_1F_1R_Movement_15C639 - move 9, MeteorFalls_1F_1R_Movement_15C64A - waitmove 0 + closemessage + applymovement 8, MeteorFalls_1F_1R_Movement_15C639 + applymovement 9, MeteorFalls_1F_1R_Movement_15C64A + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_193720, 4 - move 7, MeteorFalls_1F_1R_Movement_1A0845 - waitmove 0 + applymovement 7, MeteorFalls_1F_1R_Movement_1A0845 + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_193747, 4 - move 7, MeteorFalls_1F_1R_Movement_1A083F - waitmove 0 + applymovement 7, MeteorFalls_1F_1R_Movement_1A083F + waitmovement 0 msgbox MeteorFalls_1F_1R_Text_1937AA, 4 - closebutton - move 7, MeteorFalls_1F_1R_Movement_15C61F - move 8, MeteorFalls_1F_1R_Movement_15C62E - move 9, MeteorFalls_1F_1R_Movement_15C63E - waitmove 0 - disappear 7 - disappear 8 - disappear 9 + closemessage + applymovement 7, MeteorFalls_1F_1R_Movement_15C61F + applymovement 8, MeteorFalls_1F_1R_Movement_15C62E + applymovement 9, MeteorFalls_1F_1R_Movement_15C63E + waitmovement 0 + removeobject 7 + removeobject 8 + removeobject 9 setflag 819 setvar 0x40bf, 1 releaseall @@ -216,7 +216,7 @@ MeteorFalls_1F_1R_EventScript_15C656:: @ 815C656 lock faceplayer checkflag 244 - jumpeq MeteorFalls_1F_1R_EventScript_15C66E + goto_if_eq MeteorFalls_1F_1R_EventScript_15C66E setflag 244 msgbox MeteorFalls_1F_1R_Text_1937EB, 4 release diff --git a/data/scripts/maps/MeteorFalls_1F_2R.inc b/data/scripts/maps/MeteorFalls_1F_2R.inc index 8e45c34ae..b3a0c51fe 100644 --- a/data/scripts/maps/MeteorFalls_1F_2R.inc +++ b/data/scripts/maps/MeteorFalls_1F_2R.inc @@ -3,9 +3,9 @@ MeteorFalls_1F_2R_MapScripts:: @ 815C678 MeteorFalls_1F_2R_EventScript_15C679:: @ 815C679 trainerbattle 0, OPPONENT_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_1939C5, MeteorFalls_1F_2R_Text_193A35 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq MeteorFalls_1F_2R_EventScript_15C6A0 + goto_if_eq MeteorFalls_1F_2R_EventScript_15C6A0 msgbox MeteorFalls_1F_2R_Text_193A60, 6 end @@ -16,9 +16,9 @@ MeteorFalls_1F_2R_EventScript_15C6A0:: @ 815C6A0 MeteorFalls_1F_2R_EventScript_15C6B7:: @ 815C6B7 trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193BB7, MeteorFalls_1F_2R_Text_193C10, MeteorFalls_1F_2R_Text_193C9F - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq MeteorFalls_1F_2R_EventScript_15C6E2 + goto_if_eq MeteorFalls_1F_2R_EventScript_15C6E2 msgbox MeteorFalls_1F_2R_Text_193C35, 6 end @@ -29,9 +29,9 @@ MeteorFalls_1F_2R_EventScript_15C6E2:: @ 815C6E2 MeteorFalls_1F_2R_EventScript_15C6FD:: @ 815C6FD trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193D10, MeteorFalls_1F_2R_Text_193D6E, MeteorFalls_1F_2R_Text_193DFB - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq MeteorFalls_1F_2R_EventScript_15C728 + goto_if_eq MeteorFalls_1F_2R_EventScript_15C728 msgbox MeteorFalls_1F_2R_Text_193D9A, 6 end diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc index ddb317364..44deb9d63 100644 --- a/data/scripts/maps/MossdeepCity.inc +++ b/data/scripts/maps/MossdeepCity.inc @@ -8,7 +8,7 @@ MossdeepCity_MapScript1_14CF98:: @ 814CF98 clearflag 102 clearflag 103 checkflag 2090 - callif 1, MossdeepCity_EventScript_1A02C1 + call_if 1, MossdeepCity_EventScript_1A02C1 end MossdeepCity_EventScript_14CFAE:: @ 814CFAE @@ -60,8 +60,8 @@ MossdeepCity_EventScript_14D011:: @ 814D011 lock faceplayer msgbox MossdeepCity_Text_16944E, 4 - move LAST_TALKED, MossdeepCity_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, MossdeepCity_Movement_1A083D + waitmovement 0 release end @@ -69,14 +69,14 @@ MossdeepCity_EventScript_14D027:: @ 814D027 lock faceplayer checkflag 276 - jumpeq MossdeepCity_EventScript_14D069 + goto_if_eq MossdeepCity_EventScript_14D069 msgbox MossdeepCity_Text_1690A9, 5 compare RESULT, 0 - jumpeq MossdeepCity_EventScript_14D073 + goto_if_eq MossdeepCity_EventScript_14D073 msgbox MossdeepCity_Text_169117, 4 giveitem ITEM_KINGS_ROCK compare RESULT, 0 - jumpeq MossdeepCity_EventScript_1A029B + goto_if_eq MossdeepCity_EventScript_1A029B setflag 276 release end diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc index 59669596a..cef02df2c 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc @@ -5,9 +5,9 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52 .byte 0 MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62 - special sub_813601C + special ValidateEReaderTrainer compare RESULT, 1 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC71 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC71 end MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71 @@ -16,22 +16,22 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71 return MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84 - special sub_813601C + special ValidateEReaderTrainer compare RESULT, 0 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E compare 0x40c0, 0 - callif 5, MossdeepCity_GameCorner_1F_EventScript_15ACAF + call_if 5, MossdeepCity_GameCorner_1F_EventScript_15ACAF end MossdeepCity_GameCorner_1F_EventScript_15AC9E:: @ 815AC9E setvar 0x4001, 1 - movespriteperm 1, 3, 2 - spritebehave 1, 8 + setobjectxyperm 1, 3, 2 + setobjectmovementtype 1, 8 return MossdeepCity_GameCorner_1F_EventScript_15ACAF:: @ 815ACAF - movespriteperm 1, 2, 2 - spritebehave 1, 10 + setobjectxyperm 1, 2, 2 + setobjectmovementtype 1, 10 return MossdeepCity_GameCorner_1F_MapScript2_15ACBB:: @ 815ACBB @@ -42,19 +42,19 @@ MossdeepCity_GameCorner_1F_MapScript2_15ACBB:: @ 815ACBB MossdeepCity_GameCorner_1F_EventScript_15ACD5:: @ 815ACD5 lockall - move 255, MossdeepCity_GameCorner_1F_Movement_15AD3D - waitmove 0 - move 1, MossdeepCity_GameCorner_1F_Movement_15AD3F - waitmove 0 - moveoffscreen 1 - move 255, MossdeepCity_GameCorner_1F_Movement_1A0841 - waitmove 0 + applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AD3D + waitmovement 0 + applymovement 1, MossdeepCity_GameCorner_1F_Movement_15AD3F + waitmovement 0 + moveobjectoffscreen 1 + applymovement 255, MossdeepCity_GameCorner_1F_Movement_1A0841 + waitmovement 0 compare 0x40c0, 1 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD22 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD22 compare 0x40c0, 2 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B compare 0x40c0, 3 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD34 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AD34 special LoadPlayerParty setvar 0x40c0, 0 releaseall @@ -85,7 +85,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AD42:: @ 815AD42 lock faceplayer compare 0x4001, 1 - jumpeq MossdeepCity_GameCorner_1F_EventScript_15AD59 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15AD59 msgbox MossdeepCity_GameCorner_1F_Text_18E59A, 4 release end @@ -95,28 +95,28 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 special sub_810F414 msgbox MossdeepCity_GameCorner_1F_Text_18E650, 5 compare RESULT, 0 - jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 call MossdeepCity_GameCorner_1F_EventScript_15ADF5 compare RESULT, 0 - jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 msgbox MossdeepCity_GameCorner_1F_Text_18E741, 5 compare RESULT, 0 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8 special LoadPlayerParty call S_DoSaveDialog compare RESULT, 0 - jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8 - hidebox 0, 0, 15, 10 + goto_if_eq MossdeepCity_GameCorner_1F_EventScript_15ADE8 + erasebox 0, 0, 15, 10 special SavePlayerParty special ReducePlayerPartyToThree msgbox MossdeepCity_GameCorner_1F_Text_18E777, 4 - closebutton + closemessage compare FACING, 2 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AE04 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE04 compare FACING, 4 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AE16 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE16 compare FACING, 3 - callif 1, MossdeepCity_GameCorner_1F_EventScript_15AE28 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_15AE28 warp MossdeepCity_GameCorner_B1F, 255, 3, 1 waitstate release @@ -136,21 +136,21 @@ MossdeepCity_GameCorner_1F_EventScript_15ADF5:: @ 815ADF5 return MossdeepCity_GameCorner_1F_EventScript_15AE04:: @ 815AE04 - move LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46 - move 255, MossdeepCity_GameCorner_1F_Movement_15AE3A - waitmove 0 + applymovement LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46 + applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AE3A + waitmovement 0 return MossdeepCity_GameCorner_1F_EventScript_15AE16:: @ 815AE16 - move LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE49 - move 255, MossdeepCity_GameCorner_1F_Movement_15AE3E - waitmove 0 + applymovement LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE49 + applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AE3E + waitmovement 0 return MossdeepCity_GameCorner_1F_EventScript_15AE28:: @ 815AE28 - move LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46 - move 255, MossdeepCity_GameCorner_1F_Movement_15AE42 - waitmove 0 + applymovement LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_15AE46 + applymovement 255, MossdeepCity_GameCorner_1F_Movement_15AE42 + waitmovement 0 return MossdeepCity_GameCorner_1F_Movement_15AE3A:: @ 815AE3A diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc index c7d1201fd..11b3ce7a3 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc @@ -4,7 +4,7 @@ MossdeepCity_GameCorner_B1F_MapScripts:: @ 815AE55 .byte 0 MossdeepCity_GameCorner_B1F_MapScript1_15AE60:: @ 815AE60 - special sub_8134AB4 + special SetEReaderTrainerGfxId end MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64 @@ -13,25 +13,25 @@ MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64 MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E lockall - move 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9 - waitmove 0 - special sub_81360C0 + applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9 + waitmovement 0 + special PrintEReaderTrainerGreeting msgbox 0x20234cc, 4 - closebutton + closemessage setvar 0x8004, 2 setvar 0x8005, 0 special sub_813556C waitstate compare RESULT, 3 - callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5 + call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5 compare RESULT, 1 - callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AEE3 + call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEE3 compare RESULT, 2 - callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE - closebutton + call_if 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE + closemessage special ScrSpecial_HealPlayerParty - move 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF - waitmove 0 + applymovement 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF + waitmovement 0 special LoadPlayerParty setvar 0x4001, 1 warp MossdeepCity_GameCorner_1F, 255, 3, 1 @@ -47,14 +47,14 @@ MossdeepCity_GameCorner_B1F_EventScript_15AED5:: @ 815AED5 MossdeepCity_GameCorner_B1F_EventScript_15AEE3:: @ 815AEE3 setvar 0x40c0, 1 special ShowFieldMessageStringVar4 - waittext + waitmessage waitbutton return MossdeepCity_GameCorner_B1F_EventScript_15AEEE:: @ 815AEEE setvar 0x40c0, 2 special ShowFieldMessageStringVar4 - waittext + waitmessage waitbutton return diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc index 20f43a150..944860f2d 100644 --- a/data/scripts/maps/MossdeepCity_Gym.inc +++ b/data/scripts/maps/MossdeepCity_Gym.inc @@ -4,43 +4,43 @@ MossdeepCity_Gym_MapScripts:: @ 815A4D3 MossdeepCity_Gym_MapScript1_15A4D9:: @ 815A4D9 checkflag 100 - jumpeq MossdeepCity_Gym_EventScript_15A510 - jump MossdeepCity_Gym_EventScript_15A4E8 + goto_if_eq MossdeepCity_Gym_EventScript_15A510 + goto MossdeepCity_Gym_EventScript_15A4E8 end MossdeepCity_Gym_EventScript_15A4E8:: @ 815A4E8 checkflag 101 - jumpeq MossdeepCity_Gym_EventScript_15A528 - jump MossdeepCity_Gym_EventScript_15A4F7 + goto_if_eq MossdeepCity_Gym_EventScript_15A528 + goto MossdeepCity_Gym_EventScript_15A4F7 end MossdeepCity_Gym_EventScript_15A4F7:: @ 815A4F7 checkflag 102 - jumpeq MossdeepCity_Gym_EventScript_15A540 - jump MossdeepCity_Gym_EventScript_15A506 + goto_if_eq MossdeepCity_Gym_EventScript_15A540 + goto MossdeepCity_Gym_EventScript_15A506 end MossdeepCity_Gym_EventScript_15A506:: @ 815A506 checkflag 103 - jumpeq MossdeepCity_Gym_EventScript_15A558 + goto_if_eq MossdeepCity_Gym_EventScript_15A558 end MossdeepCity_Gym_EventScript_15A510:: @ 815A510 setmaptile 5, 5, 516, 0 setmaptile 2, 7, 569, 1 - jump MossdeepCity_Gym_EventScript_15A4E8 + goto MossdeepCity_Gym_EventScript_15A4E8 end MossdeepCity_Gym_EventScript_15A528:: @ 815A528 setmaptile 8, 14, 516, 0 setmaptile 8, 10, 569, 1 - jump MossdeepCity_Gym_EventScript_15A4F7 + goto MossdeepCity_Gym_EventScript_15A4F7 end MossdeepCity_Gym_EventScript_15A540:: @ 815A540 setmaptile 15, 17, 524, 0 setmaptile 17, 15, 569, 1 - jump MossdeepCity_Gym_EventScript_15A506 + goto MossdeepCity_Gym_EventScript_15A506 end MossdeepCity_Gym_EventScript_15A558:: @ 815A558 @@ -51,14 +51,14 @@ MossdeepCity_Gym_EventScript_15A558:: @ 815A558 MossdeepCity_Gym_EventScript_15A56B:: @ 815A56B trainerbattle 8, OPPONENT_TATE_AND_LIZA, 0, MossdeepCity_Gym_Text_18CF02, MossdeepCity_Gym_Text_18D077, MossdeepCity_Gym_Text_18D324, MossdeepCity_Gym_EventScript_15A594 checkflag 171 - jumpif 0, MossdeepCity_Gym_EventScript_15A5C6 + goto_if 0, MossdeepCity_Gym_EventScript_15A5C6 msgbox MossdeepCity_Gym_Text_18D273, 4 release end MossdeepCity_Gym_EventScript_15A594:: @ 815A594 message MossdeepCity_Gym_Text_18D0F9 - waittext + waitmessage call MossdeepCity_Gym_EventScript_1A02C5 msgbox MossdeepCity_Gym_Text_18D128, 4 setflag 1229 @@ -68,13 +68,13 @@ MossdeepCity_Gym_EventScript_15A594:: @ 815A594 setvar 0x8008, 7 call MossdeepCity_Gym_EventScript_1A01C0 clearflag 905 - jump MossdeepCity_Gym_EventScript_15A5C6 + goto MossdeepCity_Gym_EventScript_15A5C6 end MossdeepCity_Gym_EventScript_15A5C6:: @ 815A5C6 giveitem ITEM_TM04 compare RESULT, 0 - jumpeq MossdeepCity_Gym_EventScript_1A029B + goto_if_eq MossdeepCity_Gym_EventScript_1A029B msgbox MossdeepCity_Gym_Text_18D1CF, 4 setflag 171 release @@ -83,91 +83,91 @@ MossdeepCity_Gym_EventScript_15A5C6:: @ 815A5C6 MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA lockall checkflag 100 - jumpeq MossdeepCity_Gym_EventScript_15A621 + goto_if_eq MossdeepCity_Gym_EventScript_15A621 setflag 100 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 5, 5, 516, 0 setmaptile 2, 7, 569, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A619:: @ 815A619 special DrawWholeMapView - playsfx 36 + playse 36 releaseall end MossdeepCity_Gym_EventScript_15A621:: @ 815A621 clearflag 100 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 5, 5, 524, 0 setmaptile 2, 7, 568, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A646:: @ 815A646 lockall checkflag 101 - jumpeq MossdeepCity_Gym_EventScript_15A675 + goto_if_eq MossdeepCity_Gym_EventScript_15A675 setflag 101 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 8, 14, 516, 0 setmaptile 8, 10, 569, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A675:: @ 815A675 clearflag 101 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 8, 14, 517, 0 setmaptile 8, 10, 568, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A69A:: @ 815A69A lockall checkflag 102 - jumpeq MossdeepCity_Gym_EventScript_15A6C9 + goto_if_eq MossdeepCity_Gym_EventScript_15A6C9 setflag 102 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 15, 17, 524, 0 setmaptile 17, 15, 569, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A6C9:: @ 815A6C9 clearflag 102 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 15, 17, 516, 0 setmaptile 17, 15, 568, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A6EE:: @ 815A6EE lockall checkflag 103 - jumpeq MossdeepCity_Gym_EventScript_15A71D + goto_if_eq MossdeepCity_Gym_EventScript_15A71D setflag 103 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 1, 23, 525, 0 setmaptile 5, 24, 569, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A71D:: @ 815A71D clearflag 103 - move 255, MossdeepCity_Gym_Movement_15A7F7 - waitmove 0 + applymovement 255, MossdeepCity_Gym_Movement_15A7F7 + waitmovement 0 setmaptile 1, 23, 516, 0 setmaptile 5, 24, 568, 1 - jump MossdeepCity_Gym_EventScript_15A619 + goto MossdeepCity_Gym_EventScript_15A619 end MossdeepCity_Gym_EventScript_15A742:: @ 815A742 @@ -211,7 +211,7 @@ MossdeepCity_Gym_EventScript_15A7D8:: @ 815A7D8 lock faceplayer checkflag 1229 - jumpeq MossdeepCity_Gym_EventScript_15A7ED + goto_if_eq MossdeepCity_Gym_EventScript_15A7ED msgbox MossdeepCity_Gym_Text_18C7E3, 4 release end @@ -229,15 +229,15 @@ MossdeepCity_Gym_Movement_15A7F7:: @ 815A7F7 MossdeepCity_Gym_EventScript_15A7FA:: @ 815A7FA lockall checkflag 2061 - jumpeq MossdeepCity_Gym_EventScript_15A81A - jump MossdeepCity_Gym_EventScript_15A824 + goto_if_eq MossdeepCity_Gym_EventScript_15A81A + goto MossdeepCity_Gym_EventScript_15A824 end MossdeepCity_Gym_EventScript_15A80A:: @ 815A80A lockall checkflag 2061 - jumpeq MossdeepCity_Gym_EventScript_15A81A - jump MossdeepCity_Gym_EventScript_15A824 + goto_if_eq MossdeepCity_Gym_EventScript_15A81A + goto MossdeepCity_Gym_EventScript_15A824 end MossdeepCity_Gym_EventScript_15A81A:: @ 815A81A diff --git a/data/scripts/maps/MossdeepCity_House1.inc b/data/scripts/maps/MossdeepCity_House1.inc index 319dfba8e..62edffc8b 100644 --- a/data/scripts/maps/MossdeepCity_House1.inc +++ b/data/scripts/maps/MossdeepCity_House1.inc @@ -4,11 +4,11 @@ MossdeepCity_House1_MapScripts:: @ 815A82E MossdeepCity_House1_EventScript_15A82F:: @ 815A82F lock faceplayer - bufferfirstpoke 0 + getfirstpartypokename 0 msgbox MossdeepCity_House1_Text_18D465, 4 - specialval RESULT, GetPokeblockNameByMonNature + specialvar RESULT, GetPokeblockNameByMonNature compare RESULT, 0 - jumpeq MossdeepCity_House1_EventScript_15A855 + goto_if_eq MossdeepCity_House1_EventScript_15A855 msgbox MossdeepCity_House1_Text_18D475, 4 release end diff --git a/data/scripts/maps/MossdeepCity_House2.inc b/data/scripts/maps/MossdeepCity_House2.inc index f3d07b64e..f7f66b843 100644 --- a/data/scripts/maps/MossdeepCity_House2.inc +++ b/data/scripts/maps/MossdeepCity_House2.inc @@ -12,29 +12,29 @@ MossdeepCity_House2_EventScript_15A872:: @ 815A872 MossdeepCity_House2_EventScript_15A87B:: @ 815A87B lock faceplayer - checksound - pokecry SPECIES_WINGULL, 0 + waitse + playpokecry SPECIES_WINGULL, 0 msgbox MossdeepCity_House2_Text_18D61E, 4 waitpokecry - closebutton + closemessage setflag 224 clearflag 933 compare FACING, 2 - callif 1, MossdeepCity_House2_EventScript_15A8AE + call_if 1, MossdeepCity_House2_EventScript_15A8AE compare FACING, 3 - callif 1, MossdeepCity_House2_EventScript_15A8B9 - disappear 3 + call_if 1, MossdeepCity_House2_EventScript_15A8B9 + removeobject 3 release end MossdeepCity_House2_EventScript_15A8AE:: @ 815A8AE - move 3, MossdeepCity_House2_Movement_15A8C4 - waitmove 0 + applymovement 3, MossdeepCity_House2_Movement_15A8C4 + waitmovement 0 return MossdeepCity_House2_EventScript_15A8B9:: @ 815A8B9 - move 3, MossdeepCity_House2_Movement_15A8CB - waitmove 0 + applymovement 3, MossdeepCity_House2_Movement_15A8CB + waitmovement 0 return MossdeepCity_House2_Movement_15A8C4:: @ 815A8C4 diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc index fd97ee598..8f9bf4dc5 100644 --- a/data/scripts/maps/MossdeepCity_House3.inc +++ b/data/scripts/maps/MossdeepCity_House3.inc @@ -5,10 +5,10 @@ MossdeepCity_House3_EventScript_15A972:: @ 815A972 lock faceplayer checkflag 152 - jumpeq MossdeepCity_House3_EventScript_15A9B1 + goto_if_eq MossdeepCity_House3_EventScript_15A9B1 msgbox MossdeepCity_House3_Text_18D909, 5 compare RESULT, 0 - jumpeq MossdeepCity_House3_EventScript_15A9BB + goto_if_eq MossdeepCity_House3_EventScript_15A9BB msgbox MossdeepCity_House3_Text_18D9A9, 4 giveitem ITEM_SUPER_ROD setflag 152 diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc index 12dc941e7..fd173899d 100644 --- a/data/scripts/maps/MossdeepCity_House4.inc +++ b/data/scripts/maps/MossdeepCity_House4.inc @@ -5,7 +5,7 @@ MossdeepCity_House4_EventScript_15AB31:: @ 815AB31 lock faceplayer checkflag 2052 - jumpeq MossdeepCity_House4_EventScript_15AB46 + goto_if_eq MossdeepCity_House4_EventScript_15AB46 msgbox MossdeepCity_House4_Text_18E0E3, 4 release end @@ -20,7 +20,7 @@ MossdeepCity_House4_EventScript_15AB50:: @ 815AB50 faceplayer special sub_80BB63C compare RESULT, 0 - jumpeq MossdeepCity_House4_EventScript_15AB6D + goto_if_eq MossdeepCity_House4_EventScript_15AB6D special GetSecretBaseNearbyMapName msgbox MossdeepCity_House4_Text_18E17E, 4 release @@ -34,8 +34,8 @@ MossdeepCity_House4_EventScript_15AB6D:: @ 815AB6D MossdeepCity_House4_EventScript_15AB77:: @ 815AB77 lock faceplayer - checksound - pokecry SPECIES_SKITTY, 0 + waitse + playpokecry SPECIES_SKITTY, 0 msgbox MossdeepCity_House4_Text_18E1E1, 4 waitpokecry release diff --git a/data/scripts/maps/MossdeepCity_Mart.inc b/data/scripts/maps/MossdeepCity_Mart.inc index d1e861b99..ce5845c81 100644 --- a/data/scripts/maps/MossdeepCity_Mart.inc +++ b/data/scripts/maps/MossdeepCity_Mart.inc @@ -5,7 +5,7 @@ MossdeepCity_Mart_EventScript_15A926:: @ 815A926 lock faceplayer message MossdeepCity_Mart_Text_1A0BE4 - waittext + waitmessage pokemart MossdeepCity_Mart_Items msgbox MossdeepCity_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc index 988608ffd..4ed3ea57e 100644 --- a/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc @@ -9,7 +9,7 @@ MossdeepCity_PokemonCenter_1F_MapScript1_15A8D6:: @ 815A8D6 MossdeepCity_PokemonCenter_1F_EventScript_15A8DA:: @ 815A8DA setvar 0x800b, 1 call MossdeepCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc index db31e4c62..260cb4b6e 100644 --- a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc +++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc @@ -4,16 +4,16 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 815AB8A MossdeepCity_SpaceCenter_1F_EventScript_15AB8B:: @ 815AB8B lock faceplayer - checkdailyflags - specialval RESULT, GetWeekCount - buffernum 0, RESULT + dodailyevents + specialvar RESULT, GetWeekCount + getnumberstring 0, RESULT compare RESULT, 0 - callif 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA + call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA compare RESULT, 1 - callif 4, MossdeepCity_SpaceCenter_1F_EventScript_15ABC3 - closebutton - move LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D - waitmove 0 + call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_15ABC3 + closemessage + applymovement LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D + waitmovement 0 release end @@ -33,11 +33,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_15ABD5:: @ 815ABD5 lock faceplayer checkflag 192 - jumpeq MossdeepCity_SpaceCenter_1F_EventScript_15AC0C + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_15AC0C msgbox MossdeepCity_SpaceCenter_1F_Text_18E335, 4 giveitem ITEM_SUN_STONE compare RESULT, 0 - jumpeq MossdeepCity_SpaceCenter_1F_EventScript_1A029B + goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_1A029B setflag 192 msgbox MossdeepCity_SpaceCenter_1F_Text_18E39B, 4 release @@ -56,8 +56,8 @@ MossdeepCity_SpaceCenter_1F_EventScript_15AC1F:: @ 815AC1F lock faceplayer msgbox MossdeepCity_SpaceCenter_1F_Text_18E427, 4 - closebutton - move LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_1A083D + waitmovement 0 release end diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc index d4477bd39..8bf899780 100644 --- a/data/scripts/maps/MossdeepCity_StevensHouse.inc +++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc @@ -6,7 +6,7 @@ MossdeepCity_StevensHouse_MapScripts:: @ 815A9C5 MossdeepCity_StevensHouse_MapScript1_15A9D5:: @ 815A9D5 checkflag 2052 - callif 0, MossdeepCity_StevensHouse_EventScript_15A9DF + call_if 0, MossdeepCity_StevensHouse_EventScript_15A9DF end MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF @@ -15,12 +15,12 @@ MossdeepCity_StevensHouse_EventScript_15A9DF:: @ 815A9DF MossdeepCity_StevensHouse_MapScript1_15A9E9:: @ 815A9E9 compare 0x40c6, 1 - callif 1, MossdeepCity_StevensHouse_EventScript_15A9F5 + call_if 1, MossdeepCity_StevensHouse_EventScript_15A9F5 end MossdeepCity_StevensHouse_EventScript_15A9F5:: @ 815A9F5 - movespriteperm 1, 6, 5 - spritebehave 1, 7 + setobjectxyperm 1, 6, 5 + setobjectmovementtype 1, 7 return MossdeepCity_StevensHouse_MapScript2_15AA01:: @ 815AA01 @@ -29,24 +29,24 @@ MossdeepCity_StevensHouse_MapScript2_15AA01:: @ 815AA01 MossdeepCity_StevensHouse_EventScript_15AA0B:: @ 815AA0B lockall - move 1, MossdeepCity_StevensHouse_Movement_1A083F - waitmove 0 - playsfx 21 - move 1, MossdeepCity_StevensHouse_Movement_1A0833 - waitmove 0 - move 1, MossdeepCity_StevensHouse_Movement_1A0835 - waitmove 0 - move 1, MossdeepCity_StevensHouse_Movement_15AA6E - waitmove 0 + applymovement 1, MossdeepCity_StevensHouse_Movement_1A083F + waitmovement 0 + playse 21 + applymovement 1, MossdeepCity_StevensHouse_Movement_1A0833 + waitmovement 0 + applymovement 1, MossdeepCity_StevensHouse_Movement_1A0835 + waitmovement 0 + applymovement 1, MossdeepCity_StevensHouse_Movement_15AA6E + waitmovement 0 msgbox MossdeepCity_StevensHouse_Text_18DA77, 4 giveitem ITEM_HM08 setflag 123 setflag 302 msgbox MossdeepCity_StevensHouse_Text_18DB22, 4 - closebutton - pause 20 - move 1, MossdeepCity_StevensHouse_Movement_15AA76 - waitmove 0 + closemessage + delay 20 + applymovement 1, MossdeepCity_StevensHouse_Movement_15AA76 + waitmovement 0 setvar 0x40c6, 1 releaseall end @@ -73,21 +73,21 @@ MossdeepCity_StevensHouse_EventScript_15AA7C:: @ 815AA7C lockall msgbox MossdeepCity_StevensHouse_Text_18DD12, 5 compare RESULT, 0 - jumpeq MossdeepCity_StevensHouse_EventScript_15AAE6 + goto_if_eq MossdeepCity_StevensHouse_EventScript_15AAE6 countpokemon compare RESULT, 6 - jumpeq MossdeepCity_StevensHouse_EventScript_15AADC + goto_if_eq MossdeepCity_StevensHouse_EventScript_15AADC copyvar 0x8004, RESULT - disappear 2 - fanfare 370 + removeobject 2 + playfanfare 370 message MossdeepCity_StevensHouse_Text_18DD61 waitfanfare - waittext - givepokemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 - bufferpoke 1, SPECIES_BELDUM + waitmessage + givepoke SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 + getspeciesname 1, SPECIES_BELDUM msgbox MossdeepCity_StevensHouse_Text_1A1102, 5 compare RESULT, 1 - callif 1, MossdeepCity_StevensHouse_EventScript_1A0678 + call_if 1, MossdeepCity_StevensHouse_EventScript_1A0678 setflag 968 setflag 298 releaseall @@ -114,7 +114,7 @@ MossdeepCity_StevensHouse_EventScript_15AAF9:: @ 815AAF9 MossdeepCity_StevensHouse_EventScript_15AB02:: @ 815AB02 lockall checkflag 302 - jumpeq MossdeepCity_StevensHouse_EventScript_15AB16 + goto_if_eq MossdeepCity_StevensHouse_EventScript_15AB16 msgbox MossdeepCity_StevensHouse_Text_18DF1A, 4 releaseall end diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc index fdebcf102..a8eec9a32 100644 --- a/data/scripts/maps/MtChimney.inc +++ b/data/scripts/maps/MtChimney.inc @@ -15,46 +15,46 @@ MtChimney_MapScript1_15CF92:: @ 815CF92 MtChimney_EventScript_15CF95:: @ 815CF95 lock faceplayer - showmoney 0, 0 - snop + showmoneybox 0, 0 + nop msgbox MtChimney_Text_195760, 5 compare RESULT, 0 - jumpeq MtChimney_EventScript_15D00B + goto_if_eq MtChimney_EventScript_15D00B checkmoney 0xc8, 0 compare RESULT, 0 - jumpeq MtChimney_EventScript_15D018 + goto_if_eq MtChimney_EventScript_15D018 msgbox MtChimney_Text_1957A9, 4 checkitemspace ITEM_LAVA_COOKIE, 1 compare RESULT, 1 - callif 1, MtChimney_EventScript_15D000 + call_if 1, MtChimney_EventScript_15D000 giveitem ITEM_LAVA_COOKIE compare RESULT, 0 - jumpeq MtChimney_EventScript_15CFF3 - hidemoney 0, 0 + goto_if_eq MtChimney_EventScript_15CFF3 + hidemoneybox 0, 0 release end MtChimney_EventScript_15CFF3:: @ 815CFF3 msgbox MtChimney_Text_1A0CC2, 4 - hidemoney 0, 0 + hidemoneybox 0, 0 release end MtChimney_EventScript_15D000:: @ 815D000 - paymoney 0xc8, 0 - updatemoney 0, 0 - snop + takemoney 0xc8, 0 + updatemoneybox 0, 0 + nop return MtChimney_EventScript_15D00B:: @ 815D00B msgbox MtChimney_Text_1957F7, 4 - hidemoney 0, 0 + hidemoneybox 0, 0 release end MtChimney_EventScript_15D018:: @ 815D018 msgbox MtChimney_Text_1957BA, 4 - hidemoney 0, 0 + hidemoneybox 0, 0 release end @@ -407,12 +407,12 @@ MtChimney_EventScript_15D174:: @ 815D174 MtChimney_EventScript_15D17D:: @ 815D17D lockall checkflag 139 - jumpif 0, MtChimney_EventScript_15D1D0 + goto_if 0, MtChimney_EventScript_15D1D0 checkflag 115 - jumpeq MtChimney_EventScript_15D1C6 + goto_if_eq MtChimney_EventScript_15D1C6 msgbox MtChimney_Text_195870, 5 compare RESULT, 0 - jumpeq MtChimney_EventScript_15D1BC + goto_if_eq MtChimney_EventScript_15D1BC msgbox MtChimney_Text_1958C6, 4 giveitem ITEM_METEORITE setflag 115 @@ -440,9 +440,9 @@ MtChimney_EventScript_15D1DA:: @ 815D1DA MtChimney_EventScript_15D1E3:: @ 815D1E3 trainerbattle 0, OPPONENT_SHELBY_1, 0, MtChimney_Text_19597F, MtChimney_Text_1959D8 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq MtChimney_EventScript_15D20A + goto_if_eq MtChimney_EventScript_15D20A msgbox MtChimney_Text_195A04, 6 end diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc index 24101b0cb..9d99eb5fb 100644 --- a/data/scripts/maps/MtChimney_CableCarStation.inc +++ b/data/scripts/maps/MtChimney_CableCarStation.inc @@ -5,12 +5,12 @@ MtChimney_CableCarStation_MapScripts:: @ 815C0FA MtChimney_CableCarStation_MapScript1_15C105:: @ 815C105 compare 0x40a3, 1 - callif 1, MtChimney_CableCarStation_EventScript_15C111 + call_if 1, MtChimney_CableCarStation_EventScript_15C111 end MtChimney_CableCarStation_EventScript_15C111:: @ 815C111 - movespriteperm 1, 5, 4 - spritebehave 1, 10 + setobjectxyperm 1, 5, 4 + setobjectmovementtype 1, 10 return MtChimney_CableCarStation_MapScript2_15C11D:: @ 815C11D @@ -19,12 +19,12 @@ MtChimney_CableCarStation_MapScript2_15C11D:: @ 815C11D MtChimney_CableCarStation_EventScript_15C127:: @ 815C127 lockall - move 255, MtChimney_CableCarStation_Movement_15C1B4 - move 1, MtChimney_CableCarStation_Movement_15C1AA - waitmove 0 + applymovement 255, MtChimney_CableCarStation_Movement_15C1B4 + applymovement 1, MtChimney_CableCarStation_Movement_15C1AA + waitmovement 0 setvar 0x40a3, 0 - movespriteperm 1, 6, 7 - spritebehave 1, 8 + setobjectxyperm 1, 6, 7 + setobjectmovementtype 1, 8 releaseall end @@ -33,20 +33,20 @@ MtChimney_CableCarStation_EventScript_15C14B:: @ 815C14B faceplayer msgbox MtChimney_CableCarStation_Text_19256A, 5 compare RESULT, 1 - jumpeq MtChimney_CableCarStation_EventScript_15C16C + goto_if_eq MtChimney_CableCarStation_EventScript_15C16C compare RESULT, 0 - jumpeq MtChimney_CableCarStation_EventScript_15C19B + goto_if_eq MtChimney_CableCarStation_EventScript_15C19B end MtChimney_CableCarStation_EventScript_15C16C:: @ 815C16C msgbox MtChimney_CableCarStation_Text_1925A9, 4 - closebutton - move 1, MtChimney_CableCarStation_Movement_15C1A5 - move 255, MtChimney_CableCarStation_Movement_15C1AF - waitmove 0 + closemessage + applymovement 1, MtChimney_CableCarStation_Movement_15C1A5 + applymovement 255, MtChimney_CableCarStation_Movement_15C1AF + waitmovement 0 setvar 0x8004, 1 setvar 0x40a3, 2 - inccounter GAME_STAT_RODE_CABLE_CAR + incrementgamestat GAME_STAT_RODE_CABLE_CAR special CableCarWarp special sub_8123218 waitstate diff --git a/data/scripts/maps/MtPyre_1F.inc b/data/scripts/maps/MtPyre_1F.inc index 805c4a8d3..026d54bfe 100644 --- a/data/scripts/maps/MtPyre_1F.inc +++ b/data/scripts/maps/MtPyre_1F.inc @@ -5,11 +5,11 @@ MtPyre_1F_EventScript_15D323:: @ 815D323 lock faceplayer checkflag 282 - jumpeq MtPyre_1F_EventScript_15D352 + goto_if_eq MtPyre_1F_EventScript_15D352 msgbox MtPyre_1F_Text_196151, 4 giveitem ITEM_CLEANSE_TAG compare RESULT, 0 - jumpeq MtPyre_1F_EventScript_1A029B + goto_if_eq MtPyre_1F_EventScript_1A029B setflag 282 release end diff --git a/data/scripts/maps/MtPyre_2F.inc b/data/scripts/maps/MtPyre_2F.inc index c44251af7..8d48dac84 100644 --- a/data/scripts/maps/MtPyre_2F.inc +++ b/data/scripts/maps/MtPyre_2F.inc @@ -6,7 +6,7 @@ MtPyre_2F_MapScripts:: @ 815D36E MtPyre_2F_MapScript1_15D37E:: @ 815D37E tileeffect 7 - warp5 MtPyre_1F, 255, 0, 0 + setholewarp MtPyre_1F, 255, 0, 0 end MtPyre_2F_EventScript_15D389:: @ 815D389 diff --git a/data/scripts/maps/MtPyre_6F.inc b/data/scripts/maps/MtPyre_6F.inc index 657b4ef15..433b533b3 100644 --- a/data/scripts/maps/MtPyre_6F.inc +++ b/data/scripts/maps/MtPyre_6F.inc @@ -3,9 +3,9 @@ MtPyre_6F_MapScripts:: @ 815D447 MtPyre_6F_EventScript_15D448:: @ 815D448 trainerbattle 0, OPPONENT_VALERIE_1, 0, MtPyre_6F_Text_1969FE, MtPyre_6F_Text_196A30 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq MtPyre_6F_EventScript_15D46F + goto_if_eq MtPyre_6F_EventScript_15D46F msgbox MtPyre_6F_Text_196A4C, 6 end diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc index efffc7c3b..550f74d9a 100644 --- a/data/scripts/maps/MtPyre_Exterior.inc +++ b/data/scripts/maps/MtPyre_Exterior.inc @@ -9,7 +9,7 @@ MtPyre_Exterior_MapScript1_15D48C:: @ 815D48C MtPyre_Exterior_EventScript_15D492:: @ 815D492 getplayerxy 0x4000, 0x4001 compare 0x4001, 12 - jumpif 0, MtPyre_Exterior_EventScript_15D4A3 + goto_if 0, MtPyre_Exterior_EventScript_15D4A3 return MtPyre_Exterior_EventScript_15D4A3:: @ 815D4A3 diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc index e352ac30e..533fb6e90 100644 --- a/data/scripts/maps/MtPyre_Summit.inc +++ b/data/scripts/maps/MtPyre_Summit.inc @@ -9,55 +9,55 @@ MtPyre_Summit_MapScript1_15D4B7:: @ 815D4B7 MtPyre_Summit_EventScript_15D4BD:: @ 815D4BD lockall setvar 0x8008, 0 - jump MtPyre_Summit_EventScript_15D4E1 + goto MtPyre_Summit_EventScript_15D4E1 end MtPyre_Summit_EventScript_15D4C9:: @ 815D4C9 lockall setvar 0x8008, 1 - jump MtPyre_Summit_EventScript_15D4E1 + goto MtPyre_Summit_EventScript_15D4E1 end MtPyre_Summit_EventScript_15D4D5:: @ 815D4D5 lockall setvar 0x8008, 2 - jump MtPyre_Summit_EventScript_15D4E1 + goto MtPyre_Summit_EventScript_15D4E1 end MtPyre_Summit_EventScript_15D4E1:: @ 815D4E1 - move 255, MtPyre_Summit_Movement_1A0841 - waitmove 0 - move 2, MtPyre_Summit_Movement_1A0845 - waitmove 0 - pause 50 + applymovement 255, MtPyre_Summit_Movement_1A0841 + waitmovement 0 + applymovement 2, MtPyre_Summit_Movement_1A0845 + waitmovement 0 + delay 50 compare 0x8008, 0 - callif 1, MtPyre_Summit_EventScript_15D593 + call_if 1, MtPyre_Summit_EventScript_15D593 compare 0x8008, 1 - callif 1, MtPyre_Summit_EventScript_15D59E + call_if 1, MtPyre_Summit_EventScript_15D59E compare 0x8008, 2 - callif 1, MtPyre_Summit_EventScript_15D59F + call_if 1, MtPyre_Summit_EventScript_15D59F .ifdef SAPPHIRE msgbox UnknownString_81B52B0, 4 .else msgbox MtPyre_Summit_Text_1B5EEC, 4 .endif - closebutton + closemessage fadescreen 1 - disappear 2 - disappear 4 - disappear 5 - disappear 6 + removeobject 2 + removeobject 4 + removeobject 5 + removeobject 6 setflag 916 setflag 917 fadescreen 0 - pause 20 + delay 20 call MtPyre_Summit_EventScript_15D57A compare 0x8008, 0 - callif 1, MtPyre_Summit_EventScript_15D5AA + call_if 1, MtPyre_Summit_EventScript_15D5AA compare 0x8008, 1 - callif 1, MtPyre_Summit_EventScript_15D5BF + call_if 1, MtPyre_Summit_EventScript_15D5BF compare 0x8008, 2 - callif 1, MtPyre_Summit_EventScript_15D5CA + call_if 1, MtPyre_Summit_EventScript_15D5CA .ifdef SAPPHIRE msgbox UnknownString_81B53AB, 4 .else @@ -78,35 +78,35 @@ MtPyre_Summit_EventScript_15D57A:: @ 815D57A return MtPyre_Summit_EventScript_15D593:: @ 815D593 - move 2, MtPyre_Summit_Movement_15D5E9 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D5E9 + waitmovement 0 return MtPyre_Summit_EventScript_15D59E:: @ 815D59E return MtPyre_Summit_EventScript_15D59F:: @ 815D59F - move 2, MtPyre_Summit_Movement_15D5EC - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D5EC + waitmovement 0 return MtPyre_Summit_EventScript_15D5AA:: @ 815D5AA - move 3, MtPyre_Summit_Movement_15D5DF - waitmove 0 - move 255, MtPyre_Summit_Movement_1A0843 - waitmove 0 + applymovement 3, MtPyre_Summit_Movement_15D5DF + waitmovement 0 + applymovement 255, MtPyre_Summit_Movement_1A0843 + waitmovement 0 return MtPyre_Summit_EventScript_15D5BF:: @ 815D5BF - move 3, MtPyre_Summit_Movement_15D5E3 - waitmove 0 + applymovement 3, MtPyre_Summit_Movement_15D5E3 + waitmovement 0 return MtPyre_Summit_EventScript_15D5CA:: @ 815D5CA - move 3, MtPyre_Summit_Movement_15D5E5 - waitmove 0 - move 255, MtPyre_Summit_Movement_1A083F - waitmove 0 + applymovement 3, MtPyre_Summit_Movement_15D5E5 + waitmovement 0 + applymovement 255, MtPyre_Summit_Movement_1A083F + waitmovement 0 return MtPyre_Summit_Movement_15D5DF:: @ 815D5DF @@ -144,9 +144,9 @@ MtPyre_Summit_EventScript_15D5EF:: @ 815D5EF msgbox MtPyre_Summit_Text_1B64B3, 5 .endif compare RESULT, 1 - callif 1, MtPyre_Summit_EventScript_15D611 + call_if 1, MtPyre_Summit_EventScript_15D611 compare RESULT, 0 - callif 1, MtPyre_Summit_EventScript_15D61A + call_if 1, MtPyre_Summit_EventScript_15D61A release end @@ -170,11 +170,11 @@ MtPyre_Summit_EventScript_15D623:: @ 815D623 lock faceplayer checkflag 259 - jumpeq MtPyre_Summit_EventScript_15D6C4 + goto_if_eq MtPyre_Summit_EventScript_15D6C4 checkflag 113 - jumpeq MtPyre_Summit_EventScript_15D64A + goto_if_eq MtPyre_Summit_EventScript_15D64A checkflag 129 - jumpeq MtPyre_Summit_EventScript_15D6BA + goto_if_eq MtPyre_Summit_EventScript_15D6BA .ifdef SAPPHIRE msgbox UnknownString_81B54BE, 4 .else @@ -190,21 +190,21 @@ MtPyre_Summit_EventScript_15D64A:: @ 815D64A msgbox MtPyre_Summit_Text_1B6283, 5 .endif compare RESULT, 1 - jumpeq MtPyre_Summit_EventScript_15D669 + goto_if_eq MtPyre_Summit_EventScript_15D669 compare RESULT, 0 - jumpeq MtPyre_Summit_EventScript_15D69B + goto_if_eq MtPyre_Summit_EventScript_15D69B end MtPyre_Summit_EventScript_15D669:: @ 815D669 setvar 0x8004, ITEM_RED_OR_BLUE_ORB call MtPyre_Summit_EventScript_1A067F - closebutton - move LAST_TALKED, MtPyre_Summit_Movement_1A0841 - waitmove 0 - pause 40 - move LAST_TALKED, MtPyre_Summit_Movement_1A0839 - waitmove 0 - pause 10 + closemessage + applymovement LAST_TALKED, MtPyre_Summit_Movement_1A0841 + waitmovement 0 + delay 40 + applymovement LAST_TALKED, MtPyre_Summit_Movement_1A0839 + waitmovement 0 + delay 10 .ifdef SAPPHIRE msgbox UnknownString_81B5762, 4 .else @@ -221,9 +221,9 @@ MtPyre_Summit_EventScript_15D69B:: @ 815D69B msgbox MtPyre_Summit_Text_1B62E7, 5 .endif compare RESULT, 1 - jumpeq MtPyre_Summit_EventScript_15D669 + goto_if_eq MtPyre_Summit_EventScript_15D669 compare RESULT, 0 - jumpeq MtPyre_Summit_EventScript_15D69B + goto_if_eq MtPyre_Summit_EventScript_15D69B end MtPyre_Summit_EventScript_15D6BA:: @ 815D6BA @@ -247,78 +247,78 @@ MtPyre_Summit_EventScript_15D6C4:: @ 815D6C4 MtPyre_Summit_EventScript_15D6CE:: @ 815D6CE lockall setvar 0x8008, 0 - jump MtPyre_Summit_EventScript_15D6F2 + goto MtPyre_Summit_EventScript_15D6F2 end MtPyre_Summit_EventScript_15D6DA:: @ 815D6DA lockall setvar 0x8008, 1 - jump MtPyre_Summit_EventScript_15D6F2 + goto MtPyre_Summit_EventScript_15D6F2 end MtPyre_Summit_EventScript_15D6E6:: @ 815D6E6 lockall setvar 0x8008, 2 - jump MtPyre_Summit_EventScript_15D6F2 + goto MtPyre_Summit_EventScript_15D6F2 end MtPyre_Summit_EventScript_15D6F2:: @ 815D6F2 - move 255, MtPyre_Summit_Movement_1A0841 - waitmove 0 - move 2, MtPyre_Summit_Movement_1A0845 - waitmove 0 - pause 50 + applymovement 255, MtPyre_Summit_Movement_1A0841 + waitmovement 0 + applymovement 2, MtPyre_Summit_Movement_1A0845 + waitmovement 0 + delay 50 compare 0x8008, 0 - callif 1, MtPyre_Summit_EventScript_15D75E + call_if 1, MtPyre_Summit_EventScript_15D75E compare 0x8008, 1 - callif 1, MtPyre_Summit_EventScript_15D769 + call_if 1, MtPyre_Summit_EventScript_15D769 compare 0x8008, 2 - callif 1, MtPyre_Summit_EventScript_15D774 + call_if 1, MtPyre_Summit_EventScript_15D774 .ifdef SAPPHIRE msgbox UnknownString_81B5BFC, 4 .else msgbox MtPyre_Summit_Text_1B6848, 4 .endif - closebutton + closemessage compare 0x8008, 0 - callif 1, MtPyre_Summit_EventScript_15D77F + call_if 1, MtPyre_Summit_EventScript_15D77F compare 0x8008, 1 - callif 1, MtPyre_Summit_EventScript_15D78A + call_if 1, MtPyre_Summit_EventScript_15D78A compare 0x8008, 2 - callif 1, MtPyre_Summit_EventScript_15D795 - disappear 2 + call_if 1, MtPyre_Summit_EventScript_15D795 + removeobject 2 setvar 0x40b9, 3 releaseall end MtPyre_Summit_EventScript_15D75E:: @ 815D75E - move 2, MtPyre_Summit_Movement_15D7A0 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D7A0 + waitmovement 0 return MtPyre_Summit_EventScript_15D769:: @ 815D769 - move 2, MtPyre_Summit_Movement_15D7A3 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D7A3 + waitmovement 0 return MtPyre_Summit_EventScript_15D774:: @ 815D774 - move 2, MtPyre_Summit_Movement_15D7A4 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D7A4 + waitmovement 0 return MtPyre_Summit_EventScript_15D77F:: @ 815D77F - move 2, MtPyre_Summit_Movement_15D7A7 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D7A7 + waitmovement 0 return MtPyre_Summit_EventScript_15D78A:: @ 815D78A - move 2, MtPyre_Summit_Movement_15D7B0 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D7B0 + waitmovement 0 return MtPyre_Summit_EventScript_15D795:: @ 815D795 - move 2, MtPyre_Summit_Movement_15D7B9 - waitmove 0 + applymovement 2, MtPyre_Summit_Movement_15D7B9 + waitmovement 0 return MtPyre_Summit_Movement_15D7A0:: @ 815D7A0 diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc index 547fc72e7..6429ff2f9 100644 --- a/data/scripts/maps/NewMauville_Entrance.inc +++ b/data/scripts/maps/NewMauville_Entrance.inc @@ -5,7 +5,7 @@ NewMauville_Entrance_MapScripts:: @ 815E48A NewMauville_Entrance_MapScript1_15E495:: @ 815E495 compare 0x40ba, 0 - callif 1, NewMauville_Entrance_EventScript_15E4A1 + call_if 1, NewMauville_Entrance_EventScript_15E4A1 end NewMauville_Entrance_EventScript_15E4A1:: @ 815E4A1 @@ -23,15 +23,15 @@ NewMauville_Entrance_MapScript1_15E4D8:: @ 815E4D8 NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC lockall - move 255, NewMauville_Entrance_Movement_1A0841 - waitmove 0 + applymovement 255, NewMauville_Entrance_Movement_1A0841 + waitmovement 0 msgbox NewMauville_Entrance_Text_1982C0, 4 checkitem ITEM_BASEMENT_KEY, 1 compare RESULT, 0 - jumpeq NewMauville_Entrance_EventScript_15E55D + goto_if_eq NewMauville_Entrance_EventScript_15E55D msgbox NewMauville_Entrance_Text_1982D4, 5 compare RESULT, 0 - jumpeq NewMauville_Entrance_EventScript_15E55D + goto_if_eq NewMauville_Entrance_EventScript_15E55D msgbox NewMauville_Entrance_Text_1982EA, 4 setmaptile 3, 0, 707, 0 setmaptile 4, 0, 708, 0 @@ -40,7 +40,7 @@ NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC setmaptile 4, 1, 716, 0 setmaptile 5, 1, 717, 1 special DrawWholeMapView - playsfx 20 + playse 20 setvar 0x40ba, 1 releaseall end diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc index b088b8e7d..2d2a46ab4 100644 --- a/data/scripts/maps/NewMauville_Inside.inc +++ b/data/scripts/maps/NewMauville_Inside.inc @@ -6,15 +6,15 @@ NewMauville_Inside_MapScripts:: @ 815E55F NewMauville_Inside_MapScript1_15E56F:: @ 815E56F compare 0x4001, 1 - callif 1, NewMauville_Inside_EventScript_15E5DA + call_if 1, NewMauville_Inside_EventScript_15E5DA compare 0x4002, 1 - callif 1, NewMauville_Inside_EventScript_15E728 + call_if 1, NewMauville_Inside_EventScript_15E728 checkflag 2145 - callif 1, NewMauville_Inside_EventScript_15E58F + call_if 1, NewMauville_Inside_EventScript_15E58F end NewMauville_Inside_EventScript_15E58F:: @ 815E58F - disappear LAST_TALKED + removeobject LAST_TALKED return NewMauville_Inside_MapScript1_15E593:: @ 815E593 @@ -24,14 +24,14 @@ NewMauville_Inside_MapScript1_15E593:: @ 815E593 NewMauville_Inside_MapScript1_15E59E:: @ 815E59E compare 0x40ba, 2 - callif 1, NewMauville_Inside_EventScript_15E88B + call_if 1, NewMauville_Inside_EventScript_15E88B end NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA lockall setvar 0x4001, 1 setvar 0x4002, 0 - playsfx 21 + playse 21 call NewMauville_Inside_EventScript_15E5DA special DrawWholeMapView releaseall @@ -41,7 +41,7 @@ NewMauville_Inside_EventScript_15E5C2:: @ 815E5C2 lockall setvar 0x4001, 0 setvar 0x4002, 1 - playsfx 21 + playse 21 call NewMauville_Inside_EventScript_15E728 special DrawWholeMapView releaseall @@ -151,7 +151,7 @@ NewMauville_Inside_EventScript_15E88B:: @ 815E88B NewMauville_Inside_EventScript_15E8E0:: @ 815E8E0 lockall compare 0x40ba, 2 - jumpeq NewMauville_Inside_EventScript_15E8F6 + goto_if_eq NewMauville_Inside_EventScript_15E8F6 msgbox NewMauville_Inside_Text_198315, 4 releaseall end @@ -165,9 +165,9 @@ NewMauville_Inside_EventScript_15E900:: @ 815E900 lock faceplayer setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE - checksound - pokecry SPECIES_VOLTORB, 2 - pause 40 + waitse + playpokecry SPECIES_VOLTORB, 2 + delay 40 waitpokecry setflag 974 setflag 2145 @@ -180,9 +180,9 @@ NewMauville_Inside_EventScript_15E91E:: @ 815E91E lock faceplayer setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE - checksound - pokecry SPECIES_VOLTORB, 2 - pause 40 + waitse + playpokecry SPECIES_VOLTORB, 2 + delay 40 waitpokecry setflag 975 setflag 2145 @@ -195,9 +195,9 @@ NewMauville_Inside_EventScript_15E93C:: @ 815E93C lock faceplayer setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE - checksound - pokecry SPECIES_VOLTORB, 2 - pause 40 + waitse + playpokecry SPECIES_VOLTORB, 2 + delay 40 waitpokecry setflag 976 setflag 2145 diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc index 68ed80949..e80df2cd2 100644 --- a/data/scripts/maps/OldaleTown.inc +++ b/data/scripts/maps/OldaleTown.inc @@ -6,11 +6,11 @@ OldaleTown_MapScript1_14DD68:: @ 814DD68 call OldaleTown_EventScript_1A014E setflag 2064 checkflag 116 - callif 0, OldaleTown_EventScript_14DD92 + call_if 0, OldaleTown_EventScript_14DD92 checkflag 132 - callif 0, OldaleTown_EventScript_14DD9E + call_if 0, OldaleTown_EventScript_14DD9E checkflag 116 - callif 1, OldaleTown_EventScript_14DD8C + call_if 1, OldaleTown_EventScript_14DD8C end OldaleTown_EventScript_14DD8C:: @ 814DD8C @@ -18,13 +18,13 @@ OldaleTown_EventScript_14DD8C:: @ 814DD8C return OldaleTown_EventScript_14DD92:: @ 814DD92 - movespriteperm 3, 1, 11 - spritebehave 3, 9 + setobjectxyperm 3, 1, 11 + setobjectmovementtype 3, 9 return OldaleTown_EventScript_14DD9E:: @ 814DD9E - movespriteperm 2, 13, 14 - spritebehave 2, 8 + setobjectxyperm 2, 13, 14 + setobjectmovementtype 2, 8 return OldaleTown_EventScript_14DDAA:: @ 814DDAA @@ -39,13 +39,13 @@ OldaleTown_EventScript_14DDBC:: @ 814DDBC lock faceplayer checkflag 132 - jumpeq OldaleTown_EventScript_14DE79 + goto_if_eq OldaleTown_EventScript_14DE79 checkflag 1 - jumpeq OldaleTown_EventScript_14DE79 + goto_if_eq OldaleTown_EventScript_14DE79 setflag 1 - playmusic 420, 0 + playbgm 420, 0 msgbox OldaleTown_Text_16AEF2, 4 - closebutton + closemessage switch FACING case 1, OldaleTown_EventScript_14DE07 case 2, OldaleTown_EventScript_14DE1E @@ -53,34 +53,34 @@ OldaleTown_EventScript_14DDBC:: @ 814DDBC end OldaleTown_EventScript_14DE07:: @ 814DE07 - move 2, OldaleTown_Movement_14DE97 - move 255, OldaleTown_Movement_14DEC1 - waitmove 0 - jump OldaleTown_EventScript_14DE4C + applymovement 2, OldaleTown_Movement_14DE97 + applymovement 255, OldaleTown_Movement_14DEC1 + waitmovement 0 + goto OldaleTown_EventScript_14DE4C end OldaleTown_EventScript_14DE1E:: @ 814DE1E - move 2, OldaleTown_Movement_14DEA2 - move 255, OldaleTown_Movement_14DECB - waitmove 0 - jump OldaleTown_EventScript_14DE4C + applymovement 2, OldaleTown_Movement_14DEA2 + applymovement 255, OldaleTown_Movement_14DECB + waitmovement 0 + goto OldaleTown_EventScript_14DE4C end OldaleTown_EventScript_14DE35:: @ 814DE35 - move 255, OldaleTown_Movement_14DEB9 - move 2, OldaleTown_Movement_14DE8E - waitmove 0 - jump OldaleTown_EventScript_14DE4C + applymovement 255, OldaleTown_Movement_14DEB9 + applymovement 2, OldaleTown_Movement_14DE8E + waitmovement 0 + goto OldaleTown_EventScript_14DE4C end OldaleTown_EventScript_14DE4C:: @ 814DE4C msgbox OldaleTown_Text_16AF2F, 4 giveitem ITEM_POTION compare RESULT, 0 - jumpeq OldaleTown_EventScript_14DE83 + goto_if_eq OldaleTown_EventScript_14DE83 msgbox OldaleTown_Text_16AFE1, 4 setflag 132 - fadedefault + fadedefaultbgm release end @@ -91,7 +91,7 @@ OldaleTown_EventScript_14DE79:: @ 814DE79 OldaleTown_EventScript_14DE83:: @ 814DE83 msgbox OldaleTown_Text_1A0CC2, 4 - fadedefault + fadedefaultbgm release end @@ -196,23 +196,23 @@ OldaleTown_EventScript_14DEDF:: @ 814DEDF lock faceplayer checkflag 116 - jumpeq OldaleTown_EventScript_14DF26 + goto_if_eq OldaleTown_EventScript_14DF26 msgbox OldaleTown_Text_16B0CC, 4 - closebutton - move 3, OldaleTown_Movement_1A083D - waitmove 0 + closemessage + applymovement 3, OldaleTown_Movement_1A083D + waitmovement 0 release end OldaleTown_EventScript_14DEFF:: @ 814DEFF lockall - move 255, OldaleTown_Movement_14DFEC - move 3, OldaleTown_Movement_14DFEF - waitmove 0 + applymovement 255, OldaleTown_Movement_14DFEC + applymovement 3, OldaleTown_Movement_14DFEF + waitmovement 0 msgbox OldaleTown_Text_16B045, 4 - closebutton - move 3, OldaleTown_Movement_14DFF5 - waitmove 0 + closemessage + applymovement 3, OldaleTown_Movement_14DFF5 + waitmovement 0 releaseall end @@ -223,61 +223,61 @@ OldaleTown_EventScript_14DF26:: @ 814DF26 OldaleTown_EventScript_14DF30:: @ 814DF30 lockall - move 4, OldaleTown_Movement_1A0839 - waitmove 0 - jump OldaleTown_EventScript_14DF92 + applymovement 4, OldaleTown_Movement_1A0839 + waitmovement 0 + goto OldaleTown_EventScript_14DF92 end OldaleTown_EventScript_14DF41:: @ 814DF41 lockall - move 4, OldaleTown_Movement_14DFDE - waitmove 0 - move 255, OldaleTown_Movement_1A0843 - waitmove 0 - jump OldaleTown_EventScript_14DF92 + applymovement 4, OldaleTown_Movement_14DFDE + waitmovement 0 + applymovement 255, OldaleTown_Movement_1A0843 + waitmovement 0 + goto OldaleTown_EventScript_14DF92 end OldaleTown_EventScript_14DF5C:: @ 814DF5C lockall - move 4, OldaleTown_Movement_14DFE1 - waitmove 0 - move 255, OldaleTown_Movement_1A0843 - waitmove 0 - jump OldaleTown_EventScript_14DF92 + applymovement 4, OldaleTown_Movement_14DFE1 + waitmovement 0 + applymovement 255, OldaleTown_Movement_1A0843 + waitmovement 0 + goto OldaleTown_EventScript_14DF92 end OldaleTown_EventScript_14DF77:: @ 814DF77 lockall - move 4, OldaleTown_Movement_14DFE3 - waitmove 0 - move 255, OldaleTown_Movement_1A0843 - waitmove 0 - jump OldaleTown_EventScript_14DF92 + applymovement 4, OldaleTown_Movement_14DFE3 + waitmovement 0 + applymovement 255, OldaleTown_Movement_1A0843 + waitmovement 0 + goto OldaleTown_EventScript_14DF92 end OldaleTown_EventScript_14DF92:: @ 814DF92 - checkgender + checkplayergender compare RESULT, 0 - jumpeq OldaleTown_EventScript_14DFAA + goto_if_eq OldaleTown_EventScript_14DFAA compare RESULT, 1 - jumpeq OldaleTown_EventScript_14DFB8 + goto_if_eq OldaleTown_EventScript_14DFB8 end OldaleTown_EventScript_14DFAA:: @ 814DFAA msgbox OldaleTown_Text_16B196, 4 - jump OldaleTown_EventScript_14DFC6 + goto OldaleTown_EventScript_14DFC6 end OldaleTown_EventScript_14DFB8:: @ 814DFB8 msgbox OldaleTown_Text_16B1BE, 4 - jump OldaleTown_EventScript_14DFC6 + goto OldaleTown_EventScript_14DFC6 end OldaleTown_EventScript_14DFC6:: @ 814DFC6 - closebutton - move 4, OldaleTown_Movement_14DFE5 - waitmove 0 - disappear 4 + closemessage + applymovement 4, OldaleTown_Movement_14DFE5 + waitmovement 0 + removeobject 4 setvar 0x40c7, 2 setflag 979 releaseall diff --git a/data/scripts/maps/OldaleTown_Mart.inc b/data/scripts/maps/OldaleTown_Mart.inc index 3f4994890..b9698b58f 100644 --- a/data/scripts/maps/OldaleTown_Mart.inc +++ b/data/scripts/maps/OldaleTown_Mart.inc @@ -5,9 +5,9 @@ OldaleTown_Mart_EventScript_152F79:: @ 8152F79 lock faceplayer message OldaleTown_Mart_Text_1A0BE4 - waittext + waitmessage checkflag 116 - jumpeq OldaleTown_Mart_EventScript_152FA8 + goto_if_eq OldaleTown_Mart_EventScript_152FA8 pokemart OldaleTown_Mart_Items1 msgbox OldaleTown_Mart_Text_1A0C02, 4 release @@ -44,7 +44,7 @@ OldaleTown_Mart_EventScript_152FC6:: @ 8152FC6 lock faceplayer checkflag 116 - jumpeq OldaleTown_Mart_EventScript_152FDB + goto_if_eq OldaleTown_Mart_EventScript_152FDB msgbox OldaleTown_Mart_Text_174A8A, 4 release end diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc index 4ba96ddc8..494f109fe 100644 --- a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ OldaleTown_PokemonCenter_1F_MapScript1_152F0E:: @ 8152F0E OldaleTown_PokemonCenter_1F_EventScript_152F17:: @ 8152F17 setvar 0x800b, 1 call OldaleTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end @@ -27,7 +27,7 @@ OldaleTown_PokemonCenter_1F_EventScript_152F37:: @ 8152F37 lock faceplayer checkflag 2049 - jumpeq OldaleTown_PokemonCenter_1F_EventScript_152F4C + goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_152F4C msgbox OldaleTown_PokemonCenter_1F_Text_1749C0, 4 release end diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc index e45f09de4..e04a8caae 100644 --- a/data/scripts/maps/PacifidlogTown_House2.inc +++ b/data/scripts/maps/PacifidlogTown_House2.inc @@ -4,30 +4,30 @@ PacifidlogTown_House2_MapScripts:: @ 8154167 PacifidlogTown_House2_EventScript_154168:: @ 8154168 lock faceplayer - checkdailyflags + dodailyevents call PacifidlogTown_House2_EventScript_1541B4 checkflag 299 - jumpeq PacifidlogTown_House2_EventScript_154254 + goto_if_eq PacifidlogTown_House2_EventScript_154254 checkflag 300 - callif 1, PacifidlogTown_House2_EventScript_1541CE + call_if 1, PacifidlogTown_House2_EventScript_1541CE checkflag 300 - callif 0, PacifidlogTown_House2_EventScript_1541D7 + call_if 0, PacifidlogTown_House2_EventScript_1541D7 setflag 300 - specialval RESULT, GetLeadMonFriendshipScore + specialvar RESULT, GetLeadMonFriendshipScore compare RESULT, 4 - jumpif 4, PacifidlogTown_House2_EventScript_1541EC - specialval RESULT, GetLeadMonFriendshipScore + goto_if 4, PacifidlogTown_House2_EventScript_1541EC + specialvar RESULT, GetLeadMonFriendshipScore compare RESULT, 2 - jumpif 4, PacifidlogTown_House2_EventScript_15421B - jump PacifidlogTown_House2_EventScript_154225 + goto_if 4, PacifidlogTown_House2_EventScript_15421B + goto PacifidlogTown_House2_EventScript_154225 end PacifidlogTown_House2_EventScript_1541B4:: @ 81541B4 checkflag 299 - jumpif 0, PacifidlogTown_House2_EventScript_1A14DC - specialval RESULT, sub_810F908 + goto_if 0, PacifidlogTown_House2_EventScript_1A14DC + specialvar RESULT, sub_810F908 compare RESULT, 0 - callif 1, PacifidlogTown_House2_EventScript_1541E8 + call_if 1, PacifidlogTown_House2_EventScript_1541E8 return PacifidlogTown_House2_EventScript_1541CE:: @ 81541CE @@ -47,7 +47,7 @@ PacifidlogTown_House2_EventScript_1541EC:: @ 81541EC msgbox PacifidlogTown_House2_Text_179169, 4 giveitem ITEM_TM27 compare RESULT, 0 - jumpeq PacifidlogTown_House2_EventScript_1A029B + goto_if_eq PacifidlogTown_House2_EventScript_1A029B setflag 299 special sub_810F950 msgbox PacifidlogTown_House2_Text_179283, 4 @@ -63,7 +63,7 @@ PacifidlogTown_House2_EventScript_154225:: @ 8154225 msgbox PacifidlogTown_House2_Text_17922D, 4 giveitem ITEM_TM21 compare RESULT, 0 - jumpeq PacifidlogTown_House2_EventScript_1A029B + goto_if_eq PacifidlogTown_House2_EventScript_1A029B setflag 299 special sub_810F950 msgbox PacifidlogTown_House2_Text_179283, 4 @@ -71,8 +71,8 @@ PacifidlogTown_House2_EventScript_154225:: @ 8154225 end PacifidlogTown_House2_EventScript_154254:: @ 8154254 - specialval RESULT, sub_810F908 - buffernum 0, RESULT + specialvar RESULT, sub_810F908 + getnumberstring 0, RESULT msgbox PacifidlogTown_House2_Text_1792F2, 4 release end @@ -80,8 +80,8 @@ PacifidlogTown_House2_EventScript_154254:: @ 8154254 PacifidlogTown_House2_EventScript_154267:: @ 8154267 lock faceplayer - checksound - pokecry SPECIES_AZURILL, 0 + waitse + playpokecry SPECIES_AZURILL, 0 msgbox PacifidlogTown_House2_Text_17938B, 4 waitpokecry msgbox PacifidlogTown_House2_Text_17939B, 4 @@ -91,8 +91,8 @@ PacifidlogTown_House2_EventScript_154267:: @ 8154267 PacifidlogTown_House2_EventScript_154282:: @ 8154282 lock faceplayer - checksound - pokecry SPECIES_AZURILL, 2 + waitse + playpokecry SPECIES_AZURILL, 2 msgbox PacifidlogTown_House2_Text_1793CC, 4 waitpokecry msgbox PacifidlogTown_House2_Text_1793DD, 4 diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc index 6ab9a09b0..28b9dbd80 100644 --- a/data/scripts/maps/PacifidlogTown_House3.inc +++ b/data/scripts/maps/PacifidlogTown_House3.inc @@ -5,30 +5,30 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E lock faceplayer checkflag 154 - jumpeq PacifidlogTown_House3_EventScript_154338 + goto_if_eq PacifidlogTown_House3_EventScript_154338 setvar 0x8008, 2 copyvar 0x8004, 0x8008 - specialval RESULT, sub_804D89C + specialvar RESULT, sub_804D89C copyvar 0x8009, RESULT msgbox PacifidlogTown_House3_Text_17940E, 5 compare RESULT, 0 - jumpeq PacifidlogTown_House3_EventScript_154320 + goto_if_eq PacifidlogTown_House3_EventScript_154320 special sub_80F9A0C waitstate copyvar 0x800a, 0x8004 compare 0x8004, 255 - jumpeq PacifidlogTown_House3_EventScript_154320 + goto_if_eq PacifidlogTown_House3_EventScript_154320 copyvar 0x8005, 0x800a - specialval RESULT, sub_804DB2C + specialvar RESULT, sub_804DB2C copyvar 0x800b, RESULT - comparevars RESULT, 0x8009 - jumpif 5, PacifidlogTown_House3_EventScript_15432A + compare RESULT, 0x8009 + goto_if 5, PacifidlogTown_House3_EventScript_15432A copyvar 0x8004, 0x8008 copyvar 0x8005, 0x800a special sub_804DB68 special sub_804E174 waitstate - bufferpoke 0, 0x8009 + getspeciesname 0, 0x8009 msgbox PacifidlogTown_House3_Text_1794C4, 4 setflag 154 release @@ -40,7 +40,7 @@ PacifidlogTown_House3_EventScript_154320:: @ 8154320 end PacifidlogTown_House3_EventScript_15432A:: @ 815432A - bufferpoke 0, 0x8009 + getspeciesname 0, 0x8009 msgbox PacifidlogTown_House3_Text_1794DF, 4 release end diff --git a/data/scripts/maps/PacifidlogTown_House4.inc b/data/scripts/maps/PacifidlogTown_House4.inc index e48644beb..b7a6c9f86 100644 --- a/data/scripts/maps/PacifidlogTown_House4.inc +++ b/data/scripts/maps/PacifidlogTown_House4.inc @@ -14,9 +14,9 @@ PacifidlogTown_House4_EventScript_15435E:: @ 815435E faceplayer msgbox PacifidlogTown_House4_Text_17963D, 5 compare RESULT, 1 - jumpeq PacifidlogTown_House4_EventScript_15437F + goto_if_eq PacifidlogTown_House4_EventScript_15437F compare RESULT, 0 - jumpeq PacifidlogTown_House4_EventScript_154389 + goto_if_eq PacifidlogTown_House4_EventScript_154389 end PacifidlogTown_House4_EventScript_15437F:: @ 815437F diff --git a/data/scripts/maps/PacifidlogTown_House5.inc b/data/scripts/maps/PacifidlogTown_House5.inc index dca1a51b0..46b1990df 100644 --- a/data/scripts/maps/PacifidlogTown_House5.inc +++ b/data/scripts/maps/PacifidlogTown_House5.inc @@ -4,9 +4,9 @@ PacifidlogTown_House5_MapScripts:: @ 8154393 PacifidlogTown_House5_EventScript_154394:: @ 8154394 lock faceplayer - specialval RESULT, IsMirageIslandPresent + specialvar RESULT, IsMirageIslandPresent compare RESULT, 1 - jumpeq PacifidlogTown_House5_EventScript_1543B0 + goto_if_eq PacifidlogTown_House5_EventScript_1543B0 msgbox PacifidlogTown_House5_Text_179718, 4 release end diff --git a/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc index 973f80a55..64dd5008c 100644 --- a/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc @@ -9,7 +9,7 @@ PacifidlogTown_PokemonCenter_1F_MapScript1_154105:: @ 8154105 @ 8154109 setvar 0x800b, 1 call VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc index 123b099fe..1c2711b83 100644 --- a/data/scripts/maps/PetalburgCity.inc +++ b/data/scripts/maps/PetalburgCity.inc @@ -6,17 +6,17 @@ PetalburgCity_MapScripts:: @ 814B70C PetalburgCity_MapScript1_14B717:: @ 814B717 setflag 2070 compare 0x4057, 0 - callif 1, PetalburgCity_EventScript_14B731 + call_if 1, PetalburgCity_EventScript_14B731 compare 0x4057, 2 - callif 1, PetalburgCity_EventScript_14B739 + call_if 1, PetalburgCity_EventScript_14B739 end PetalburgCity_EventScript_14B731:: @ 814B731 - movespriteperm 9, 5, 11 + setobjectxyperm 9, 5, 11 return PetalburgCity_EventScript_14B739:: @ 814B739 - playmusicbattle 420 + savebgm 420 return PetalburgCity_MapScript2_14B73D:: @ 814B73D @@ -28,20 +28,20 @@ PetalburgCity_EventScript_14B747:: @ 814B747 setflag 0x4000 special SavePlayerParty special PutZigzagoonInPlayerParty - move 2, PetalburgCity_Movement_14B7ED - move 255, PetalburgCity_Movement_14B7CC - waitmove 0 + applymovement 2, PetalburgCity_Movement_14B7ED + applymovement 255, PetalburgCity_Movement_14B7CC + waitmovement 0 msgbox PetalburgCity_Text_16D361, 4 special ScrSpecial_StartWallyTutorialBattle waitstate msgbox PetalburgCity_Text_16D3DE, 4 - movecoords 2, PetalburgCity_Movement_1A083F, 0, 0 - waitmovexy 0, 0, 2 + applymovement 2, PetalburgCity_Movement_1A083F, 0, 0 + waitmovement 0, 0, 2 msgbox PetalburgCity_Text_16D408, 4 - closebutton + closemessage clearflag 0x4000 setvar 0x4057, 3 - fadedefault + fadedefaultbgm clearflag 0x4001 special LoadPlayerParty setvar 0x4085, 1 @@ -54,9 +54,9 @@ PetalburgCity_EventScript_14B7AC:: @ 814B7AC lock faceplayer msgbox PetalburgCity_Text_164490, 4 - closebutton - move 3, PetalburgCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 3, PetalburgCity_Movement_1A083D + waitmovement 0 release end @@ -157,114 +157,114 @@ PetalburgCity_EventScript_14B82D:: @ 814B82D PetalburgCity_EventScript_14B836:: @ 814B836 lockall setvar 0x8008, 0 - jump PetalburgCity_EventScript_14B866 + goto PetalburgCity_EventScript_14B866 end PetalburgCity_EventScript_14B842:: @ 814B842 lockall setvar 0x8008, 1 - jump PetalburgCity_EventScript_14B866 + goto PetalburgCity_EventScript_14B866 end PetalburgCity_EventScript_14B84E:: @ 814B84E lockall setvar 0x8008, 2 - jump PetalburgCity_EventScript_14B866 + goto PetalburgCity_EventScript_14B866 end PetalburgCity_EventScript_14B85A:: @ 814B85A lockall setvar 0x8008, 3 - jump PetalburgCity_EventScript_14B866 + goto PetalburgCity_EventScript_14B866 end PetalburgCity_EventScript_14B866:: @ 814B866 - move 9, PetalburgCity_Movement_1A0839 - waitmove 0 - playmusic 420, 0 - playsfx 21 - move 9, PetalburgCity_Movement_1A0833 - waitmove 0 - move 9, PetalburgCity_Movement_1A0835 - waitmove 0 + applymovement 9, PetalburgCity_Movement_1A0839 + waitmovement 0 + playbgm 420, 0 + playse 21 + applymovement 9, PetalburgCity_Movement_1A0833 + waitmovement 0 + applymovement 9, PetalburgCity_Movement_1A0835 + waitmovement 0 compare 0x8008, 0 - callif 1, PetalburgCity_EventScript_14B91B + call_if 1, PetalburgCity_EventScript_14B91B compare 0x8008, 1 - callif 1, PetalburgCity_EventScript_14B930 + call_if 1, PetalburgCity_EventScript_14B930 compare 0x8008, 2 - callif 1, PetalburgCity_EventScript_14B93B + call_if 1, PetalburgCity_EventScript_14B93B compare 0x8008, 3 - callif 1, PetalburgCity_EventScript_14B950 + call_if 1, PetalburgCity_EventScript_14B950 msgbox PetalburgCity_Text_16438A, 4 - closebutton + closemessage compare 0x8008, 0 - callif 1, PetalburgCity_EventScript_14B965 + call_if 1, PetalburgCity_EventScript_14B965 compare 0x8008, 1 - callif 1, PetalburgCity_EventScript_14B977 + call_if 1, PetalburgCity_EventScript_14B977 compare 0x8008, 2 - callif 1, PetalburgCity_EventScript_14B989 + call_if 1, PetalburgCity_EventScript_14B989 compare 0x8008, 3 - callif 1, PetalburgCity_EventScript_14B99B + call_if 1, PetalburgCity_EventScript_14B99B msgbox PetalburgCity_Text_164426, 4 - move 9, PetalburgCity_Movement_1A0843 - move 255, PetalburgCity_Movement_1A0843 - waitmove 0 + applymovement 9, PetalburgCity_Movement_1A0843 + applymovement 255, PetalburgCity_Movement_1A0843 + waitmovement 0 msgbox PetalburgCity_Text_164449, 4 - closebutton - move 9, PetalburgCity_Movement_14B9F4 - waitmove 0 - fadedefault + closemessage + applymovement 9, PetalburgCity_Movement_14B9F4 + waitmovement 0 + fadedefaultbgm releaseall end PetalburgCity_EventScript_14B91B:: @ 814B91B - move 9, PetalburgCity_Movement_14B9B1 - waitmove 0 - move 255, PetalburgCity_Movement_1A0845 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9B1 + waitmovement 0 + applymovement 255, PetalburgCity_Movement_1A0845 + waitmovement 0 return PetalburgCity_EventScript_14B930:: @ 814B930 - move 9, PetalburgCity_Movement_14B9B6 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9B6 + waitmovement 0 return PetalburgCity_EventScript_14B93B:: @ 814B93B - move 9, PetalburgCity_Movement_14B9B9 - waitmove 0 - move 255, PetalburgCity_Movement_1A0841 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9B9 + waitmovement 0 + applymovement 255, PetalburgCity_Movement_1A0841 + waitmovement 0 return PetalburgCity_EventScript_14B950:: @ 814B950 - move 9, PetalburgCity_Movement_14B9BE - waitmove 0 - move 255, PetalburgCity_Movement_1A0841 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9BE + waitmovement 0 + applymovement 255, PetalburgCity_Movement_1A0841 + waitmovement 0 return PetalburgCity_EventScript_14B965:: @ 814B965 - move 9, PetalburgCity_Movement_14B9C4 - move 255, PetalburgCity_Movement_14BA01 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9C4 + applymovement 255, PetalburgCity_Movement_14BA01 + waitmovement 0 return PetalburgCity_EventScript_14B977:: @ 814B977 - move 9, PetalburgCity_Movement_14B9CF - move 255, PetalburgCity_Movement_14BA0B - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9CF + applymovement 255, PetalburgCity_Movement_14BA0B + waitmovement 0 return PetalburgCity_EventScript_14B989:: @ 814B989 - move 9, PetalburgCity_Movement_14B9DD - move 255, PetalburgCity_Movement_14BA18 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9DD + applymovement 255, PetalburgCity_Movement_14BA18 + waitmovement 0 return PetalburgCity_EventScript_14B99B:: @ 814B99B - move 9, PetalburgCity_Movement_14B9E8 - move 255, PetalburgCity_Movement_14BA22 - waitmove 0 + applymovement 9, PetalburgCity_Movement_14B9E8 + applymovement 255, PetalburgCity_Movement_14BA22 + waitmovement 0 return @ 814B9AD diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc index c534cb538..b2d104894 100644 --- a/data/scripts/maps/PetalburgCity_Gym.inc +++ b/data/scripts/maps/PetalburgCity_Gym.inc @@ -7,28 +7,28 @@ PetalburgCity_Gym_MapScripts:: @ 8154477 PetalburgCity_Gym_MapScript1_15448C:: @ 815448C compare 0x4085, 6 - jumpeq PetalburgCity_Gym_EventScript_1544A3 + goto_if_eq PetalburgCity_Gym_EventScript_1544A3 compare 0x4085, 7 - callif 4, PetalburgCity_Gym_EventScript_1544ED + call_if 4, PetalburgCity_Gym_EventScript_1544ED end PetalburgCity_Gym_EventScript_1544A3:: @ 81544A3 setvar 0x8005, 1 call PetalburgCity_Gym_EventScript_154F9A checktrainerflag OPPONENT_RANDALL - callif 1, PetalburgCity_Gym_EventScript_154FBB + call_if 1, PetalburgCity_Gym_EventScript_154FBB checktrainerflag OPPONENT_MARY - callif 1, PetalburgCity_Gym_EventScript_154FDC + call_if 1, PetalburgCity_Gym_EventScript_154FDC checktrainerflag OPPONENT_PARKER - callif 1, PetalburgCity_Gym_EventScript_154FFD + call_if 1, PetalburgCity_Gym_EventScript_154FFD checktrainerflag OPPONENT_LORI - callif 1, PetalburgCity_Gym_EventScript_15501E + call_if 1, PetalburgCity_Gym_EventScript_15501E checktrainerflag OPPONENT_GEORGE - callif 1, PetalburgCity_Gym_EventScript_15503F + call_if 1, PetalburgCity_Gym_EventScript_15503F checktrainerflag OPPONENT_JODY - callif 1, PetalburgCity_Gym_EventScript_155060 + call_if 1, PetalburgCity_Gym_EventScript_155060 checktrainerflag OPPONENT_BERKE - callif 1, PetalburgCity_Gym_EventScript_155081 + call_if 1, PetalburgCity_Gym_EventScript_155081 end PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED @@ -45,23 +45,23 @@ PetalburgCity_Gym_EventScript_1544ED:: @ 81544ED PetalburgCity_Gym_MapScript1_15451B:: @ 815451B compare 0x4085, 1 - callif 1, PetalburgCity_Gym_EventScript_15453B + call_if 1, PetalburgCity_Gym_EventScript_15453B compare 0x4085, 6 - callif 0, PetalburgCity_Gym_EventScript_154543 + call_if 0, PetalburgCity_Gym_EventScript_154543 checkflag 2052 - callif 1, PetalburgCity_Gym_EventScript_15454B + call_if 1, PetalburgCity_Gym_EventScript_15454B end PetalburgCity_Gym_EventScript_15453B:: @ 815453B - movespriteperm 10, 5, 108 + setobjectxyperm 10, 5, 108 return PetalburgCity_Gym_EventScript_154543:: @ 8154543 - movespriteperm 1, 4, 107 + setobjectxyperm 1, 4, 107 return PetalburgCity_Gym_EventScript_15454B:: @ 815454B - movespriteperm 1, 4, 107 + setobjectxyperm 1, 4, 107 return PetalburgCity_Gym_MapScript2_154553:: @ 8154553 @@ -69,7 +69,7 @@ PetalburgCity_Gym_MapScript2_154553:: @ 8154553 .2byte 0 PetalburgCity_Gym_EventScript_15455D:: @ 815455D - spriteface 255, 2 + turnobject 255, 2 end PetalburgCity_Gym_MapScript2_154562:: @ 8154562 @@ -80,16 +80,16 @@ PetalburgCity_Gym_EventScript_15456C:: @ 815456C lockall msgbox PetalburgCity_Gym_Text_17A196, 4 msgbox PetalburgCity_Gym_Text_17A1B0, 4 - closebutton - move 255, PetalburgCity_Gym_Movement_1A0845 - move 10, PetalburgCity_Gym_Movement_1545B4 - waitmove 0 - playsfx 9 - disappear 10 + closemessage + applymovement 255, PetalburgCity_Gym_Movement_1A0845 + applymovement 10, PetalburgCity_Gym_Movement_1545B4 + waitmovement 0 + playse 9 + removeobject 10 setflag 726 - pause 30 - move 255, PetalburgCity_Gym_Movement_1A0841 - waitmove 0 + delay 30 + applymovement 255, PetalburgCity_Gym_Movement_1A0841 + waitmovement 0 msgbox PetalburgCity_Gym_Text_17A2A4, 4 setvar 0x4085, 2 releaseall @@ -113,7 +113,7 @@ PetalburgCity_Gym_EventScript_1545B9:: @ 81545B9 case 6, PetalburgCity_Gym_EventScript_1549D6 case 7, PetalburgCity_Gym_EventScript_15493D msgbox PetalburgCity_Gym_Text_179DF6, 4 - closebutton + closemessage switch FACING case 1, PetalburgCity_Gym_EventScript_15463D case 2, PetalburgCity_Gym_EventScript_154648 @@ -123,88 +123,88 @@ PetalburgCity_Gym_EventScript_1545B9:: @ 81545B9 PetalburgCity_Gym_EventScript_15463D:: @ 815463D setvar 0x8008, 0 - jump PetalburgCity_Gym_EventScript_154669 + goto PetalburgCity_Gym_EventScript_154669 end PetalburgCity_Gym_EventScript_154648:: @ 8154648 setvar 0x8008, 1 - jump PetalburgCity_Gym_EventScript_154669 + goto PetalburgCity_Gym_EventScript_154669 end PetalburgCity_Gym_EventScript_154653:: @ 8154653 setvar 0x8008, 2 - jump PetalburgCity_Gym_EventScript_154669 + goto PetalburgCity_Gym_EventScript_154669 end PetalburgCity_Gym_EventScript_15465E:: @ 815465E setvar 0x8008, 3 - jump PetalburgCity_Gym_EventScript_154669 + goto PetalburgCity_Gym_EventScript_154669 end PetalburgCity_Gym_EventScript_154669:: @ 8154669 - reappear 10 - playsfx 8 + addobject 10 + playse 8 compare 0x8008, 0 - callif 1, PetalburgCity_Gym_EventScript_1547EE + call_if 1, PetalburgCity_Gym_EventScript_1547EE compare 0x8008, 1 - callif 1, PetalburgCity_Gym_EventScript_154800 + call_if 1, PetalburgCity_Gym_EventScript_154800 compare 0x8008, 2 - callif 1, PetalburgCity_Gym_EventScript_15481C + call_if 1, PetalburgCity_Gym_EventScript_15481C compare 0x8008, 3 - callif 1, PetalburgCity_Gym_EventScript_15481C + call_if 1, PetalburgCity_Gym_EventScript_15481C msgbox PetalburgCity_Gym_Text_179F07, 4 msgbox PetalburgCity_Gym_Text_179F37, 4 msgbox PetalburgCity_Gym_Text_179F70, 4 msgbox PetalburgCity_Gym_Text_17A03A, 4 compare 0x8008, 0 - callif 1, PetalburgCity_Gym_EventScript_154884 + call_if 1, PetalburgCity_Gym_EventScript_154884 compare 0x8008, 1 - callif 1, PetalburgCity_Gym_EventScript_15488F + call_if 1, PetalburgCity_Gym_EventScript_15488F compare 0x8008, 2 - callif 1, PetalburgCity_Gym_EventScript_1548A1 + call_if 1, PetalburgCity_Gym_EventScript_1548A1 compare 0x8008, 3 - callif 1, PetalburgCity_Gym_EventScript_1548B3 + call_if 1, PetalburgCity_Gym_EventScript_1548B3 msgbox PetalburgCity_Gym_Text_17A04A, 4 compare 0x8008, 0 - callif 1, PetalburgCity_Gym_EventScript_1548C5 + call_if 1, PetalburgCity_Gym_EventScript_1548C5 compare 0x8008, 1 - callif 1, PetalburgCity_Gym_EventScript_1548D0 + call_if 1, PetalburgCity_Gym_EventScript_1548D0 compare 0x8008, 2 - callif 1, PetalburgCity_Gym_EventScript_1548DB + call_if 1, PetalburgCity_Gym_EventScript_1548DB compare 0x8008, 3 - callif 1, PetalburgCity_Gym_EventScript_1548E6 + call_if 1, PetalburgCity_Gym_EventScript_1548E6 msgbox PetalburgCity_Gym_Text_17A0A8, 4 msgbox PetalburgCity_Gym_Text_17A0EB, 4 msgbox PetalburgCity_Gym_Text_17A156, 4 compare 0x8008, 0 - callif 1, PetalburgCity_Gym_EventScript_15492F + call_if 1, PetalburgCity_Gym_EventScript_15492F compare 0x8008, 1 - callif 1, PetalburgCity_Gym_EventScript_154930 + call_if 1, PetalburgCity_Gym_EventScript_154930 compare 0x8008, 2 - callif 1, PetalburgCity_Gym_EventScript_15493B + call_if 1, PetalburgCity_Gym_EventScript_15493B compare 0x8008, 3 - callif 1, PetalburgCity_Gym_EventScript_15493C + call_if 1, PetalburgCity_Gym_EventScript_15493C compare 0x8008, 0 - callif 1, PetalburgCity_Gym_EventScript_1548F1 + call_if 1, PetalburgCity_Gym_EventScript_1548F1 compare 0x8008, 1 - callif 1, PetalburgCity_Gym_EventScript_1548FC + call_if 1, PetalburgCity_Gym_EventScript_1548FC compare 0x8008, 2 - callif 1, PetalburgCity_Gym_EventScript_1548F1 + call_if 1, PetalburgCity_Gym_EventScript_1548F1 compare 0x8008, 3 - callif 1, PetalburgCity_Gym_EventScript_1548F1 + call_if 1, PetalburgCity_Gym_EventScript_1548F1 msgbox PetalburgCity_Gym_Text_17A171, 4 - closebutton + closemessage setflag 0x4001 - playmusic 420, 0 + playbgm 420, 0 compare 0x8008, 0 - callif 1, PetalburgCity_Gym_EventScript_154835 + call_if 1, PetalburgCity_Gym_EventScript_154835 compare 0x8008, 1 - callif 1, PetalburgCity_Gym_EventScript_15484E + call_if 1, PetalburgCity_Gym_EventScript_15484E compare 0x8008, 2 - callif 1, PetalburgCity_Gym_EventScript_154860 + call_if 1, PetalburgCity_Gym_EventScript_154860 compare 0x8008, 3 - callif 1, PetalburgCity_Gym_EventScript_154872 - disappear 10 + call_if 1, PetalburgCity_Gym_EventScript_154872 + removeobject 10 setflag 728 setvar 0x4085, 1 setvar 0x4057, 2 @@ -218,102 +218,102 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669 end PetalburgCity_Gym_EventScript_1547EE:: @ 81547EE - move 1, PetalburgCity_Gym_Movement_1A0845 - move 10, PetalburgCity_Gym_Movement_154B27 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + applymovement 10, PetalburgCity_Gym_Movement_154B27 + waitmovement 0 return PetalburgCity_Gym_EventScript_154800:: @ 8154800 - move 10, PetalburgCity_Gym_Movement_154B1D - waitmove 0 - move 1, PetalburgCity_Gym_Movement_1A0843 - move 255, PetalburgCity_Gym_Movement_1A0843 - waitmove 0 + applymovement 10, PetalburgCity_Gym_Movement_154B1D + waitmovement 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0843 + applymovement 255, PetalburgCity_Gym_Movement_1A0843 + waitmovement 0 return PetalburgCity_Gym_EventScript_15481C:: @ 815481C - move 1, PetalburgCity_Gym_Movement_1A0845 - move 255, PetalburgCity_Gym_Movement_1A0845 - move 10, PetalburgCity_Gym_Movement_154B27 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + applymovement 255, PetalburgCity_Gym_Movement_1A0845 + applymovement 10, PetalburgCity_Gym_Movement_154B27 + waitmovement 0 return PetalburgCity_Gym_EventScript_154835:: @ 8154835 - move 1, PetalburgCity_Gym_Movement_1A0845 - move 10, PetalburgCity_Gym_Movement_154B3E - move 255, PetalburgCity_Gym_Movement_154B4D - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + applymovement 10, PetalburgCity_Gym_Movement_154B3E + applymovement 255, PetalburgCity_Gym_Movement_154B4D + waitmovement 0 return PetalburgCity_Gym_EventScript_15484E:: @ 815484E - move 10, PetalburgCity_Gym_Movement_154B2E - move 255, PetalburgCity_Gym_Movement_154B45 - waitmove 0 + applymovement 10, PetalburgCity_Gym_Movement_154B2E + applymovement 255, PetalburgCity_Gym_Movement_154B45 + waitmovement 0 return PetalburgCity_Gym_EventScript_154860:: @ 8154860 - move 10, PetalburgCity_Gym_Movement_154B3E - move 255, PetalburgCity_Gym_Movement_154B57 - waitmove 0 + applymovement 10, PetalburgCity_Gym_Movement_154B3E + applymovement 255, PetalburgCity_Gym_Movement_154B57 + waitmovement 0 return PetalburgCity_Gym_EventScript_154872:: @ 8154872 - move 10, PetalburgCity_Gym_Movement_154B36 - move 255, PetalburgCity_Gym_Movement_154B5F - waitmove 0 + applymovement 10, PetalburgCity_Gym_Movement_154B36 + applymovement 255, PetalburgCity_Gym_Movement_154B5F + waitmovement 0 return PetalburgCity_Gym_EventScript_154884:: @ 8154884 - move 1, PetalburgCity_Gym_Movement_1A0841 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0841 + waitmovement 0 return PetalburgCity_Gym_EventScript_15488F:: @ 815488F - move 1, PetalburgCity_Gym_Movement_1A0845 - move 255, PetalburgCity_Gym_Movement_1A0841 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + applymovement 255, PetalburgCity_Gym_Movement_1A0841 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548A1:: @ 81548A1 - move 1, PetalburgCity_Gym_Movement_1A0843 - move 255, PetalburgCity_Gym_Movement_1A083F - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0843 + applymovement 255, PetalburgCity_Gym_Movement_1A083F + waitmovement 0 return PetalburgCity_Gym_EventScript_1548B3:: @ 81548B3 - move 1, PetalburgCity_Gym_Movement_1A083F - move 255, PetalburgCity_Gym_Movement_1A0843 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A083F + applymovement 255, PetalburgCity_Gym_Movement_1A0843 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548C5:: @ 81548C5 - move 1, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548D0:: @ 81548D0 - move 1, PetalburgCity_Gym_Movement_1A0843 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0843 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548DB:: @ 81548DB - move 1, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548E6:: @ 81548E6 - move 1, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548F1:: @ 81548F1 - move 10, PetalburgCity_Gym_Movement_1A0839 - waitmove 0 + applymovement 10, PetalburgCity_Gym_Movement_1A0839 + waitmovement 0 return PetalburgCity_Gym_EventScript_1548FC:: @ 81548FC - move 10, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 10, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_154907:: @ 8154907 @@ -340,8 +340,8 @@ PetalburgCity_Gym_EventScript_15492F:: @ 815492F return PetalburgCity_Gym_EventScript_154930:: @ 8154930 - move 1, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_15493B:: @ 815493B @@ -353,27 +353,27 @@ PetalburgCity_Gym_EventScript_15493C:: @ 815493C PetalburgCity_Gym_EventScript_15493D:: @ 815493D call PetalburgCity_Gym_EventScript_154969 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_1549B8 + goto_if_eq PetalburgCity_Gym_EventScript_1549B8 checkflag 169 - jumpif 0, PetalburgCity_Gym_EventScript_154A2C + goto_if 0, PetalburgCity_Gym_EventScript_154A2C checkflag 2052 - jumpeq PetalburgCity_Gym_EventScript_154B69 + goto_if_eq PetalburgCity_Gym_EventScript_154B69 msgbox PetalburgCity_Gym_Text_17AA6B, 4 release end PetalburgCity_Gym_EventScript_154969:: @ 8154969 - specialval RESULT, IsEnigmaBerryValid + specialvar RESULT, IsEnigmaBerryValid compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_1549B2 + goto_if_eq PetalburgCity_Gym_EventScript_1549B2 checkitem ITEM_ENIGMA_BERRY, 1 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_1549B2 + goto_if_eq PetalburgCity_Gym_EventScript_1549B2 checkpcitem ITEM_ENIGMA_BERRY, 1 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_1549B2 + goto_if_eq PetalburgCity_Gym_EventScript_1549B2 compare 0x402d, 0 - jumpeq PetalburgCity_Gym_EventScript_1549B2 + goto_if_eq PetalburgCity_Gym_EventScript_1549B2 msgbox PetalburgCity_Gym_Text_1C5570, 4 setvar RESULT, 1 return @@ -385,7 +385,7 @@ PetalburgCity_Gym_EventScript_1549B2:: @ 81549B2 PetalburgCity_Gym_EventScript_1549B8:: @ 81549B8 giveitem ITEM_ENIGMA_BERRY compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_1A029B + goto_if_eq PetalburgCity_Gym_EventScript_1A029B setvar 0x402d, 0 release end @@ -394,7 +394,7 @@ PetalburgCity_Gym_EventScript_1549D6:: @ 81549D6 msgbox PetalburgCity_Gym_Text_17A653, 4 trainerbattle 3, OPPONENT_NORMAN, 0, PetalburgCity_Gym_Text_17A77A message PetalburgCity_Gym_Text_17A7DD - waittext + waitmessage call PetalburgCity_Gym_EventScript_1A02C5 msgbox PetalburgCity_Gym_Text_17A805, 4 setflag 1217 @@ -408,76 +408,76 @@ PetalburgCity_Gym_EventScript_1549D6:: @ 81549D6 clearflag 940 call PetalburgCity_Gym_EventScript_1544ED special DrawWholeMapView - jump PetalburgCity_Gym_EventScript_154A2C + goto PetalburgCity_Gym_EventScript_154A2C end PetalburgCity_Gym_EventScript_154A2C:: @ 8154A2C giveitem ITEM_TM42 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_1A029B + goto_if_eq PetalburgCity_Gym_EventScript_1A029B setflag 169 msgbox PetalburgCity_Gym_Text_17A8CF, 4 msgbox PetalburgCity_Gym_Text_17A976, 4 - closebutton + closemessage compare FACING, 2 - callif 1, PetalburgCity_Gym_EventScript_154ABC + call_if 1, PetalburgCity_Gym_EventScript_154ABC compare FACING, 1 - callif 1, PetalburgCity_Gym_EventScript_154AC7 + call_if 1, PetalburgCity_Gym_EventScript_154AC7 compare FACING, 3 - callif 1, PetalburgCity_Gym_EventScript_154AD2 + call_if 1, PetalburgCity_Gym_EventScript_154AD2 compare FACING, 4 - callif 1, PetalburgCity_Gym_EventScript_154ADD - pause 70 + call_if 1, PetalburgCity_Gym_EventScript_154ADD + delay 70 compare FACING, 2 - callif 1, PetalburgCity_Gym_EventScript_154AE8 + call_if 1, PetalburgCity_Gym_EventScript_154AE8 compare FACING, 1 - callif 1, PetalburgCity_Gym_EventScript_154AF3 + call_if 1, PetalburgCity_Gym_EventScript_154AF3 compare FACING, 3 - callif 1, PetalburgCity_Gym_EventScript_154AFE + call_if 1, PetalburgCity_Gym_EventScript_154AFE compare FACING, 4 - callif 1, PetalburgCity_Gym_EventScript_154B09 + call_if 1, PetalburgCity_Gym_EventScript_154B09 msgbox PetalburgCity_Gym_Text_17A9F6, 4 release end PetalburgCity_Gym_EventScript_154ABC:: @ 8154ABC - move 1, PetalburgCity_Gym_Movement_1A0841 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0841 + waitmovement 0 return PetalburgCity_Gym_EventScript_154AC7:: @ 8154AC7 - move 1, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_154AD2:: @ 8154AD2 - move 1, PetalburgCity_Gym_Movement_1A083F - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A083F + waitmovement 0 return PetalburgCity_Gym_EventScript_154ADD:: @ 8154ADD - move 1, PetalburgCity_Gym_Movement_1A0843 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0843 + waitmovement 0 return PetalburgCity_Gym_EventScript_154AE8:: @ 8154AE8 - move 1, PetalburgCity_Gym_Movement_1A0845 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0845 + waitmovement 0 return PetalburgCity_Gym_EventScript_154AF3:: @ 8154AF3 - move 1, PetalburgCity_Gym_Movement_1A0841 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0841 + waitmovement 0 return PetalburgCity_Gym_EventScript_154AFE:: @ 8154AFE - move 1, PetalburgCity_Gym_Movement_1A0843 - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A0843 + waitmovement 0 return PetalburgCity_Gym_EventScript_154B09:: @ 8154B09 - move 1, PetalburgCity_Gym_Movement_1A083F - waitmove 0 + applymovement 1, PetalburgCity_Gym_Movement_1A083F + waitmovement 0 return @ 8154B14 @@ -593,20 +593,20 @@ PetalburgCity_Gym_EventScript_154B69:: @ 8154B69 PetalburgCity_Gym_EventScript_154B73:: @ 8154B73 lockall compare 0x4085, 6 - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 7 setvar 0x8009, 85 msgbox PetalburgCity_Gym_Text_17B870, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154BA8:: @ 8154BA8 - closebutton - pause 30 - warpwalk PetalburgCity_Gym, 255, 32776, 32777 + closemessage + delay 30 + warpdoor PetalburgCity_Gym, 255, 32776, 32777 waitstate releaseall end @@ -623,150 +623,150 @@ PetalburgCity_Gym_EventScript_154BB9:: @ 8154BB9 PetalburgCity_Gym_EventScript_154BC3:: @ 8154BC3 lockall compare 0x4085, 6 - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 1 setvar 0x8009, 98 msgbox PetalburgCity_Gym_Text_17B8D4, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154BF8:: @ 8154BF8 lockall checktrainerflag OPPONENT_RANDALL - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 7 setvar 0x8009, 46 msgbox PetalburgCity_Gym_Text_17B90F, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154C2B:: @ 8154C2B lockall checktrainerflag OPPONENT_RANDALL - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 1 setvar 0x8009, 59 msgbox PetalburgCity_Gym_Text_17B950, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154C5E:: @ 8154C5E lockall checktrainerflag OPPONENT_MARY - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 7 setvar 0x8009, 59 msgbox PetalburgCity_Gym_Text_17B950, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154C91:: @ 8154C91 lockall checktrainerflag OPPONENT_MARY - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 1 setvar 0x8009, 72 msgbox PetalburgCity_Gym_Text_17B98A, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154CC4:: @ 8154CC4 lockall checktrainerflag OPPONENT_PARKER - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 1 setvar 0x8009, 20 msgbox PetalburgCity_Gym_Text_17B9C5, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154CF7:: @ 8154CF7 lockall checktrainerflag OPPONENT_LORI - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 7 setvar 0x8009, 20 msgbox PetalburgCity_Gym_Text_17B9C5, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154D2A:: @ 8154D2A lockall checktrainerflag OPPONENT_LORI - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 1 setvar 0x8009, 33 msgbox PetalburgCity_Gym_Text_17BA00, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154D5D:: @ 8154D5D lockall checktrainerflag OPPONENT_GEORGE - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 7 setvar 0x8009, 33 msgbox PetalburgCity_Gym_Text_17BA00, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154D90:: @ 8154D90 lockall checktrainerflag OPPONENT_JODY - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 1 setvar 0x8009, 7 msgbox PetalburgCity_Gym_Text_17BA3D, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154DC3:: @ 8154DC3 lockall checktrainerflag OPPONENT_BERKE - jumpif 0, PetalburgCity_Gym_EventScript_154BB9 + goto_if 0, PetalburgCity_Gym_EventScript_154BB9 setvar 0x8008, 7 setvar 0x8009, 7 msgbox PetalburgCity_Gym_Text_17BA3D, 5 compare RESULT, 1 - jumpeq PetalburgCity_Gym_EventScript_154BA8 + goto_if_eq PetalburgCity_Gym_EventScript_154BA8 compare RESULT, 0 - jumpeq PetalburgCity_Gym_EventScript_154BB7 + goto_if_eq PetalburgCity_Gym_EventScript_154BB7 end PetalburgCity_Gym_EventScript_154DF6:: @ 8154DF6 trainerbattle 2, OPPONENT_RANDALL, 0, PetalburgCity_Gym_Text_17ADA5, PetalburgCity_Gym_Text_17AE11, PetalburgCity_Gym_EventScript_154E1A checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154E29 + goto_if_eq PetalburgCity_Gym_EventScript_154E29 msgbox PetalburgCity_Gym_Text_17AE30, 6 end @@ -784,7 +784,7 @@ PetalburgCity_Gym_EventScript_154E29:: @ 8154E29 PetalburgCity_Gym_EventScript_154E32:: @ 8154E32 trainerbattle 2, OPPONENT_PARKER, 0, PetalburgCity_Gym_Text_17AF5A, PetalburgCity_Gym_Text_17AF98, PetalburgCity_Gym_EventScript_154E56 checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154E65 + goto_if_eq PetalburgCity_Gym_EventScript_154E65 msgbox PetalburgCity_Gym_Text_17AFD3, 6 end @@ -802,7 +802,7 @@ PetalburgCity_Gym_EventScript_154E65:: @ 8154E65 PetalburgCity_Gym_EventScript_154E6E:: @ 8154E6E trainerbattle 2, OPPONENT_GEORGE, 0, PetalburgCity_Gym_Text_17B058, PetalburgCity_Gym_Text_17B0F7, PetalburgCity_Gym_EventScript_154E92 checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154EA1 + goto_if_eq PetalburgCity_Gym_EventScript_154EA1 msgbox PetalburgCity_Gym_Text_17B12C, 6 end @@ -820,7 +820,7 @@ PetalburgCity_Gym_EventScript_154EA1:: @ 8154EA1 PetalburgCity_Gym_EventScript_154EAA:: @ 8154EAA trainerbattle 2, OPPONENT_BERKE, 0, PetalburgCity_Gym_Text_17B237, PetalburgCity_Gym_Text_17B2C0, PetalburgCity_Gym_EventScript_154ECE checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154EDD + goto_if_eq PetalburgCity_Gym_EventScript_154EDD msgbox PetalburgCity_Gym_Text_17B2E4, 6 end @@ -838,7 +838,7 @@ PetalburgCity_Gym_EventScript_154EDD:: @ 8154EDD PetalburgCity_Gym_EventScript_154EE6:: @ 8154EE6 trainerbattle 2, OPPONENT_MARY, 0, PetalburgCity_Gym_Text_17B3F7, PetalburgCity_Gym_Text_17B454, PetalburgCity_Gym_EventScript_154F0A checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154F19 + goto_if_eq PetalburgCity_Gym_EventScript_154F19 msgbox PetalburgCity_Gym_Text_17B46F, 6 end @@ -856,7 +856,7 @@ PetalburgCity_Gym_EventScript_154F19:: @ 8154F19 PetalburgCity_Gym_EventScript_154F22:: @ 8154F22 trainerbattle 2, OPPONENT_LORI, 0, PetalburgCity_Gym_Text_17B58D, PetalburgCity_Gym_Text_17B5CB, PetalburgCity_Gym_EventScript_154F46 checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154F55 + goto_if_eq PetalburgCity_Gym_EventScript_154F55 msgbox PetalburgCity_Gym_Text_17B5EA, 6 end @@ -874,7 +874,7 @@ PetalburgCity_Gym_EventScript_154F55:: @ 8154F55 PetalburgCity_Gym_EventScript_154F5E:: @ 8154F5E trainerbattle 2, OPPONENT_JODY, 0, PetalburgCity_Gym_Text_17B6D4, PetalburgCity_Gym_Text_17B732, PetalburgCity_Gym_EventScript_154F82 checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_154F91 + goto_if_eq PetalburgCity_Gym_EventScript_154F91 msgbox PetalburgCity_Gym_Text_17B749, 6 end @@ -892,72 +892,72 @@ PetalburgCity_Gym_EventScript_154F91:: @ 8154F91 PetalburgCity_Gym_EventScript_154F9A:: @ 8154F9A setvar 0x8004, 1 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_1550A2 return PetalburgCity_Gym_EventScript_154FBB:: @ 8154FBB setvar 0x8004, 2 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_1550C7 return PetalburgCity_Gym_EventScript_154FDC:: @ 8154FDC setvar 0x8004, 3 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_1550EC return PetalburgCity_Gym_EventScript_154FFD:: @ 8154FFD setvar 0x8004, 4 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_155111 return PetalburgCity_Gym_EventScript_15501E:: @ 815501E setvar 0x8004, 5 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_155124 return PetalburgCity_Gym_EventScript_15503F:: @ 815503F setvar 0x8004, 6 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_155149 return PetalburgCity_Gym_EventScript_155060:: @ 8155060 setvar 0x8004, 7 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_15515C return PetalburgCity_Gym_EventScript_155081:: @ 8155081 setvar 0x8004, 8 compare 0x8005, 0 - callif 1, PetalburgCity_Gym_EventScript_155182 + call_if 1, PetalburgCity_Gym_EventScript_155182 compare 0x8005, 1 - callif 1, PetalburgCity_Gym_EventScript_155187 + call_if 1, PetalburgCity_Gym_EventScript_155187 call PetalburgCity_Gym_EventScript_15516F return @@ -1022,7 +1022,7 @@ PetalburgCity_Gym_EventScript_15518B:: @ 815518B lock faceplayer checkflag 1217 - jumpeq PetalburgCity_Gym_EventScript_1551A0 + goto_if_eq PetalburgCity_Gym_EventScript_1551A0 msgbox PetalburgCity_Gym_Text_17AB96, 4 release end @@ -1035,15 +1035,15 @@ PetalburgCity_Gym_EventScript_1551A0:: @ 81551A0 PetalburgCity_Gym_EventScript_1551AA:: @ 81551AA lockall checkflag 2059 - jumpeq PetalburgCity_Gym_EventScript_1551CA - jump PetalburgCity_Gym_EventScript_1551D4 + goto_if_eq PetalburgCity_Gym_EventScript_1551CA + goto PetalburgCity_Gym_EventScript_1551D4 end PetalburgCity_Gym_EventScript_1551BA:: @ 81551BA lockall checkflag 2059 - jumpeq PetalburgCity_Gym_EventScript_1551CA - jump PetalburgCity_Gym_EventScript_1551D4 + goto_if_eq PetalburgCity_Gym_EventScript_1551CA + goto PetalburgCity_Gym_EventScript_1551D4 end PetalburgCity_Gym_EventScript_1551CA:: @ 81551CA diff --git a/data/scripts/maps/PetalburgCity_Mart.inc b/data/scripts/maps/PetalburgCity_Mart.inc index 2eac03cac..e4186eaae 100644 --- a/data/scripts/maps/PetalburgCity_Mart.inc +++ b/data/scripts/maps/PetalburgCity_Mart.inc @@ -5,9 +5,9 @@ PetalburgCity_Mart_EventScript_1552B0:: @ 81552B0 lock faceplayer message PetalburgCity_Mart_Text_1A0BE4 - waittext + waitmessage checkflag 296 - jumpeq PetalburgCity_Mart_EventScript_1552EA + goto_if_eq PetalburgCity_Mart_EventScript_1552EA pokemart PetalburgCity_Mart_Items1 msgbox PetalburgCity_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc index 5ef99eee1..e2013a1d6 100644 --- a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ PetalburgCity_PokemonCenter_1F_MapScript1_15520A:: @ 815520A PetalburgCity_PokemonCenter_1F_EventScript_155213:: @ 8155213 setvar 0x800b, 1 call PetalburgCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end @@ -27,19 +27,19 @@ PetalburgCity_PokemonCenter_1F_EventScript_155233:: @ 8155233 lock faceplayer msgbox PetalburgCity_PokemonCenter_1F_Text_17BDC5, 4 - specialval RESULT, IsStarterInParty + specialvar RESULT, IsStarterInParty compare RESULT, 1 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_15524F + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_15524F release end PetalburgCity_PokemonCenter_1F_EventScript_15524F:: @ 815524F compare 0x4023, 0 - callif 1, PetalburgCity_PokemonCenter_1F_EventScript_155272 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155272 compare 0x4023, 1 - callif 1, PetalburgCity_PokemonCenter_1F_EventScript_15527B + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_15527B compare 0x4023, 2 - callif 1, PetalburgCity_PokemonCenter_1F_EventScript_155284 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_155284 release end diff --git a/data/scripts/maps/PetalburgCity_WallysHouse.inc b/data/scripts/maps/PetalburgCity_WallysHouse.inc index e8ac407dc..d8e95d8c6 100644 --- a/data/scripts/maps/PetalburgCity_WallysHouse.inc +++ b/data/scripts/maps/PetalburgCity_WallysHouse.inc @@ -5,13 +5,13 @@ PetalburgCity_WallysHouse_EventScript_1543C4:: @ 81543C4 lock faceplayer checkflag 126 - jumpeq PetalburgCity_WallysHouse_EventScript_1543F7 + goto_if_eq PetalburgCity_WallysHouse_EventScript_1543F7 checkflag 122 - jumpeq PetalburgCity_WallysHouse_EventScript_154427 + goto_if_eq PetalburgCity_WallysHouse_EventScript_154427 checkflag 1217 - jumpeq PetalburgCity_WallysHouse_EventScript_154406 + goto_if_eq PetalburgCity_WallysHouse_EventScript_154406 checkflag 135 - jumpeq PetalburgCity_WallysHouse_EventScript_15443B + goto_if_eq PetalburgCity_WallysHouse_EventScript_15443B msgbox PetalburgCity_WallysHouse_Text_179805, 4 setflag 135 release @@ -19,8 +19,8 @@ PetalburgCity_WallysHouse_EventScript_1543C4:: @ 81543C4 PetalburgCity_WallysHouse_EventScript_1543F7:: @ 81543F7 checkflag 122 - jumpeq PetalburgCity_WallysHouse_EventScript_154431 - jump PetalburgCity_WallysHouse_EventScript_154406 + goto_if_eq PetalburgCity_WallysHouse_EventScript_154431 + goto PetalburgCity_WallysHouse_EventScript_154406 end PetalburgCity_WallysHouse_EventScript_154406:: @ 8154406 @@ -50,9 +50,9 @@ PetalburgCity_WallysHouse_EventScript_154445:: @ 8154445 lock faceplayer checkflag 122 - jumpeq PetalburgCity_WallysHouse_EventScript_15446D + goto_if_eq PetalburgCity_WallysHouse_EventScript_15446D checkflag 1217 - jumpeq PetalburgCity_WallysHouse_EventScript_154463 + goto_if_eq PetalburgCity_WallysHouse_EventScript_154463 msgbox PetalburgCity_WallysHouse_Text_179C2C, 4 release end diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc index c24f7c195..0b0c72f70 100644 --- a/data/scripts/maps/PetalburgWoods.inc +++ b/data/scripts/maps/PetalburgWoods.inc @@ -9,108 +9,108 @@ PetalburgWoods_MapScript1_15CCA2:: @ 815CCA2 PetalburgWoods_EventScript_15CCA8:: @ 815CCA8 lockall call PetalburgWoods_EventScript_15CDE6 - move 4, PetalburgWoods_Movement_15CE89 - waitmove 0 + applymovement 4, PetalburgWoods_Movement_15CE89 + waitmovement 0 msgbox PetalburgWoods_Text_194D92, 4 - closebutton - playmusic BGM_EVIL_TEAM, 0 - move 3, PetalburgWoods_Movement_15CEC3 - waitmove 0 + closemessage + playbgm BGM_EVIL_TEAM, 0 + applymovement 3, PetalburgWoods_Movement_15CEC3 + waitmovement 0 msgbox PetalburgWoods_Text_194DED, 4 - closebutton - move 3, PetalburgWoods_Movement_15CEB0 - waitmove 0 - move 4, PetalburgWoods_Movement_1A0841 - waitmove 0 + closemessage + applymovement 3, PetalburgWoods_Movement_15CEB0 + waitmovement 0 + applymovement 4, PetalburgWoods_Movement_1A0841 + waitmovement 0 msgbox PetalburgWoods_Text_194E6B, 4 - closebutton - move 4, PetalburgWoods_Movement_15CE9E - waitmove 0 + closemessage + applymovement 4, PetalburgWoods_Movement_15CE9E + waitmovement 0 msgbox PetalburgWoods_Text_194E9A, 4 - move 3, PetalburgWoods_Movement_15CEC8 - waitmove 0 + applymovement 3, PetalburgWoods_Movement_15CEC8 + waitmovement 0 msgbox PetalburgWoods_Text_194EE8, 4 trainerbattle 3, OPPONENT_PETALBURG_WOODS_GRUNT, 0, PetalburgWoods_Text_194F83 - move 3, PetalburgWoods_Movement_15CEB3 - waitmove 0 + applymovement 3, PetalburgWoods_Movement_15CEB3 + waitmovement 0 call PetalburgWoods_EventScript_15CDFA - move 4, PetalburgWoods_Movement_15CE80 - waitmove 0 - jump PetalburgWoods_EventScript_15CE69 + applymovement 4, PetalburgWoods_Movement_15CE80 + waitmovement 0 + goto PetalburgWoods_EventScript_15CE69 end PetalburgWoods_EventScript_15CD42:: @ 815CD42 lockall call PetalburgWoods_EventScript_15CDE6 - move 4, PetalburgWoods_Movement_15CE8E - waitmove 0 - move 255, PetalburgWoods_Movement_1A083F - waitmove 0 + applymovement 4, PetalburgWoods_Movement_15CE8E + waitmovement 0 + applymovement 255, PetalburgWoods_Movement_1A083F + waitmovement 0 msgbox PetalburgWoods_Text_194D92, 4 - closebutton - playmusic BGM_EVIL_TEAM, 0 - move 3, PetalburgWoods_Movement_15CEC3 - waitmove 0 + closemessage + playbgm BGM_EVIL_TEAM, 0 + applymovement 3, PetalburgWoods_Movement_15CEC3 + waitmovement 0 msgbox PetalburgWoods_Text_194DED, 4 - closebutton - move 3, PetalburgWoods_Movement_15CEBF - waitmove 0 - move 4, PetalburgWoods_Movement_1A0841 - waitmove 0 + closemessage + applymovement 3, PetalburgWoods_Movement_15CEBF + waitmovement 0 + applymovement 4, PetalburgWoods_Movement_1A0841 + waitmovement 0 msgbox PetalburgWoods_Text_194E6B, 4 - closebutton - move 4, PetalburgWoods_Movement_15CEA4 - waitmove 0 + closemessage + applymovement 4, PetalburgWoods_Movement_15CEA4 + waitmovement 0 msgbox PetalburgWoods_Text_194E9A, 4 - move 255, PetalburgWoods_Movement_1A0841 - waitmove 0 + applymovement 255, PetalburgWoods_Movement_1A0841 + waitmovement 0 msgbox PetalburgWoods_Text_194EE8, 4 trainerbattle 3, OPPONENT_PETALBURG_WOODS_GRUNT, 0, PetalburgWoods_Text_194F83 - move 3, PetalburgWoods_Movement_15CEB3 - waitmove 0 + applymovement 3, PetalburgWoods_Movement_15CEB3 + waitmovement 0 call PetalburgWoods_EventScript_15CDFA - move 4, PetalburgWoods_Movement_15CE95 - waitmove 0 - jump PetalburgWoods_EventScript_15CE69 + applymovement 4, PetalburgWoods_Movement_15CE95 + waitmovement 0 + goto PetalburgWoods_EventScript_15CE69 end PetalburgWoods_EventScript_15CDE6:: @ 815CDE6 - move 4, PetalburgWoods_Movement_15CE73 - waitmove 0 + applymovement 4, PetalburgWoods_Movement_15CE73 + waitmovement 0 msgbox PetalburgWoods_Text_194D71, 4 - closebutton + closemessage return PetalburgWoods_EventScript_15CDFA:: @ 815CDFA msgbox PetalburgWoods_Text_194FA4, 4 - closebutton - move 3, PetalburgWoods_Movement_15CEB7 - waitmove 0 - disappear 3 - move 255, PetalburgWoods_Movement_1A0845 - waitmove 0 + closemessage + applymovement 3, PetalburgWoods_Movement_15CEB7 + waitmovement 0 + removeobject 3 + applymovement 255, PetalburgWoods_Movement_1A0845 + waitmovement 0 msgbox PetalburgWoods_Text_19507E, 4 giveitem ITEM_GREAT_BALL compare RESULT, 0 - jumpeq PetalburgWoods_EventScript_15CE3F - jump PetalburgWoods_EventScript_15CE4D + goto_if_eq PetalburgWoods_EventScript_15CE3F + goto PetalburgWoods_EventScript_15CE4D end PetalburgWoods_EventScript_15CE3F:: @ 815CE3F msgbox PetalburgWoods_Text_195182, 4 - jump PetalburgWoods_EventScript_15CE4D + goto PetalburgWoods_EventScript_15CE4D end PetalburgWoods_EventScript_15CE4D:: @ 815CE4D msgbox PetalburgWoods_Text_19510A, 4 - move 4, PetalburgWoods_Movement_15CEA8 - waitmove 0 + applymovement 4, PetalburgWoods_Movement_15CEA8 + waitmovement 0 msgbox PetalburgWoods_Text_195153, 4 - closebutton + closemessage return PetalburgWoods_EventScript_15CE69:: @ 815CE69 - disappear 4 + removeobject 4 setvar 0x4098, 1 releaseall end @@ -242,11 +242,11 @@ PetalburgWoods_EventScript_15CEDC:: @ 815CEDC lock faceplayer checkflag 297 - jumpeq PetalburgWoods_EventScript_15CF0B + goto_if_eq PetalburgWoods_EventScript_15CF0B msgbox PetalburgWoods_Text_19549E, 4 giveitem ITEM_MIRACLE_SEED compare RESULT, 0 - jumpeq PetalburgWoods_EventScript_1A029B + goto_if_eq PetalburgWoods_EventScript_1A029B setflag 297 release end @@ -271,9 +271,9 @@ PetalburgWoods_EventScript_15CF27:: @ 815CF27 PetalburgWoods_EventScript_15CF3E:: @ 815CF3E trainerbattle 0, OPPONENT_JAMES_1, 0, PetalburgWoods_Text_19526A, PetalburgWoods_Text_1952AE - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq PetalburgWoods_EventScript_15CF65 + goto_if_eq PetalburgWoods_EventScript_15CF65 msgbox PetalburgWoods_Text_1952CC, 6 end diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc index d945aadfc..2fe80e098 100644 --- a/data/scripts/maps/Route101.inc +++ b/data/scripts/maps/Route101.inc @@ -18,25 +18,25 @@ Route101_EventScript_14E93F:: @ 814E93F Route101_EventScript_14E948:: @ 814E948 lockall - playmusic 410, 1 + playbgm 410, 1 msgbox Route101_Text_16D10E, 4 - closebutton - movesprite 2, 0, 15 - movesprite 4, 0, 16 - move 255, Route101_Movement_14EA2C - move 2, Route101_Movement_14EA50 - move 4, Route101_Movement_14EA1F - waitmove 0 - move 4, Route101_Movement_14EA00 - move 2, Route101_Movement_14EA31 - waitmove 0 - move 2, Route101_Movement_1A0843 - waitmove 0 - move 4, Route101_Movement_14EA27 - move 2, Route101_Movement_14EA58 - waitmove 0 + closemessage + setobjectxy 2, 0, 15 + setobjectxy 4, 0, 16 + applymovement 255, Route101_Movement_14EA2C + applymovement 2, Route101_Movement_14EA50 + applymovement 4, Route101_Movement_14EA1F + waitmovement 0 + applymovement 4, Route101_Movement_14EA00 + applymovement 2, Route101_Movement_14EA31 + waitmovement 0 + applymovement 2, Route101_Movement_1A0843 + waitmovement 0 + applymovement 4, Route101_Movement_14EA27 + applymovement 2, Route101_Movement_14EA58 + waitmovement 0 msgbox Route101_Text_16D119, 4 - closebutton + closemessage setvar 0x4060, 2 releaseall end @@ -44,27 +44,27 @@ Route101_EventScript_14E948:: @ 814E948 Route101_EventScript_14E9B8:: @ 814E9B8 lockall msgbox Route101_Text_16D15E, 4 - closebutton - move 255, Route101_Movement_14E9FA - waitmove 0 + closemessage + applymovement 255, Route101_Movement_14E9FA + waitmovement 0 releaseall end Route101_EventScript_14E9CE:: @ 814E9CE lockall msgbox Route101_Text_16D15E, 4 - closebutton - move 255, Route101_Movement_14E9FC - waitmove 0 + closemessage + applymovement 255, Route101_Movement_14E9FC + waitmovement 0 releaseall end Route101_EventScript_14E9E4:: @ 814E9E4 lockall msgbox Route101_Text_16D15E, 4 - closebutton - move 255, Route101_Movement_14E9FE - waitmove 0 + closemessage + applymovement 255, Route101_Movement_14E9FE + waitmovement 0 releaseall end @@ -220,14 +220,14 @@ Route101_EventScript_14EA7F:: @ 814EA7F setflag 2048 setflag 82 fadescreen 1 - disappear 4 - movesprite 255, 6, 13 - move 255, Route101_Movement_1A083F - waitmove 0 + removeobject 4 + setobjectxy 255, 6, 13 + applymovement 255, Route101_Movement_1A083F + waitmovement 0 special ScrSpecial_ChooseStarter waitstate - move 2, Route101_Movement_14EAD7 - waitmove 0 + applymovement 2, Route101_Movement_14EAD7 + waitmovement 0 msgbox Route101_Text_16D191, 4 special ScrSpecial_HealPlayerParty setflag 720 diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc index b0a714763..95a0a4a1f 100644 --- a/data/scripts/maps/Route102.inc +++ b/data/scripts/maps/Route102.inc @@ -19,9 +19,9 @@ Route102_EventScript_14EAF5:: @ 814EAF5 Route102_EventScript_14EAFE:: @ 814EAFE trainerbattle 0, OPPONENT_CALVIN_1, 0, Route102_Text_1B79C3, Route102_Text_1B7A2C - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route102_EventScript_14EB25 + goto_if_eq Route102_EventScript_14EB25 msgbox Route102_Text_1B7A60, 6 end diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc index 4c7da3d0d..ff0ccce30 100644 --- a/data/scripts/maps/Route103.inc +++ b/data/scripts/maps/Route103.inc @@ -9,22 +9,22 @@ Route103_MapScript1_14EB87:: @ 814EB87 Route103_EventScript_14EB92:: @ 814EB92 lockall - checkgender + checkplayergender compare RESULT, 0 - jumpeq Route103_EventScript_14EBAB + goto_if_eq Route103_EventScript_14EBAB compare RESULT, 1 - jumpeq Route103_EventScript_14EC04 + goto_if_eq Route103_EventScript_14EC04 end Route103_EventScript_14EBAB:: @ 814EBAB msgbox Route103_Text_16D57A, 4 - playmusic 415, 1 - move 2, Route103_Movement_1A0839 - waitmove 0 - move 2, Route103_Movement_1A0833 - waitmove 0 - move 2, Route103_Movement_1A0835 - waitmove 0 + playbgm 415, 1 + applymovement 2, Route103_Movement_1A0839 + waitmovement 0 + applymovement 2, Route103_Movement_1A0833 + waitmovement 0 + applymovement 2, Route103_Movement_1A0835 + waitmovement 0 msgbox Route103_Text_16D5B6, 4 switch 0x4023 case 0, Route103_EventScript_14EC5D @@ -34,13 +34,13 @@ Route103_EventScript_14EBAB:: @ 814EBAB Route103_EventScript_14EC04:: @ 814EC04 msgbox Route103_Text_16D762, 4 - playmusic 421, 1 - move 2, Route103_Movement_1A0839 - waitmove 0 - move 2, Route103_Movement_1A0833 - waitmove 0 - move 2, Route103_Movement_1A0835 - waitmove 0 + playbgm 421, 1 + applymovement 2, Route103_Movement_1A0839 + waitmovement 0 + applymovement 2, Route103_Movement_1A0833 + waitmovement 0 + applymovement 2, Route103_Movement_1A0835 + waitmovement 0 msgbox Route103_Text_16D7A9, 4 switch 0x4023 case 0, Route103_EventScript_14EC8D @@ -50,46 +50,46 @@ Route103_EventScript_14EC04:: @ 814EC04 Route103_EventScript_14EC5D:: @ 814EC5D trainerbattle 3, OPPONENT_MAY_4, 0, Route103_Text_16D65B - jump Route103_EventScript_14ECBD + goto Route103_EventScript_14ECBD end Route103_EventScript_14EC6D:: @ 814EC6D trainerbattle 3, OPPONENT_MAY_7, 0, Route103_Text_16D65B - jump Route103_EventScript_14ECBD + goto Route103_EventScript_14ECBD end Route103_EventScript_14EC7D:: @ 814EC7D trainerbattle 3, OPPONENT_MAY_1, 0, Route103_Text_16D65B - jump Route103_EventScript_14ECBD + goto Route103_EventScript_14ECBD end Route103_EventScript_14EC8D:: @ 814EC8D trainerbattle 3, OPPONENT_BRENDAN_4, 0, Route103_Text_16D836 - jump Route103_EventScript_14ECCB + goto Route103_EventScript_14ECCB end Route103_EventScript_14EC9D:: @ 814EC9D trainerbattle 3, OPPONENT_BRENDAN_7, 0, Route103_Text_16D836 - jump Route103_EventScript_14ECCB + goto Route103_EventScript_14ECCB end Route103_EventScript_14ECAD:: @ 814ECAD trainerbattle 3, OPPONENT_BRENDAN_1, 0, Route103_Text_16D836 - jump Route103_EventScript_14ECCB + goto Route103_EventScript_14ECCB end Route103_EventScript_14ECBD:: @ 814ECBD msgbox Route103_Text_16D688, 4 - jump Route103_EventScript_14ECD9 + goto Route103_EventScript_14ECD9 end Route103_EventScript_14ECCB:: @ 814ECCB msgbox Route103_Text_16D856, 4 - jump Route103_EventScript_14ECD9 + goto Route103_EventScript_14ECD9 end Route103_EventScript_14ECD9:: @ 814ECD9 - closebutton + closemessage switch FACING case 1, Route103_EventScript_14ED29 case 2, Route103_EventScript_14ED0C @@ -98,33 +98,33 @@ Route103_EventScript_14ECD9:: @ 814ECD9 end Route103_EventScript_14ED0C:: @ 814ED0C - move 2, Route103_Movement_14ED67 - waitmove 0 - playsfx 10 - move 2, Route103_Movement_14ED6B - waitmove 0 - jump Route103_EventScript_14ED46 + applymovement 2, Route103_Movement_14ED67 + waitmovement 0 + playse 10 + applymovement 2, Route103_Movement_14ED6B + waitmovement 0 + goto Route103_EventScript_14ED46 end Route103_EventScript_14ED29:: @ 814ED29 - move 2, Route103_Movement_14ED71 - waitmove 0 - playsfx 10 - move 2, Route103_Movement_14ED74 - waitmove 0 - jump Route103_EventScript_14ED46 + applymovement 2, Route103_Movement_14ED71 + waitmovement 0 + playse 10 + applymovement 2, Route103_Movement_14ED74 + waitmovement 0 + goto Route103_EventScript_14ED46 end Route103_EventScript_14ED46:: @ 814ED46 - disappear 2 + removeobject 2 setvar 0x4062, 1 setvar 0x4084, 4 clearflag 889 setflag 130 setvar 0x40c7, 1 clearflag 979 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm releaseall end @@ -173,9 +173,9 @@ Route103_EventScript_14ED94:: @ 814ED94 Route103_EventScript_14EDAB:: @ 814EDAB trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7DF7, Route103_Text_1B7E3B, Route103_Text_1B7EAC - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route103_EventScript_14EDD6 + goto_if_eq Route103_EventScript_14EDD6 msgbox Route103_Text_1B7E50, 6 end @@ -186,9 +186,9 @@ Route103_EventScript_14EDD6:: @ 814EDD6 Route103_EventScript_14EDF1:: @ 814EDF1 trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7EFB, Route103_Text_1B7F20, Route103_Text_1B7F8E - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route103_EventScript_14EE1C + goto_if_eq Route103_EventScript_14EE1C msgbox Route103_Text_1B7F40, 6 end @@ -204,9 +204,9 @@ Route103_EventScript_14EE37:: @ 814EE37 Route103_EventScript_14EE4E:: @ 814EE4E trainerbattle 0, OPPONENT_MIGUEL_1, 0, Route103_Text_1B82A9, Route103_Text_1B82EC - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route103_EventScript_14EE75 + goto_if_eq Route103_EventScript_14EE75 msgbox Route103_Text_1B830D, 6 end diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc index b617767bf..651f2afb4 100644 --- a/data/scripts/maps/Route104.inc +++ b/data/scripts/maps/Route104.inc @@ -9,7 +9,7 @@ Route104_MapScript2_14EE97:: @ 814EE97 Route104_EventScript_14EEA1:: @ 814EEA1 lockall - jump Route104_EventScript_14EFD5 + goto Route104_EventScript_14EFD5 end Route104_MapScript1_14EEA8:: @ 814EEA8 @@ -18,9 +18,9 @@ Route104_MapScript1_14EEA8:: @ 814EEA8 Route104_EventScript_14EEAE:: @ 814EEAE checkflag 127 - jumpif 0, Route104_EventScript_14EEC4 + goto_if 0, Route104_EventScript_14EEC4 checkflag 2057 - jumpif 0, Route104_EventScript_14EEC4 + goto_if 0, Route104_EventScript_14EEC4 clearflag 906 return @@ -32,11 +32,11 @@ Route104_EventScript_14EEC8:: @ 814EEC8 lock faceplayer checkflag 246 - jumpeq Route104_EventScript_14EEFF + goto_if_eq Route104_EventScript_14EEFF msgbox Route104_Text_1C55B9, 4 giveitem ITEM_CHESTO_BERRY compare RESULT, 0 - jumpeq Route104_EventScript_1A029B + goto_if_eq Route104_EventScript_1A029B setflag 246 msgbox Route104_Text_1C5665, 4 release @@ -51,11 +51,11 @@ Route104_EventScript_14EF09:: @ 814EF09 lock faceplayer checkflag 279 - jumpeq Route104_EventScript_14EF38 + goto_if_eq Route104_EventScript_14EF38 msgbox Route104_Text_16DD91, 4 giveitem ITEM_WHITE_HERB compare RESULT, 0 - jumpeq Route104_EventScript_1A029B + goto_if_eq Route104_EventScript_1A029B setflag 279 release end @@ -105,11 +105,11 @@ Route104_EventScript_14EF93:: @ 814EF93 lock faceplayer checkflag 262 - jumpeq Route104_EventScript_14EFC2 + goto_if_eq Route104_EventScript_14EFC2 msgbox Route104_Text_16DC5F, 4 giveitem ITEM_TM09 compare RESULT, 0 - jumpeq Route104_EventScript_1A029B + goto_if_eq Route104_EventScript_1A029B setflag 262 release end @@ -124,44 +124,44 @@ Route104_EventScript_14EFCC:: @ 814EFCC end Route104_EventScript_14EFD5:: @ 814EFD5 - spritelevelup 8, 0, 19, 0 - spritelevelup 255, 0, 19, 0 - move 8, Route104_Movement_14F16C - waitmove 0 - disappear 8 - move 255, Route104_Movement_14F162 - waitmove 0 - spriteinvisible 255, 0, 19 + setobjectpriority 8, 0, 19, 0 + setobjectpriority 255, 0, 19, 0 + applymovement 8, Route104_Movement_14F16C + waitmovement 0 + removeobject 8 + applymovement 255, Route104_Movement_14F162 + waitmovement 0 + hideobject 255, 0, 19 call Route104_EventScript_1A02E7 - move 7, Route104_Movement_14F09F - move 255, Route104_Movement_14F09F - waitmove 0 - move 255, Route104_Movement_14F166 - waitmove 0 + applymovement 7, Route104_Movement_14F09F + applymovement 255, Route104_Movement_14F09F + waitmovement 0 + applymovement 255, Route104_Movement_14F166 + waitmovement 0 call Route104_EventScript_1A02EF - spritevisible 255, 0, 11 - move 255, Route104_Movement_14F168 - waitmove 0 - movespriteperm 2, 12, 8 - reappear 2 - spritelevelup 2, 0, 11, 0 + showobject 255, 0, 11 + applymovement 255, Route104_Movement_14F168 + waitmovement 0 + setobjectxyperm 2, 12, 8 + addobject 2 + setobjectpriority 2, 0, 11, 0 clearflag 740 - move 2, Route104_Movement_14F16F - waitmove 0 - reappear 4 + applymovement 2, Route104_Movement_14F16F + waitmovement 0 + addobject 4 clearflag 743 call Route104_EventScript_1A02EF setflag 742 - spriteinvisible 7, 0, 19 + hideobject 7, 0, 19 copyvar 0x4096, 0x8008 - restorespritelevel 255, 0, 19 - restorespritelevel 2, 0, 11 - moveoffscreen 2 + resetobjectpriority 255, 0, 19 + resetobjectpriority 2, 0, 11 + moveobjectoffscreen 2 setvar 0x408e, 0 checkflag 189 - jumpif 0, Route104_EventScript_14F08B + goto_if 0, Route104_EventScript_14F08B checkflag 189 - jumpeq Route104_EventScript_14F095 + goto_if_eq Route104_EventScript_14F095 end Route104_EventScript_14F08B:: @ 814F08B @@ -409,9 +409,9 @@ Route104_EventScript_14F189:: @ 814F189 Route104_EventScript_14F1A0:: @ 814F1A0 trainerbattle 0, OPPONENT_HALEY_1, 0, Route104_Text_1B8770, Route104_Text_1B87A7 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route104_EventScript_14F1C7 + goto_if_eq Route104_EventScript_14F1C7 msgbox Route104_Text_1B87C3, 6 end @@ -422,9 +422,9 @@ Route104_EventScript_14F1C7:: @ 814F1C7 Route104_EventScript_14F1DE:: @ 814F1DE trainerbattle 0, OPPONENT_WINSTON_1, 0, Route104_Text_1B88D4, Route104_Text_1B8911 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route104_EventScript_14F205 + goto_if_eq Route104_EventScript_14F205 msgbox Route104_Text_1B8925, 6 end @@ -435,9 +435,9 @@ Route104_EventScript_14F205:: @ 814F205 Route104_EventScript_14F21C:: @ 814F21C trainerbattle 0, OPPONENT_CINDY_1, 0, Route104_Text_1B8A24, Route104_Text_1B8A61 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route104_EventScript_14F243 + goto_if_eq Route104_EventScript_14F243 msgbox Route104_Text_1B8A69, 6 end diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc index 5c6704e67..f24e92cd4 100644 --- a/data/scripts/maps/Route104_MrBrineysHouse.inc +++ b/data/scripts/maps/Route104_MrBrineysHouse.inc @@ -5,9 +5,9 @@ Route104_MrBrineysHouse_MapScripts:: @ 815BCB2 Route104_MrBrineysHouse_MapScript1_15BCB8:: @ 815BCB8 setflag 2109 compare 0x4090, 1 - callif 1, Route104_MrBrineysHouse_EventScript_15BCD4 + call_if 1, Route104_MrBrineysHouse_EventScript_15BCD4 checkflag 188 - callif 1, Route104_MrBrineysHouse_EventScript_15BCD0 + call_if 1, Route104_MrBrineysHouse_EventScript_15BCD0 end Route104_MrBrineysHouse_EventScript_15BCD0:: @ 815BCD0 @@ -15,22 +15,22 @@ Route104_MrBrineysHouse_EventScript_15BCD0:: @ 815BCD0 return Route104_MrBrineysHouse_EventScript_15BCD4:: @ 815BCD4 - movespriteperm 1, 9, 3 - spritebehave 1, 50 - movespriteperm 2, 9, 6 - spritebehave 2, 51 + setobjectxyperm 1, 9, 3 + setobjectmovementtype 1, 50 + setobjectxyperm 2, 9, 6 + setobjectmovementtype 2, 51 return Route104_MrBrineysHouse_EventScript_15BCEB:: @ 815BCEB lock faceplayer checkflag 147 - callif 0, Route104_MrBrineysHouse_EventScript_15BD0E + call_if 0, Route104_MrBrineysHouse_EventScript_15BD0E checkflag 189 - jumpif 0, Route104_MrBrineysHouse_EventScript_15BD65 + goto_if 0, Route104_MrBrineysHouse_EventScript_15BD65 checkflag 149 - jumpif 0, Route104_MrBrineysHouse_EventScript_15BD7E - jump Route104_MrBrineysHouse_EventScript_15BD32 + goto_if 0, Route104_MrBrineysHouse_EventScript_15BD7E + goto Route104_MrBrineysHouse_EventScript_15BD32 end Route104_MrBrineysHouse_EventScript_15BD0E:: @ 815BD0E @@ -38,14 +38,14 @@ Route104_MrBrineysHouse_EventScript_15BD0E:: @ 815BD0E msgbox Route104_MrBrineysHouse_Text_191A82, 4 msgbox Route104_MrBrineysHouse_Text_191AAD, 5 compare RESULT, 0 - jumpeq Route104_MrBrineysHouse_EventScript_15BD97 - jump Route104_MrBrineysHouse_EventScript_15BDAB + goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97 + goto Route104_MrBrineysHouse_EventScript_15BDAB end Route104_MrBrineysHouse_EventScript_15BD32:: @ 815BD32 message Route104_MrBrineysHouse_Text_191E80 - waittext - multichoicedef 21, 8, 14, 1, 0 + waitmessage + multichoicedefault 21, 8, 14, 1, 0 switch RESULT case 0, Route104_MrBrineysHouse_EventScript_15BDAB case 1, Route104_MrBrineysHouse_EventScript_15BDA1 @@ -55,15 +55,15 @@ Route104_MrBrineysHouse_EventScript_15BD32:: @ 815BD32 Route104_MrBrineysHouse_EventScript_15BD65:: @ 815BD65 msgbox Route104_MrBrineysHouse_Text_191CC3, 5 compare RESULT, 0 - jumpeq Route104_MrBrineysHouse_EventScript_15BD97 - jump Route104_MrBrineysHouse_EventScript_15BDAB + goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97 + goto Route104_MrBrineysHouse_EventScript_15BDAB end Route104_MrBrineysHouse_EventScript_15BD7E:: @ 815BD7E msgbox Route104_MrBrineysHouse_Text_191DA6, 5 compare RESULT, 0 - jumpeq Route104_MrBrineysHouse_EventScript_15BD97 - jump Route104_MrBrineysHouse_EventScript_15BDAB + goto_if_eq Route104_MrBrineysHouse_EventScript_15BD97 + goto Route104_MrBrineysHouse_EventScript_15BDAB end Route104_MrBrineysHouse_EventScript_15BD97:: @ 815BD97 @@ -91,8 +91,8 @@ Route104_MrBrineysHouse_EventScript_15BDAB:: @ 815BDAB Route104_MrBrineysHouse_EventScript_15BDD1:: @ 815BDD1 lock faceplayer - checksound - pokecry SPECIES_WINGULL, 0 + waitse + playpokecry SPECIES_WINGULL, 0 msgbox Route104_MrBrineysHouse_Text_191FB9, 4 waitpokecry release diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc index 02842c62d..4c5becf88 100644 --- a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc +++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc @@ -5,39 +5,39 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 815BDE4 Route104_PrettyPetalFlowerShop_MapScript1_15BDEA:: @ 815BDEA setflag 2108 checkflag 127 - jumpif 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03 + goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03 checkflag 2057 - jumpif 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03 + goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BE03 setflag 1 end Route104_PrettyPetalFlowerShop_EventScript_15BE03:: @ 815BE03 - movespriteperm 1, 4, 6 + setobjectxyperm 1, 4, 6 end Route104_PrettyPetalFlowerShop_EventScript_15BE0B:: @ 815BE0B lock faceplayer checkflag 1 - jumpeq Route104_PrettyPetalFlowerShop_EventScript_15BE7C + goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE7C msgbox Route104_PrettyPetalFlowerShop_Text_1C5EC6, 4 checkflag 127 - jumpeq Route104_PrettyPetalFlowerShop_EventScript_15BE4A + goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BE4A setflag 127 msgbox Route104_PrettyPetalFlowerShop_Text_1C5F48, 5 compare RESULT, 1 - callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A compare RESULT, 0 - callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 release end Route104_PrettyPetalFlowerShop_EventScript_15BE4A:: @ 815BE4A msgbox Route104_PrettyPetalFlowerShop_Text_1C5F1B, 5 compare RESULT, 1 - callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE6A compare RESULT, 0 - callif 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_15BE73 release end @@ -51,7 +51,7 @@ Route104_PrettyPetalFlowerShop_EventScript_15BE73:: @ 815BE73 Route104_PrettyPetalFlowerShop_EventScript_15BE7C:: @ 815BE7C message Route104_PrettyPetalFlowerShop_Text_1A0C42 - waittext + waitmessage pokemartbp Route104_PrettyPetalFlowerShop_Items msgbox Route104_PrettyPetalFlowerShop_Text_1A0C02, 4 release @@ -73,7 +73,7 @@ Route104_PrettyPetalFlowerShop_EventScript_15BEA4:: @ 815BEA4 lock faceplayer checkflag 94 - jumpif 0, Route104_PrettyPetalFlowerShop_EventScript_15BEB9 + goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_15BEB9 msgbox Route104_PrettyPetalFlowerShop_Text_1C61E8, 4 release end @@ -89,15 +89,15 @@ Route104_PrettyPetalFlowerShop_EventScript_15BEB9:: @ 815BEB9 Route104_PrettyPetalFlowerShop_EventScript_15BEDA:: @ 815BEDA lock faceplayer - checkdailyflags + dodailyevents checkflag 2256 - jumpeq Route104_PrettyPetalFlowerShop_EventScript_15BF1A + goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_15BF1A msgbox Route104_PrettyPetalFlowerShop_Text_1C62DA, 4 random 8 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq Route104_PrettyPetalFlowerShop_EventScript_1A029B + goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_1A029B setflag 2256 msgbox Route104_PrettyPetalFlowerShop_Text_1C6335, 4 release diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc index ff1c9d258..3c218747a 100644 --- a/data/scripts/maps/Route104_Prototype.inc +++ b/data/scripts/maps/Route104_Prototype.inc @@ -5,21 +5,21 @@ Route104_Prototype_EventScript_160C4B:: @ 8160C4B lock faceplayer checktrainerflag OPPONENT_BRIANNA_1 - jumpif 0, Route104_Prototype_EventScript_160C99 + goto_if 0, Route104_Prototype_EventScript_160C99 checktrainerflag OPPONENT_CINDY_2 - jumpif 0, Route104_Prototype_EventScript_160C99 + goto_if 0, Route104_Prototype_EventScript_160C99 checktrainerflag OPPONENT_AMY_AND_LIV_3 - jumpif 0, Route104_Prototype_EventScript_160C99 + goto_if 0, Route104_Prototype_EventScript_160C99 checktrainerflag OPPONENT_GINA_AND_MIA_2 - jumpif 0, Route104_Prototype_EventScript_160C99 + goto_if 0, Route104_Prototype_EventScript_160C99 checktrainerflag OPPONENT_LUCAS_2 - jumpif 0, Route104_Prototype_EventScript_160C99 + goto_if 0, Route104_Prototype_EventScript_160C99 checktrainerflag OPPONENT_MIKE_1 - jumpif 0, Route104_Prototype_EventScript_160C99 + goto_if 0, Route104_Prototype_EventScript_160C99 setflag 215 msgbox Route104_Prototype_Text_19B267, 4 checkflag 216 - jumpeq Route104_Prototype_EventScript_160CFB + goto_if_eq Route104_Prototype_EventScript_160CFB release end @@ -32,21 +32,21 @@ Route104_Prototype_EventScript_160CA3:: @ 8160CA3 lock faceplayer checktrainerflag OPPONENT_BRIANNA_1 - jumpif 0, Route104_Prototype_EventScript_160CF1 + goto_if 0, Route104_Prototype_EventScript_160CF1 checktrainerflag OPPONENT_CINDY_2 - jumpif 0, Route104_Prototype_EventScript_160CF1 + goto_if 0, Route104_Prototype_EventScript_160CF1 checktrainerflag OPPONENT_AMY_AND_LIV_3 - jumpif 0, Route104_Prototype_EventScript_160CF1 + goto_if 0, Route104_Prototype_EventScript_160CF1 checktrainerflag OPPONENT_GINA_AND_MIA_2 - jumpif 0, Route104_Prototype_EventScript_160CF1 + goto_if 0, Route104_Prototype_EventScript_160CF1 checktrainerflag OPPONENT_LUCAS_2 - jumpif 0, Route104_Prototype_EventScript_160CF1 + goto_if 0, Route104_Prototype_EventScript_160CF1 checktrainerflag OPPONENT_MIKE_1 - jumpif 0, Route104_Prototype_EventScript_160CF1 + goto_if 0, Route104_Prototype_EventScript_160CF1 setflag 216 msgbox Route104_Prototype_Text_19B2E9, 4 checkflag 215 - jumpeq Route104_Prototype_EventScript_160CFB + goto_if_eq Route104_Prototype_EventScript_160CFB release end @@ -56,10 +56,10 @@ Route104_Prototype_EventScript_160CF1:: @ 8160CF1 end Route104_Prototype_EventScript_160CFB:: @ 8160CFB - closebutton - pause 60 + closemessage + delay 60 fadescreen 1 - pause 60 + delay 60 special DoSoftReset waitstate release diff --git a/data/scripts/maps/Route105.inc b/data/scripts/maps/Route105.inc index c71e2ce05..1182dae7e 100644 --- a/data/scripts/maps/Route105.inc +++ b/data/scripts/maps/Route105.inc @@ -4,7 +4,7 @@ Route105_MapScripts:: @ 814F298 Route105_MapScript1_14F29E:: @ 814F29E checkflag 228 - callif 0, Route105_EventScript_14F2A8 + call_if 0, Route105_EventScript_14F2A8 end Route105_EventScript_14F2A8:: @ 814F2A8 diff --git a/data/scripts/maps/Route106.inc b/data/scripts/maps/Route106.inc index 0c25594c6..2ec903363 100644 --- a/data/scripts/maps/Route106.inc +++ b/data/scripts/maps/Route106.inc @@ -17,9 +17,9 @@ Route106_EventScript_14F34F:: @ 814F34F Route106_EventScript_14F366:: @ 814F366 trainerbattle 0, OPPONENT_ELLIOT_1, 0, Route106_Text_1B8EF0, Route106_Text_1B8F25 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route106_EventScript_14F38D + goto_if_eq Route106_EventScript_14F38D msgbox Route106_Text_1B8F55, 6 end diff --git a/data/scripts/maps/Route107.inc b/data/scripts/maps/Route107.inc index a14bb7298..b6973407b 100644 --- a/data/scripts/maps/Route107.inc +++ b/data/scripts/maps/Route107.inc @@ -8,9 +8,9 @@ Route107_EventScript_14F3BC:: @ 814F3BC Route107_EventScript_14F3D3:: @ 814F3D3 trainerbattle 0, OPPONENT_TONY_1, 0, Route107_Text_1B933A, Route107_Text_1B9365 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route107_EventScript_14F3FA + goto_if_eq Route107_EventScript_14F3FA msgbox Route107_Text_1B938E, 6 end diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc index 58c38173e..9f0ef8c8d 100644 --- a/data/scripts/maps/Route109.inc +++ b/data/scripts/maps/Route109.inc @@ -3,11 +3,11 @@ Route109_MapScripts:: @ 814F4D2 Route109_EventScript_14F4D3:: @ 814F4D3 call Route109_EventScript_1A010C - spritelevelup 2, 0, 24, 0 - spritelevelup 255, 0, 24, 0 - move 2, Route109_Movement_14F67B - waitmove 0 - disappear 2 + setobjectpriority 2, 0, 24, 0 + setobjectpriority 255, 0, 24, 0 + applymovement 2, Route109_Movement_14F67B + waitmovement 0 + removeobject 2 switch FACING case 1, Route109_EventScript_14F518 case 3, Route109_EventScript_14F538 @@ -15,49 +15,49 @@ Route109_EventScript_14F4D3:: @ 814F4D3 end Route109_EventScript_14F518:: @ 814F518 - move 255, Route109_Movement_14F66D - waitmove 0 - jump Route109_EventScript_14F548 + applymovement 255, Route109_Movement_14F66D + waitmovement 0 + goto Route109_EventScript_14F548 end Route109_EventScript_14F528:: @ 814F528 - move 255, Route109_Movement_14F675 - waitmove 0 - jump Route109_EventScript_14F548 + applymovement 255, Route109_Movement_14F675 + waitmovement 0 + goto Route109_EventScript_14F548 end Route109_EventScript_14F538:: @ 814F538 - move 255, Route109_Movement_14F678 - waitmove 0 - jump Route109_EventScript_14F548 + applymovement 255, Route109_Movement_14F678 + waitmovement 0 + goto Route109_EventScript_14F548 end Route109_EventScript_14F548:: @ 814F548 - spriteinvisible 255, 0, 24 + hideobject 255, 0, 24 call Route109_EventScript_1A02E7 - move 1, Route109_Movement_14F5BF - move 255, Route109_Movement_14F5BF - waitmove 0 + applymovement 1, Route109_Movement_14F5BF + applymovement 255, Route109_Movement_14F5BF + waitmovement 0 call Route109_EventScript_1A02EF - spritevisible 255, 0, 11 - move 255, Route109_Movement_14F670 - waitmove 0 - reappear 4 + showobject 255, 0, 11 + applymovement 255, Route109_Movement_14F670 + waitmovement 0 + addobject 4 clearflag 743 - movespriteperm 2, 12, 8 - reappear 2 - spritelevelup 2, 0, 11, 0 - move 2, Route109_Movement_14F67D - waitmove 0 + setobjectxyperm 2, 12, 8 + addobject 2 + setobjectpriority 2, 0, 11, 0 + applymovement 2, Route109_Movement_14F67D + waitmovement 0 clearflag 740 setflag 744 - spriteinvisible 1, 0, 24 + hideobject 1, 0, 24 msgbox Route109_Text_16B4B5, 4 - closebutton + closemessage copyvar 0x4096, 0x8008 - restorespritelevel 255, 0, 24 - restorespritelevel 2, 0, 11 - moveoffscreen 2 + resetobjectpriority 255, 0, 24 + resetobjectpriority 2, 0, 11 + moveobjectoffscreen 2 release end @@ -272,22 +272,22 @@ Route109_EventScript_14F680:: @ 814F680 lock faceplayer checkflag 149 - jumpif 0, Route109_EventScript_14F691 - jump Route109_EventScript_14F6AF + goto_if 0, Route109_EventScript_14F691 + goto Route109_EventScript_14F6AF end Route109_EventScript_14F691:: @ 814F691 message Route109_Text_16E0F9 msgbox Route109_Text_16E0F9, 5 compare RESULT, 0 - jumpeq Route109_EventScript_14F6F1 - jump Route109_EventScript_14F6E2 + goto_if_eq Route109_EventScript_14F6F1 + goto Route109_EventScript_14F6E2 end Route109_EventScript_14F6AF:: @ 814F6AF message Route109_Text_16E26A - waittext - multichoicedef 21, 8, 14, 1, 0 + waitmessage + multichoicedefault 21, 8, 14, 1, 0 switch RESULT case 0, Route109_EventScript_14F6E2 case 1, Route109_EventScript_14F6FB @@ -296,8 +296,8 @@ Route109_EventScript_14F6AF:: @ 814F6AF Route109_EventScript_14F6E2:: @ 814F6E2 msgbox Route109_Text_16E159, 4 - closebutton - jump Route109_EventScript_14F4D3 + closemessage + goto Route109_EventScript_14F4D3 end Route109_EventScript_14F6F1:: @ 814F6F1 @@ -318,9 +318,9 @@ Route109_EventScript_14F70E:: @ 814F70E lock faceplayer msgbox Route109_Text_16E405, 4 - closebutton - move LAST_TALKED, Route109_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, Route109_Movement_1A083D + waitmovement 0 release end @@ -329,22 +329,22 @@ Route109_EventScript_14F725:: @ 814F725 faceplayer special GetPlayerBigGuyGirlString checkflag 280 - jumpeq Route109_EventScript_14F762 + goto_if_eq Route109_EventScript_14F762 msgbox Route109_Text_16E433, 4 giveitem ITEM_SOFT_SAND compare RESULT, 0 - jumpeq Route109_EventScript_1A029B - closebutton - move LAST_TALKED, Route109_Movement_1A083D - waitmove 0 + goto_if_eq Route109_EventScript_1A029B + closemessage + applymovement LAST_TALKED, Route109_Movement_1A083D + waitmovement 0 setflag 280 release end Route109_EventScript_14F762:: @ 814F762 msgbox Route109_Text_16E446, 4 - move LAST_TALKED, Route109_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, Route109_Movement_1A083D + waitmovement 0 release end @@ -359,8 +359,8 @@ Route109_EventScript_14F77F:: @ 814F77F Route109_EventScript_14F788:: @ 814F788 lock faceplayer - checksound - pokecry SPECIES_ZIGZAGOON, 0 + waitse + playpokecry SPECIES_ZIGZAGOON, 0 msgbox Route109_Text_16E5CA, 4 waitpokecry release @@ -396,9 +396,9 @@ Route109_EventScript_14F7F2:: @ 814F7F2 Route109_EventScript_14F809:: @ 814F809 trainerbattle 0, OPPONENT_RICKY_1, 0, Route109_Text_1B9C23, Route109_Text_1B9C65 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route109_EventScript_14F830 + goto_if_eq Route109_EventScript_14F830 msgbox Route109_Text_1B9C6E, 6 end @@ -409,9 +409,9 @@ Route109_EventScript_14F830:: @ 814F830 Route109_EventScript_14F847:: @ 814F847 trainerbattle 0, OPPONENT_LOLA_1, 0, Route109_Text_1B9D54, Route109_Text_1B9D87 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route109_EventScript_14F86E + goto_if_eq Route109_EventScript_14F86E msgbox Route109_Text_1B9D8E, 6 end diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc index e1d9c380b..4d8d363aa 100644 --- a/data/scripts/maps/Route109_SeashoreHouse.inc +++ b/data/scripts/maps/Route109_SeashoreHouse.inc @@ -10,11 +10,11 @@ Route109_SeashoreHouse_EventScript_160DD4:: @ 8160DD4 lock faceplayer checkflag 140 - jumpeq Route109_SeashoreHouse_EventScript_160E36 + goto_if_eq Route109_SeashoreHouse_EventScript_160E36 checkflag 141 - jumpeq Route109_SeashoreHouse_EventScript_160E08 + goto_if_eq Route109_SeashoreHouse_EventScript_160E08 checkflag 2 - jumpeq Route109_SeashoreHouse_EventScript_160DFE + goto_if_eq Route109_SeashoreHouse_EventScript_160DFE msgbox Route109_SeashoreHouse_Text_19B4D9, 4 setflag 2 release @@ -29,7 +29,7 @@ Route109_SeashoreHouse_EventScript_160E08:: @ 8160E08 msgbox Route109_SeashoreHouse_Text_19B609, 4 giveitem ITEM_SODA_POP, 6 compare RESULT, 0 - jumpeq Route109_SeashoreHouse_EventScript_160E2C + goto_if_eq Route109_SeashoreHouse_EventScript_160E2C setflag 140 release end @@ -40,41 +40,41 @@ Route109_SeashoreHouse_EventScript_160E2C:: @ 8160E2C end Route109_SeashoreHouse_EventScript_160E36:: @ 8160E36 - showmoney 0, 0 - snop + showmoneybox 0, 0 + nop msgbox Route109_SeashoreHouse_Text_19B702, 5 compare RESULT, 1 - jumpeq Route109_SeashoreHouse_EventScript_160E5A + goto_if_eq Route109_SeashoreHouse_EventScript_160E5A msgbox Route109_SeashoreHouse_Text_19B773, 4 - hidemoney 0, 0 + hidemoneybox 0, 0 release end Route109_SeashoreHouse_EventScript_160E5A:: @ 8160E5A checkmoney 0x12c, 0 compare RESULT, 0 - jumpeq Route109_SeashoreHouse_EventScript_160E9E + goto_if_eq Route109_SeashoreHouse_EventScript_160E9E checkitemspace ITEM_SODA_POP, 1 compare RESULT, 0 - jumpeq Route109_SeashoreHouse_EventScript_160EAB + goto_if_eq Route109_SeashoreHouse_EventScript_160EAB msgbox Route109_SeashoreHouse_Text_19B74C, 4 - paymoney 0x12c, 0 - updatemoney 0, 0 - snop + takemoney 0x12c, 0 + updatemoneybox 0, 0 + nop giveitem ITEM_SODA_POP - hidemoney 0, 0 + hidemoneybox 0, 0 release end Route109_SeashoreHouse_EventScript_160E9E:: @ 8160E9E msgbox Route109_SeashoreHouse_Text_19B759, 4 - hidemoney 0, 0 + hidemoneybox 0, 0 release end Route109_SeashoreHouse_EventScript_160EAB:: @ 8160EAB msgbox Route109_SeashoreHouse_Text_1A0CC2, 4 - hidemoney 0, 0 + hidemoneybox 0, 0 release end @@ -95,11 +95,11 @@ Route109_SeashoreHouse_EventScript_160EEE:: @ 8160EEE Route109_SeashoreHouse_EventScript_160F09:: @ 8160F09 checktrainerflag OPPONENT_DWAYNE - jumpif 0, Route109_SeashoreHouse_EventScript_160F29 + goto_if 0, Route109_SeashoreHouse_EventScript_160F29 checktrainerflag OPPONENT_JOHANNA - jumpif 0, Route109_SeashoreHouse_EventScript_160F29 + goto_if 0, Route109_SeashoreHouse_EventScript_160F29 checktrainerflag OPPONENT_SIMON - jumpif 0, Route109_SeashoreHouse_EventScript_160F29 + goto_if 0, Route109_SeashoreHouse_EventScript_160F29 setflag 141 release end diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc index a77feaa0f..146be5959 100644 --- a/data/scripts/maps/Route110.inc +++ b/data/scripts/maps/Route110.inc @@ -13,11 +13,11 @@ Route110_MapScript1_14F914:: @ 814F914 call Route110_EventScript_1A014E call Route110_EventScript_1A0172 compare 0x40a9, 1 - callif 1, Route110_EventScript_14F92F + call_if 1, Route110_EventScript_14F92F end Route110_EventScript_14F92F:: @ 814F92F - playmusicbattle 403 @ Bicycle music + savebgm 403 @ Bicycle music return Route110_MapScript2_14F933:: @ 814F933 @@ -33,8 +33,8 @@ Route110_EventScript_14F946:: @ 814F946 lock faceplayer msgbox Route110_Text_16E6C0, 4 - move LAST_TALKED, Route110_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, Route110_Movement_1A083D + waitmovement 0 release end @@ -42,8 +42,8 @@ Route110_EventScript_14F95C:: @ 814F95C lock faceplayer msgbox Route110_Text_16E6F2, 4 - move LAST_TALKED, Route110_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, Route110_Movement_1A083D + waitmovement 0 release end @@ -51,8 +51,8 @@ Route110_EventScript_14F972:: @ 814F972 lock faceplayer msgbox Route110_Text_16E729, 4 - move LAST_TALKED, Route110_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, Route110_Movement_1A083D + waitmovement 0 release end @@ -60,8 +60,8 @@ Route110_EventScript_14F988:: @ 814F988 lock faceplayer msgbox Route110_Text_16E76A, 4 - move LAST_TALKED, Route110_Movement_1A083D - waitmove 0 + applymovement LAST_TALKED, Route110_Movement_1A083D + waitmovement 0 release end @@ -131,9 +131,9 @@ Route110_EventScript_14FA25:: @ 814FA25 Route110_EventScript_14FA2E:: @ 814FA2E lockall - specialval RESULT, GetRecordedCyclingRoadResults + specialvar RESULT, GetRecordedCyclingRoadResults compare RESULT, 0 - jumpeq Route110_EventScript_14FA49 + goto_if_eq Route110_EventScript_14FA49 msgbox Route110_Text_16F53A, 4 releaseall end @@ -146,11 +146,11 @@ Route110_EventScript_14FA49:: @ 814FA49 Route110_EventScript_14FA53:: @ 814FA53 lock faceplayer - specialval RESULT, GetPlayerAvatarBike + specialvar RESULT, GetPlayerAvatarBike compare RESULT, 1 - jumpeq Route110_EventScript_14FA84 + goto_if_eq Route110_EventScript_14FA84 compare 0x40a9, 0 - jumpeq Route110_EventScript_14FA7A + goto_if_eq Route110_EventScript_14FA7A msgbox Route110_Text_16F26A, 4 release end @@ -177,9 +177,9 @@ Route110_EventScript_14FAA5:: @ 814FAA5 Route110_EventScript_14FABC:: @ 814FABC trainerbattle 0, OPPONENT_EDWIN_1, 0, Route110_Text_1BA7D2, Route110_Text_1BA803 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route110_EventScript_14FAE3 + goto_if_eq Route110_EventScript_14FAE3 msgbox Route110_Text_1BA829, 6 end @@ -205,9 +205,9 @@ Route110_EventScript_14FB28:: @ 814FB28 Route110_EventScript_14FB3F:: @ 814FB3F trainerbattle 0, OPPONENT_BENJAMIN_1, 0, Route110_Text_1BA352, Route110_Text_1BA379 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route110_EventScript_14FB66 + goto_if_eq Route110_EventScript_14FB66 msgbox Route110_Text_1BA3A5, 6 end @@ -223,9 +223,9 @@ Route110_EventScript_14FB7D:: @ 814FB7D Route110_EventScript_14FB94:: @ 814FB94 trainerbattle 0, OPPONENT_ABIGAIL_1, 0, Route110_Text_1BA4A0, Route110_Text_1BA50F - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route110_EventScript_14FBBB + goto_if_eq Route110_EventScript_14FBBB msgbox Route110_Text_1BA52E, 6 end @@ -236,9 +236,9 @@ Route110_EventScript_14FBBB:: @ 814FBBB Route110_EventScript_14FBD2:: @ 814FBD2 trainerbattle 0, OPPONENT_ISABEL_1, 0, Route110_Text_1BA990, Route110_Text_1BA9D0 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route110_EventScript_14FBF9 + goto_if_eq Route110_EventScript_14FBF9 msgbox Route110_Text_1BA9E9, 6 end @@ -254,8 +254,8 @@ Route110_EventScript_14FC10:: @ 814FC10 Route110_EventScript_14FC27:: @ 814FC27 lockall - move 21, Route110_Movement_1A0843 - waitmove 0 + applymovement 21, Route110_Movement_1A0843 + waitmovement 0 call Route110_EventScript_14FC39 releaseall end @@ -279,84 +279,84 @@ Route110_EventScript_14FC39:: @ 814FC39 Route110_EventScript_14FCC3:: @ 814FCC3 msgbox Route110_Text_16EF9F, 4 - jump Route110_EventScript_14FD09 + goto Route110_EventScript_14FD09 end Route110_EventScript_14FCD1:: @ 814FCD1 msgbox Route110_Text_16F012, 4 - jump Route110_EventScript_14FD09 + goto Route110_EventScript_14FD09 end Route110_EventScript_14FCDF:: @ 814FCDF msgbox Route110_Text_16F069, 4 - jump Route110_EventScript_14FD09 + goto Route110_EventScript_14FD09 end Route110_EventScript_14FCED:: @ 814FCED msgbox Route110_Text_16F0D0, 4 - jump Route110_EventScript_14FD09 + goto Route110_EventScript_14FD09 end Route110_EventScript_14FCFB:: @ 814FCFB msgbox Route110_Text_16F139, 4 - jump Route110_EventScript_14FD09 + goto Route110_EventScript_14FD09 end Route110_EventScript_14FD09:: @ 814FD09 setvar 0x40a9, 3 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm return Route110_EventScript_14FD13:: @ 814FD13 setvar 0x8008, 1 - jump Route110_EventScript_14FD34 + goto Route110_EventScript_14FD34 end Route110_EventScript_14FD1E:: @ 814FD1E setvar 0x8008, 2 - jump Route110_EventScript_14FD34 + goto Route110_EventScript_14FD34 end Route110_EventScript_14FD29:: @ 814FD29 setvar 0x8008, 3 - jump Route110_EventScript_14FD34 + goto Route110_EventScript_14FD34 end Route110_EventScript_14FD34:: @ 814FD34 lockall - checkgender + checkplayergender compare RESULT, 0 - callif 1, Route110_EventScript_14FDA7 + call_if 1, Route110_EventScript_14FDA7 compare RESULT, 1 - callif 1, Route110_EventScript_14FDAC - move 28, Route110_Movement_1A0845 - waitmove 0 - move 28, Route110_Movement_1A0833 - waitmove 0 - move 28, Route110_Movement_1A0835 - waitmove 0 - pause 30 + call_if 1, Route110_EventScript_14FDAC + applymovement 28, Route110_Movement_1A0845 + waitmovement 0 + applymovement 28, Route110_Movement_1A0833 + waitmovement 0 + applymovement 28, Route110_Movement_1A0835 + waitmovement 0 + delay 30 compare 0x8008, 1 - callif 1, Route110_EventScript_14FF14 + call_if 1, Route110_EventScript_14FF14 compare 0x8008, 2 - callif 1, Route110_EventScript_14FF1F + call_if 1, Route110_EventScript_14FF1F compare 0x8008, 3 - callif 1, Route110_EventScript_14FF2A - checkgender + call_if 1, Route110_EventScript_14FF2A + checkplayergender compare RESULT, 0 - jumpeq Route110_EventScript_14FDB1 + goto_if_eq Route110_EventScript_14FDB1 compare RESULT, 1 - jumpeq Route110_EventScript_14FE2B + goto_if_eq Route110_EventScript_14FE2B releaseall end Route110_EventScript_14FDA7:: @ 814FDA7 - playmusic 415, 1 + playbgm 415, 1 return Route110_EventScript_14FDAC:: @ 814FDAC - playmusic 421, 1 + playbgm 421, 1 return Route110_EventScript_14FDB1:: @ 814FDB1 @@ -369,24 +369,24 @@ Route110_EventScript_14FDB1:: @ 814FDB1 Route110_EventScript_14FDE0:: @ 814FDE0 trainerbattle 3, OPPONENT_MAY_5, 0, Route110_Text_16E826 - jump Route110_EventScript_14FE10 + goto Route110_EventScript_14FE10 end Route110_EventScript_14FDF0:: @ 814FDF0 trainerbattle 3, OPPONENT_MAY_8, 0, Route110_Text_16E826 - jump Route110_EventScript_14FE10 + goto Route110_EventScript_14FE10 end Route110_EventScript_14FE00:: @ 814FE00 trainerbattle 3, OPPONENT_MAY_2, 0, Route110_Text_16E826 - jump Route110_EventScript_14FE10 + goto Route110_EventScript_14FE10 end Route110_EventScript_14FE10:: @ 814FE10 msgbox Route110_Text_16E84C, 4 call Route110_EventScript_14FEA5 msgbox Route110_Text_16E8B3, 4 - jump Route110_EventScript_14FEB2 + goto Route110_EventScript_14FEB2 end Route110_EventScript_14FE2B:: @ 814FE2B @@ -399,24 +399,24 @@ Route110_EventScript_14FE2B:: @ 814FE2B Route110_EventScript_14FE5A:: @ 814FE5A trainerbattle 3, OPPONENT_BRENDAN_5, 0, Route110_Text_16EA0F - jump Route110_EventScript_14FE8A + goto Route110_EventScript_14FE8A end Route110_EventScript_14FE6A:: @ 814FE6A trainerbattle 3, OPPONENT_BRENDAN_8, 0, Route110_Text_16EA0F - jump Route110_EventScript_14FE8A + goto Route110_EventScript_14FE8A end Route110_EventScript_14FE7A:: @ 814FE7A trainerbattle 3, OPPONENT_BRENDAN_2, 0, Route110_Text_16EA0F - jump Route110_EventScript_14FE8A + goto Route110_EventScript_14FE8A end Route110_EventScript_14FE8A:: @ 814FE8A msgbox Route110_Text_16EA2A, 4 call Route110_EventScript_14FEA5 msgbox Route110_Text_16EA7B, 4 - jump Route110_EventScript_14FEB2 + goto Route110_EventScript_14FEB2 end Route110_EventScript_14FEA5:: @ 814FEA5 @@ -424,71 +424,71 @@ Route110_EventScript_14FEA5:: @ 814FEA5 return Route110_EventScript_14FEB2:: @ 814FEB2 - closebutton + closemessage compare 0x8008, 1 - callif 1, Route110_EventScript_14FF56 + call_if 1, Route110_EventScript_14FF56 compare 0x8008, 2 - callif 1, Route110_EventScript_14FF5E + call_if 1, Route110_EventScript_14FF5E compare 0x8008, 3 - callif 1, Route110_EventScript_14FF66 - spritebehave 28, 10 - spritebehave 29, 10 - disappear 28 - reappear 29 - pause 45 + call_if 1, Route110_EventScript_14FF66 + setobjectmovementtype 28, 10 + setobjectmovementtype 29, 10 + removeobject 28 + addobject 29 + delay 45 compare 0x8008, 1 - callif 1, Route110_EventScript_14FF35 + call_if 1, Route110_EventScript_14FF35 compare 0x8008, 2 - callif 1, Route110_EventScript_14FF40 + call_if 1, Route110_EventScript_14FF40 compare 0x8008, 3 - callif 1, Route110_EventScript_14FF4B - disappear 29 + call_if 1, Route110_EventScript_14FF4B + removeobject 29 setvar 0x4069, 1 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm releaseall end Route110_EventScript_14FF14:: @ 814FF14 - move 28, Route110_Movement_14FF6E - waitmove 0 + applymovement 28, Route110_Movement_14FF6E + waitmovement 0 return Route110_EventScript_14FF1F:: @ 814FF1F - move 28, Route110_Movement_14FF72 - waitmove 0 + applymovement 28, Route110_Movement_14FF72 + waitmovement 0 return Route110_EventScript_14FF2A:: @ 814FF2A - move 28, Route110_Movement_14FF74 - waitmove 0 + applymovement 28, Route110_Movement_14FF74 + waitmovement 0 return Route110_EventScript_14FF35:: @ 814FF35 - move 29, Route110_Movement_14FF78 - waitmove 0 + applymovement 29, Route110_Movement_14FF78 + waitmovement 0 return Route110_EventScript_14FF40:: @ 814FF40 - move 29, Route110_Movement_14FF80 - waitmove 0 + applymovement 29, Route110_Movement_14FF80 + waitmovement 0 return Route110_EventScript_14FF4B:: @ 814FF4B - move 29, Route110_Movement_14FF89 - waitmove 0 + applymovement 29, Route110_Movement_14FF89 + waitmovement 0 return Route110_EventScript_14FF56:: @ 814FF56 - movespriteperm 29, 33, 55 + setobjectxyperm 29, 33, 55 return Route110_EventScript_14FF5E:: @ 814FF5E - movespriteperm 29, 34, 55 + setobjectxyperm 29, 34, 55 return Route110_EventScript_14FF66:: @ 814FF66 - movespriteperm 29, 35, 55 + setobjectxyperm 29, 35, 55 return Route110_Movement_14FF6E:: @ 814FF6E diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc index 96e492b39..c60bc366e 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc @@ -4,9 +4,9 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 81634C8 Route110_SeasideCyclingRoadNorthEntrance_MapScript1_1634CE:: @ 81634CE compare 0x40a9, 3 - callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 + call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 compare 0x40a9, 2 - callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 + call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5 end Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634E5:: @ 81634E5 @@ -23,11 +23,11 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634EB:: @ 81634EB Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7:: @ 81634F7 @ Coord event directly in front of the gatesman heading left to right lockall - specialval RESULT, GetPlayerAvatarBike @ player state? + specialvar RESULT, GetPlayerAvatarBike @ player state? compare RESULT, 2 - callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D + call_if 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D compare RESULT, 0 - jumpeq Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523 + goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523 setflag 2091 setvar 0x4001, 1 releaseall @@ -41,9 +41,9 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D:: @ 816351D Route110_SeasideCyclingRoadNorthEntrance_EventScript_163523:: @ 8163523 @ You don't have a bike! msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_19E3AD, 4 - closebutton - move 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_163538 - waitmove 0 + closemessage + applymovement 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_163538 + waitmovement 0 releaseall end diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc index 08d6fb5f1..cf18a8e36 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc @@ -10,9 +10,9 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_16347F:: @ 816347F Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B:: @ 816348B lockall - specialval RESULT, GetPlayerAvatarBike + specialvar RESULT, GetPlayerAvatarBike compare RESULT, 0 - jumpeq Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6 + goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6 setflag 2091 setvar 0x4001, 1 releaseall @@ -20,9 +20,9 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B:: @ 816348B Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6:: @ 81634A6 msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_19E3AD, 4 - closebutton - move 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_1634BB - waitmove 0 + closemessage + applymovement 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_1634BB + waitmovement 0 releaseall end diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc index 10e1a6865..12309207c 100644 --- a/data/scripts/maps/Route110_TrickHouseEnd.inc +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -7,7 +7,7 @@ Route110_TrickHouseEnd_MapScripts:: @ 8161936 Route110_TrickHouseEnd_MapScript1_16194B:: @ 816194B compare 0x4001, 1 - callif 1, Route110_TrickHouseEnd_EventScript_161994 + call_if 1, Route110_TrickHouseEnd_EventScript_161994 end Route110_TrickHouseEnd_MapScript1_161957:: @ 8161957 @@ -21,9 +21,9 @@ Route110_TrickHouseEnd_MapScript2_161965:: @ 8161965 .2byte 0 Route110_TrickHouseEnd_EventScript_16196F:: @ 816196F - reappear 1 - spritevisible 1, 29, 1 - spriteface 1, 4 + addobject 1 + showobject 1, 29, 1 + turnobject 1, 4 end Route110_TrickHouseEnd_MapScript2_16197C:: @ 816197C @@ -62,9 +62,9 @@ Route110_TrickHouseEnd_EventScript_161A0B:: @ 8161A0B setvar 0x40c1, 0 giveitem ITEM_RARE_CANDY compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end @@ -75,9 +75,9 @@ Route110_TrickHouseEnd_EventScript_161A47:: @ 8161A47 setvar 0x40c1, 0 giveitem ITEM_TIMER_BALL compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end @@ -88,9 +88,9 @@ Route110_TrickHouseEnd_EventScript_161A83:: @ 8161A83 setvar 0x40c1, 0 giveitem ITEM_HARD_STONE compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end @@ -101,9 +101,9 @@ Route110_TrickHouseEnd_EventScript_161ABF:: @ 8161ABF setvar 0x40c1, 0 giveitem ITEM_SMOKE_BALL compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end @@ -114,9 +114,9 @@ Route110_TrickHouseEnd_EventScript_161AFB:: @ 8161AFB setvar 0x40c1, 0 giveitem ITEM_TM12 compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end @@ -127,9 +127,9 @@ Route110_TrickHouseEnd_EventScript_161B37:: @ 8161B37 setvar 0x40c1, 0 giveitem ITEM_MAGNET compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end @@ -140,30 +140,30 @@ Route110_TrickHouseEnd_EventScript_161B73:: @ 8161B73 setvar 0x40c1, 0 giveitem ITEM_PP_MAX compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C4E + call_if 1, Route110_TrickHouseEnd_EventScript_161C4E msgbox Route110_TrickHouseEnd_Text_19C9BD, 4 - closebutton + closemessage call Route110_TrickHouseEnd_EventScript_161C2E release end Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF msgbox Route110_TrickHouseEnd_Text_19C5AF, 4 - closebutton + closemessage compare FACING, 1 - callif 1, Route110_TrickHouseEnd_EventScript_161C74 + call_if 1, Route110_TrickHouseEnd_EventScript_161C74 compare FACING, 2 - callif 1, Route110_TrickHouseEnd_EventScript_161C7F + call_if 1, Route110_TrickHouseEnd_EventScript_161C7F compare FACING, 3 - callif 1, Route110_TrickHouseEnd_EventScript_161C8A + call_if 1, Route110_TrickHouseEnd_EventScript_161C8A compare FACING, 4 - callif 1, Route110_TrickHouseEnd_EventScript_161C95 - pause 30 + call_if 1, Route110_TrickHouseEnd_EventScript_161C95 + delay 30 msgbox Route110_TrickHouseEnd_Text_19C602, 4 - closebutton - move 1, Route110_TrickHouseEnd_Movement_1A0839 - waitmove 0 - pause 30 + closemessage + applymovement 1, Route110_TrickHouseEnd_Movement_1A0839 + waitmovement 0 + delay 30 msgbox Route110_TrickHouseEnd_Text_19C691, 4 setvar 0x40c1, 0 .ifdef SAPPHIRE @@ -172,7 +172,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF givedecoration 31 .endc compare RESULT, 0 - callif 1, Route110_TrickHouseEnd_EventScript_161C61 + call_if 1, Route110_TrickHouseEnd_EventScript_161C61 msgbox Route110_TrickHouseEnd_Text_19C85C, 4 call Route110_TrickHouseEnd_EventScript_161C2E special ResetTrickHouseEndRoomFlag @@ -180,12 +180,12 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF end Route110_TrickHouseEnd_EventScript_161C2E:: @ 8161C2E - move 1, Route110_TrickHouseEnd_Movement_161315 - waitmove 0 - playsfx 178 - move 1, Route110_TrickHouseEnd_Movement_16131E - waitmove 0 - disappear 1 + applymovement 1, Route110_TrickHouseEnd_Movement_161315 + waitmovement 0 + playse 178 + applymovement 1, Route110_TrickHouseEnd_Movement_16131E + waitmovement 0 + removeobject 1 addvar 0x4044, 1 return @@ -202,43 +202,43 @@ Route110_TrickHouseEnd_EventScript_161C61:: @ 8161C61 return Route110_TrickHouseEnd_EventScript_161C74:: @ 8161C74 - move 1, Route110_TrickHouseEnd_Movement_1A0845 - waitmove 0 + applymovement 1, Route110_TrickHouseEnd_Movement_1A0845 + waitmovement 0 return Route110_TrickHouseEnd_EventScript_161C7F:: @ 8161C7F - move 1, Route110_TrickHouseEnd_Movement_1A0841 - waitmove 0 + applymovement 1, Route110_TrickHouseEnd_Movement_1A0841 + waitmovement 0 return Route110_TrickHouseEnd_EventScript_161C8A:: @ 8161C8A - move 1, Route110_TrickHouseEnd_Movement_1A083F - waitmove 0 + applymovement 1, Route110_TrickHouseEnd_Movement_1A083F + waitmovement 0 return Route110_TrickHouseEnd_EventScript_161C95:: @ 8161C95 - move 1, Route110_TrickHouseEnd_Movement_1A0843 - waitmove 0 + applymovement 1, Route110_TrickHouseEnd_Movement_1A0843 + waitmovement 0 return Route110_TrickHouseEnd_EventScript_161CA0:: @ 8161CA0 lockall - spriteface 1, 3 - playsfx 21 - move 1, Route110_TrickHouseEnd_Movement_1A0833 - waitmove 0 - pause 20 - move 1, Route110_TrickHouseEnd_Movement_161CEA - waitmove 0 - playsfx 178 - move 255, Route110_TrickHouseEnd_Movement_1A0845 - waitmove 0 + turnobject 1, 3 + playse 21 + applymovement 1, Route110_TrickHouseEnd_Movement_1A0833 + waitmovement 0 + delay 20 + applymovement 1, Route110_TrickHouseEnd_Movement_161CEA + waitmovement 0 + playse 178 + applymovement 255, Route110_TrickHouseEnd_Movement_1A0845 + waitmovement 0 msgbox Route110_TrickHouseEnd_Text_19CA8B, 4 - closebutton - move 255, Route110_TrickHouseEnd_Movement_161CE8 - waitmove 0 - pause 4 - spriteface 1, 4 + closemessage + applymovement 255, Route110_TrickHouseEnd_Movement_161CE8 + waitmovement 0 + delay 4 + turnobject 1, 4 releaseall end diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc index 2601942be..568ba2af6 100644 --- a/data/scripts/maps/Route110_TrickHouseEntrance.inc +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -7,17 +7,17 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8160F2B Route110_TrickHouseEntrance_MapScript1_160F3B:: @ 8160F3B setflag 2114 compare 0x40b5, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_160FCE + goto_if_eq Route110_TrickHouseEntrance_EventScript_160FCE compare 0x40c1, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_160FB2 + goto_if_eq Route110_TrickHouseEntrance_EventScript_160FB2 compare 0x40a6, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_16108E + goto_if_eq Route110_TrickHouseEntrance_EventScript_16108E compare 0x40a7, 5 - callif 1, Route110_TrickHouseEntrance_EventScript_160FDE + call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE compare 0x40a7, 3 - callif 1, Route110_TrickHouseEntrance_EventScript_160FDE + call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE compare 0x40a7, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_160FDE + call_if 1, Route110_TrickHouseEntrance_EventScript_160FDE switch 0x40a7 case 0, Route110_TrickHouseEntrance_EventScript_16109A case 1, Route110_TrickHouseEntrance_EventScript_1610A0 @@ -28,7 +28,7 @@ Route110_TrickHouseEntrance_MapScript1_160F3B:: @ 8160F3B Route110_TrickHouseEntrance_EventScript_160FB2:: @ 8160FB2 setvar 0x40a5, 1 compare 0x4044, 8 - jumpeq Route110_TrickHouseEntrance_EventScript_160FC8 + goto_if_eq Route110_TrickHouseEntrance_EventScript_160FC8 setvar 0x40a7, 2 end @@ -45,56 +45,56 @@ Route110_TrickHouseEntrance_EventScript_160FCE:: @ 8160FCE Route110_TrickHouseEntrance_EventScript_160FDE:: @ 8160FDE setvar 0x40a7, 0 compare 0x4044, 1 - callif 1, Route110_TrickHouseEntrance_EventScript_16103C + call_if 1, Route110_TrickHouseEntrance_EventScript_16103C compare 0x4044, 2 - callif 1, Route110_TrickHouseEntrance_EventScript_161046 + call_if 1, Route110_TrickHouseEntrance_EventScript_161046 compare 0x4044, 3 - callif 1, Route110_TrickHouseEntrance_EventScript_161050 + call_if 1, Route110_TrickHouseEntrance_EventScript_161050 compare 0x4044, 4 - callif 1, Route110_TrickHouseEntrance_EventScript_16105A + call_if 1, Route110_TrickHouseEntrance_EventScript_16105A compare 0x4044, 5 - callif 1, Route110_TrickHouseEntrance_EventScript_161064 + call_if 1, Route110_TrickHouseEntrance_EventScript_161064 compare 0x4044, 6 - callif 1, Route110_TrickHouseEntrance_EventScript_16106E + call_if 1, Route110_TrickHouseEntrance_EventScript_16106E compare 0x4044, 7 - callif 1, Route110_TrickHouseEntrance_EventScript_161078 + call_if 1, Route110_TrickHouseEntrance_EventScript_161078 compare 0x4044, 8 - callif 1, Route110_TrickHouseEntrance_EventScript_161082 + call_if 1, Route110_TrickHouseEntrance_EventScript_161082 return Route110_TrickHouseEntrance_EventScript_16103C:: @ 816103C checkflag 2057 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161046:: @ 8161046 checkflag 2058 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161050:: @ 8161050 checkflag 2059 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_16105A:: @ 816105A checkflag 2060 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161064:: @ 8161064 checkflag 2061 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_16106E:: @ 816106E checkflag 2062 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161078:: @ 8161078 checkflag 2052 - callif 0, Route110_TrickHouseEntrance_EventScript_161088 + call_if 0, Route110_TrickHouseEntrance_EventScript_161088 return Route110_TrickHouseEntrance_EventScript_161082:: @ 8161082 @@ -106,8 +106,8 @@ Route110_TrickHouseEntrance_EventScript_161088:: @ 8161088 return Route110_TrickHouseEntrance_EventScript_16108E:: @ 816108E - movespriteperm 1, 5, 2 - spritebehave 1, 4 + setobjectxyperm 1, 5, 2 + setobjectmovementtype 1, 4 end Route110_TrickHouseEntrance_EventScript_16109A:: @ 816109A @@ -138,15 +138,15 @@ Route110_TrickHouseEntrance_MapScript2_1610B2:: @ 81610B2 .2byte 0 Route110_TrickHouseEntrance_EventScript_1610F4:: @ 81610F4 - reappear 1 - spritevisible 1, 29, 0 - spriteface 1, 4 - spriteface 255, 3 + addobject 1 + showobject 1, 29, 0 + turnobject 1, 4 + turnobject 255, 3 end Route110_TrickHouseEntrance_EventScript_161105:: @ 8161105 - reappear 1 - spriteinvisible 1, 29, 0 + addobject 1 + hideobject 1, 29, 0 switch 0x4044 case 0, Route110_TrickHouseEntrance_EventScript_16116B case 1, Route110_TrickHouseEntrance_EventScript_161173 @@ -159,51 +159,51 @@ Route110_TrickHouseEntrance_EventScript_161105:: @ 8161105 end Route110_TrickHouseEntrance_EventScript_16116B:: @ 816116B - movesprite 1, 6, 3 + setobjectxy 1, 6, 3 end Route110_TrickHouseEntrance_EventScript_161173:: @ 8161173 - movesprite 1, 11, 5 + setobjectxy 1, 11, 5 end Route110_TrickHouseEntrance_EventScript_16117B:: @ 816117B - movesprite 1, 11, 1 + setobjectxy 1, 11, 1 end Route110_TrickHouseEntrance_EventScript_161183:: @ 8161183 - movesprite 1, 3, 1 + setobjectxy 1, 3, 1 end Route110_TrickHouseEntrance_EventScript_16118B:: @ 816118B - movesprite 1, 0, 5 + setobjectxy 1, 0, 5 end Route110_TrickHouseEntrance_EventScript_161193:: @ 8161193 - movesprite 1, 9, 1 + setobjectxy 1, 9, 1 end Route110_TrickHouseEntrance_EventScript_16119B:: @ 816119B - movesprite 1, 8, 1 + setobjectxy 1, 8, 1 end Route110_TrickHouseEntrance_EventScript_1611A3:: @ 81611A3 - movesprite 1, 4, 4 + setobjectxy 1, 4, 4 end Route110_TrickHouseEntrance_EventScript_1611AB:: @ 81611AB - disappear 1 + removeobject 1 end Route110_TrickHouseEntrance_EventScript_1611AF:: @ 81611AF - reappear 1 - movesprite 1, 5, 2 - spriteface 1, 2 + addobject 1 + setobjectxy 1, 5, 2 + turnobject 1, 2 end Route110_TrickHouseEntrance_EventScript_1611BE:: @ 81611BE - reappear 1 - movesprite 1, 5, 2 - spriteface 1, 1 + addobject 1 + setobjectxy 1, 5, 2 + turnobject 1, 1 end Route110_TrickHouseEntrance_MapScript2_1611CD:: @ 81611CD @@ -212,18 +212,18 @@ Route110_TrickHouseEntrance_MapScript2_1611CD:: @ 81611CD Route110_TrickHouseEntrance_EventScript_1611D7:: @ 81611D7 lockall - pause 20 + delay 20 compare 0x4044, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_161327 + call_if 1, Route110_TrickHouseEntrance_EventScript_161327 msgbox Route110_TrickHouseEntrance_Text_19BD82, 4 - closebutton - pause 20 - move 1, Route110_TrickHouseEntrance_Movement_161315 - waitmove 0 - playsfx 178 - move 1, Route110_TrickHouseEntrance_Movement_16131E - waitmove 0 - disappear 1 + closemessage + delay 20 + applymovement 1, Route110_TrickHouseEntrance_Movement_161315 + waitmovement 0 + playse 178 + applymovement 1, Route110_TrickHouseEntrance_Movement_16131E + waitmovement 0 + removeobject 1 setvar 0x40a7, 1 setvar 0x40a6, 0 releaseall @@ -243,28 +243,28 @@ Route110_TrickHouseEntrance_EventScript_16121A:: @ 816121A end Route110_TrickHouseEntrance_EventScript_16124D:: @ 816124D - playsfx 21 - move 255, Route110_TrickHouseEntrance_Movement_1A0833 - waitmove 0 - move 255, Route110_TrickHouseEntrance_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 255, Route110_TrickHouseEntrance_Movement_1A0833 + waitmovement 0 + applymovement 255, Route110_TrickHouseEntrance_Movement_1A0835 + waitmovement 0 compare 0x4044, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1612CD + call_if 1, Route110_TrickHouseEntrance_EventScript_1612CD compare 0x4044, 1 - callif 1, Route110_TrickHouseEntrance_EventScript_1612D6 + call_if 1, Route110_TrickHouseEntrance_EventScript_1612D6 compare 0x4044, 2 - callif 1, Route110_TrickHouseEntrance_EventScript_1612DF + call_if 1, Route110_TrickHouseEntrance_EventScript_1612DF compare 0x4044, 3 - callif 1, Route110_TrickHouseEntrance_EventScript_1612E8 + call_if 1, Route110_TrickHouseEntrance_EventScript_1612E8 compare 0x4044, 4 - callif 1, Route110_TrickHouseEntrance_EventScript_1612F1 + call_if 1, Route110_TrickHouseEntrance_EventScript_1612F1 compare 0x4044, 5 - callif 1, Route110_TrickHouseEntrance_EventScript_1612FA + call_if 1, Route110_TrickHouseEntrance_EventScript_1612FA compare 0x4044, 6 - callif 1, Route110_TrickHouseEntrance_EventScript_161303 + call_if 1, Route110_TrickHouseEntrance_EventScript_161303 compare 0x4044, 7 - callif 1, Route110_TrickHouseEntrance_EventScript_16130C - closebutton + call_if 1, Route110_TrickHouseEntrance_EventScript_16130C + closemessage setvar 0x40a6, 1 warp Route110_TrickHouseEntrance, 255, 6, 2 waitstate @@ -333,46 +333,46 @@ Route110_TrickHouseEntrance_EventScript_161327:: @ 8161327 Route110_TrickHouseEntrance_EventScript_161330:: @ 8161330 msgbox Route110_TrickHouseEntrance_Text_19BF19, 4 - closebutton - move 1, Route110_TrickHouseEntrance_Movement_1A0839 - waitmove 0 - playsfx 21 - move 1, Route110_TrickHouseEntrance_Movement_1A0833 - waitmove 0 - move 1, Route110_TrickHouseEntrance_Movement_1A0835 - waitmove 0 + closemessage + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839 + waitmovement 0 + playse 21 + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0833 + waitmovement 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0835 + waitmovement 0 msgbox Route110_TrickHouseEntrance_Text_19BFAB, 4 - move 1, Route110_TrickHouseEntrance_Movement_1A0841 - waitmove 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0841 + waitmovement 0 releaseall end Route110_TrickHouseEntrance_EventScript_16136E:: @ 816136E - move 1, Route110_TrickHouseEntrance_Movement_1A0839 - waitmove 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839 + waitmovement 0 msgbox Route110_TrickHouseEntrance_Text_19C07E, 4 compare 0x4044, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_1613CE + goto_if_eq Route110_TrickHouseEntrance_EventScript_1613CE compare 0x4044, 2 - jumpeq Route110_TrickHouseEntrance_EventScript_1613FA + goto_if_eq Route110_TrickHouseEntrance_EventScript_1613FA compare 0x4044, 3 - jumpeq Route110_TrickHouseEntrance_EventScript_161426 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161426 compare 0x4044, 4 - jumpeq Route110_TrickHouseEntrance_EventScript_161452 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161452 compare 0x4044, 5 - jumpeq Route110_TrickHouseEntrance_EventScript_16147E + goto_if_eq Route110_TrickHouseEntrance_EventScript_16147E compare 0x4044, 6 - jumpeq Route110_TrickHouseEntrance_EventScript_1614AA + goto_if_eq Route110_TrickHouseEntrance_EventScript_1614AA compare 0x4044, 7 - jumpeq Route110_TrickHouseEntrance_EventScript_1614D6 + goto_if_eq Route110_TrickHouseEntrance_EventScript_1614D6 end Route110_TrickHouseEntrance_EventScript_1613CE:: @ 81613CE giveitem ITEM_RARE_CANDY compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -380,9 +380,9 @@ Route110_TrickHouseEntrance_EventScript_1613CE:: @ 81613CE Route110_TrickHouseEntrance_EventScript_1613FA:: @ 81613FA giveitem ITEM_TIMER_BALL compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -390,9 +390,9 @@ Route110_TrickHouseEntrance_EventScript_1613FA:: @ 81613FA Route110_TrickHouseEntrance_EventScript_161426:: @ 8161426 giveitem ITEM_HARD_STONE compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -400,9 +400,9 @@ Route110_TrickHouseEntrance_EventScript_161426:: @ 8161426 Route110_TrickHouseEntrance_EventScript_161452:: @ 8161452 giveitem ITEM_SMOKE_BALL compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -410,9 +410,9 @@ Route110_TrickHouseEntrance_EventScript_161452:: @ 8161452 Route110_TrickHouseEntrance_EventScript_16147E:: @ 816147E giveitem ITEM_TM12 compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -420,9 +420,9 @@ Route110_TrickHouseEntrance_EventScript_16147E:: @ 816147E Route110_TrickHouseEntrance_EventScript_1614AA:: @ 81614AA giveitem ITEM_MAGNET compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -430,9 +430,9 @@ Route110_TrickHouseEntrance_EventScript_1614AA:: @ 81614AA Route110_TrickHouseEntrance_EventScript_1614D6:: @ 81614D6 giveitem ITEM_PP_MAX compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161502 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161502 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02A5 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02A5 msgbox Route110_TrickHouseEntrance_Text_19C0FC, 4 releaseall end @@ -440,14 +440,14 @@ Route110_TrickHouseEntrance_EventScript_1614D6:: @ 81614D6 Route110_TrickHouseEntrance_EventScript_161502:: @ 8161502 setvar 0x40c1, 0 setvar 0x40a7, 3 - move 1, Route110_TrickHouseEntrance_Movement_1A0841 - waitmove 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0841 + waitmovement 0 releaseall end Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518 - move 1, Route110_TrickHouseEntrance_Movement_1A0839 - waitmove 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_1A0839 + waitmovement 0 msgbox Route110_TrickHouseEntrance_Text_19C128, 4 .ifdef SAPPHIRE givedecoration 32 @@ -455,24 +455,24 @@ Route110_TrickHouseEntrance_EventScript_161518:: @ 8161518 givedecoration 31 .endif compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_161551 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161551 compare RESULT, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1A02B8 + call_if 1, Route110_TrickHouseEntrance_EventScript_1A02B8 msgbox Route110_TrickHouseEntrance_Text_19C18D, 4 releaseall end Route110_TrickHouseEntrance_EventScript_161551:: @ 8161551 msgbox Route110_TrickHouseEntrance_Text_19C17E, 4 - closebutton - move 1, Route110_TrickHouseEntrance_Movement_16309F - waitmove 0 - move 1, Route110_TrickHouseEntrance_Movement_161315 - waitmove 0 - playsfx 178 - move 1, Route110_TrickHouseEntrance_Movement_16131E - waitmove 0 - disappear 1 + closemessage + applymovement 1, Route110_TrickHouseEntrance_Movement_16309F + waitmovement 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_161315 + waitmovement 0 + playse 178 + applymovement 1, Route110_TrickHouseEntrance_Movement_16131E + waitmovement 0 + removeobject 1 setvar 0x40c1, 0 setvar 0x40a7, 5 releaseall @@ -494,20 +494,20 @@ Route110_TrickHouseEntrance_EventScript_1615BD:: @ 81615BD Route110_TrickHouseEntrance_EventScript_1615C7:: @ 81615C7 msgbox Route110_TrickHouseEntrance_Text_19BE7D, 5 - closebutton + closemessage compare RESULT, 1 - jumpeq Route110_TrickHouseEntrance_EventScript_1615DD + goto_if_eq Route110_TrickHouseEntrance_EventScript_1615DD releaseall end Route110_TrickHouseEntrance_EventScript_1615DD:: @ 81615DD setmaptile 5, 1, 537, 0 special DrawWholeMapView - pause 20 - move 255, Route110_TrickHouseEntrance_Movement_1A0856 - waitmove 0 - move 255, Route110_TrickHouseEntrance_Movement_16165E - waitmove 0 + delay 20 + applymovement 255, Route110_TrickHouseEntrance_Movement_1A0856 + waitmovement 0 + applymovement 255, Route110_TrickHouseEntrance_Movement_16165E + waitmovement 0 switch 0x4044 case 0, Route110_TrickHouseEntrance_EventScript_161660 case 1, Route110_TrickHouseEntrance_EventScript_16166B @@ -578,7 +578,7 @@ Route110_TrickHouseEntrance_EventScript_1616B8:: @ 81616B8 Route110_TrickHouseEntrance_EventScript_1616C2:: @ 81616C2 compare 0x4044, 8 - jumpeq Route110_TrickHouseEntrance_EventScript_1616D7 + goto_if_eq Route110_TrickHouseEntrance_EventScript_1616D7 msgbox Route110_TrickHouseEntrance_Text_19BE6E, 4 releaseall end @@ -603,9 +603,9 @@ gUnknown_081616E1:: @ 81616E1 Route110_TrickHouseEntrance_EventScript_161740:: @ 8161740 compare 0x40AB, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819CAD1, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40AB, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -614,9 +614,9 @@ Route110_TrickHouseEntrance_EventScript_161740:: @ 8161740 Route110_TrickHouseEntrance_EventScript_161769:: @ 8161769 compare 0x40AC, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819CCCB, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40AC, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -625,9 +625,9 @@ Route110_TrickHouseEntrance_EventScript_161769:: @ 8161769 Route110_TrickHouseEntrance_EventScript_161792:: @ 8161792 compare 0x40AD, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819CEF9, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40AD, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -636,9 +636,9 @@ Route110_TrickHouseEntrance_EventScript_161792:: @ 8161792 Route110_TrickHouseEntrance_EventScript_1617BB:: @ 81617BB compare 0x40AE, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819D164, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40AE, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -647,9 +647,9 @@ Route110_TrickHouseEntrance_EventScript_1617BB:: @ 81617BB Route110_TrickHouseEntrance_EventScript_1617E4:: @ 81617E4 compare 0x40AF, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819D3A5, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40AF, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -658,9 +658,9 @@ Route110_TrickHouseEntrance_EventScript_1617E4:: @ 81617E4 Route110_TrickHouseEntrance_EventScript_16180D:: @ 816180D compare 0x40B0, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819DC0A, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40B0, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -669,9 +669,9 @@ Route110_TrickHouseEntrance_EventScript_16180D:: @ 816180D Route110_TrickHouseEntrance_EventScript_161836:: @ 8161836 compare 0x40B1, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819DE8D, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40B1, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -680,9 +680,9 @@ Route110_TrickHouseEntrance_EventScript_161836:: @ 8161836 Route110_TrickHouseEntrance_EventScript_16185F:: @ 816185F compare 0x40B2, 0 - jumpeq Route110_TrickHouseEntrance_EventScript_161888 + goto_if_eq Route110_TrickHouseEntrance_EventScript_161888 msgbox UnknownString_819E0FF, 4 - playsfx SE_PIN + playse SE_PIN setvar 0x40B2, 2 setmaptile 13, 1, 523, 0 special DrawWholeMapView @@ -714,10 +714,10 @@ Route110_TrickHousePuzzle5_EventScript_16189C:: @ 816189C Route110_TrickHousePuzzle6_EventScript_16189C:: @ 816189C Route110_TrickHousePuzzle7_EventScript_16189C:: @ 816189C Route110_TrickHousePuzzle8_EventScript_16189C:: @ 816189C - fanfare 370 + playfanfare 370 message Route110_TrickHousePuzzle1_Text_19C1B8 waitfanfare - waittext + waitmessage msgbox Route110_TrickHousePuzzle1_Text_19C1CB, 4 releaseall end @@ -727,11 +727,11 @@ Route110_TrickHouseEntrance_EventScript_1618B0:: @ 81618B0 msgbox Route110_TrickHouseEntrance_Text_19BA56, 4 releaseall compare 0x4044, 0 - callif 1, Route110_TrickHouseEntrance_EventScript_1618E1 + call_if 1, Route110_TrickHouseEntrance_EventScript_1618E1 compare 0x4044, 1 - callif 1, Route110_TrickHouseEntrance_EventScript_1618F6 + call_if 1, Route110_TrickHouseEntrance_EventScript_1618F6 compare 0x4044, 2 - callif 1, Route110_TrickHouseEntrance_EventScript_16190B + call_if 1, Route110_TrickHouseEntrance_EventScript_16190B setvar 0x40a5, 1 end @@ -757,10 +757,10 @@ Route110_TrickHouseEntrance_EventScript_16190B:: @ 816190B return Route110_TrickHouseEntrance_EventScript_161920:: @ 8161920 - setanimation 0, 32772 - setanimation 1, 32773 - setanimation 2, 32774 - doanimation 54 - checkanimation 54 - pause 10 + setfieldeffect 0, 32772 + setfieldeffect 1, 32773 + setfieldeffect 2, 32774 + dofieldeffect 54 + waitfieldeffect 54 + delay 10 return diff --git a/data/scripts/maps/Route110_TrickHousePuzzle1.inc b/data/scripts/maps/Route110_TrickHousePuzzle1.inc index 6b6d45af2..3a89c2db1 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle1.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle1.inc @@ -4,7 +4,7 @@ Route110_TrickHousePuzzle1_MapScripts:: @ 8161CF8 Route110_TrickHousePuzzle1_MapScript1_161CFE:: @ 8161CFE compare 0x40ab, 2 - jumpeq Route110_TrickHousePuzzle1_EventScript_161D0A + goto_if_eq Route110_TrickHousePuzzle1_EventScript_161D0A end Route110_TrickHousePuzzle1_EventScript_161D0A:: @ 8161D0A @@ -14,13 +14,13 @@ Route110_TrickHousePuzzle1_EventScript_161D0A:: @ 8161D0A Route110_TrickHousePuzzle1_EventScript_161D14:: @ 8161D14 lockall compare 0x40ab, 0 - jumpeq Route110_TrickHousePuzzle1_EventScript_161D26 - jump Route110_TrickHousePuzzle1_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle1_EventScript_161D26 + goto Route110_TrickHousePuzzle1_EventScript_161892 end Route110_TrickHousePuzzle1_EventScript_161D26:: @ 8161D26 setvar 0x40ab, 1 - jump Route110_TrickHousePuzzle1_EventScript_16189C + goto Route110_TrickHousePuzzle1_EventScript_16189C end Route110_TrickHousePuzzle1_EventScript_161D31:: @ 8161D31 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc index 27ffad50d..f71a9611a 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc @@ -5,13 +5,13 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 8161D76 Route110_TrickHousePuzzle2_MapScript1_161D81:: @ 8161D81 compare 0x4001, 1 - callif 1, Route110_TrickHousePuzzle2_EventScript_161E2C + call_if 1, Route110_TrickHousePuzzle2_EventScript_161E2C compare 0x4002, 1 - callif 1, Route110_TrickHousePuzzle2_EventScript_161E3F + call_if 1, Route110_TrickHousePuzzle2_EventScript_161E3F compare 0x4003, 1 - callif 1, Route110_TrickHousePuzzle2_EventScript_161E52 + call_if 1, Route110_TrickHousePuzzle2_EventScript_161E52 compare 0x4004, 1 - callif 1, Route110_TrickHousePuzzle2_EventScript_161E65 + call_if 1, Route110_TrickHousePuzzle2_EventScript_161E65 end Route110_TrickHousePuzzle2_MapScript1_161DAE:: @ 8161DAE @@ -24,19 +24,19 @@ Route110_TrickHousePuzzle2_MapScript1_161DAE:: @ 8161DAE Route110_TrickHousePuzzle2_EventScript_161DC3:: @ 8161DC3 lockall compare 0x40ac, 0 - jumpeq Route110_TrickHousePuzzle2_EventScript_161DD5 - jump Route110_TrickHousePuzzle2_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle2_EventScript_161DD5 + goto Route110_TrickHousePuzzle2_EventScript_161892 end Route110_TrickHousePuzzle2_EventScript_161DD5:: @ 8161DD5 setvar 0x40ac, 1 - jump Route110_TrickHousePuzzle2_EventScript_16189C + goto Route110_TrickHousePuzzle2_EventScript_16189C end Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0 lockall setvar 0x4001, 1 - playsfx 21 + playse 21 call Route110_TrickHousePuzzle2_EventScript_161E2C special DrawWholeMapView releaseall @@ -45,7 +45,7 @@ Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0 Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3 lockall setvar 0x4002, 1 - playsfx 21 + playse 21 call Route110_TrickHousePuzzle2_EventScript_161E3F special DrawWholeMapView releaseall @@ -54,7 +54,7 @@ Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3 Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06 lockall setvar 0x4003, 1 - playsfx 21 + playse 21 call Route110_TrickHousePuzzle2_EventScript_161E52 special DrawWholeMapView releaseall @@ -63,7 +63,7 @@ Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06 Route110_TrickHousePuzzle2_EventScript_161E19:: @ 8161E19 lockall setvar 0x4004, 1 - playsfx 21 + playse 21 call Route110_TrickHousePuzzle2_EventScript_161E65 special DrawWholeMapView releaseall diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc index efd96ec44..a50ecd3ce 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc @@ -6,9 +6,9 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 8161EBD Route110_TrickHousePuzzle3_MapScript1_161EC8:: @ 8161EC8 call Route110_TrickHousePuzzle3_EventScript_161F12 compare 0x4009, 0 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FE5 + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5 compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle3_EventScript_1622C8 + call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8 end Route110_TrickHousePuzzle3_MapScript1_161EE4:: @ 8161EE4 @@ -32,19 +32,19 @@ Route110_TrickHousePuzzle3_EventScript_161F12:: @ 8161F12 setmaptile 1, 3, 600, 0 setmaptile 10, 2, 600, 0 compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle3_EventScript_161F9F + call_if 1, Route110_TrickHousePuzzle3_EventScript_161F9F compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FA9 + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FA9 compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FB3 + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FB3 compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FBD + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FBD compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FC7 + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FC7 compare 0x4008, 6 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FD1 + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FD1 compare 0x4008, 7 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FDB + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FDB return Route110_TrickHousePuzzle3_EventScript_161F9F:: @ 8161F9F @@ -248,50 +248,50 @@ Route110_TrickHousePuzzle3_EventScript_1622C8:: @ 81622C8 Route110_TrickHousePuzzle3_EventScript_1625AB:: @ 81625AB lockall setvar 0x4008, 1 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625B7:: @ 81625B7 lockall setvar 0x4008, 2 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625C3:: @ 81625C3 lockall setvar 0x4008, 3 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625CF:: @ 81625CF lockall setvar 0x4008, 4 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625DB:: @ 81625DB lockall setvar 0x4008, 5 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625E7:: @ 81625E7 lockall setvar 0x4008, 6 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625F3:: @ 81625F3 lockall setvar 0x4008, 7 - jump Route110_TrickHousePuzzle3_EventScript_1625FF + goto Route110_TrickHousePuzzle3_EventScript_1625FF end Route110_TrickHousePuzzle3_EventScript_1625FF:: @ 81625FF call Route110_TrickHousePuzzle3_EventScript_162612 - playsfx 21 + playse 21 call Route110_TrickHousePuzzle3_EventScript_161F12 - jump Route110_TrickHousePuzzle3_EventScript_1626AD + goto Route110_TrickHousePuzzle3_EventScript_1626AD end Route110_TrickHousePuzzle3_EventScript_162612:: @ 8162612 @@ -303,19 +303,19 @@ Route110_TrickHousePuzzle3_EventScript_162612:: @ 8162612 setvar 0x4006, 0 setvar 0x4007, 0 compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle3_EventScript_162683 + call_if 1, Route110_TrickHousePuzzle3_EventScript_162683 compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle3_EventScript_162689 + call_if 1, Route110_TrickHousePuzzle3_EventScript_162689 compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle3_EventScript_16268F + call_if 1, Route110_TrickHousePuzzle3_EventScript_16268F compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle3_EventScript_162695 + call_if 1, Route110_TrickHousePuzzle3_EventScript_162695 compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle3_EventScript_16269B + call_if 1, Route110_TrickHousePuzzle3_EventScript_16269B compare 0x4008, 6 - callif 1, Route110_TrickHousePuzzle3_EventScript_1626A1 + call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A1 compare 0x4008, 7 - callif 1, Route110_TrickHousePuzzle3_EventScript_1626A7 + call_if 1, Route110_TrickHousePuzzle3_EventScript_1626A7 return Route110_TrickHousePuzzle3_EventScript_162683:: @ 8162683 @@ -348,14 +348,14 @@ Route110_TrickHousePuzzle3_EventScript_1626A7:: @ 81626A7 Route110_TrickHousePuzzle3_EventScript_1626AD:: @ 81626AD compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle3_EventScript_161FE5 + call_if 1, Route110_TrickHousePuzzle3_EventScript_161FE5 compare 0x4009, 0 - callif 1, Route110_TrickHousePuzzle3_EventScript_1622C8 + call_if 1, Route110_TrickHousePuzzle3_EventScript_1622C8 special DrawWholeMapView compare 0x4009, 1 - jumpeq Route110_TrickHousePuzzle3_EventScript_1626DD + goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626DD compare 0x4009, 0 - jumpeq Route110_TrickHousePuzzle3_EventScript_1626E4 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626E4 end Route110_TrickHousePuzzle3_EventScript_1626DD:: @ 81626DD @@ -371,13 +371,13 @@ Route110_TrickHousePuzzle3_EventScript_1626E4:: @ 81626E4 Route110_TrickHousePuzzle3_EventScript_1626EB:: @ 81626EB lockall compare 0x40ad, 0 - jumpeq Route110_TrickHousePuzzle3_EventScript_1626FD - jump Route110_TrickHousePuzzle3_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle3_EventScript_1626FD + goto Route110_TrickHousePuzzle3_EventScript_161892 end Route110_TrickHousePuzzle3_EventScript_1626FD:: @ 81626FD setvar 0x40ad, 1 - jump Route110_TrickHousePuzzle3_EventScript_16189C + goto Route110_TrickHousePuzzle3_EventScript_16189C end Route110_TrickHousePuzzle3_EventScript_162708:: @ 8162708 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle4.inc b/data/scripts/maps/Route110_TrickHousePuzzle4.inc index 89d5e45c3..0c9fc426f 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle4.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle4.inc @@ -4,13 +4,13 @@ Route110_TrickHousePuzzle4_MapScripts:: @ 816274D Route110_TrickHousePuzzle4_EventScript_16274E:: @ 816274E lockall compare 0x40ae, 0 - jumpeq Route110_TrickHousePuzzle4_EventScript_162760 - jump Route110_TrickHousePuzzle4_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle4_EventScript_162760 + goto Route110_TrickHousePuzzle4_EventScript_161892 end Route110_TrickHousePuzzle4_EventScript_162760:: @ 8162760 setvar 0x40ae, 1 - jump Route110_TrickHousePuzzle4_EventScript_16189C + goto Route110_TrickHousePuzzle4_EventScript_16189C end Route110_TrickHousePuzzle4_EventScript_16276B:: @ 816276B diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc index cd5d2fbb9..222a71138 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle5.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc @@ -14,163 +14,163 @@ Route110_TrickHousePuzzle5_MapScript1_1627B6:: @ 81627B6 Route110_TrickHousePuzzle5_EventScript_1627D5:: @ 81627D5 lockall compare 0x40af, 0 - jumpeq Route110_TrickHousePuzzle5_EventScript_1627E7 - jump Route110_TrickHousePuzzle5_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_1627E7 + goto Route110_TrickHousePuzzle5_EventScript_161892 end Route110_TrickHousePuzzle5_EventScript_1627E7:: @ 81627E7 setvar 0x40af, 1 - jump Route110_TrickHousePuzzle5_EventScript_16189C + goto Route110_TrickHousePuzzle5_EventScript_16189C end Route110_TrickHousePuzzle5_EventScript_1627F2:: @ 81627F2 lockall - move 1, Route110_TrickHousePuzzle5_Movement_1A0839 - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0839 + waitmovement 0 compare 0x4001, 1 - jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9 setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_16293F + goto Route110_TrickHousePuzzle5_EventScript_16293F end Route110_TrickHousePuzzle5_EventScript_162813:: @ 8162813 lockall - move 2, Route110_TrickHousePuzzle5_Movement_1A0839 - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0839 + waitmovement 0 compare 0x4002, 1 - jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9 setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_1629B3 + goto Route110_TrickHousePuzzle5_EventScript_1629B3 end Route110_TrickHousePuzzle5_EventScript_162834:: @ 8162834 lockall - move 3, Route110_TrickHousePuzzle5_Movement_1A0839 - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0839 + waitmovement 0 compare 0x4003, 1 - jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9 setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_162A27 + goto Route110_TrickHousePuzzle5_EventScript_162A27 end Route110_TrickHousePuzzle5_EventScript_162855:: @ 8162855 lockall - move 4, Route110_TrickHousePuzzle5_Movement_1A0839 - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0839 + waitmovement 0 compare 0x4004, 1 - jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9 setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_162A9B + goto Route110_TrickHousePuzzle5_EventScript_162A9B end Route110_TrickHousePuzzle5_EventScript_162876:: @ 8162876 lockall - move 5, Route110_TrickHousePuzzle5_Movement_1A0839 - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0839 + waitmovement 0 compare 0x4005, 1 - jumpeq Route110_TrickHousePuzzle5_EventScript_162DE9 + goto_if_eq Route110_TrickHousePuzzle5_EventScript_162DE9 setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_162B0F + goto Route110_TrickHousePuzzle5_EventScript_162B0F end Route110_TrickHousePuzzle5_EventScript_162897:: @ 8162897 lockall setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_16293F + goto Route110_TrickHousePuzzle5_EventScript_16293F end Route110_TrickHousePuzzle5_EventScript_1628A3:: @ 81628A3 lockall setvar 0x4009, 1 - jump Route110_TrickHousePuzzle5_EventScript_16293F + goto Route110_TrickHousePuzzle5_EventScript_16293F end Route110_TrickHousePuzzle5_EventScript_1628AF:: @ 81628AF lockall setvar 0x4009, 2 - jump Route110_TrickHousePuzzle5_EventScript_16293F + goto Route110_TrickHousePuzzle5_EventScript_16293F end Route110_TrickHousePuzzle5_EventScript_1628BB:: @ 81628BB lockall setvar 0x4009, 3 - jump Route110_TrickHousePuzzle5_EventScript_16293F + goto Route110_TrickHousePuzzle5_EventScript_16293F end Route110_TrickHousePuzzle5_EventScript_1628C7:: @ 81628C7 lockall setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_1629B3 + goto Route110_TrickHousePuzzle5_EventScript_1629B3 end Route110_TrickHousePuzzle5_EventScript_1628D3:: @ 81628D3 lockall setvar 0x4009, 1 - jump Route110_TrickHousePuzzle5_EventScript_1629B3 + goto Route110_TrickHousePuzzle5_EventScript_1629B3 end Route110_TrickHousePuzzle5_EventScript_1628DF:: @ 81628DF lockall setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_162A27 + goto Route110_TrickHousePuzzle5_EventScript_162A27 end Route110_TrickHousePuzzle5_EventScript_1628EB:: @ 81628EB lockall setvar 0x4009, 1 - jump Route110_TrickHousePuzzle5_EventScript_162A27 + goto Route110_TrickHousePuzzle5_EventScript_162A27 end Route110_TrickHousePuzzle5_EventScript_1628F7:: @ 81628F7 lockall setvar 0x4009, 2 - jump Route110_TrickHousePuzzle5_EventScript_162A27 + goto Route110_TrickHousePuzzle5_EventScript_162A27 end Route110_TrickHousePuzzle5_EventScript_162903:: @ 8162903 lockall setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_162A9B + goto Route110_TrickHousePuzzle5_EventScript_162A9B end Route110_TrickHousePuzzle5_EventScript_16290F:: @ 816290F lockall setvar 0x4009, 1 - jump Route110_TrickHousePuzzle5_EventScript_162A9B + goto Route110_TrickHousePuzzle5_EventScript_162A9B end Route110_TrickHousePuzzle5_EventScript_16291B:: @ 816291B lockall setvar 0x4009, 0 - jump Route110_TrickHousePuzzle5_EventScript_162B0F + goto Route110_TrickHousePuzzle5_EventScript_162B0F end Route110_TrickHousePuzzle5_EventScript_162927:: @ 8162927 lockall setvar 0x4009, 1 - jump Route110_TrickHousePuzzle5_EventScript_162B0F + goto Route110_TrickHousePuzzle5_EventScript_162B0F end Route110_TrickHousePuzzle5_EventScript_162933:: @ 8162933 lockall setvar 0x4009, 2 - jump Route110_TrickHousePuzzle5_EventScript_162B0F + goto Route110_TrickHousePuzzle5_EventScript_162B0F end Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F setvar 0x4001, 1 setvar 0x4008, 1 - playsfx 21 - move 1, Route110_TrickHousePuzzle5_Movement_1A0833 - waitmove 0 - move 1, Route110_TrickHousePuzzle5_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0833 + waitmovement 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_1A0835 + waitmovement 0 compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162DF3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3 compare 0x4009, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E2B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B compare 0x4009, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E63 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63 msgbox Route110_TrickHousePuzzle5_Text_19D423, 4 random 3 switch RESULT @@ -182,17 +182,17 @@ Route110_TrickHousePuzzle5_EventScript_16293F:: @ 816293F Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3 setvar 0x4002, 1 setvar 0x4008, 2 - playsfx 21 - move 2, Route110_TrickHousePuzzle5_Movement_1A0833 - waitmove 0 - move 2, Route110_TrickHousePuzzle5_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0833 + waitmovement 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_1A0835 + waitmovement 0 compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E9B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B compare 0x4009, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162ED3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3 compare 0x4009, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F0B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B msgbox Route110_TrickHousePuzzle5_Text_19D636, 4 random 3 switch RESULT @@ -204,17 +204,17 @@ Route110_TrickHousePuzzle5_EventScript_1629B3:: @ 81629B3 Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27 setvar 0x4003, 1 setvar 0x4008, 3 - playsfx 21 - move 3, Route110_TrickHousePuzzle5_Movement_1A0833 - waitmove 0 - move 3, Route110_TrickHousePuzzle5_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0833 + waitmovement 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_1A0835 + waitmovement 0 compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162DF3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3 compare 0x4009, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E2B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B compare 0x4009, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E63 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63 msgbox Route110_TrickHousePuzzle5_Text_19D7D3, 4 random 3 switch RESULT @@ -226,17 +226,17 @@ Route110_TrickHousePuzzle5_EventScript_162A27:: @ 8162A27 Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B setvar 0x4004, 1 setvar 0x4008, 4 - playsfx 21 - move 4, Route110_TrickHousePuzzle5_Movement_1A0833 - waitmove 0 - move 4, Route110_TrickHousePuzzle5_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0833 + waitmovement 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_1A0835 + waitmovement 0 compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162DF3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162DF3 compare 0x4009, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E2B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E2B compare 0x4009, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E63 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E63 msgbox Route110_TrickHousePuzzle5_Text_19D93D, 4 random 3 switch RESULT @@ -248,17 +248,17 @@ Route110_TrickHousePuzzle5_EventScript_162A9B:: @ 8162A9B Route110_TrickHousePuzzle5_EventScript_162B0F:: @ 8162B0F setvar 0x4005, 1 setvar 0x4008, 5 - playsfx 21 - move 5, Route110_TrickHousePuzzle5_Movement_1A0833 - waitmove 0 - move 5, Route110_TrickHousePuzzle5_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0833 + waitmovement 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_1A0835 + waitmovement 0 compare 0x4009, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162E9B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162E9B compare 0x4009, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162ED3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162ED3 compare 0x4009, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F0B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F0B msgbox Route110_TrickHousePuzzle5_Text_19DA9A, 4 random 3 switch RESULT @@ -272,7 +272,7 @@ Route110_TrickHousePuzzle5_EventScript_162B83:: @ 8162B83 multichoice 0, 0, 25, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162BA6:: @ 8162BA6 @@ -280,7 +280,7 @@ Route110_TrickHousePuzzle5_EventScript_162BA6:: @ 8162BA6 multichoice 0, 0, 26, 1 switch RESULT case 0, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162BC9:: @ 8162BC9 @@ -288,7 +288,7 @@ Route110_TrickHousePuzzle5_EventScript_162BC9:: @ 8162BC9 multichoice 0, 0, 27, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162BEC:: @ 8162BEC @@ -296,7 +296,7 @@ Route110_TrickHousePuzzle5_EventScript_162BEC:: @ 8162BEC multichoice 0, 0, 28, 1 switch RESULT case 2, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162C0F:: @ 8162C0F @@ -304,7 +304,7 @@ Route110_TrickHousePuzzle5_EventScript_162C0F:: @ 8162C0F multichoice 0, 0, 29, 1 switch RESULT case 0, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162C32:: @ 8162C32 @@ -312,7 +312,7 @@ Route110_TrickHousePuzzle5_EventScript_162C32:: @ 8162C32 multichoice 0, 0, 30, 1 switch RESULT case 0, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162C55:: @ 8162C55 @@ -320,7 +320,7 @@ Route110_TrickHousePuzzle5_EventScript_162C55:: @ 8162C55 multichoice 0, 0, 31, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162C78:: @ 8162C78 @@ -328,7 +328,7 @@ Route110_TrickHousePuzzle5_EventScript_162C78:: @ 8162C78 multichoice 0, 0, 32, 1 switch RESULT case 2, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162C9B:: @ 8162C9B @@ -336,7 +336,7 @@ Route110_TrickHousePuzzle5_EventScript_162C9B:: @ 8162C9B multichoice 0, 0, 33, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162CBE:: @ 8162CBE @@ -344,7 +344,7 @@ Route110_TrickHousePuzzle5_EventScript_162CBE:: @ 8162CBE multichoice 0, 0, 34, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162CE1:: @ 8162CE1 @@ -352,7 +352,7 @@ Route110_TrickHousePuzzle5_EventScript_162CE1:: @ 8162CE1 multichoice 0, 0, 35, 1 switch RESULT case 0, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162D04:: @ 8162D04 @@ -360,7 +360,7 @@ Route110_TrickHousePuzzle5_EventScript_162D04:: @ 8162D04 multichoice 0, 0, 36, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162D27:: @ 8162D27 @@ -368,7 +368,7 @@ Route110_TrickHousePuzzle5_EventScript_162D27:: @ 8162D27 multichoice 0, 0, 37, 1 switch RESULT case 1, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162D4A:: @ 8162D4A @@ -376,7 +376,7 @@ Route110_TrickHousePuzzle5_EventScript_162D4A:: @ 8162D4A multichoice 0, 0, 38, 1 switch RESULT case 0, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162D6D:: @ 8162D6D @@ -384,32 +384,32 @@ Route110_TrickHousePuzzle5_EventScript_162D6D:: @ 8162D6D multichoice 0, 0, 39, 1 switch RESULT case 2, Route110_TrickHousePuzzle5_EventScript_162DDF - jump Route110_TrickHousePuzzle5_EventScript_162D90 + goto Route110_TrickHousePuzzle5_EventScript_162D90 end Route110_TrickHousePuzzle5_EventScript_162D90:: @ 8162D90 - checksound - playsfx 32 + waitse + playse 32 msgbox Route110_TrickHousePuzzle5_Text_19D5CF, 4 - move 1, Route110_TrickHousePuzzle5_Movement_16309F - move 2, Route110_TrickHousePuzzle5_Movement_16309F - move 3, Route110_TrickHousePuzzle5_Movement_16309F - move 4, Route110_TrickHousePuzzle5_Movement_16309F - move 5, Route110_TrickHousePuzzle5_Movement_16309F + applymovement 1, Route110_TrickHousePuzzle5_Movement_16309F + applymovement 2, Route110_TrickHousePuzzle5_Movement_16309F + applymovement 3, Route110_TrickHousePuzzle5_Movement_16309F + applymovement 4, Route110_TrickHousePuzzle5_Movement_16309F + applymovement 5, Route110_TrickHousePuzzle5_Movement_16309F msgbox Route110_TrickHousePuzzle5_Text_19D5ED, 4 - waitmove 0 - closebutton + waitmovement 0 + closemessage msgbox Route110_TrickHousePuzzle5_Text_19D615, 4 - closebutton + closemessage warp Route110_TrickHousePuzzle5, 255, 0, 21 waitstate releaseall end Route110_TrickHousePuzzle5_EventScript_162DDF:: @ 8162DDF - checksound - playsfx 31 - jump Route110_TrickHousePuzzle5_EventScript_162DE9 + waitse + playse 31 + goto Route110_TrickHousePuzzle5_EventScript_162DE9 end Route110_TrickHousePuzzle5_EventScript_162DE9:: @ 8162DE9 @@ -419,230 +419,230 @@ Route110_TrickHousePuzzle5_EventScript_162DE9:: @ 8162DE9 Route110_TrickHousePuzzle5_EventScript_162DF3:: @ 8162DF3 compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F43 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F43 compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F4E + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F4E compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F59 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F59 compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F64 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F64 compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F6F + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F6F return Route110_TrickHousePuzzle5_EventScript_162E2B:: @ 8162E2B compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F7A + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F7A compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F85 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F85 compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F90 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F90 compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle5_EventScript_162F9B + call_if 1, Route110_TrickHousePuzzle5_EventScript_162F9B compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FA6 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FA6 return Route110_TrickHousePuzzle5_EventScript_162E63:: @ 8162E63 compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FB1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FB1 compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FBC + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FBC compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FC7 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FC7 compare 0x4009, 4 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FD2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FD2 compare 0x4009, 5 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FDD + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FDD return Route110_TrickHousePuzzle5_EventScript_162E9B:: @ 8162E9B compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FE8 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FE8 compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FF3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FF3 compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_162FFE + call_if 1, Route110_TrickHousePuzzle5_EventScript_162FFE compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle5_EventScript_163009 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163009 compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle5_EventScript_163014 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163014 return Route110_TrickHousePuzzle5_EventScript_162ED3:: @ 8162ED3 compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_16301F + call_if 1, Route110_TrickHousePuzzle5_EventScript_16301F compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_16302A + call_if 1, Route110_TrickHousePuzzle5_EventScript_16302A compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_163035 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163035 compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle5_EventScript_163040 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163040 compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle5_EventScript_16304B + call_if 1, Route110_TrickHousePuzzle5_EventScript_16304B return Route110_TrickHousePuzzle5_EventScript_162F0B:: @ 8162F0B compare 0x4008, 1 - callif 1, Route110_TrickHousePuzzle5_EventScript_163056 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163056 compare 0x4008, 2 - callif 1, Route110_TrickHousePuzzle5_EventScript_163061 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163061 compare 0x4008, 3 - callif 1, Route110_TrickHousePuzzle5_EventScript_16306C + call_if 1, Route110_TrickHousePuzzle5_EventScript_16306C compare 0x4008, 4 - callif 1, Route110_TrickHousePuzzle5_EventScript_163077 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163077 compare 0x4008, 5 - callif 1, Route110_TrickHousePuzzle5_EventScript_163082 + call_if 1, Route110_TrickHousePuzzle5_EventScript_163082 return Route110_TrickHousePuzzle5_EventScript_162F43:: @ 8162F43 - move 1, Route110_TrickHousePuzzle5_Movement_16308D - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_16308D + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F4E:: @ 8162F4E - move 2, Route110_TrickHousePuzzle5_Movement_16308D - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_16308D + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F59:: @ 8162F59 - move 3, Route110_TrickHousePuzzle5_Movement_16308D - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_16308D + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F64:: @ 8162F64 - move 4, Route110_TrickHousePuzzle5_Movement_16308D - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_16308D + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F6F:: @ 8162F6F - move 5, Route110_TrickHousePuzzle5_Movement_16308D - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_16308D + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F7A:: @ 8162F7A - move 1, Route110_TrickHousePuzzle5_Movement_16308F - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_16308F + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F85:: @ 8162F85 - move 2, Route110_TrickHousePuzzle5_Movement_16308F - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_16308F + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F90:: @ 8162F90 - move 3, Route110_TrickHousePuzzle5_Movement_16308F - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_16308F + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162F9B:: @ 8162F9B - move 4, Route110_TrickHousePuzzle5_Movement_16308F - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_16308F + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FA6:: @ 8162FA6 - move 5, Route110_TrickHousePuzzle5_Movement_16308F - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_16308F + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FB1:: @ 8162FB1 - move 1, Route110_TrickHousePuzzle5_Movement_163092 - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_163092 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FBC:: @ 8162FBC - move 2, Route110_TrickHousePuzzle5_Movement_163092 - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_163092 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FC7:: @ 8162FC7 - move 3, Route110_TrickHousePuzzle5_Movement_163092 - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_163092 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FD2:: @ 8162FD2 - move 4, Route110_TrickHousePuzzle5_Movement_163092 - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_163092 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FDD:: @ 8162FDD - move 5, Route110_TrickHousePuzzle5_Movement_163092 - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_163092 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FE8:: @ 8162FE8 - move 1, Route110_TrickHousePuzzle5_Movement_163096 - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_163096 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FF3:: @ 8162FF3 - move 2, Route110_TrickHousePuzzle5_Movement_163096 - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_163096 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_162FFE:: @ 8162FFE - move 3, Route110_TrickHousePuzzle5_Movement_163096 - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_163096 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163009:: @ 8163009 - move 4, Route110_TrickHousePuzzle5_Movement_163096 - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_163096 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163014:: @ 8163014 - move 5, Route110_TrickHousePuzzle5_Movement_163096 - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_163096 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_16301F:: @ 816301F - move 1, Route110_TrickHousePuzzle5_Movement_163098 - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_163098 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_16302A:: @ 816302A - move 2, Route110_TrickHousePuzzle5_Movement_163098 - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_163098 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163035:: @ 8163035 - move 3, Route110_TrickHousePuzzle5_Movement_163098 - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_163098 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163040:: @ 8163040 - move 4, Route110_TrickHousePuzzle5_Movement_163098 - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_163098 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_16304B:: @ 816304B - move 5, Route110_TrickHousePuzzle5_Movement_163098 - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_163098 + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163056:: @ 8163056 - move 1, Route110_TrickHousePuzzle5_Movement_16309B - waitmove 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_16309B + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163061:: @ 8163061 - move 2, Route110_TrickHousePuzzle5_Movement_16309B - waitmove 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_16309B + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_16306C:: @ 816306C - move 3, Route110_TrickHousePuzzle5_Movement_16309B - waitmove 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_16309B + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163077:: @ 8163077 - move 4, Route110_TrickHousePuzzle5_Movement_16309B - waitmove 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_16309B + waitmovement 0 return Route110_TrickHousePuzzle5_EventScript_163082:: @ 8163082 - move 5, Route110_TrickHousePuzzle5_Movement_16309B - waitmove 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_16309B + waitmovement 0 return Route110_TrickHousePuzzle5_Movement_16308D:: @ 816308D diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc index 1e47bbd83..ddf845142 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle6.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc @@ -18,13 +18,13 @@ Route110_TrickHousePuzzle6_EventScript_1630E6:: @ 81630E6 Route110_TrickHousePuzzle6_EventScript_1630EA:: @ 81630EA lockall compare 0x40b0, 0 - jumpeq Route110_TrickHousePuzzle6_EventScript_1630FC - jump Route110_TrickHousePuzzle6_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle6_EventScript_1630FC + goto Route110_TrickHousePuzzle6_EventScript_161892 end Route110_TrickHousePuzzle6_EventScript_1630FC:: @ 81630FC setvar 0x40b0, 1 - jump Route110_TrickHousePuzzle6_EventScript_16189C + goto Route110_TrickHousePuzzle6_EventScript_16189C end Route110_TrickHousePuzzle6_EventScript_163107:: @ 8163107 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc index 7f965b467..3361e3e9d 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc @@ -11,15 +11,15 @@ Route110_TrickHousePuzzle7_MapScript1_163161:: @ 8163161 Route110_TrickHousePuzzle7_EventScript_163167:: @ 8163167 checkflag 194 - callif 1, Route110_TrickHousePuzzle7_EventScript_163195 + call_if 1, Route110_TrickHousePuzzle7_EventScript_163195 checkflag 195 - callif 1, Route110_TrickHousePuzzle7_EventScript_1631A8 + call_if 1, Route110_TrickHousePuzzle7_EventScript_1631A8 checkflag 196 - callif 1, Route110_TrickHousePuzzle7_EventScript_1631BB + call_if 1, Route110_TrickHousePuzzle7_EventScript_1631BB checkflag 197 - callif 1, Route110_TrickHousePuzzle7_EventScript_1631CE + call_if 1, Route110_TrickHousePuzzle7_EventScript_1631CE checkflag 198 - callif 1, Route110_TrickHousePuzzle7_EventScript_1631E1 + call_if 1, Route110_TrickHousePuzzle7_EventScript_1631E1 return Route110_TrickHousePuzzle7_EventScript_163195:: @ 8163195 @@ -74,7 +74,7 @@ Route110_TrickHousePuzzle7_EventScript_163240:: @ 8163240 Route110_TrickHousePuzzle7_MapScript1_163253:: @ 8163253 compare 0x40b6, 1 - jumpeq Route110_TrickHousePuzzle7_EventScript_16326E + goto_if_eq Route110_TrickHousePuzzle7_EventScript_16326E clearflag 194 clearflag 195 clearflag 196 @@ -87,7 +87,7 @@ Route110_TrickHousePuzzle7_EventScript_16326E:: @ 816326E Route110_TrickHousePuzzle7_MapScript1_16326F:: @ 816326F compare 0x40b6, 1 - callif 1, Route110_TrickHousePuzzle7_EventScript_163167 + call_if 1, Route110_TrickHousePuzzle7_EventScript_163167 end Route110_TrickHousePuzzle7_MapScript2_16327B:: @ 816327B @@ -101,13 +101,13 @@ Route110_TrickHousePuzzle7_EventScript_163285:: @ 8163285 Route110_TrickHousePuzzle7_EventScript_16328B:: @ 816328B lockall compare 0x40b1, 0 - jumpeq Route110_TrickHousePuzzle7_EventScript_16329D - jump Route110_TrickHousePuzzle7_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_16329D + goto Route110_TrickHousePuzzle7_EventScript_161892 end Route110_TrickHousePuzzle7_EventScript_16329D:: @ 816329D setvar 0x40b1, 1 - jump Route110_TrickHousePuzzle7_EventScript_16189C + goto Route110_TrickHousePuzzle7_EventScript_16189C end Route110_TrickHousePuzzle7_EventScript_1632A8:: @ 81632A8 @@ -120,77 +120,77 @@ Route110_TrickHousePuzzle7_EventScript_1632A8:: @ 81632A8 Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9 lockall - pause 32 + delay 32 checkflag 194 - callif 0, Route110_TrickHousePuzzle7_EventScript_163195 + call_if 0, Route110_TrickHousePuzzle7_EventScript_163195 checkflag 194 - callif 1, Route110_TrickHousePuzzle7_EventScript_1631F4 + call_if 1, Route110_TrickHousePuzzle7_EventScript_1631F4 special DrawWholeMapView - playsfx 36 + playse 36 checkflag 194 - jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633A4 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633A4 checkflag 194 - jumpeq Route110_TrickHousePuzzle7_EventScript_1633A9 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633A9 end Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8 lockall - pause 32 + delay 32 checkflag 195 - callif 0, Route110_TrickHousePuzzle7_EventScript_1631A8 + call_if 0, Route110_TrickHousePuzzle7_EventScript_1631A8 checkflag 195 - callif 1, Route110_TrickHousePuzzle7_EventScript_163207 + call_if 1, Route110_TrickHousePuzzle7_EventScript_163207 special DrawWholeMapView - playsfx 36 + playse 36 checkflag 195 - jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633AE + goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633AE checkflag 195 - jumpeq Route110_TrickHousePuzzle7_EventScript_1633B3 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633B3 end Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317 lockall - pause 32 + delay 32 checkflag 196 - callif 0, Route110_TrickHousePuzzle7_EventScript_1631BB + call_if 0, Route110_TrickHousePuzzle7_EventScript_1631BB checkflag 196 - callif 1, Route110_TrickHousePuzzle7_EventScript_16321A + call_if 1, Route110_TrickHousePuzzle7_EventScript_16321A special DrawWholeMapView - playsfx 36 + playse 36 checkflag 196 - jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633B8 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633B8 checkflag 196 - jumpeq Route110_TrickHousePuzzle7_EventScript_1633BD + goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633BD end Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346 lockall - pause 32 + delay 32 checkflag 197 - callif 0, Route110_TrickHousePuzzle7_EventScript_1631CE + call_if 0, Route110_TrickHousePuzzle7_EventScript_1631CE checkflag 197 - callif 1, Route110_TrickHousePuzzle7_EventScript_16322D + call_if 1, Route110_TrickHousePuzzle7_EventScript_16322D special DrawWholeMapView - playsfx 36 + playse 36 checkflag 197 - jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633C2 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633C2 checkflag 197 - jumpeq Route110_TrickHousePuzzle7_EventScript_1633C7 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633C7 end Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375 lockall - pause 32 + delay 32 checkflag 198 - callif 0, Route110_TrickHousePuzzle7_EventScript_1631E1 + call_if 0, Route110_TrickHousePuzzle7_EventScript_1631E1 checkflag 198 - callif 1, Route110_TrickHousePuzzle7_EventScript_163240 + call_if 1, Route110_TrickHousePuzzle7_EventScript_163240 special DrawWholeMapView - playsfx 36 + playse 36 checkflag 198 - jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633CC + goto_if 0, Route110_TrickHousePuzzle7_EventScript_1633CC checkflag 198 - jumpeq Route110_TrickHousePuzzle7_EventScript_1633D1 + goto_if_eq Route110_TrickHousePuzzle7_EventScript_1633D1 end Route110_TrickHousePuzzle7_EventScript_1633A4:: @ 81633A4 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle8.inc b/data/scripts/maps/Route110_TrickHousePuzzle8.inc index a31c868be..5f0b00684 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle8.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle8.inc @@ -4,13 +4,13 @@ Route110_TrickHousePuzzle8_MapScripts:: @ 816341B Route110_TrickHousePuzzle8_EventScript_16341C:: @ 816341C lockall compare 0x40b2, 0 - jumpeq Route110_TrickHousePuzzle8_EventScript_16342E - jump Route110_TrickHousePuzzle8_EventScript_161892 + goto_if_eq Route110_TrickHousePuzzle8_EventScript_16342E + goto Route110_TrickHousePuzzle8_EventScript_161892 end Route110_TrickHousePuzzle8_EventScript_16342E:: @ 816342E setvar 0x40b2, 1 - jump Route110_TrickHousePuzzle8_EventScript_16189C + goto Route110_TrickHousePuzzle8_EventScript_16189C end Route110_TrickHousePuzzle8_EventScript_163439:: @ 8163439 diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index 1358a44be..545e62921 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -5,7 +5,7 @@ Route111_MapScripts:: @ 814FF91 Route111_MapScript1_14FF9C:: @ 814FF9C checkflag 228 - callif 0, Route111_EventScript_14FFA6 + call_if 0, Route111_EventScript_14FFA6 end Route111_EventScript_14FFA6:: @ 814FFA6 @@ -17,21 +17,21 @@ Route111_MapScript1_14FFB9:: @ 814FFB9 call Route111_EventScript_14FFCD call Route111_EventScript_1AE313 checktrainerflag OPPONENT_VICKY - jumpif 0, Route111_EventScript_15000D + goto_if 0, Route111_EventScript_15000D end Route111_EventScript_14FFCD:: @ 814FFCD getplayerxy 0x4000, 0x4001 compare 0x4001, 34 - jumpif 0, Route111_EventScript_15000C + goto_if 0, Route111_EventScript_15000C compare 0x4001, 107 - jumpif 2, Route111_EventScript_15000C + goto_if 2, Route111_EventScript_15000C compare 0x4001, 72 - jumpif 2, Route111_EventScript_150009 + goto_if 2, Route111_EventScript_150009 compare 0x4000, 2000 - jumpif 2, Route111_EventScript_15000C + goto_if 2, Route111_EventScript_15000C compare 0x4000, 8 - jumpif 0, Route111_EventScript_15000C + goto_if 0, Route111_EventScript_15000C Route111_EventScript_150009:: @ 8150009 setweather 8 @@ -44,25 +44,25 @@ Route111_EventScript_15000D:: @ 815000D setflag 769 setflag 770 setflag 771 - settrainerflag OPPONENT_VICTOR - settrainerflag OPPONENT_VICTORIA - settrainerflag OPPONENT_VIVI + cleartrainerflag OPPONENT_VICTOR + cleartrainerflag OPPONENT_VICTORIA + cleartrainerflag OPPONENT_VIVI end Route111_EventScript_150023:: @ 8150023 lockall msgbox Route111_Text_16FA54, 5 compare RESULT, 0 - jumpeq Route111_EventScript_15005F + goto_if_eq Route111_EventScript_15005F giveitem ITEM_ROOT_FOSSIL - closebutton + closemessage setflag 963 setflag 964 - disappear 34 - pause 30 - move 35, Route111_Movement_1500AF - waitmove 0 - disappear 35 + removeobject 34 + delay 30 + applymovement 35, Route111_Movement_1500AF + waitmovement 0 + removeobject 35 releaseall end @@ -75,16 +75,16 @@ Route111_EventScript_150069:: @ 8150069 lockall msgbox Route111_Text_16FAED, 5 compare RESULT, 0 - jumpeq Route111_EventScript_1500A5 + goto_if_eq Route111_EventScript_1500A5 giveitem ITEM_CLAW_FOSSIL - closebutton + closemessage setflag 964 setflag 963 - disappear 35 - pause 30 - move 34, Route111_Movement_1500AF - waitmove 0 - disappear 34 + removeobject 35 + delay 30 + applymovement 34, Route111_Movement_1500AF + waitmovement 0 + removeobject 34 releaseall end @@ -120,13 +120,13 @@ Route111_Movement_1500AF:: @ 81500AF Route111_EventScript_1500C5:: @ 81500C5 lock faceplayer - checkdailyflags + dodailyevents checkflag 2252 - jumpeq Route111_EventScript_150100 + goto_if_eq Route111_EventScript_150100 msgbox Route111_Text_1C56F0, 4 giveitem ITEM_RAZZ_BERRY compare RESULT, 0 - jumpeq Route111_EventScript_1A029B + goto_if_eq Route111_EventScript_1A029B setflag 2252 special GetPlayerBigGuyGirlString msgbox Route111_Text_1C5781, 4 @@ -141,67 +141,67 @@ Route111_EventScript_150100:: @ 8150100 @ 815010A lockall setvar 0x8004, 0 - jump Route111_EventScript_15013A + goto Route111_EventScript_15013A end Route111_EventScript_150116:: @ 8150116 lockall setvar 0x8004, 1 - jump Route111_EventScript_15013A + goto Route111_EventScript_15013A end Route111_EventScript_150122:: @ 8150122 lockall setvar 0x8004, 2 - jump Route111_EventScript_15013A + goto Route111_EventScript_15013A end @ 815012E lockall setvar 0x8004, 3 - jump Route111_EventScript_15013A + goto Route111_EventScript_15013A end Route111_EventScript_15013A:: @ 815013A checkitem ITEM_GO_GOGGLES, 1 compare RESULT, 0 - jumpeq Route111_EventScript_150151 + goto_if_eq Route111_EventScript_150151 setvar 0x4003, 1 releaseall end Route111_EventScript_150151:: @ 8150151 msgbox Route111_Text_1A0F93, 4 - closebutton + closemessage compare 0x8004, 0 - callif 1, Route111_EventScript_150188 + call_if 1, Route111_EventScript_150188 compare 0x8004, 1 - callif 1, Route111_EventScript_150193 + call_if 1, Route111_EventScript_150193 compare 0x8004, 2 - callif 1, Route111_EventScript_15019E + call_if 1, Route111_EventScript_15019E compare 0x8004, 3 - callif 1, Route111_EventScript_1501A9 + call_if 1, Route111_EventScript_1501A9 releaseall end Route111_EventScript_150188:: @ 8150188 - move 255, Route111_Movement_1501B4 - waitmove 0 + applymovement 255, Route111_Movement_1501B4 + waitmovement 0 return Route111_EventScript_150193:: @ 8150193 - move 255, Route111_Movement_1501B6 - waitmove 0 + applymovement 255, Route111_Movement_1501B6 + waitmovement 0 return Route111_EventScript_15019E:: @ 815019E - move 255, Route111_Movement_1501B8 - waitmove 0 + applymovement 255, Route111_Movement_1501B8 + waitmovement 0 return Route111_EventScript_1501A9:: @ 81501A9 - move 255, Route111_Movement_1501BA - waitmove 0 + applymovement 255, Route111_Movement_1501BA + waitmovement 0 return Route111_Movement_1501B4:: @ 81501B4 @@ -222,14 +222,14 @@ Route111_Movement_1501BA:: @ 81501BA Route111_EventScript_1501BC:: @ 81501BC setweather 2 - fademusic 360 + fadenewbgm 360 doweather setvar 0x4003, 0 end Route111_EventScript_1501C9:: @ 81501C9 setweather 8 - fademusic 409 + fadenewbgm 409 doweather end @@ -239,7 +239,7 @@ Route111_EventScript_1501D1:: @ 81501D1 setflag 2115 msgbox Route111_Text_16F705, 5 compare RESULT, 1 - jumpeq Route111_EventScript_1501F3 + goto_if_eq Route111_EventScript_1501F3 msgbox Route111_Text_16F785, 4 release end @@ -247,80 +247,80 @@ Route111_EventScript_1501D1:: @ 81501D1 Route111_EventScript_1501F3:: @ 81501F3 msgbox Route111_Text_16F7B3, 4 trainerbattle 3, OPPONENT_VICTOR, 0, Route111_Text_16F7D2 - move 1, Route111_Movement_1A0841 - waitmove 0 + applymovement 1, Route111_Movement_1A0841 + waitmovement 0 call Route111_EventScript_150348 msgbox Route111_Text_16F7FF, 4 - closebutton - move 1, Route111_Movement_150356 - waitmove 0 - disappear 1 + closemessage + applymovement 1, Route111_Movement_150356 + waitmovement 0 + removeobject 1 call Route111_EventScript_15034F - move 255, Route111_Movement_15035B - waitmove 0 + applymovement 255, Route111_Movement_15035B + waitmovement 0 call Route111_EventScript_150348 - reappear 2 - move 2, Route111_Movement_150359 - waitmove 0 + addobject 2 + applymovement 2, Route111_Movement_150359 + waitmovement 0 call Route111_EventScript_15034F msgbox Route111_Text_16F82D, 4 trainerbattle 3, OPPONENT_VICTORIA, 0, Route111_Text_16F8A6 - move 2, Route111_Movement_1A0841 - waitmove 0 + applymovement 2, Route111_Movement_1A0841 + waitmovement 0 call Route111_EventScript_150348 msgbox Route111_Text_16F8D5, 4 - closebutton - move 2, Route111_Movement_150356 - waitmove 0 - disappear 2 + closemessage + applymovement 2, Route111_Movement_150356 + waitmovement 0 + removeobject 2 call Route111_EventScript_15034F - move 255, Route111_Movement_15035B - waitmove 0 + applymovement 255, Route111_Movement_15035B + waitmovement 0 call Route111_EventScript_150348 - reappear 3 - move 3, Route111_Movement_150359 - waitmove 0 + addobject 3 + applymovement 3, Route111_Movement_150359 + waitmovement 0 call Route111_EventScript_15034F msgbox Route111_Text_16F90E, 4 trainerbattle 3, OPPONENT_VIVI, 0, Route111_Text_16F956 - move 3, Route111_Movement_1A0841 - waitmove 0 + applymovement 3, Route111_Movement_1A0841 + waitmovement 0 call Route111_EventScript_150348 msgbox Route111_Text_16F96C, 4 - closebutton - move 3, Route111_Movement_150356 - waitmove 0 - disappear 3 + closemessage + applymovement 3, Route111_Movement_150356 + waitmovement 0 + removeobject 3 call Route111_EventScript_15034F - move 255, Route111_Movement_15035B - waitmove 0 + applymovement 255, Route111_Movement_15035B + waitmovement 0 call Route111_EventScript_150348 - reappear 4 - move 4, Route111_Movement_150359 - waitmove 0 + addobject 4 + applymovement 4, Route111_Movement_150359 + waitmovement 0 call Route111_EventScript_15034F msgbox Route111_Text_16F991, 4 trainerbattle 3, OPPONENT_VICKY, 0, Route111_Text_16F9EC msgbox Route111_Text_16FA22, 4 - closebutton - move 4, Route111_Movement_1A0841 - waitmove 0 + closemessage + applymovement 4, Route111_Movement_1A0841 + waitmovement 0 call Route111_EventScript_150348 - move 4, Route111_Movement_150356 - waitmove 0 - disappear 4 + applymovement 4, Route111_Movement_150356 + waitmovement 0 + removeobject 4 call Route111_EventScript_15034F release end Route111_EventScript_150348:: @ 8150348 - setdooropened 13, 113 - doorchange + opendoor 13, 113 + waitdooranim return Route111_EventScript_15034F:: @ 815034F - setdoorclosed 13, 113 - doorchange + closedoor 13, 113 + waitdooranim return Route111_Movement_150356:: @ 8150356 @@ -392,9 +392,9 @@ Route111_EventScript_1503EC:: @ 81503EC Route111_EventScript_150403:: @ 8150403 trainerbattle 0, OPPONENT_DUSTY_1, 0, Route111_Text_1BAEC9, Route111_Text_1BAF14 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route111_EventScript_15042A + goto_if_eq Route111_EventScript_15042A msgbox Route111_Text_1BAF5B, 6 end @@ -420,9 +420,9 @@ Route111_EventScript_15046F:: @ 815046F Route111_EventScript_150486:: @ 8150486 trainerbattle 0, OPPONENT_WILTON_1, 0, Route111_Text_1BB2E3, Route111_Text_1BB313 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route111_EventScript_1504AD + goto_if_eq Route111_EventScript_1504AD msgbox Route111_Text_1BB33E, 6 end @@ -433,9 +433,9 @@ Route111_EventScript_1504AD:: @ 81504AD Route111_EventScript_1504C4:: @ 81504C4 trainerbattle 0, OPPONENT_BROOKE_1, 0, Route111_Text_1BB44F, Route111_Text_1BB49F - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route111_EventScript_1504EB + goto_if_eq Route111_EventScript_1504EB msgbox Route111_Text_1BB4CE, 6 end diff --git a/data/scripts/maps/Route111_OldLadysRestStop.inc b/data/scripts/maps/Route111_OldLadysRestStop.inc index 107026a4b..5576a44ff 100644 --- a/data/scripts/maps/Route111_OldLadysRestStop.inc +++ b/data/scripts/maps/Route111_OldLadysRestStop.inc @@ -11,20 +11,20 @@ Route111_OldLadysRestStop_EventScript_15BFDB:: @ 815BFDB faceplayer msgbox Route111_OldLadysRestStop_Text_1923AF, 5 compare RESULT, 1 - jumpeq Route111_OldLadysRestStop_EventScript_15BFFC + goto_if_eq Route111_OldLadysRestStop_EventScript_15BFFC compare RESULT, 0 - jumpeq Route111_OldLadysRestStop_EventScript_15C029 + goto_if_eq Route111_OldLadysRestStop_EventScript_15C029 end Route111_OldLadysRestStop_EventScript_15BFFC:: @ 815BFFC msgbox Route111_OldLadysRestStop_Text_192423, 4 - closebutton + closemessage call Route111_OldLadysRestStop_EventScript_1A02CA msgbox Route111_OldLadysRestStop_Text_19244D, 5 compare RESULT, 1 - jumpeq Route111_OldLadysRestStop_EventScript_15BFFC + goto_if_eq Route111_OldLadysRestStop_EventScript_15BFFC compare RESULT, 0 - jumpeq Route111_OldLadysRestStop_EventScript_15C029 + goto_if_eq Route111_OldLadysRestStop_EventScript_15C029 end Route111_OldLadysRestStop_EventScript_15C029:: @ 815C029 diff --git a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc index 3eb514ad2..d9a94ce75 100644 --- a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc +++ b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc @@ -6,7 +6,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF25:: @ 815BF25 faceplayer setvar 0x8008, 2 msgbox Route111_WinstrateFamilysHouse_Text_191FCE, 4 - jump Route111_WinstrateFamilysHouse_EventScript_15BFC4 + goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 end Route111_WinstrateFamilysHouse_EventScript_15BF3A:: @ 815BF3A @@ -14,18 +14,18 @@ Route111_WinstrateFamilysHouse_EventScript_15BF3A:: @ 815BF3A faceplayer setvar 0x8008, 3 checkflag 277 - jumpeq Route111_WinstrateFamilysHouse_EventScript_15BF72 + goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BF72 msgbox Route111_WinstrateFamilysHouse_Text_19208A, 4 giveitem ITEM_MACHO_BRACE compare RESULT, 0 - jumpeq Route111_WinstrateFamilysHouse_EventScript_1A029B + goto_if_eq Route111_WinstrateFamilysHouse_EventScript_1A029B setflag 277 - jump Route111_WinstrateFamilysHouse_EventScript_15BFC4 + goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 end Route111_WinstrateFamilysHouse_EventScript_15BF72:: @ 815BF72 msgbox Route111_WinstrateFamilysHouse_Text_19214D, 4 - jump Route111_WinstrateFamilysHouse_EventScript_15BFC4 + goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 end Route111_WinstrateFamilysHouse_EventScript_15BF80:: @ 815BF80 @@ -33,7 +33,7 @@ Route111_WinstrateFamilysHouse_EventScript_15BF80:: @ 815BF80 faceplayer setvar 0x8008, 1 msgbox Route111_WinstrateFamilysHouse_Text_192190, 4 - jump Route111_WinstrateFamilysHouse_EventScript_15BFC4 + goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 end Route111_WinstrateFamilysHouse_EventScript_15BF95:: @ 815BF95 @@ -41,20 +41,20 @@ Route111_WinstrateFamilysHouse_EventScript_15BF95:: @ 815BF95 faceplayer setvar 0x8008, 4 checkflag 4 - jumpeq Route111_WinstrateFamilysHouse_EventScript_15BFB6 + goto_if_eq Route111_WinstrateFamilysHouse_EventScript_15BFB6 msgbox Route111_WinstrateFamilysHouse_Text_192219, 4 setflag 4 - jump Route111_WinstrateFamilysHouse_EventScript_15BFC4 + goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 end Route111_WinstrateFamilysHouse_EventScript_15BFB6:: @ 815BFB6 msgbox Route111_WinstrateFamilysHouse_Text_192334, 4 - jump Route111_WinstrateFamilysHouse_EventScript_15BFC4 + goto Route111_WinstrateFamilysHouse_EventScript_15BFC4 end Route111_WinstrateFamilysHouse_EventScript_15BFC4:: @ 815BFC4 - closebutton - move 0x8008, Route111_WinstrateFamilysHouse_Movement_1A083D - waitmove 0 + closemessage + applymovement 0x8008, Route111_WinstrateFamilysHouse_Movement_1A083D + waitmovement 0 release end diff --git a/data/scripts/maps/Route112.inc b/data/scripts/maps/Route112.inc index 1c1e36838..d0d464207 100644 --- a/data/scripts/maps/Route112.inc +++ b/data/scripts/maps/Route112.inc @@ -38,9 +38,9 @@ Route112_EventScript_150549:: @ 8150549 Route112_EventScript_150560:: @ 8150560 trainerbattle 0, OPPONENT_TRENT_1, 0, Route112_Text_1BB6A0, Route112_Text_1BB707 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route112_EventScript_150587 + goto_if_eq Route112_EventScript_150587 msgbox Route112_Text_1BB721, 6 end diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc index 016b868a8..22534aa77 100644 --- a/data/scripts/maps/Route112_CableCarStation.inc +++ b/data/scripts/maps/Route112_CableCarStation.inc @@ -4,14 +4,14 @@ Route112_CableCarStation_MapScripts:: @ 815C033 .byte 0 Route112_CableCarStation_MapScript1_15C03E:: @ 815C03E - warp6 Route112, 255, 28, 28 + setescapewarp Route112, 255, 28, 28 compare 0x40a3, 2 - callif 1, Route112_CableCarStation_EventScript_15C052 + call_if 1, Route112_CableCarStation_EventScript_15C052 end Route112_CableCarStation_EventScript_15C052:: @ 815C052 - movespriteperm 1, 7, 4 - spritebehave 1, 9 + setobjectxyperm 1, 7, 4 + setobjectmovementtype 1, 9 return Route112_CableCarStation_MapScript2_15C05E:: @ 815C05E @@ -20,12 +20,12 @@ Route112_CableCarStation_MapScript2_15C05E:: @ 815C05E Route112_CableCarStation_EventScript_15C068:: @ 815C068 lockall - move 255, Route112_CableCarStation_Movement_15C0F5 - move 1, Route112_CableCarStation_Movement_15C0EB - waitmove 0 + applymovement 255, Route112_CableCarStation_Movement_15C0F5 + applymovement 1, Route112_CableCarStation_Movement_15C0EB + waitmovement 0 setvar 0x40a3, 0 - movespriteperm 1, 6, 7 - spritebehave 1, 8 + setobjectxyperm 1, 6, 7 + setobjectmovementtype 1, 8 releaseall end @@ -34,20 +34,20 @@ Route112_CableCarStation_EventScript_15C08C:: @ 815C08C faceplayer msgbox Route112_CableCarStation_Text_1924F5, 5 compare RESULT, 1 - jumpeq Route112_CableCarStation_EventScript_15C0AD + goto_if_eq Route112_CableCarStation_EventScript_15C0AD compare RESULT, 0 - jumpeq Route112_CableCarStation_EventScript_15C0DC + goto_if_eq Route112_CableCarStation_EventScript_15C0DC end Route112_CableCarStation_EventScript_15C0AD:: @ 815C0AD msgbox Route112_CableCarStation_Text_1925A9, 4 - closebutton - move 1, Route112_CableCarStation_Movement_15C0E6 - move 255, Route112_CableCarStation_Movement_15C0F0 - waitmove 0 + closemessage + applymovement 1, Route112_CableCarStation_Movement_15C0E6 + applymovement 255, Route112_CableCarStation_Movement_15C0F0 + waitmovement 0 setvar 0x8004, 0 setvar 0x40a3, 1 - inccounter GAME_STAT_RODE_CABLE_CAR + incrementgamestat GAME_STAT_RODE_CABLE_CAR special CableCarWarp special sub_8123218 waitstate diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc index 1fc5a9345..2eb34cdf3 100644 --- a/data/scripts/maps/Route113.inc +++ b/data/scripts/maps/Route113.inc @@ -15,9 +15,9 @@ Route113_MapScript1_1505DA:: @ 81505DA Route113_EventScript_1505E5:: @ 81505E5 getplayerxy 0x4000, 0x4001 compare 0x4000, 19 - jumpif 0, Route113_EventScript_150604 + goto_if 0, Route113_EventScript_150604 compare 0x4000, 84 - jumpif 2, Route113_EventScript_150604 + goto_if 2, Route113_EventScript_150604 setweather 7 return @@ -60,9 +60,9 @@ Route113_EventScript_150652:: @ 8150652 Route113_EventScript_150669:: @ 8150669 trainerbattle 0, OPPONENT_MADELINE_1, 0, Route113_Text_1BBB27, Route113_Text_1BBB7A - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route113_EventScript_150690 + goto_if_eq Route113_EventScript_150690 msgbox Route113_Text_1BBB9A, 6 end @@ -73,9 +73,9 @@ Route113_EventScript_150690:: @ 8150690 Route113_EventScript_1506A7:: @ 81506A7 trainerbattle 0, OPPONENT_LAO_1, 0, Route113_Text_1BBC59, Route113_Text_1BBC90 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route113_EventScript_1506CE + goto_if_eq Route113_EventScript_1506CE msgbox Route113_Text_1BBCAB, 6 end diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc index 83983f9bb..d0b608339 100644 --- a/data/scripts/maps/Route113_GlassWorkshop.inc +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -5,7 +5,7 @@ Route113_GlassWorkshop_MapScripts:: @ 816354A Route113_GlassWorkshop_MapScript1_163550:: @ 8163550 setflag 2116 compare 0x40be, 1 - callif 1, Route113_GlassWorkshop_EventScript_16355F + call_if 1, Route113_GlassWorkshop_EventScript_16355F end Route113_GlassWorkshop_EventScript_16355F:: @ 816355F @@ -16,11 +16,11 @@ Route113_GlassWorkshop_EventScript_163565:: @ 8163565 lock faceplayer compare 0x40be, 10 - jumpif 4, Route113_GlassWorkshop_EventScript_1638D2 + goto_if 4, Route113_GlassWorkshop_EventScript_1638D2 compare 0x40be, 2 - jumpeq Route113_GlassWorkshop_EventScript_1635B5 + goto_if_eq Route113_GlassWorkshop_EventScript_1635B5 compare 0x40be, 1 - jumpeq Route113_GlassWorkshop_EventScript_1635AB + goto_if_eq Route113_GlassWorkshop_EventScript_1635AB msgbox Route113_GlassWorkshop_Text_19E4E6, 4 giveitem ITEM_SOOT_SACK setvar 0x40be, 1 @@ -36,13 +36,13 @@ Route113_GlassWorkshop_EventScript_1635AB:: @ 81635AB Route113_GlassWorkshop_EventScript_1635B5:: @ 81635B5 checkitem ITEM_SOOT_SACK, 1 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_1635E4 + goto_if_eq Route113_GlassWorkshop_EventScript_1635E4 msgbox Route113_GlassWorkshop_Text_19E65B, 4 compare 0x4048, 250 - jumpif 0, Route113_GlassWorkshop_EventScript_163818 + goto_if 0, Route113_GlassWorkshop_EventScript_163818 message Route113_GlassWorkshop_Text_19E757 - waittext - jump Route113_GlassWorkshop_EventScript_1635EE + waitmessage + goto Route113_GlassWorkshop_EventScript_1635EE end Route113_GlassWorkshop_EventScript_1635E4:: @ 81635E4 @@ -68,102 +68,102 @@ Route113_GlassWorkshop_EventScript_1635EE:: @ 81635EE Route113_GlassWorkshop_EventScript_163660:: @ 8163660 setvar 0x8008, 39 - bufferitem 0, 0x8008 + getitemname 0, 0x8008 setvar 0x800a, 250 compare 0x4048, 250 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 10 subvar 0x4048, 250 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_16369C:: @ 816369C setvar 0x8008, 40 - bufferitem 0, 0x8008 + getitemname 0, 0x8008 setvar 0x800a, 500 compare 0x4048, 500 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 11 subvar 0x4048, 500 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_1636D8:: @ 81636D8 setvar 0x8008, 41 - bufferitem 0, 0x8008 + getitemname 0, 0x8008 setvar 0x800a, 500 compare 0x4048, 500 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 12 subvar 0x4048, 500 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_163714:: @ 8163714 setvar 0x8008, 43 - bufferitem 0, 0x8008 + getitemname 0, 0x8008 setvar 0x800a, 1000 compare 0x4048, 1000 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 13 subvar 0x4048, 1000 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_163750:: @ 8163750 setvar 0x8008, 42 - bufferitem 0, 0x8008 + getitemname 0, 0x8008 setvar 0x800a, 1000 compare 0x4048, 1000 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 14 subvar 0x4048, 1000 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_16378C:: @ 816378C setvar 0x8009, 1 setvar 0x8008, 13 - bufferdecor 0, 0x8008 + getdecorname 0, 0x8008 setvar 0x800a, 6000 compare 0x4048, 6000 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 15 subvar 0x4048, 6000 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_1637CD:: @ 81637CD setvar 0x8009, 1 setvar 0x8008, 6 - bufferdecor 0, 0x8008 + getdecorname 0, 0x8008 setvar 0x800a, 8000 compare 0x4048, 8000 - jumpif 0, Route113_GlassWorkshop_EventScript_163830 + goto_if 0, Route113_GlassWorkshop_EventScript_163830 msgbox Route113_GlassWorkshop_Text_19E7CD, 5 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_163845 + goto_if_eq Route113_GlassWorkshop_EventScript_163845 setvar 0x40be, 16 subvar 0x4048, 8000 - jump Route113_GlassWorkshop_EventScript_163851 + goto Route113_GlassWorkshop_EventScript_163851 end Route113_GlassWorkshop_EventScript_16380E:: @ 816380E @@ -174,37 +174,37 @@ Route113_GlassWorkshop_EventScript_16380E:: @ 816380E Route113_GlassWorkshop_EventScript_163818:: @ 8163818 setvar 0x800a, 250 subvar 0x800a, 16456 - buffernum 0, 32778 + getnumberstring 0, 32778 msgbox Route113_GlassWorkshop_Text_19E697, 4 release end Route113_GlassWorkshop_EventScript_163830:: @ 8163830 subvar 0x800a, 16456 - buffernum 1, 32778 + getnumberstring 1, 32778 message Route113_GlassWorkshop_Text_19E890 - waittext - jump Route113_GlassWorkshop_EventScript_1635EE + waitmessage + goto Route113_GlassWorkshop_EventScript_1635EE end Route113_GlassWorkshop_EventScript_163845:: @ 8163845 message Route113_GlassWorkshop_Text_19E802 - waittext - jump Route113_GlassWorkshop_EventScript_1635EE + waitmessage + goto Route113_GlassWorkshop_EventScript_1635EE end Route113_GlassWorkshop_EventScript_163851:: @ 8163851 msgbox Route113_GlassWorkshop_Text_19E827, 4 - closebutton + closemessage fadescreen 1 - playsfx 5 - pause 30 + playse 5 + delay 30 fadescreen 0 msgbox Route113_GlassWorkshop_Text_19E9D7, 4 compare 0x8009, 0 - callif 1, Route113_GlassWorkshop_EventScript_163889 + call_if 1, Route113_GlassWorkshop_EventScript_163889 compare 0x8009, 1 - callif 1, Route113_GlassWorkshop_EventScript_1638A1 + call_if 1, Route113_GlassWorkshop_EventScript_1638A1 setvar 0x40be, 2 release end @@ -212,13 +212,13 @@ Route113_GlassWorkshop_EventScript_163851:: @ 8163851 Route113_GlassWorkshop_EventScript_163889:: @ 8163889 giveitem 0x8008 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_1638B4 + goto_if_eq Route113_GlassWorkshop_EventScript_1638B4 return Route113_GlassWorkshop_EventScript_1638A1:: @ 81638A1 givedecoration 0x8008 compare RESULT, 0 - jumpeq Route113_GlassWorkshop_EventScript_1638C3 + goto_if_eq Route113_GlassWorkshop_EventScript_1638C3 return Route113_GlassWorkshop_EventScript_1638B4:: @ 81638B4 @@ -247,58 +247,58 @@ Route113_GlassWorkshop_EventScript_1638D2:: @ 81638D2 Route113_GlassWorkshop_EventScript_163925:: @ 8163925 setvar 0x8009, 0 setvar 0x8008, 39 - bufferitem 0, 0x8008 - jump Route113_GlassWorkshop_EventScript_1639B1 + getitemname 0, 0x8008 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163939:: @ 8163939 setvar 0x8009, 0 setvar 0x8008, 40 - bufferitem 0, 0x8008 - jump Route113_GlassWorkshop_EventScript_1639B1 + getitemname 0, 0x8008 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_16394D:: @ 816394D setvar 0x8009, 0 setvar 0x8008, 41 - bufferitem 0, 0x8008 - jump Route113_GlassWorkshop_EventScript_1639B1 + getitemname 0, 0x8008 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163961:: @ 8163961 setvar 0x8009, 0 setvar 0x8008, 43 - bufferitem 0, 0x8008 - jump Route113_GlassWorkshop_EventScript_1639B1 + getitemname 0, 0x8008 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163975:: @ 8163975 setvar 0x8009, 0 setvar 0x8008, 42 - bufferitem 0, 0x8008 - jump Route113_GlassWorkshop_EventScript_1639B1 + getitemname 0, 0x8008 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_163989:: @ 8163989 setvar 0x8009, 1 setvar 0x8008, 13 - bufferdecor 0, 13 - jump Route113_GlassWorkshop_EventScript_1639B1 + getdecorname 0, 13 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_16399D:: @ 816399D setvar 0x8009, 1 setvar 0x8008, 6 - bufferdecor 0, 6 - jump Route113_GlassWorkshop_EventScript_1639B1 + getdecorname 0, 6 + goto Route113_GlassWorkshop_EventScript_1639B1 end Route113_GlassWorkshop_EventScript_1639B1:: @ 81639B1 msgbox Route113_GlassWorkshop_Text_19E9D7, 4 compare 0x8009, 0 - callif 1, Route113_GlassWorkshop_EventScript_163889 + call_if 1, Route113_GlassWorkshop_EventScript_163889 compare 0x8009, 1 - callif 1, Route113_GlassWorkshop_EventScript_1638A1 + call_if 1, Route113_GlassWorkshop_EventScript_1638A1 setvar 0x40be, 2 release end diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc index cfe1dfe7d..0730db23a 100644 --- a/data/scripts/maps/Route114.inc +++ b/data/scripts/maps/Route114.inc @@ -4,16 +4,16 @@ Route114_MapScripts:: @ 8150732 Route114_EventScript_150733:: @ 8150733 lock faceplayer - checkdailyflags + dodailyevents checkflag 2251 - jumpeq Route114_EventScript_150778 + goto_if_eq Route114_EventScript_150778 msgbox Route114_Text_1C5803, 4 random 5 addvar RESULT, 15 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq Route114_EventScript_1A029B + goto_if_eq Route114_EventScript_1A029B setflag 2251 msgbox Route114_Text_1C5861, 4 release @@ -28,11 +28,11 @@ Route114_EventScript_150782:: @ 8150782 lock faceplayer checkflag 231 - jumpeq Route114_EventScript_1507B9 + goto_if_eq Route114_EventScript_1507B9 msgbox Route114_Text_170154, 4 giveitem ITEM_TM05 compare RESULT, 0 - jumpeq Route114_EventScript_1A029B + goto_if_eq Route114_EventScript_1A029B setflag 231 msgbox Route114_Text_1701C5, 4 release @@ -46,8 +46,8 @@ Route114_EventScript_1507B9:: @ 81507B9 Route114_EventScript_1507C3:: @ 81507C3 lock faceplayer - checksound - pokecry SPECIES_POOCHYENA, 2 + waitse + playpokecry SPECIES_POOCHYENA, 2 msgbox Route114_Text_1701F9, 4 waitpokecry release @@ -87,9 +87,9 @@ Route114_EventScript_150836:: @ 8150836 Route114_EventScript_15084D:: @ 815084D trainerbattle 0, OPPONENT_STEVE_1, 0, Route114_Text_1BC2F5, Route114_Text_1BC327 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route114_EventScript_150874 + goto_if_eq Route114_EventScript_150874 msgbox Route114_Text_1BC337, 6 end @@ -100,9 +100,9 @@ Route114_EventScript_150874:: @ 8150874 Route114_EventScript_15088B:: @ 815088B trainerbattle 0, OPPONENT_BERNIE_1, 0, Route114_Text_1BC45A, Route114_Text_1BC499 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route114_EventScript_1508B2 + goto_if_eq Route114_EventScript_1508B2 msgbox Route114_Text_1BC4B5, 6 end diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc index 50305dc04..b217f24c4 100644 --- a/data/scripts/maps/Route114_FossilManiacsHouse.inc +++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc @@ -10,11 +10,11 @@ Route114_FossilManiacsHouse_EventScript_15C1C3:: @ 815C1C3 lock faceplayer checkflag 261 - jumpeq Route114_FossilManiacsHouse_EventScript_15C1F2 + goto_if_eq Route114_FossilManiacsHouse_EventScript_15C1F2 msgbox Route114_FossilManiacsHouse_Text_1925E1, 4 giveitem ITEM_TM28 compare RESULT, 0 - jumpeq Route114_FossilManiacsHouse_EventScript_1A029B + goto_if_eq Route114_FossilManiacsHouse_EventScript_1A029B setflag 261 release end diff --git a/data/scripts/maps/Route114_FossilManiacsTunnel.inc b/data/scripts/maps/Route114_FossilManiacsTunnel.inc index 7986a0436..13843f758 100644 --- a/data/scripts/maps/Route114_FossilManiacsTunnel.inc +++ b/data/scripts/maps/Route114_FossilManiacsTunnel.inc @@ -5,13 +5,13 @@ Route114_FossilManiacsTunnel_EventScript_15C20F:: @ 815C20F lock faceplayer checkflag 267 - jumpeq Route114_FossilManiacsTunnel_EventScript_15C24E + goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C24E checkitem ITEM_ROOT_FOSSIL, 1 compare RESULT, 1 - jumpeq Route114_FossilManiacsTunnel_EventScript_15C244 + goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C244 checkitem ITEM_CLAW_FOSSIL, 1 compare RESULT, 1 - jumpeq Route114_FossilManiacsTunnel_EventScript_15C244 + goto_if_eq Route114_FossilManiacsTunnel_EventScript_15C244 msgbox Route114_FossilManiacsTunnel_Text_192795, 4 release end diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc index ff8a1c565..e4334647c 100644 --- a/data/scripts/maps/Route114_LanettesHouse.inc +++ b/data/scripts/maps/Route114_LanettesHouse.inc @@ -10,7 +10,7 @@ Route114_LanettesHouse_EventScript_15C262:: @ 815C262 lock faceplayer checkflag 131 - jumpeq Route114_LanettesHouse_EventScript_15C28F + goto_if_eq Route114_LanettesHouse_EventScript_15C28F setflag 2123 msgbox Route114_LanettesHouse_Text_192A0D, 4 .ifdef SAPPHIRE @@ -19,7 +19,7 @@ Route114_LanettesHouse_EventScript_15C262:: @ 815C262 givedecoration 100 .endif compare RESULT, 0 - jumpeq Route114_LanettesHouse_EventScript_1A02AE + goto_if_eq Route114_LanettesHouse_EventScript_1A02AE setflag 131 release end @@ -33,7 +33,7 @@ Route114_LanettesHouse_EventScript_15C299:: @ 815C299 lockall msgbox Route114_LanettesHouse_Text_192B4A, 5 compare RESULT, 1 - jumpeq Route114_LanettesHouse_EventScript_15C2B7 + goto_if_eq Route114_LanettesHouse_EventScript_15C2B7 msgbox Route114_LanettesHouse_Text_192DA9, 4 releaseall end @@ -41,7 +41,7 @@ Route114_LanettesHouse_EventScript_15C299:: @ 815C299 Route114_LanettesHouse_EventScript_15C2B7:: @ 815C2B7 msgbox Route114_LanettesHouse_Text_192C01, 5 compare RESULT, 1 - callif 1, Route114_LanettesHouse_EventScript_15C2CC + call_if 1, Route114_LanettesHouse_EventScript_15C2CC releaseall end diff --git a/data/scripts/maps/Route115.inc b/data/scripts/maps/Route115.inc index 2b0d744ca..8e0eb7855 100644 --- a/data/scripts/maps/Route115.inc +++ b/data/scripts/maps/Route115.inc @@ -15,9 +15,9 @@ Route115_EventScript_150940:: @ 8150940 Route115_EventScript_150949:: @ 8150949 trainerbattle 0, OPPONENT_TIMOTHY_1, 0, Route115_Text_1BC9AC, Route115_Text_1BC9E6 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route115_EventScript_150970 + goto_if_eq Route115_EventScript_150970 msgbox Route115_Text_1BCA0E, 6 end @@ -33,9 +33,9 @@ Route115_EventScript_150987:: @ 8150987 Route115_EventScript_15099E:: @ 815099E trainerbattle 0, OPPONENT_NOB_1, 0, Route115_Text_1BCB8A, Route115_Text_1BCBC1 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route115_EventScript_1509C5 + goto_if_eq Route115_EventScript_1509C5 msgbox Route115_Text_1BCBDE, 6 end @@ -46,9 +46,9 @@ Route115_EventScript_1509C5:: @ 81509C5 Route115_EventScript_1509DC:: @ 81509DC trainerbattle 0, OPPONENT_CYNDY_1, 0, Route115_Text_1BCCF4, Route115_Text_1BCD32 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route115_EventScript_150A03 + goto_if_eq Route115_EventScript_150A03 msgbox Route115_Text_1BCD4C, 6 end diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc index f5ef82f8b..beb01e083 100644 --- a/data/scripts/maps/Route116.inc +++ b/data/scripts/maps/Route116.inc @@ -4,20 +4,20 @@ Route116_MapScripts:: @ 8150A31 Route116_MapScript1_150A37:: @ 8150A37 checkflag 143 - callif 1, Route116_EventScript_150A41 + call_if 1, Route116_EventScript_150A41 end Route116_EventScript_150A41:: @ 8150A41 - movespriteperm 21, 41, 10 + setobjectxyperm 21, 41, 10 return Route116_EventScript_150A49:: @ 8150A49 lock faceplayer checkflag 143 - jumpeq Route116_EventScript_150A67 + goto_if_eq Route116_EventScript_150A67 checkflag 142 - jumpeq Route116_EventScript_150A71 + goto_if_eq Route116_EventScript_150A71 msgbox Route116_Text_1703CF, 4 release end @@ -36,45 +36,45 @@ Route116_EventScript_150A7B:: @ 8150A7B lock faceplayer checkflag 287 - jumpeq Route116_EventScript_150B04 + goto_if_eq Route116_EventScript_150B04 msgbox Route116_Text_1705AE, 4 - jump Route116_EventScript_150A94 + goto Route116_EventScript_150A94 end Route116_EventScript_150A94:: @ 8150A94 setflag 287 giveitem ITEM_REPEAT_BALL compare RESULT, 0 - jumpeq Route116_EventScript_150B12 + goto_if_eq Route116_EventScript_150B12 msgbox Route116_Text_1707B8, 4 - closebutton + closemessage compare FACING, 2 - callif 1, Route116_EventScript_150AEE + call_if 1, Route116_EventScript_150AEE compare FACING, 1 - callif 1, Route116_EventScript_150AEE + call_if 1, Route116_EventScript_150AEE compare FACING, 3 - callif 1, Route116_EventScript_150AEE + call_if 1, Route116_EventScript_150AEE compare FACING, 4 - callif 1, Route116_EventScript_150AF9 - disappear LAST_TALKED + call_if 1, Route116_EventScript_150AF9 + removeobject LAST_TALKED clearflag 949 setflag 256 release end Route116_EventScript_150AEE:: @ 8150AEE - move LAST_TALKED, Route116_Movement_150B1C - waitmove 0 + applymovement LAST_TALKED, Route116_Movement_150B1C + waitmovement 0 return Route116_EventScript_150AF9:: @ 8150AF9 - move LAST_TALKED, Route116_Movement_150B25 - waitmove 0 + applymovement LAST_TALKED, Route116_Movement_150B25 + waitmovement 0 return Route116_EventScript_150B04:: @ 8150B04 msgbox Route116_Text_170865, 4 - jump Route116_EventScript_150A94 + goto Route116_EventScript_150A94 end Route116_EventScript_150B12:: @ 8150B12 @@ -136,9 +136,9 @@ Route116_EventScript_150B5D:: @ 8150B5D Route116_EventScript_150B6E:: @ 8150B6E lockall - move 11, Route116_Movement_1A0843 - move 255, Route116_Movement_1A083F - waitmove 0 + applymovement 11, Route116_Movement_1A0843 + applymovement 255, Route116_Movement_1A083F + waitmovement 0 msgbox Route116_Text_17032A, 4 setvar 0x406f, 2 releaseall @@ -149,58 +149,58 @@ Route116_EventScript_150B8F:: @ 8150B8F faceplayer checkitem ITEM_BLACK_GLASSES, 1 compare RESULT, 1 - jumpeq Route116_EventScript_150BCA - specialval RESULT, sub_810F828 + goto_if_eq Route116_EventScript_150BCA + specialvar RESULT, sub_810F828 compare RESULT, 1 - jumpeq Route116_EventScript_150BBB + goto_if_eq Route116_EventScript_150BBB msgbox Route116_Text_1708EE, 4 release end Route116_EventScript_150BBB:: @ 8150BBB msgbox Route116_Text_1709B7, 4 - closebutton - jump Route116_EventScript_150C03 + closemessage + goto Route116_EventScript_150C03 end Route116_EventScript_150BCA:: @ 8150BCA msgbox Route116_Text_1708EE, 4 msgbox Route116_Text_170921, 4 - specialval RESULT, sub_810F828 + specialvar RESULT, sub_810F828 compare RESULT, 1 - jumpeq Route116_EventScript_150BF4 + goto_if_eq Route116_EventScript_150BF4 msgbox Route116_Text_170A03, 4 release end Route116_EventScript_150BF4:: @ 8150BF4 msgbox Route116_Text_17094D, 4 - closebutton - jump Route116_EventScript_150C03 + closemessage + goto Route116_EventScript_150C03 end Route116_EventScript_150C03:: @ 8150C03 - pause 20 + delay 20 compare FACING, 2 - callif 1, Route116_EventScript_150C37 + call_if 1, Route116_EventScript_150C37 compare FACING, 1 - callif 1, Route116_EventScript_150C37 + call_if 1, Route116_EventScript_150C37 compare FACING, 3 - callif 1, Route116_EventScript_150C37 + call_if 1, Route116_EventScript_150C37 compare FACING, 4 - callif 1, Route116_EventScript_150C42 - disappear LAST_TALKED + call_if 1, Route116_EventScript_150C42 + removeobject LAST_TALKED release end Route116_EventScript_150C37:: @ 8150C37 - move LAST_TALKED, Route116_Movement_150C4D - waitmove 0 + applymovement LAST_TALKED, Route116_Movement_150C4D + waitmovement 0 return Route116_EventScript_150C42:: @ 8150C42 - move LAST_TALKED, Route116_Movement_150C57 - waitmove 0 + applymovement LAST_TALKED, Route116_Movement_150C57 + waitmovement 0 return Route116_Movement_150C4D:: @ 8150C4D @@ -240,9 +240,9 @@ Route116_EventScript_150C79:: @ 8150C79 Route116_EventScript_150C90:: @ 8150C90 trainerbattle 0, OPPONENT_JERRY_1, 0, Route116_Text_1BD1C0, Route116_Text_1BD21A - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route116_EventScript_150CB7 + goto_if_eq Route116_EventScript_150CB7 msgbox Route116_Text_1BD248, 6 end @@ -263,9 +263,9 @@ Route116_EventScript_150CE5:: @ 8150CE5 Route116_EventScript_150CFC:: @ 8150CFC trainerbattle 0, OPPONENT_KAREN_1, 0, Route116_Text_1BD377, Route116_Text_1BD3AC - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route116_EventScript_150D23 + goto_if_eq Route116_EventScript_150D23 msgbox Route116_Text_1BD3C3, 6 end diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc index d141fae37..10991c38c 100644 --- a/data/scripts/maps/Route116_TunnelersRestHouse.inc +++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc @@ -18,7 +18,7 @@ Route116_TunnelersRestHouse_EventScript_15C2FA:: @ 815C2FA lock faceplayer checkflag 199 - jumpeq Route116_TunnelersRestHouse_EventScript_15C30F + goto_if_eq Route116_TunnelersRestHouse_EventScript_15C30F msgbox Route116_TunnelersRestHouse_Text_193135, 4 release end diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc index 61dbf6a30..40affd3fd 100644 --- a/data/scripts/maps/Route117.inc +++ b/data/scripts/maps/Route117.inc @@ -8,8 +8,8 @@ Route117_MapScript1_150D40:: @ 8150D40 Route117_EventScript_150D46:: @ 8150D46 checkflag 134 - jumpif 0, Route117_EventScript_150D56 - movespriteperm 3, 47, 6 + goto_if 0, Route117_EventScript_150D56 + setobjectxyperm 3, 47, 6 Route117_EventScript_150D56:: @ 8150D56 return @@ -40,9 +40,9 @@ Route117_EventScript_150D84:: @ 8150D84 Route117_EventScript_150D8D:: @ 8150D8D trainerbattle 0, OPPONENT_ISAAC_1, 0, Route117_Text_1BD49E, Route117_Text_1BD4D9 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route117_EventScript_150DB4 + goto_if_eq Route117_EventScript_150DB4 msgbox Route117_Text_1BD4F9, 6 end @@ -53,9 +53,9 @@ Route117_EventScript_150DB4:: @ 8150DB4 Route117_EventScript_150DCB:: @ 8150DCB trainerbattle 0, OPPONENT_LYDIA_1, 0, Route117_Text_1BD634, Route117_Text_1BD67B - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route117_EventScript_150DF2 + goto_if_eq Route117_EventScript_150DF2 msgbox Route117_Text_1BD69B, 6 end @@ -66,9 +66,9 @@ Route117_EventScript_150DF2:: @ 8150DF2 Route117_EventScript_150E09:: @ 8150E09 trainerbattle 0, OPPONENT_DYLAN_1, 0, Route117_Text_1BD79A, Route117_Text_1BD7E0 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route117_EventScript_150E30 + goto_if_eq Route117_EventScript_150E30 msgbox Route117_Text_1BD7F5, 6 end @@ -79,9 +79,9 @@ Route117_EventScript_150E30:: @ 8150E30 Route117_EventScript_150E47:: @ 8150E47 trainerbattle 0, OPPONENT_MARIA_1, 0, Route117_Text_1BD914, Route117_Text_1BD965 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route117_EventScript_150E6E + goto_if_eq Route117_EventScript_150E6E msgbox Route117_Text_1BD98F, 6 end @@ -97,9 +97,9 @@ Route117_EventScript_150E85:: @ 8150E85 Route117_EventScript_150E9C:: @ 8150E9C trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDBC3, Route117_Text_1BDC07, Route117_Text_1BDC96 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route117_EventScript_150EC7 + goto_if_eq Route117_EventScript_150EC7 msgbox Route117_Text_1BDC44, 6 end @@ -110,9 +110,9 @@ Route117_EventScript_150EC7:: @ 8150EC7 Route117_EventScript_150EE2:: @ 8150EE2 trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDCD2, Route117_Text_1BDD1E, Route117_Text_1BDD8B - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route117_EventScript_150F0D + goto_if_eq Route117_EventScript_150F0D msgbox Route117_Text_1BDD4E, 6 end diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc index 0b5b4748e..b96346f15 100644 --- a/data/scripts/maps/Route118.inc +++ b/data/scripts/maps/Route118.inc @@ -10,12 +10,12 @@ Route118_EventScript_150F34:: @ 8150F34 lock faceplayer checkflag 227 - jumpeq Route118_EventScript_150F89 + goto_if_eq Route118_EventScript_150F89 msgbox Route118_Text_170F12, 5 compare RESULT, 1 - jumpeq Route118_EventScript_150F5E + goto_if_eq Route118_EventScript_150F5E compare RESULT, 0 - jumpeq Route118_EventScript_150F7F + goto_if_eq Route118_EventScript_150F7F end Route118_EventScript_150F5E:: @ 8150F5E @@ -51,62 +51,62 @@ Route118_EventScript_150FA5:: @ 8150FA5 Route118_EventScript_150FAE:: @ 8150FAE lockall setvar 0x8008, 0 - move 255, Route118_Movement_1A0841 - waitmove 0 - move 19, Route118_Movement_151069 - waitmove 0 - jump Route118_EventScript_151004 + applymovement 255, Route118_Movement_1A0841 + waitmovement 0 + applymovement 19, Route118_Movement_151069 + waitmovement 0 + goto Route118_EventScript_151004 end Route118_EventScript_150FCE:: @ 8150FCE lockall setvar 0x8008, 1 - move 255, Route118_Movement_1A0841 - waitmove 0 - jump Route118_EventScript_151004 + applymovement 255, Route118_Movement_1A0841 + waitmovement 0 + goto Route118_EventScript_151004 end Route118_EventScript_150FE4:: @ 8150FE4 lockall setvar 0x8008, 2 - move 255, Route118_Movement_1A0841 - waitmove 0 - move 19, Route118_Movement_15106B - waitmove 0 - jump Route118_EventScript_151004 + applymovement 255, Route118_Movement_1A0841 + waitmovement 0 + applymovement 19, Route118_Movement_15106B + waitmovement 0 + goto Route118_EventScript_151004 end Route118_EventScript_151004:: @ 8151004 - playsfx 10 - move 19, Route118_Movement_15106D - waitmove 0 - pause 30 + playse 10 + applymovement 19, Route118_Movement_15106D + waitmovement 0 + delay 30 msgbox Route118_Text_170D66, 4 - closebutton + closemessage compare 0x8008, 0 - callif 1, Route118_EventScript_151048 + call_if 1, Route118_EventScript_151048 compare 0x8008, 1 - callif 1, Route118_EventScript_151053 + call_if 1, Route118_EventScript_151053 compare 0x8008, 2 - callif 1, Route118_EventScript_15105E + call_if 1, Route118_EventScript_15105E setvar 0x4071, 1 - disappear 19 + removeobject 19 releaseall end Route118_EventScript_151048:: @ 8151048 - move 19, Route118_Movement_151071 - waitmove 0 + applymovement 19, Route118_Movement_151071 + waitmovement 0 return Route118_EventScript_151053:: @ 8151053 - move 19, Route118_Movement_15107C - waitmove 0 + applymovement 19, Route118_Movement_15107C + waitmovement 0 return Route118_EventScript_15105E:: @ 815105E - move 19, Route118_Movement_151086 - waitmove 0 + applymovement 19, Route118_Movement_151086 + waitmovement 0 return Route118_Movement_151069:: @ 8151069 @@ -161,9 +161,9 @@ Route118_Movement_151086:: @ 8151086 Route118_EventScript_15108F:: @ 815108F trainerbattle 0, OPPONENT_ROSE_1, 0, Route118_Text_1BDFF4, Route118_Text_1BE03C - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route118_EventScript_1510B6 + goto_if_eq Route118_EventScript_1510B6 msgbox Route118_Text_1BE05E, 6 end @@ -184,9 +184,9 @@ Route118_EventScript_1510E4:: @ 81510E4 Route118_EventScript_1510FB:: @ 81510FB trainerbattle 0, OPPONENT_DALTON_1, 0, Route118_Text_1BE3E8, Route118_Text_1BE406 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route118_EventScript_151122 + goto_if_eq Route118_EventScript_151122 msgbox Route118_Text_1BE413, 6 end diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc index 55a3fb1dc..2179a7e18 100644 --- a/data/scripts/maps/Route119.inc +++ b/data/scripts/maps/Route119.inc @@ -5,22 +5,22 @@ Route119_MapScripts:: @ 8151167 Route119_MapScript1_151172:: @ 8151172 checkflag 2145 - callif 1, Route119_EventScript_15117C + call_if 1, Route119_EventScript_15117C end Route119_EventScript_15117C:: @ 815117C compare 0x8004, 6 - callif 1, Route119_EventScript_151193 + call_if 1, Route119_EventScript_151193 compare 0x8004, 7 - callif 1, Route119_EventScript_151197 + call_if 1, Route119_EventScript_151197 return Route119_EventScript_151193:: @ 8151193 - disappear 35 + removeobject 35 return Route119_EventScript_151197:: @ 8151197 - disappear 36 + removeobject 36 return Route119_MapScript1_15119B:: @ 815119B @@ -28,7 +28,7 @@ Route119_MapScript1_15119B:: @ 815119B call Route119_EventScript_1A0172 call Route119_EventScript_1A0196 compare 0x40b3, 1 - callif 1, Route119_EventScript_1511B9 + call_if 1, Route119_EventScript_1511B9 special SetRoute119Weather end @@ -40,51 +40,51 @@ Route119_EventScript_1511B9:: @ 81511B9 Route119_EventScript_1511C5:: @ 81511C5 setvar 0x4001, 1 - jump Route119_EventScript_1511DB + goto Route119_EventScript_1511DB end Route119_EventScript_1511D0:: @ 81511D0 setvar 0x4001, 2 - jump Route119_EventScript_1511DB + goto Route119_EventScript_1511DB end Route119_EventScript_1511DB:: @ 81511DB lockall - reappear 25 - checkgender + addobject 25 + checkplayergender compare RESULT, 0 - callif 1, Route119_EventScript_151254 + call_if 1, Route119_EventScript_151254 compare RESULT, 1 - callif 1, Route119_EventScript_151259 - pause 65 + call_if 1, Route119_EventScript_151259 + delay 65 compare 0x4001, 1 - callif 1, Route119_EventScript_1513A6 + call_if 1, Route119_EventScript_1513A6 compare 0x4001, 2 - callif 1, Route119_EventScript_1513B1 - move 255, Route119_Movement_1A0845 - waitmove 0 - pause 30 + call_if 1, Route119_EventScript_1513B1 + applymovement 255, Route119_Movement_1A0845 + waitmovement 0 + delay 30 compare 0x4001, 1 - callif 1, Route119_EventScript_1513D2 + call_if 1, Route119_EventScript_1513D2 compare 0x4001, 2 - callif 1, Route119_EventScript_1513E1 - disappear 25 - reappear 16 - pause 30 - checkgender + call_if 1, Route119_EventScript_1513E1 + removeobject 25 + addobject 16 + delay 30 + checkplayergender compare RESULT, 0 - jumpeq Route119_EventScript_15125E + goto_if_eq Route119_EventScript_15125E compare RESULT, 1 - jumpeq Route119_EventScript_1512D8 + goto_if_eq Route119_EventScript_1512D8 releaseall end Route119_EventScript_151254:: @ 8151254 - playmusic 415, 1 + playbgm 415, 1 return Route119_EventScript_151259:: @ 8151259 - playmusic 421, 1 + playbgm 421, 1 return Route119_EventScript_15125E:: @ 815125E @@ -97,24 +97,24 @@ Route119_EventScript_15125E:: @ 815125E Route119_EventScript_15128D:: @ 815128D trainerbattle 3, OPPONENT_MAY_6, 0, Route119_Text_171156 - jump Route119_EventScript_1512BD + goto Route119_EventScript_1512BD end Route119_EventScript_15129D:: @ 815129D trainerbattle 3, OPPONENT_MAY_9, 0, Route119_Text_171156 - jump Route119_EventScript_1512BD + goto Route119_EventScript_1512BD end Route119_EventScript_1512AD:: @ 81512AD trainerbattle 3, OPPONENT_MAY_3, 0, Route119_Text_171156 - jump Route119_EventScript_1512BD + goto Route119_EventScript_1512BD end Route119_EventScript_1512BD:: @ 81512BD msgbox Route119_Text_1711B1, 4 call Route119_EventScript_151352 msgbox Route119_Text_171214, 4 - jump Route119_EventScript_151362 + goto Route119_EventScript_151362 end Route119_EventScript_1512D8:: @ 81512D8 @@ -127,24 +127,24 @@ Route119_EventScript_1512D8:: @ 81512D8 Route119_EventScript_151307:: @ 8151307 trainerbattle 3, OPPONENT_BRENDAN_6, 0, Route119_Text_1713E2 - jump Route119_EventScript_151337 + goto Route119_EventScript_151337 end Route119_EventScript_151317:: @ 8151317 trainerbattle 3, OPPONENT_BRENDAN_9, 0, Route119_Text_1713E2 - jump Route119_EventScript_151337 + goto Route119_EventScript_151337 end Route119_EventScript_151327:: @ 8151327 trainerbattle 3, OPPONENT_BRENDAN_3, 0, Route119_Text_1713E2 - jump Route119_EventScript_151337 + goto Route119_EventScript_151337 end Route119_EventScript_151337:: @ 8151337 msgbox Route119_Text_17140B, 4 call Route119_EventScript_151352 msgbox Route119_Text_171475, 4 - jump Route119_EventScript_151362 + goto Route119_EventScript_151362 end Route119_EventScript_151352:: @ 8151352 @@ -153,53 +153,53 @@ Route119_EventScript_151352:: @ 8151352 return Route119_EventScript_151362:: @ 8151362 - closebutton + closemessage compare 0x4001, 1 - callif 1, Route119_EventScript_1513D2 + call_if 1, Route119_EventScript_1513D2 compare 0x4001, 2 - callif 1, Route119_EventScript_1513E1 - disappear 16 - reappear 25 - pause 30 + call_if 1, Route119_EventScript_1513E1 + removeobject 16 + addobject 25 + delay 30 compare 0x4001, 1 - callif 1, Route119_EventScript_1513BC + call_if 1, Route119_EventScript_1513BC compare 0x4001, 2 - callif 1, Route119_EventScript_1513C7 - disappear 25 + call_if 1, Route119_EventScript_1513C7 + removeobject 25 setvar 0x4072, 1 - playmusicbattle 0 - fadedefault + savebgm 0 + fadedefaultbgm releaseall end Route119_EventScript_1513A6:: @ 81513A6 - move 25, Route119_Movement_1513F0 - waitmove 0 + applymovement 25, Route119_Movement_1513F0 + waitmovement 0 return Route119_EventScript_1513B1:: @ 81513B1 - move 25, Route119_Movement_1513FA - waitmove 0 + applymovement 25, Route119_Movement_1513FA + waitmovement 0 return Route119_EventScript_1513BC:: @ 81513BC - move 25, Route119_Movement_151405 - waitmove 0 + applymovement 25, Route119_Movement_151405 + waitmovement 0 return Route119_EventScript_1513C7:: @ 81513C7 - move 25, Route119_Movement_15140F - waitmove 0 + applymovement 25, Route119_Movement_15140F + waitmovement 0 return Route119_EventScript_1513D2:: @ 81513D2 - movespriteperm 16, 25, 32 - movespriteperm 25, 25, 32 + setobjectxyperm 16, 25, 32 + setobjectxyperm 25, 25, 32 return Route119_EventScript_1513E1:: @ 81513E1 - movespriteperm 16, 26, 32 - movespriteperm 25, 26, 32 + setobjectxyperm 16, 26, 32 + setobjectxyperm 25, 26, 32 return Route119_Movement_1513F0:: @ 81513F0 @@ -296,9 +296,9 @@ Route119_EventScript_1514A8:: @ 81514A8 Route119_EventScript_1514BF:: @ 81514BF trainerbattle 0, OPPONENT_JACKSON_1, 0, Route119_Text_1BE8BB, Route119_Text_1BE90E - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route119_EventScript_1514E6 + goto_if_eq Route119_EventScript_1514E6 msgbox Route119_Text_1BE937, 6 end @@ -309,9 +309,9 @@ Route119_EventScript_1514E6:: @ 81514E6 Route119_EventScript_1514FD:: @ 81514FD trainerbattle 0, OPPONENT_CATHERINE_1, 0, Route119_Text_1BEA3A, Route119_Text_1BEA88 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route119_EventScript_151524 + goto_if_eq Route119_EventScript_151524 msgbox Route119_Text_1BEAB3, 6 end @@ -354,9 +354,9 @@ Route119_EventScript_1515C5:: @ 81515C5 lock faceplayer msgbox Route119_Text_171520, 4 - closebutton - move LAST_TALKED, Route119_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, Route119_Movement_1A083D + waitmovement 0 release end @@ -364,9 +364,9 @@ Route119_EventScript_1515DC:: @ 81515DC lock faceplayer msgbox Route119_Text_17157C, 4 - closebutton - move LAST_TALKED, Route119_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, Route119_Movement_1A083D + waitmovement 0 release end diff --git a/data/scripts/maps/Route119_House.inc b/data/scripts/maps/Route119_House.inc index 6395e40eb..42cc89068 100644 --- a/data/scripts/maps/Route119_House.inc +++ b/data/scripts/maps/Route119_House.inc @@ -8,8 +8,8 @@ Route119_House_EventScript_163DDE:: @ 8163DDE Route119_House_EventScript_163DE7:: @ 8163DE7 lock faceplayer - checksound - pokecry SPECIES_WINGULL, 0 + waitse + playpokecry SPECIES_WINGULL, 0 msgbox Route119_House_Text_19F406, 4 waitpokecry release diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc index 95ec39d61..3dc9672e3 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_1F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc @@ -5,12 +5,12 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 8163C2A Route119_WeatherInstitute_1F_MapScript1_163C30:: @ 8163C30 call Route119_WeatherInstitute_1F_EventScript_1A0196 compare 0x40b3, 0 - callif 1, Route119_WeatherInstitute_1F_EventScript_163C41 + call_if 1, Route119_WeatherInstitute_1F_EventScript_163C41 end Route119_WeatherInstitute_1F_EventScript_163C41:: @ 8163C41 - movespriteperm 5, 0, 5 - spritebehave 5, 10 + setobjectxyperm 5, 0, 5 + setobjectmovementtype 5, 10 return Route119_WeatherInstitute_1F_EventScript_163C4D:: @ 8163C4D @@ -18,7 +18,7 @@ Route119_WeatherInstitute_1F_EventScript_163C4D:: @ 8163C4D faceplayer special GetPlayerBigGuyGirlString compare 0x40b3, 0 - jumpeq Route119_WeatherInstitute_1F_EventScript_163C67 + goto_if_eq Route119_WeatherInstitute_1F_EventScript_163C67 msgbox Route119_WeatherInstitute_1F_Text_19ED22, 4 release end @@ -39,7 +39,7 @@ Route119_WeatherInstitute_1F_EventScript_163C7A:: @ 8163C7A Route119_WeatherInstitute_1F_EventScript_163C83:: @ 8163C83 lockall msgbox Route119_WeatherInstitute_1F_Text_19EE8B, 4 - closebutton + closemessage call Route119_WeatherInstitute_1F_EventScript_1A02CA releaseall end diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc index 37f8e9ec6..ac64904a2 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_2F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc @@ -5,19 +5,19 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 8163CC2 Route119_WeatherInstitute_2F_MapScript1_163CC8:: @ 8163CC8 call Route119_WeatherInstitute_2F_EventScript_1A0196 compare 0x40b3, 0 - callif 1, Route119_WeatherInstitute_2F_EventScript_163CE4 + call_if 1, Route119_WeatherInstitute_2F_EventScript_163CE4 compare 0x40b3, 1 - callif 1, Route119_WeatherInstitute_2F_EventScript_163CF0 + call_if 1, Route119_WeatherInstitute_2F_EventScript_163CF0 end Route119_WeatherInstitute_2F_EventScript_163CE4:: @ 8163CE4 - movespriteperm 5, 1, 6 - spritebehave 5, 10 + setobjectxyperm 5, 1, 6 + setobjectmovementtype 5, 10 return Route119_WeatherInstitute_2F_EventScript_163CF0:: @ 8163CF0 - movespriteperm 5, 4, 6 - spritebehave 5, 10 + setobjectxyperm 5, 4, 6 + setobjectmovementtype 5, 10 return Route119_WeatherInstitute_2F_EventScript_163CFC:: @ 8163CFC @@ -37,32 +37,32 @@ Route119_WeatherInstitute_2F_EventScript_163D2A:: @ 8163D2A Route119_WeatherInstitute_2F_EventScript_163D45:: @ 8163D45 msgbox Route119_WeatherInstitute_2F_Text_19F11B, 4 - closebutton + closemessage setvar 0x40b3, 1 clearflag 893 - fadedefault + fadedefaultbgm fadescreen 1 setflag 890 - disappear 1 - disappear 2 - disappear 3 + removeobject 1 + removeobject 2 + removeobject 3 fadescreen 0 - move 5, Route119_WeatherInstitute_2F_Movement_163DC8 - waitmove 0 - moveoffscreen 5 - jump Route119_WeatherInstitute_2F_EventScript_163D7A + applymovement 5, Route119_WeatherInstitute_2F_Movement_163DC8 + waitmovement 0 + moveobjectoffscreen 5 + goto Route119_WeatherInstitute_2F_EventScript_163D7A end Route119_WeatherInstitute_2F_EventScript_163D7A:: @ 8163D7A msgbox Route119_WeatherInstitute_2F_Text_19F1CF, 4 countpokemon compare RESULT, 6 - jumpeq Route119_WeatherInstitute_2F_EventScript_163DB4 - fanfare 370 + goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DB4 + playfanfare 370 message Route119_WeatherInstitute_2F_Text_19F267 waitfanfare - waittext - givepokemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0 + waitmessage + givepoke SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0 setflag 151 msgbox Route119_WeatherInstitute_2F_Text_19F27D, 4 release @@ -88,6 +88,6 @@ Route119_WeatherInstitute_2F_EventScript_163DCC:: @ 8163DCC lock faceplayer checkflag 151 - jumpeq Route119_WeatherInstitute_2F_EventScript_163DBE - jump Route119_WeatherInstitute_2F_EventScript_163D7A + goto_if_eq Route119_WeatherInstitute_2F_EventScript_163DBE + goto Route119_WeatherInstitute_2F_EventScript_163D7A end diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc index 75385fe8f..868d00324 100644 --- a/data/scripts/maps/Route120.inc +++ b/data/scripts/maps/Route120.inc @@ -6,56 +6,56 @@ Route120_MapScripts:: @ 815160E Route120_MapScript1_15161E:: @ 815161E checkflag 2145 - callif 1, Route120_EventScript_151628 + call_if 1, Route120_EventScript_151628 end Route120_EventScript_151628:: @ 8151628 compare 0x8004, 0 - callif 1, Route120_EventScript_15166B + call_if 1, Route120_EventScript_15166B compare 0x8004, 1 - callif 1, Route120_EventScript_151672 + call_if 1, Route120_EventScript_151672 compare 0x8004, 2 - callif 1, Route120_EventScript_151676 + call_if 1, Route120_EventScript_151676 compare 0x8004, 3 - callif 1, Route120_EventScript_15167A + call_if 1, Route120_EventScript_15167A compare 0x8004, 4 - callif 1, Route120_EventScript_15167E + call_if 1, Route120_EventScript_15167E compare 0x8004, 5 - callif 1, Route120_EventScript_151682 + call_if 1, Route120_EventScript_151682 return Route120_EventScript_15166B:: @ 815166B - disappear 30 - disappear 36 + removeobject 30 + removeobject 36 return Route120_EventScript_151672:: @ 8151672 - disappear 37 + removeobject 37 return Route120_EventScript_151676:: @ 8151676 - disappear 38 + removeobject 38 return Route120_EventScript_15167A:: @ 815167A - disappear 39 + removeobject 39 return Route120_EventScript_15167E:: @ 815167E - disappear 41 + removeobject 41 return Route120_EventScript_151682:: @ 8151682 - disappear 40 + removeobject 40 return Route120_MapScript1_151686:: @ 8151686 checkflag 228 - callif 0, Route120_EventScript_1516A2 + call_if 0, Route120_EventScript_1516A2 checkflag 285 - callif 1, Route120_EventScript_1516B5 + call_if 1, Route120_EventScript_1516B5 checkflag 285 - callif 0, Route120_EventScript_1516DA + call_if 0, Route120_EventScript_1516DA end Route120_EventScript_1516A2:: @ 81516A2 @@ -71,7 +71,7 @@ Route120_EventScript_1516B5:: @ 81516B5 return Route120_EventScript_1516DA:: @ 81516DA - spritebehave 36, 10 + setobjectmovementtype 36, 10 return Route120_MapScript1_1516DF:: @ 81516DF @@ -82,11 +82,11 @@ Route120_MapScript1_1516DF:: @ 81516DF Route120_EventScript_1516EA:: @ 81516EA getplayerxy 0x4000, 0x4001 compare 0x4001, 14 - jumpif 3, Route120_EventScript_151715 + goto_if 3, Route120_EventScript_151715 compare 0x4001, 60 - jumpif 3, Route120_EventScript_151719 + goto_if 3, Route120_EventScript_151719 compare 0x4001, 61 - jumpif 4, Route120_EventScript_151711 + goto_if 4, Route120_EventScript_151711 return Route120_EventScript_151711:: @ 8151711 @@ -99,10 +99,10 @@ Route120_EventScript_151715:: @ 8151715 Route120_EventScript_151719:: @ 8151719 compare 0x4000, 7 - jumpif 3, Route120_EventScript_151735 + goto_if 3, Route120_EventScript_151735 compare 0x4000, 19 - jumpif 3, Route120_EventScript_151715 - jump Route120_EventScript_151735 + goto_if 3, Route120_EventScript_151715 + goto Route120_EventScript_151735 end Route120_EventScript_151735:: @ 8151735 @@ -112,15 +112,15 @@ Route120_EventScript_151735:: @ 8151735 Route120_EventScript_151739:: @ 8151739 lock faceplayer - checkdailyflags + dodailyevents checkflag 2254 - jumpeq Route120_EventScript_151837 + goto_if_eq Route120_EventScript_151837 msgbox Route120_Text_1C58F1, 5 compare RESULT, 1 - callif 1, Route120_EventScript_151841 + call_if 1, Route120_EventScript_151841 compare RESULT, 0 - callif 1, Route120_EventScript_15184A - specialval RESULT, GetPlayerTrainerIdOnesDigit + call_if 1, Route120_EventScript_15184A + specialvar RESULT, GetPlayerTrainerIdOnesDigit switch RESULT case 0, Route120_EventScript_1517DC case 5, Route120_EventScript_1517DC @@ -136,33 +136,33 @@ Route120_EventScript_151739:: @ 8151739 Route120_EventScript_1517DC:: @ 81517DC setvar 0x8004, 143 - jump Route120_EventScript_151813 + goto Route120_EventScript_151813 end Route120_EventScript_1517E7:: @ 81517E7 setvar 0x8004, 144 - jump Route120_EventScript_151813 + goto Route120_EventScript_151813 end Route120_EventScript_1517F2:: @ 81517F2 setvar 0x8004, 145 - jump Route120_EventScript_151813 + goto Route120_EventScript_151813 end Route120_EventScript_1517FD:: @ 81517FD setvar 0x8004, 146 - jump Route120_EventScript_151813 + goto Route120_EventScript_151813 end Route120_EventScript_151808:: @ 8151808 setvar 0x8004, 147 - jump Route120_EventScript_151813 + goto Route120_EventScript_151813 end Route120_EventScript_151813:: @ 8151813 giveitem 0x8004 compare RESULT, 0 - jumpeq Route120_EventScript_1A029B + goto_if_eq Route120_EventScript_1A029B setflag 2254 msgbox Route120_Text_1C5A0B, 4 release @@ -185,11 +185,11 @@ Route120_EventScript_151853:: @ 8151853 lock faceplayer checkflag 290 - jumpeq Route120_EventScript_151884 + goto_if_eq Route120_EventScript_151884 msgbox Route120_Text_171827, 5 compare RESULT, 0 - jumpeq Route120_EventScript_151877 - jump Route120_EventScript_15189D + goto_if_eq Route120_EventScript_151877 + goto Route120_EventScript_15189D end Route120_EventScript_151877:: @ 8151877 @@ -201,55 +201,55 @@ Route120_EventScript_151877:: @ 8151877 Route120_EventScript_151884:: @ 8151884 msgbox Route120_Text_17196F, 5 compare RESULT, 0 - jumpeq Route120_EventScript_151877 - jump Route120_EventScript_15189D + goto_if_eq Route120_EventScript_151877 + goto Route120_EventScript_15189D end Route120_EventScript_15189D:: @ 815189D msgbox Route120_Text_1719A0, 4 - closebutton + closemessage compare FACING, 2 - callif 1, Route120_EventScript_15197F + call_if 1, Route120_EventScript_15197F compare FACING, 3 - callif 1, Route120_EventScript_15198A - move 31, Route120_Movement_1A083F - waitmove 0 - pause 20 + call_if 1, Route120_EventScript_15198A + applymovement 31, Route120_Movement_1A083F + waitmovement 0 + delay 20 msgbox Route120_Text_1719D4, 4 - closebutton - move 30, Route120_Movement_1A0843 - waitmove 0 - move 30, Route120_Movement_1A0662 - waitmove 0 - checksound - pokecry SPECIES_KECLEON, 2 - pause 40 + closemessage + applymovement 30, Route120_Movement_1A0843 + waitmovement 0 + applymovement 30, Route120_Movement_1A0662 + waitmovement 0 + waitse + playpokecry SPECIES_KECLEON, 2 + delay 40 waitpokecry setwildbattle SPECIES_KECLEON, 30, ITEM_NONE setvar 0x8004, 0 setflag 2145 dowildbattle clearflag 2145 - jump Route120_EventScript_151908 + goto Route120_EventScript_151908 end Route120_EventScript_151908:: @ 8151908 - move 31, Route120_Movement_1A0845 - move 255, Route120_Movement_1A0841 - waitmove 0 + applymovement 31, Route120_Movement_1A0845 + applymovement 255, Route120_Movement_1A0841 + waitmovement 0 msgbox Route120_Text_171A40, 4 giveitem ITEM_DEVON_SCOPE setflag 285 msgbox Route120_Text_171B0E, 4 - closebutton - move 31, Route120_Movement_1A0845 - waitmove 0 - pause 50 - setanimation 0, 1 - doanimation 30 - pause 15 - disappear 31 - checkanimation 30 + closemessage + applymovement 31, Route120_Movement_1A0845 + waitmovement 0 + delay 50 + setfieldeffect 0, 1 + dofieldeffect 30 + delay 15 + removeobject 31 + waitfieldeffect 30 setmaptile 13, 15, 663, 0 setmaptile 12, 16, 671, 0 setmaptile 12, 17, 161, 0 @@ -259,13 +259,13 @@ Route120_EventScript_151908:: @ 8151908 end Route120_EventScript_15197F:: @ 815197F - move 255, Route120_Movement_1A083F - waitmove 0 + applymovement 255, Route120_Movement_1A083F + waitmovement 0 return Route120_EventScript_15198A:: @ 815198A - move 255, Route120_Movement_151995 - waitmove 0 + applymovement 255, Route120_Movement_151995 + waitmovement 0 return Route120_Movement_151995:: @ 8151995 @@ -292,9 +292,9 @@ Route120_EventScript_1519B3:: @ 81519B3 Route120_EventScript_1519CA:: @ 81519CA trainerbattle 0, OPPONENT_ROBERT_1, 0, Route120_Text_1BF07E, Route120_Text_1BF0A5 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route120_EventScript_1519F1 + goto_if_eq Route120_EventScript_1519F1 msgbox Route120_Text_1BF0C3, 6 end @@ -315,9 +315,9 @@ Route120_EventScript_151A1F:: @ 8151A1F Route120_EventScript_151A36:: @ 8151A36 trainerbattle 0, OPPONENT_BRANDON_1, 0, Route120_Text_1BF32B, Route120_Text_1BF36B - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route120_EventScript_151A5D + goto_if_eq Route120_EventScript_151A5D msgbox Route120_Text_1BF38D, 6 end diff --git a/data/scripts/maps/Route121.inc b/data/scripts/maps/Route121.inc index e1aaec716..39443d2f9 100644 --- a/data/scripts/maps/Route121.inc +++ b/data/scripts/maps/Route121.inc @@ -21,14 +21,14 @@ Route121_EventScript_151B1C:: @ 8151B1C Route121_EventScript_151B25:: @ 8151B25 lockall msgbox Route121_Text_171C8F, 4 - closebutton - move 12, Route121_Movement_151B57 - move 13, Route121_Movement_151B60 - move 14, Route121_Movement_151B69 - waitmove 0 - disappear 12 - disappear 13 - disappear 14 + closemessage + applymovement 12, Route121_Movement_151B57 + applymovement 13, Route121_Movement_151B60 + applymovement 14, Route121_Movement_151B69 + waitmovement 0 + removeobject 12 + removeobject 13 + removeobject 14 setvar 0x4074, 1 releaseall end @@ -73,9 +73,9 @@ Route121_EventScript_151B72:: @ 8151B72 Route121_EventScript_151B89:: @ 8151B89 trainerbattle 0, OPPONENT_WALTER_1, 0, Route121_Text_1BFA1B, Route121_Text_1BFA8C - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route121_EventScript_151BB0 + goto_if_eq Route121_EventScript_151BB0 msgbox Route121_Text_1BFA9D, 6 end @@ -101,9 +101,9 @@ Route121_EventScript_151BF9:: @ 8151BF9 Route121_EventScript_151C14:: @ 8151C14 trainerbattle 0, OPPONENT_JESSICA_1, 0, Route121_Text_1BFE51, Route121_Text_1BFE80 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route121_EventScript_151C3B + goto_if_eq Route121_EventScript_151C3B msgbox Route121_Text_1BFEAE, 6 end diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc index 251b09c73..9649271f4 100644 --- a/data/scripts/maps/Route121_SafariZoneEntrance.inc +++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc @@ -8,8 +8,8 @@ Route121_SafariZoneEntrance_MapScript2_15C329:: @ 815C329 Route121_SafariZoneEntrance_EventScript_15C333:: @ 815C333 lockall - move 255, Route121_SafariZoneEntrance_Movement_15C348 - waitmove 0 + applymovement 255, Route121_SafariZoneEntrance_Movement_15C348 + waitmovement 0 special ExitSafariMode setvar 0x40a4, 0 releaseall @@ -35,7 +35,7 @@ Route121_SafariZoneEntrance_EventScript_15C35A:: @ 815C35A faceplayer msgbox Route121_SafariZoneEntrance_Text_1C3704, 5 compare RESULT, 1 - jumpeq Route121_SafariZoneEntrance_EventScript_15C379 + goto_if_eq Route121_SafariZoneEntrance_EventScript_15C379 msgbox Route121_SafariZoneEntrance_Text_1C373C, 4 release end @@ -47,39 +47,39 @@ Route121_SafariZoneEntrance_EventScript_15C379:: @ 815C379 Route121_SafariZoneEntrance_EventScript_15C383:: @ 815C383 lockall - move 255, Route121_SafariZoneEntrance_Movement_1A0841 - waitmove 0 - showmoney 0, 0 - snop + applymovement 255, Route121_SafariZoneEntrance_Movement_1A0841 + waitmovement 0 + showmoneybox 0, 0 + nop msgbox Route121_SafariZoneEntrance_Text_1C3832, 5 compare RESULT, 1 - jumpeq Route121_SafariZoneEntrance_EventScript_15C3B3 + goto_if_eq Route121_SafariZoneEntrance_EventScript_15C3B3 msgbox Route121_SafariZoneEntrance_Text_1C3895, 4 - jump Route121_SafariZoneEntrance_EventScript_15C46C + goto Route121_SafariZoneEntrance_EventScript_15C46C end Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3 checkitem ITEM_POKEBLOCK_CASE, 1 compare RESULT, 0 - jumpeq Route121_SafariZoneEntrance_EventScript_15C450 + goto_if_eq Route121_SafariZoneEntrance_EventScript_15C450 call Route121_SafariZoneEntrance_EventScript_15C425 checkmoney 0x1f4, 0 compare RESULT, 0 - jumpeq Route121_SafariZoneEntrance_EventScript_15C45E + goto_if_eq Route121_SafariZoneEntrance_EventScript_15C45E msgbox Route121_SafariZoneEntrance_Text_1C38D9, 4 - paymoney 0x1f4, 0 - updatemoney 0, 0 - snop + takemoney 0x1f4, 0 + updatemoneybox 0, 0 + nop msgbox Route121_SafariZoneEntrance_Text_1C38F4, 4 - fanfare 370 + playfanfare 370 message Route121_SafariZoneEntrance_Text_1C3910 waitfanfare - waittext + waitmessage msgbox Route121_SafariZoneEntrance_Text_1C392D, 4 - closebutton - hidemoney 0, 0 - move 255, Route121_SafariZoneEntrance_Movement_15C47E - waitmove 0 + closemessage + hidemoneybox 0, 0 + applymovement 255, Route121_SafariZoneEntrance_Movement_15C47E + waitmovement 0 special EnterSafariMode setvar 0x40a4, 2 warp SafariZone_Southeast, 255, 32, 33 @@ -89,12 +89,12 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3 Route121_SafariZoneEntrance_EventScript_15C425:: @ 815C425 countpokemon compare RESULT, 6 - jumpif 5, Route121_SafariZoneEntrance_EventScript_15C44F - specialval RESULT, CheckFreePokemonStorageSpace + goto_if 5, Route121_SafariZoneEntrance_EventScript_15C44F + specialvar RESULT, CheckFreePokemonStorageSpace compare RESULT, 1 - jumpeq Route121_SafariZoneEntrance_EventScript_15C44F + goto_if_eq Route121_SafariZoneEntrance_EventScript_15C44F msgbox Route121_SafariZoneEntrance_Text_1C39A3, 4 - jump Route121_SafariZoneEntrance_EventScript_15C46C + goto Route121_SafariZoneEntrance_EventScript_15C46C end Route121_SafariZoneEntrance_EventScript_15C44F:: @ 815C44F @@ -102,19 +102,19 @@ Route121_SafariZoneEntrance_EventScript_15C44F:: @ 815C44F Route121_SafariZoneEntrance_EventScript_15C450:: @ 815C450 msgbox Route121_SafariZoneEntrance_Text_1C39C3, 4 - jump Route121_SafariZoneEntrance_EventScript_15C46C + goto Route121_SafariZoneEntrance_EventScript_15C46C end Route121_SafariZoneEntrance_EventScript_15C45E:: @ 815C45E msgbox Route121_SafariZoneEntrance_Text_1C38B5, 4 - jump Route121_SafariZoneEntrance_EventScript_15C46C + goto Route121_SafariZoneEntrance_EventScript_15C46C end Route121_SafariZoneEntrance_EventScript_15C46C:: @ 815C46C - closebutton - hidemoney 0, 0 - move 255, Route121_SafariZoneEntrance_Movement_15C47C - waitmove 0 + closemessage + hidemoneybox 0, 0 + applymovement 255, Route121_SafariZoneEntrance_Movement_15C47C + waitmovement 0 releaseall end diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc index 891a395f0..14c5a2dba 100644 --- a/data/scripts/maps/Route123.inc +++ b/data/scripts/maps/Route123.inc @@ -10,15 +10,15 @@ Route123_EventScript_151C5D:: @ 8151C5D lock faceplayer checkflag 232 - jumpeq Route123_EventScript_151CAC + goto_if_eq Route123_EventScript_151CAC msgbox Route123_Text_171D83, 4 special IsGrassTypeInParty compare RESULT, 0 - jumpeq Route123_EventScript_151CAA + goto_if_eq Route123_EventScript_151CAA msgbox Route123_Text_171DC2, 4 giveitem ITEM_TM19 compare RESULT, 0 - jumpeq Route123_EventScript_1A029B + goto_if_eq Route123_EventScript_1A029B setflag 232 msgbox Route123_Text_171E34, 4 release @@ -62,9 +62,9 @@ Route123_EventScript_151CFF:: @ 8151CFF Route123_EventScript_151D16:: @ 8151D16 trainerbattle 0, OPPONENT_CAMERON_1, 0, Route123_Text_1C013F, Route123_Text_1C01A3 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route123_EventScript_151D3D + goto_if_eq Route123_EventScript_151D3D msgbox Route123_Text_1C01B1, 6 end @@ -75,9 +75,9 @@ Route123_EventScript_151D3D:: @ 8151D3D Route123_EventScript_151D54:: @ 8151D54 trainerbattle 0, OPPONENT_JACKI_1, 0, Route123_Text_1C028C, Route123_Text_1C0303 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route123_EventScript_151D7B + goto_if_eq Route123_EventScript_151D7B msgbox Route123_Text_1C030F, 6 end diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc index 9290f845d..64888759d 100644 --- a/data/scripts/maps/Route123_BerryMastersHouse.inc +++ b/data/scripts/maps/Route123_BerryMastersHouse.inc @@ -9,16 +9,16 @@ Route123_BerryMastersHouse_MapScript1_1639E5:: @ 81639E5 Route123_BerryMastersHouse_EventScript_1639E9:: @ 81639E9 lock faceplayer - checkdailyflags + dodailyevents checkflag 2253 - jumpeq Route123_BerryMastersHouse_EventScript_163A5A + goto_if_eq Route123_BerryMastersHouse_EventScript_163A5A msgbox Route123_BerryMastersHouse_Text_1C5BC4, 4 random 10 addvar RESULT, 20 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B setflag 2253 msgbox Route123_BerryMastersHouse_Text_1C5C66, 4 random 10 @@ -26,7 +26,7 @@ Route123_BerryMastersHouse_EventScript_1639E9:: @ 81639E9 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B msgbox Route123_BerryMastersHouse_Text_1C5C83, 4 release end @@ -39,18 +39,18 @@ Route123_BerryMastersHouse_EventScript_163A5A:: @ 8163A5A Route123_BerryMastersHouse_EventScript_163A64:: @ 8163A64 lock faceplayer - checkdailyflags + dodailyevents checkflag 2257 - jumpeq Route123_BerryMastersHouse_EventScript_163C13 + goto_if_eq Route123_BerryMastersHouse_EventScript_163C13 msgbox Route123_BerryMastersHouse_Text_1C5D24, 4 setvar 0x8004, 13 call Route123_BerryMastersHouse_EventScript_1A00F3 lock faceplayer compare RESULT, 1 - jumpeq Route123_BerryMastersHouse_EventScript_163AAD + goto_if_eq Route123_BerryMastersHouse_EventScript_163AAD compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_163A9B + goto_if_eq Route123_BerryMastersHouse_EventScript_163A9B end Route123_BerryMastersHouse_EventScript_163A9B:: @ 8163A9B @@ -61,17 +61,17 @@ Route123_BerryMastersHouse_EventScript_163A9B:: @ 8163A9B Route123_BerryMastersHouse_EventScript_163AAD:: @ 8163AAD compare 0x8004, 0 - jumpeq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 compare 0x8004, 1 - jumpeq Route123_BerryMastersHouse_EventScript_163B1E + goto_if_eq Route123_BerryMastersHouse_EventScript_163B1E compare 0x8004, 2 - jumpeq Route123_BerryMastersHouse_EventScript_163B4F + goto_if_eq Route123_BerryMastersHouse_EventScript_163B4F compare 0x8004, 3 - jumpeq Route123_BerryMastersHouse_EventScript_163B80 + goto_if_eq Route123_BerryMastersHouse_EventScript_163B80 compare 0x8004, 4 - jumpeq Route123_BerryMastersHouse_EventScript_163BB1 + goto_if_eq Route123_BerryMastersHouse_EventScript_163BB1 compare 0x8004, 5 - jumpeq Route123_BerryMastersHouse_EventScript_163BE2 + goto_if_eq Route123_BerryMastersHouse_EventScript_163BE2 end Route123_BerryMastersHouse_EventScript_163AF0:: @ 8163AF0 @@ -80,64 +80,64 @@ Route123_BerryMastersHouse_EventScript_163AF0:: @ 8163AF0 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B - jump Route123_BerryMastersHouse_EventScript_163C1D + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B + goto Route123_BerryMastersHouse_EventScript_163C1D release end Route123_BerryMastersHouse_EventScript_163B1E:: @ 8163B1E checkflag 248 - jumpeq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem ITEM_SPELON_BERRY compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B setflag 248 - jump Route123_BerryMastersHouse_EventScript_163C1D + goto Route123_BerryMastersHouse_EventScript_163C1D end Route123_BerryMastersHouse_EventScript_163B4F:: @ 8163B4F checkflag 249 - jumpeq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem ITEM_PAMTRE_BERRY compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B setflag 249 - jump Route123_BerryMastersHouse_EventScript_163C1D + goto Route123_BerryMastersHouse_EventScript_163C1D end Route123_BerryMastersHouse_EventScript_163B80:: @ 8163B80 checkflag 250 - jumpeq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem ITEM_WATMEL_BERRY compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B setflag 250 - jump Route123_BerryMastersHouse_EventScript_163C1D + goto Route123_BerryMastersHouse_EventScript_163C1D end Route123_BerryMastersHouse_EventScript_163BB1:: @ 8163BB1 checkflag 251 - jumpeq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem ITEM_DURIN_BERRY compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B setflag 251 - jump Route123_BerryMastersHouse_EventScript_163C1D + goto Route123_BerryMastersHouse_EventScript_163C1D end Route123_BerryMastersHouse_EventScript_163BE2:: @ 8163BE2 checkflag 252 - jumpeq Route123_BerryMastersHouse_EventScript_163AF0 + goto_if_eq Route123_BerryMastersHouse_EventScript_163AF0 msgbox Route123_BerryMastersHouse_Text_1C5DC1, 4 giveitem ITEM_BELUE_BERRY compare RESULT, 0 - jumpeq Route123_BerryMastersHouse_EventScript_1A029B + goto_if_eq Route123_BerryMastersHouse_EventScript_1A029B setflag 252 - jump Route123_BerryMastersHouse_EventScript_163C1D + goto Route123_BerryMastersHouse_EventScript_163C1D end Route123_BerryMastersHouse_EventScript_163C13:: @ 8163C13 diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc index 68f17b12a..ffe4cef97 100644 --- a/data/scripts/maps/Route124.inc +++ b/data/scripts/maps/Route124.inc @@ -4,7 +4,7 @@ Route124_MapScripts:: @ 8151DDF Route124_MapScript1_151DE5:: @ 8151DE5 checkflag 2090 - callif 1, Route124_EventScript_1A02C1 + call_if 1, Route124_EventScript_1A02C1 end Route124_EventScript_151DEF:: @ 8151DEF @@ -23,9 +23,9 @@ Route124_EventScript_151E0F:: @ 8151E0F Route124_EventScript_151E26:: @ 8151E26 trainerbattle 0, OPPONENT_JENNY_1, 0, Route124_Text_1C07B4, Route124_Text_1C07F9 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route124_EventScript_151E4D + goto_if_eq Route124_EventScript_151E4D msgbox Route124_Text_1C080E, 6 end @@ -46,9 +46,9 @@ Route124_EventScript_151E7B:: @ 8151E7B Route124_EventScript_151E92:: @ 8151E92 trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0ABD, Route124_Text_1C0B36, Route124_Text_1C0BC8 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route124_EventScript_151EBD + goto_if_eq Route124_EventScript_151EBD msgbox Route124_Text_1C0B72, 6 end @@ -59,9 +59,9 @@ Route124_EventScript_151EBD:: @ 8151EBD Route124_EventScript_151ED8:: @ 8151ED8 trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0C0E, Route124_Text_1C0C4F, Route124_Text_1C0CE0 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route124_EventScript_151F03 + goto_if_eq Route124_EventScript_151F03 msgbox Route124_Text_1C0C7F, 6 end diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc index e1049c8be..7421e94e0 100644 --- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc +++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc @@ -10,38 +10,38 @@ Route124_DivingTreasureHuntersHouse_EventScript_163E04:: @ 8163E04 lock faceplayer checkflag 217 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_163E20 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163E20 msgbox Route124_DivingTreasureHuntersHouse_Text_19F416, 4 setflag 217 - jump Route124_DivingTreasureHuntersHouse_EventScript_163E2E + goto Route124_DivingTreasureHuntersHouse_EventScript_163E2E end Route124_DivingTreasureHuntersHouse_EventScript_163E20:: @ 8163E20 msgbox Route124_DivingTreasureHuntersHouse_Text_19F48F, 4 - jump Route124_DivingTreasureHuntersHouse_EventScript_163E2E + goto Route124_DivingTreasureHuntersHouse_EventScript_163E2E end Route124_DivingTreasureHuntersHouse_EventScript_163E2E:: @ 8163E2E call Route124_DivingTreasureHuntersHouse_EventScript_163E44 compare 0x4001, 0 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_164329 - jump Route124_DivingTreasureHuntersHouse_EventScript_163EA2 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_164329 + goto Route124_DivingTreasureHuntersHouse_EventScript_163EA2 end Route124_DivingTreasureHuntersHouse_EventScript_163E44:: @ 8163E44 setvar 0x4001, 0 checkitem ITEM_RED_SHARD, 1 compare RESULT, 1 - callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E8A + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E8A checkitem ITEM_YELLOW_SHARD, 1 compare RESULT, 1 - callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E90 + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E90 checkitem ITEM_BLUE_SHARD, 1 compare RESULT, 1 - callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E96 + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E96 checkitem ITEM_GREEN_SHARD, 1 compare RESULT, 1 - callif 1, Route124_DivingTreasureHuntersHouse_EventScript_163E9C + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_163E9C return Route124_DivingTreasureHuntersHouse_EventScript_163E8A:: @ 8163E8A @@ -62,12 +62,12 @@ Route124_DivingTreasureHuntersHouse_EventScript_163E9C:: @ 8163E9C Route124_DivingTreasureHuntersHouse_EventScript_163EA2:: @ 8163EA2 msgbox Route124_DivingTreasureHuntersHouse_Text_19F544, 4 - jump Route124_DivingTreasureHuntersHouse_EventScript_163EB0 + goto Route124_DivingTreasureHuntersHouse_EventScript_163EB0 end Route124_DivingTreasureHuntersHouse_EventScript_163EB0:: @ 8163EB0 message Route124_DivingTreasureHuntersHouse_Text_19F5C5 - waittext + waitmessage switch 0x4001 case 1, Route124_DivingTreasureHuntersHouse_EventScript_163F61 case 2, Route124_DivingTreasureHuntersHouse_EventScript_163F87 @@ -91,7 +91,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163F61:: @ 8163F61 switch RESULT case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256 case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_163F87:: @ 8163F87 @@ -99,7 +99,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163F87:: @ 8163F87 switch RESULT case 0, Route124_DivingTreasureHuntersHouse_EventScript_164265 case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_163FAD:: @ 8163FAD @@ -108,7 +108,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163FAD:: @ 8163FAD case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164265 case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_163FDE:: @ 8163FDE @@ -116,7 +116,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_163FDE:: @ 8163FDE switch RESULT case 0, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164004:: @ 8164004 @@ -125,7 +125,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164004:: @ 8164004 case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164035:: @ 8164035 @@ -134,7 +134,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164035:: @ 8164035 case 0, Route124_DivingTreasureHuntersHouse_EventScript_164265 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164066:: @ 8164066 @@ -144,7 +144,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164066:: @ 8164066 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164265 case 2, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_1640A2:: @ 81640A2 @@ -152,7 +152,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1640A2:: @ 81640A2 switch RESULT case 0, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 1, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_1640C8:: @ 81640C8 @@ -161,7 +161,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1640C8:: @ 81640C8 case 0, Route124_DivingTreasureHuntersHouse_EventScript_164256 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_1640F9:: @ 81640F9 @@ -170,7 +170,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1640F9:: @ 81640F9 case 0, Route124_DivingTreasureHuntersHouse_EventScript_164265 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_16412A:: @ 816412A @@ -180,7 +180,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_16412A:: @ 816412A case 1, Route124_DivingTreasureHuntersHouse_EventScript_164265 case 2, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164166:: @ 8164166 @@ -189,7 +189,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164166:: @ 8164166 case 0, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 2, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164197:: @ 8164197 @@ -199,7 +199,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_164197:: @ 8164197 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 2, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_1641D3:: @ 81641D3 @@ -209,7 +209,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_1641D3:: @ 81641D3 case 1, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 2, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 3, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_16420F:: @ 816420F @@ -220,42 +220,42 @@ Route124_DivingTreasureHuntersHouse_EventScript_16420F:: @ 816420F case 2, Route124_DivingTreasureHuntersHouse_EventScript_164274 case 3, Route124_DivingTreasureHuntersHouse_EventScript_164283 case 4, Route124_DivingTreasureHuntersHouse_EventScript_16431F - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164256:: @ 8164256 setvar 0x8008, 48 setvar 0x8009, 95 - jump Route124_DivingTreasureHuntersHouse_EventScript_164292 + goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164265:: @ 8164265 setvar 0x8008, 50 setvar 0x8009, 96 - jump Route124_DivingTreasureHuntersHouse_EventScript_164292 + goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164274:: @ 8164274 setvar 0x8008, 49 setvar 0x8009, 97 - jump Route124_DivingTreasureHuntersHouse_EventScript_164292 + goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164283:: @ 8164283 setvar 0x8008, 51 setvar 0x8009, 98 - jump Route124_DivingTreasureHuntersHouse_EventScript_164292 + goto Route124_DivingTreasureHuntersHouse_EventScript_164292 Route124_DivingTreasureHuntersHouse_EventScript_164292:: @ 8164292 - bufferitem 0, 0x8008 - bufferitem 1, 0x8009 + getitemname 0, 0x8008 + getitemname 1, 0x8009 msgbox Route124_DivingTreasureHuntersHouse_Text_19F5E0, 5 compare RESULT, 0 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_16431F checkitemspace 0x8009, 1 compare RESULT, 1 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_1642D3 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_1642D3 checkitem 0x8008, 2 compare RESULT, 0 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_1642D3 - jump Route124_DivingTreasureHuntersHouse_EventScript_164315 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_1642D3 + goto Route124_DivingTreasureHuntersHouse_EventScript_164315 end Route124_DivingTreasureHuntersHouse_EventScript_1642D3:: @ 81642D3 @@ -264,11 +264,11 @@ Route124_DivingTreasureHuntersHouse_EventScript_1642D3:: @ 81642D3 msgbox Route124_DivingTreasureHuntersHouse_Text_19F606, 4 call Route124_DivingTreasureHuntersHouse_EventScript_163E44 compare 0x4001, 0 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_164333 + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_164333 msgbox Route124_DivingTreasureHuntersHouse_Text_19F629, 5 compare RESULT, 1 - jumpeq Route124_DivingTreasureHuntersHouse_EventScript_163EB0 - jump Route124_DivingTreasureHuntersHouse_EventScript_16431F + goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_163EB0 + goto Route124_DivingTreasureHuntersHouse_EventScript_16431F end Route124_DivingTreasureHuntersHouse_EventScript_164315:: @ 8164315 diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc index a5d2457d5..489a7314b 100644 --- a/data/scripts/maps/Route125.inc +++ b/data/scripts/maps/Route125.inc @@ -4,7 +4,7 @@ Route125_MapScripts:: @ 8151F1E Route125_MapScript1_151F24:: @ 8151F24 checkflag 2090 - callif 1, Route125_EventScript_1A02C1 + call_if 1, Route125_EventScript_1A02C1 end Route125_EventScript_151F2E:: @ 8151F2E @@ -29,9 +29,9 @@ Route125_EventScript_151F73:: @ 8151F73 Route125_EventScript_151F8A:: @ 8151F8A trainerbattle 0, OPPONENT_ERNEST_1, 0, Route125_Text_1C11AF, Route125_Text_1C11ED - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route125_EventScript_151FB1 + goto_if_eq Route125_EventScript_151FB1 msgbox Route125_Text_1C1208, 6 end diff --git a/data/scripts/maps/Route126.inc b/data/scripts/maps/Route126.inc index f3d1a77f9..729922681 100644 --- a/data/scripts/maps/Route126.inc +++ b/data/scripts/maps/Route126.inc @@ -4,7 +4,7 @@ Route126_MapScripts:: @ 8151FFE Route126_MapScript1_152004:: @ 8152004 checkflag 2090 - callif 1, Route126_EventScript_1A02C1 + call_if 1, Route126_EventScript_1A02C1 end Route126_EventScript_15200E:: @ 815200E diff --git a/data/scripts/maps/Route127.inc b/data/scripts/maps/Route127.inc index b4461b253..284d1fbd4 100644 --- a/data/scripts/maps/Route127.inc +++ b/data/scripts/maps/Route127.inc @@ -4,7 +4,7 @@ Route127_MapScripts:: @ 815206A Route127_MapScript1_152070:: @ 8152070 checkflag 2090 - callif 1, Route127_EventScript_1A02C1 + call_if 1, Route127_EventScript_1A02C1 end Route127_EventScript_15207A:: @ 815207A diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc index 011591400..615662fc1 100644 --- a/data/scripts/maps/Route128.inc +++ b/data/scripts/maps/Route128.inc @@ -5,7 +5,7 @@ Route128_MapScripts:: @ 815211B Route128_MapScript1_152126:: @ 8152126 checkflag 2090 - callif 1, Route128_EventScript_1A02C1 + call_if 1, Route128_EventScript_1A02C1 call Route128_EventScript_1A0196 end @@ -15,73 +15,73 @@ Route128_MapScript2_152135:: @ 8152135 Route128_EventScript_15213F:: @ 815213F lockall - pause 20 + delay 20 .ifndef SAPPHIRE special sub_807E25C waitstate .endif - move 4, Route128_Movement_152271 - waitmove 0 + applymovement 4, Route128_Movement_152271 + waitmovement 0 msgbox Route128_Text_171EE0, 4 - move 4, Route128_Movement_152279 - waitmove 0 + applymovement 4, Route128_Movement_152279 + waitmovement 0 msgbox Route128_Text_171F35, 4 - closebutton - move 5, Route128_Movement_152293 - waitmove 0 - move 4, Route128_Movement_1A0841 - waitmove 0 + closemessage + applymovement 5, Route128_Movement_152293 + waitmovement 0 + applymovement 4, Route128_Movement_1A0841 + waitmovement 0 msgbox Route128_Text_171F4B, 4 - closebutton - move 5, Route128_Movement_1522A1 - waitmove 0 - move 255, Route128_Movement_1A0841 - waitmove 0 + closemessage + applymovement 5, Route128_Movement_1522A1 + waitmovement 0 + applymovement 255, Route128_Movement_1A0841 + waitmovement 0 msgbox Route128_Text_172008, 4 - closebutton - move 4, Route128_Movement_15227E - move 255, Route128_Movement_1A083F - move 5, Route128_Movement_152290 - waitmove 0 + closemessage + applymovement 4, Route128_Movement_15227E + applymovement 255, Route128_Movement_1A083F + applymovement 5, Route128_Movement_152290 + waitmovement 0 msgbox Route128_Text_17210B, 4 - closebutton - pause 40 - move 5, Route128_Movement_152296 - move 4, Route128_Movement_152283 - waitmove 0 - disappear 5 - disappear 4 - pause 100 - setanimation 0, 1 - doanimation 30 - checkanimation 30 - reappear 3 - move 3, Route128_Movement_15226F - waitmove 0 - move 255, Route128_Movement_1A0843 - waitmove 0 + closemessage + delay 40 + applymovement 5, Route128_Movement_152296 + applymovement 4, Route128_Movement_152283 + waitmovement 0 + removeobject 5 + removeobject 4 + delay 100 + setfieldeffect 0, 1 + dofieldeffect 30 + waitfieldeffect 30 + addobject 3 + applymovement 3, Route128_Movement_15226F + waitmovement 0 + applymovement 255, Route128_Movement_1A0843 + waitmovement 0 msgbox Route128_Text_172181, 4 - closebutton - move 3, Route128_Movement_15226D - move 255, Route128_Movement_1A0841 - waitmove 0 + closemessage + applymovement 3, Route128_Movement_15226D + applymovement 255, Route128_Movement_1A0841 + waitmovement 0 .ifdef SAPPHIRE msgbox Route128_Text_1721A2, 4 .else msgbox Route128_Text_1722A1, 4 .endif - move 3, Route128_Movement_1A0845 - waitmove 0 + applymovement 3, Route128_Movement_1A0845 + waitmovement 0 msgbox Route128_Text_1723BE, 4 - closebutton - move 3, Route128_Movement_1A0845 - waitmove 0 - pause 50 - setanimation 0, 1 - doanimation 30 - pause 15 - disappear 3 - checkanimation 30 + closemessage + applymovement 3, Route128_Movement_1A0845 + waitmovement 0 + delay 50 + setfieldeffect 0, 1 + dofieldeffect 30 + delay 15 + removeobject 3 + waitfieldeffect 30 setvar 0x407b, 2 releaseall end @@ -182,9 +182,9 @@ Route128_Movement_1522A1:: @ 81522A1 Route128_EventScript_1522A4:: @ 81522A4 trainerbattle 0, OPPONENT_ISAIAH_1, 0, Route128_Text_1C1C67, Route128_Text_1C1C95 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route128_EventScript_1522CB + goto_if_eq Route128_EventScript_1522CB msgbox Route128_Text_1C1CC3, 6 end @@ -195,9 +195,9 @@ Route128_EventScript_1522CB:: @ 81522CB Route128_EventScript_1522E2:: @ 81522E2 trainerbattle 0, OPPONENT_KATELYN_1, 0, Route128_Text_1C1DB0, Route128_Text_1C1E25 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq Route128_EventScript_152309 + goto_if_eq Route128_EventScript_152309 msgbox Route128_Text_1C1E4A, 6 end diff --git a/data/scripts/maps/Route130.inc b/data/scripts/maps/Route130.inc index bac6728a7..69da29471 100644 --- a/data/scripts/maps/Route130.inc +++ b/data/scripts/maps/Route130.inc @@ -3,9 +3,9 @@ Route130_MapScripts:: @ 81523C2 .byte 0 Route130_MapScript1_1523C8:: @ 81523C8 - specialval RESULT, IsMirageIslandPresent + specialvar RESULT, IsMirageIslandPresent compare RESULT, 1 - jumpeq Route130_EventScript_15240C + goto_if_eq Route130_EventScript_15240C setflag 17 setflag 18 setflag 19 @@ -22,11 +22,11 @@ Route130_MapScript1_1523C8:: @ 81523C8 setflag 30 setflag 31 setflag 32 - setmapfooter 264 + setmaplayoutindex 264 end Route130_EventScript_15240C:: @ 815240C - setmapfooter 46 + setmaplayoutindex 46 end Route130_EventScript_152410:: @ 8152410 diff --git a/data/scripts/maps/Route131.inc b/data/scripts/maps/Route131.inc index 81cb7dc02..50ad4222b 100644 --- a/data/scripts/maps/Route131.inc +++ b/data/scripts/maps/Route131.inc @@ -4,11 +4,11 @@ Route131_MapScripts:: @ 815243E Route131_MapScript1_152444:: @ 8152444 checkflag 2052 - callif 1, Route131_EventScript_15244E + call_if 1, Route131_EventScript_15244E end Route131_EventScript_15244E:: @ 815244E - setmapfooter 320 + setmaplayoutindex 320 return Route131_EventScript_152452:: @ 8152452 diff --git a/data/scripts/maps/Route134.inc b/data/scripts/maps/Route134.inc index b1f77fac1..6b4d330d1 100644 --- a/data/scripts/maps/Route134.inc +++ b/data/scripts/maps/Route134.inc @@ -3,7 +3,7 @@ Route134_MapScripts:: @ 81525B5 .byte 0 Route134_MapScript1_1525BB:: @ 81525BB - warp4 Underwater_Route134, 255, 8, 6 + setdivewarp Underwater_Route134, 255, 8, 6 end Route134_EventScript_1525C4:: @ 81525C4 diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc index c338e8b67..916eb8108 100644 --- a/data/scripts/maps/RustboroCity.inc +++ b/data/scripts/maps/RustboroCity.inc @@ -12,7 +12,7 @@ RustboroCity_EventScript_14C386:: @ 814C386 lock faceplayer checkflag 142 - jumpeq RustboroCity_EventScript_14C39B + goto_if_eq RustboroCity_EventScript_14C39B msgbox RustboroCity_Text_16689D, 4 release end @@ -37,7 +37,7 @@ RustboroCity_EventScript_14C3BA:: @ 814C3BA lock faceplayer checkflag 2055 - jumpeq RustboroCity_EventScript_14C3CF + goto_if_eq RustboroCity_EventScript_14C3CF msgbox RustboroCity_Text_16696D, 4 release end @@ -51,7 +51,7 @@ RustboroCity_EventScript_14C3D9:: @ 814C3D9 lock faceplayer checkflag 188 - jumpeq RustboroCity_EventScript_14C3EE + goto_if_eq RustboroCity_EventScript_14C3EE msgbox RustboroCity_Text_166B86, 4 release end @@ -101,8 +101,8 @@ RustboroCity_EventScript_14C449:: @ 814C449 lock faceplayer msgbox RustboroCity_Text_166D59, 4 - move 7, RustboroCity_Movement_1A083D - waitmove 0 + applymovement 7, RustboroCity_Movement_1A083D + waitmovement 0 release end @@ -110,8 +110,8 @@ RustboroCity_EventScript_14C45F:: @ 814C45F lock faceplayer msgbox RustboroCity_Text_166DB0, 4 - move 8, RustboroCity_Movement_1A083D - waitmove 0 + applymovement 8, RustboroCity_Movement_1A083D + waitmovement 0 release end @@ -124,60 +124,60 @@ RustboroCity_EventScript_14C475:: @ 814C475 RustboroCity_EventScript_14C481:: @ 814C481 lockall - movespriteperm 9, 14, 21 - spritebehave 9, 10 + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 setvar 0x8004, 0 - jump RustboroCity_EventScript_14C4F4 + goto RustboroCity_EventScript_14C4F4 end RustboroCity_EventScript_14C498:: @ 814C498 lockall - movespriteperm 9, 14, 21 - spritebehave 9, 10 + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 setvar 0x8004, 1 - jump RustboroCity_EventScript_14C4F4 + goto RustboroCity_EventScript_14C4F4 end RustboroCity_EventScript_14C4AF:: @ 814C4AF lockall - movespriteperm 9, 14, 21 - spritebehave 9, 10 + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 setvar 0x8004, 2 - jump RustboroCity_EventScript_14C4F4 + goto RustboroCity_EventScript_14C4F4 end RustboroCity_EventScript_14C4C6:: @ 814C4C6 lockall - movespriteperm 9, 14, 21 - spritebehave 9, 10 + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 setvar 0x8004, 3 - jump RustboroCity_EventScript_14C4F4 + goto RustboroCity_EventScript_14C4F4 end RustboroCity_EventScript_14C4DD:: @ 814C4DD lockall - movespriteperm 9, 14, 21 - spritebehave 9, 10 + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 setvar 0x8004, 4 - jump RustboroCity_EventScript_14C4F4 + goto RustboroCity_EventScript_14C4F4 end RustboroCity_EventScript_14C4F4:: @ 814C4F4 msgbox RustboroCity_Text_166E65, 4 - closebutton - reappear 10 - reappear 9 - move 10, RustboroCity_Movement_14C5C2 - waitmove 0 - disappear 10 - move 9, RustboroCity_Movement_14C5D3 - waitmove 0 + closemessage + addobject 10 + addobject 9 + applymovement 10, RustboroCity_Movement_14C5C2 + waitmovement 0 + removeobject 10 + applymovement 9, RustboroCity_Movement_14C5D3 + waitmovement 0 msgbox RustboroCity_Text_166E7E, 4 - closebutton - move 9, RustboroCity_Movement_14C5DB - waitmove 0 - disappear 9 - movespriteperm 9, 30, 10 + closemessage + applymovement 9, RustboroCity_Movement_14C5DB + waitmovement 0 + removeobject 9 + setobjectxyperm 9, 30, 10 clearflag 732 setflag 142 setvar 0x405a, 2 @@ -200,30 +200,30 @@ RustboroCity_EventScript_14C4F4:: @ 814C4F4 return @ 814C56F - move 9, RustboroCity_Movement_14C5E3 - waitmove 0 + applymovement 9, RustboroCity_Movement_14C5E3 + waitmovement 0 return @ 814C57A - move 9, RustboroCity_Movement_14C5E7 - waitmove 0 + applymovement 9, RustboroCity_Movement_14C5E7 + waitmovement 0 return @ 814C585 - move 9, RustboroCity_Movement_14C5EC - waitmove 0 + applymovement 9, RustboroCity_Movement_14C5EC + waitmovement 0 return @ 814C590 - move 9, RustboroCity_Movement_14C5F1 - waitmove 0 + applymovement 9, RustboroCity_Movement_14C5F1 + waitmovement 0 return @ 814C59B - move 9, RustboroCity_Movement_14C5F7 - waitmove 0 - move 255, RustboroCity_Movement_1A0841 - waitmove 0 + applymovement 9, RustboroCity_Movement_14C5F7 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0841 + waitmovement 0 return @ 814C5B0 @@ -327,105 +327,105 @@ RustboroCity_EventScript_14C5FF:: @ 814C5FF lock faceplayer checkflag 143 - jumpeq RustboroCity_EventScript_14C614 + goto_if_eq RustboroCity_EventScript_14C614 msgbox RustboroCity_Text_166F6B, 4 release end RustboroCity_EventScript_14C614:: @ 814C614 - checksound + waitse setvar 0x4001, 4 - jump RustboroCity_EventScript_14C77D + goto RustboroCity_EventScript_14C77D end RustboroCity_EventScript_14C620:: @ 814C620 lockall setvar 0x4001, 0 - jump RustboroCity_EventScript_14C650 + goto RustboroCity_EventScript_14C650 end RustboroCity_EventScript_14C62C:: @ 814C62C lockall setvar 0x4001, 1 - jump RustboroCity_EventScript_14C650 + goto RustboroCity_EventScript_14C650 end RustboroCity_EventScript_14C638:: @ 814C638 lockall setvar 0x4001, 2 - jump RustboroCity_EventScript_14C650 + goto RustboroCity_EventScript_14C650 end RustboroCity_EventScript_14C644:: @ 814C644 lockall setvar 0x4001, 3 - jump RustboroCity_EventScript_14C650 + goto RustboroCity_EventScript_14C650 end RustboroCity_EventScript_14C650:: @ 814C650 compare 0x4001, 0 - callif 1, RustboroCity_EventScript_14C691 + call_if 1, RustboroCity_EventScript_14C691 compare 0x4001, 1 - callif 1, RustboroCity_EventScript_14C6BD + call_if 1, RustboroCity_EventScript_14C6BD compare 0x4001, 2 - callif 1, RustboroCity_EventScript_14C6E9 + call_if 1, RustboroCity_EventScript_14C6E9 compare 0x4001, 3 - callif 1, RustboroCity_EventScript_14C715 + call_if 1, RustboroCity_EventScript_14C715 setflag 159 setvar 0x405a, 3 - moveoffscreen 9 + moveobjectoffscreen 9 msgbox RustboroCity_Text_166EA5, 4 releaseall end RustboroCity_EventScript_14C691:: @ 814C691 - move 9, RustboroCity_Movement_1A0841 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 255, RustboroCity_Movement_1A0845 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0841 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0845 + waitmovement 0 return RustboroCity_EventScript_14C6BD:: @ 814C6BD - move 9, RustboroCity_Movement_1A083F - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 255, RustboroCity_Movement_1A0843 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A083F + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0843 + waitmovement 0 return RustboroCity_EventScript_14C6E9:: @ 814C6E9 - move 9, RustboroCity_Movement_1A0845 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 255, RustboroCity_Movement_1A0841 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0845 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0841 + waitmovement 0 return RustboroCity_EventScript_14C715:: @ 814C715 - move 9, RustboroCity_Movement_1A0845 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 9, RustboroCity_Movement_14C74B - waitmove 0 - move 255, RustboroCity_Movement_1A0841 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0845 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 9, RustboroCity_Movement_14C74B + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0841 + waitmovement 0 return RustboroCity_Movement_14C74B:: @ 814C74B @@ -435,48 +435,48 @@ RustboroCity_Movement_14C74B:: @ 814C74B RustboroCity_EventScript_14C74D:: @ 814C74D lockall setvar 0x4001, 0 - jump RustboroCity_EventScript_14C77D + goto RustboroCity_EventScript_14C77D end RustboroCity_EventScript_14C759:: @ 814C759 lockall setvar 0x4001, 1 - jump RustboroCity_EventScript_14C77D + goto RustboroCity_EventScript_14C77D end RustboroCity_EventScript_14C765:: @ 814C765 lockall setvar 0x4001, 2 - jump RustboroCity_EventScript_14C77D + goto RustboroCity_EventScript_14C77D end RustboroCity_EventScript_14C771:: @ 814C771 lockall setvar 0x4001, 3 - jump RustboroCity_EventScript_14C77D + goto RustboroCity_EventScript_14C77D end RustboroCity_EventScript_14C77D:: @ 814C77D compare 0x4001, 0 - callif 1, RustboroCity_EventScript_14C7FE + call_if 1, RustboroCity_EventScript_14C7FE compare 0x4001, 1 - callif 1, RustboroCity_EventScript_14C82A + call_if 1, RustboroCity_EventScript_14C82A compare 0x4001, 2 - callif 1, RustboroCity_EventScript_14C856 + call_if 1, RustboroCity_EventScript_14C856 compare 0x4001, 3 - callif 1, RustboroCity_EventScript_14C882 + call_if 1, RustboroCity_EventScript_14C882 compare 0x4001, 4 - callif 1, RustboroCity_EventScript_14C8B8 + call_if 1, RustboroCity_EventScript_14C8B8 msgbox RustboroCity_Text_166FB4, 4 giveitem ITEM_GREAT_BALL compare RESULT, 0 - callif 1, RustboroCity_EventScript_14C7F5 + call_if 1, RustboroCity_EventScript_14C7F5 msgbox RustboroCity_Text_16707F, 4 - closebutton + closemessage setflag 144 setflag 732 setvar 0x405a, 5 - pause 30 + delay 30 warp RustboroCity_DevonCorp_3F, 255, 2, 2 waitstate releaseall @@ -487,75 +487,75 @@ RustboroCity_EventScript_14C7F5:: @ 814C7F5 return RustboroCity_EventScript_14C7FE:: @ 814C7FE - move 9, RustboroCity_Movement_1A0841 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 255, RustboroCity_Movement_1A0845 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0841 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0845 + waitmovement 0 return RustboroCity_EventScript_14C82A:: @ 814C82A - move 9, RustboroCity_Movement_1A0843 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 255, RustboroCity_Movement_1A083F - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0843 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A083F + waitmovement 0 return RustboroCity_EventScript_14C856:: @ 814C856 - move 9, RustboroCity_Movement_1A0845 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 255, RustboroCity_Movement_1A0841 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0845 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0841 + waitmovement 0 return RustboroCity_EventScript_14C882:: @ 814C882 - move 9, RustboroCity_Movement_1A0845 - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 - move 9, RustboroCity_Movement_14C74B - waitmove 0 - move 255, RustboroCity_Movement_1A0841 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A0845 + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 + applymovement 9, RustboroCity_Movement_14C74B + waitmovement 0 + applymovement 255, RustboroCity_Movement_1A0841 + waitmovement 0 return RustboroCity_EventScript_14C8B8:: @ 814C8B8 - move 9, RustboroCity_Movement_1A083F - waitmove 0 - playsfx 21 - move 9, RustboroCity_Movement_1A0833 - waitmove 0 - move 9, RustboroCity_Movement_1A0835 - waitmove 0 + applymovement 9, RustboroCity_Movement_1A083F + waitmovement 0 + playse 21 + applymovement 9, RustboroCity_Movement_1A0833 + waitmovement 0 + applymovement 9, RustboroCity_Movement_1A0835 + waitmovement 0 return RustboroCity_EventScript_14C8DA:: @ 814C8DA lock faceplayer checkflag 288 - jumpeq RustboroCity_EventScript_14C917 - checkgender + goto_if_eq RustboroCity_EventScript_14C917 + checkplayergender compare RESULT, 0 - jumpeq RustboroCity_EventScript_14C8FD + goto_if_eq RustboroCity_EventScript_14C8FD compare RESULT, 1 - jumpeq RustboroCity_EventScript_14C90A + goto_if_eq RustboroCity_EventScript_14C90A end RustboroCity_EventScript_14C8FD:: @ 814C8FD @@ -571,11 +571,11 @@ RustboroCity_EventScript_14C90A:: @ 814C90A end RustboroCity_EventScript_14C917:: @ 814C917 - checkgender + checkplayergender compare RESULT, 0 - jumpeq RustboroCity_EventScript_14C92F + goto_if_eq RustboroCity_EventScript_14C92F compare RESULT, 1 - jumpeq RustboroCity_EventScript_14C939 + goto_if_eq RustboroCity_EventScript_14C939 end RustboroCity_EventScript_14C92F:: @ 814C92F diff --git a/data/scripts/maps/RustboroCity_CuttersHouse.inc b/data/scripts/maps/RustboroCity_CuttersHouse.inc index d400de1ef..3e98746f3 100644 --- a/data/scripts/maps/RustboroCity_CuttersHouse.inc +++ b/data/scripts/maps/RustboroCity_CuttersHouse.inc @@ -5,7 +5,7 @@ RustboroCity_CuttersHouse_EventScript_157D27:: @ 8157D27 lock faceplayer checkflag 137 - jumpeq RustboroCity_CuttersHouse_EventScript_157D53 + goto_if_eq RustboroCity_CuttersHouse_EventScript_157D53 msgbox RustboroCity_CuttersHouse_Text_18509C, 4 giveitem ITEM_HM01 setflag 137 diff --git a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc index 97a59257f..48d8aaf9f 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc @@ -4,21 +4,21 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8157406 RustboroCity_DevonCorp_1F_MapScript1_15740C:: @ 815740C checkflag 144 - callif 0, RustboroCity_DevonCorp_1F_EventScript_157416 + call_if 0, RustboroCity_DevonCorp_1F_EventScript_157416 end RustboroCity_DevonCorp_1F_EventScript_157416:: @ 8157416 - movespriteperm 2, 14, 2 - spritebehave 2, 8 + setobjectxyperm 2, 14, 2 + setobjectmovementtype 2, 8 return RustboroCity_DevonCorp_1F_EventScript_157422:: @ 8157422 lock faceplayer checkflag 144 - jumpeq RustboroCity_DevonCorp_1F_EventScript_15744A + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15744A checkflag 142 - jumpeq RustboroCity_DevonCorp_1F_EventScript_157440 + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157440 msgbox RustboroCity_DevonCorp_1F_Text_1829A4, 4 release end @@ -37,11 +37,11 @@ RustboroCity_DevonCorp_1F_EventScript_157454:: @ 8157454 lock faceplayer checkflag 144 - jumpeq RustboroCity_DevonCorp_1F_EventScript_15747B + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_15747B checkflag 143 - jumpeq RustboroCity_DevonCorp_1F_EventScript_157485 + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485 checkflag 142 - jumpeq RustboroCity_DevonCorp_1F_EventScript_157485 + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_157485 msgbox RustboroCity_DevonCorp_1F_Text_182AF0, 4 release end @@ -60,11 +60,11 @@ RustboroCity_DevonCorp_1F_EventScript_15748F:: @ 815748F lock faceplayer checkflag 144 - jumpeq RustboroCity_DevonCorp_1F_EventScript_1574B6 + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574B6 checkflag 143 - jumpeq RustboroCity_DevonCorp_1F_EventScript_1574C0 + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0 checkflag 142 - jumpeq RustboroCity_DevonCorp_1F_EventScript_1574C0 + goto_if_eq RustboroCity_DevonCorp_1F_EventScript_1574C0 msgbox RustboroCity_DevonCorp_1F_Text_1828EE, 4 release end diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc index e35015b3e..f40c1b87b 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc @@ -4,7 +4,7 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 81574CA RustboroCity_DevonCorp_2F_MapScript1_1574D0:: @ 81574D0 compare 0x40c4, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC end RustboroCity_DevonCorp_2F_EventScript_1574DC:: @ 81574DC @@ -15,7 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_1574E2:: @ 81574E2 lock faceplayer compare 0x40c4, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC msgbox RustboroCity_DevonCorp_2F_Text_182B81, 4 release end @@ -24,9 +24,9 @@ RustboroCity_DevonCorp_2F_EventScript_1574F9:: @ 81574F9 lock faceplayer compare 0x40c4, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC checkflag 287 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157519 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157519 msgbox RustboroCity_DevonCorp_2F_Text_182BD8, 4 release end @@ -40,9 +40,9 @@ RustboroCity_DevonCorp_2F_EventScript_157523:: @ 8157523 lock faceplayer compare 0x40c4, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC checkflag 188 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157543 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157543 msgbox RustboroCity_DevonCorp_2F_Text_182D2A, 4 release end @@ -56,7 +56,7 @@ RustboroCity_DevonCorp_2F_EventScript_15754D:: @ 815754D lock faceplayer compare 0x40c4, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1574DC + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1574DC msgbox RustboroCity_DevonCorp_2F_Text_182E6B, 4 release end @@ -65,30 +65,30 @@ RustboroCity_DevonCorp_2F_EventScript_157564:: @ 8157564 lock faceplayer compare 0x40c4, 2 - jumpeq RustboroCity_DevonCorp_2F_EventScript_15764A + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_15764A compare 0x40c4, 1 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157640 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157640 msgbox RustboroCity_DevonCorp_2F_Text_182ED5, 4 checkitem ITEM_ROOT_FOSSIL, 1 compare RESULT, 1 - jumpeq RustboroCity_DevonCorp_2F_EventScript_1575A6 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_1575A6 checkitem ITEM_CLAW_FOSSIL, 1 compare RESULT, 1 - jumpeq RustboroCity_DevonCorp_2F_EventScript_1575EE + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_1575EE release end RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6 - closebutton - playsfx 21 - move 5, RustboroCity_DevonCorp_2F_Movement_1A0833 - waitmove 0 - move 5, RustboroCity_DevonCorp_2F_Movement_1A0835 - waitmove 0 + closemessage + playse 21 + applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0833 + waitmovement 0 + applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835 + waitmovement 0 msgbox RustboroCity_DevonCorp_2F_Text_182F35, 5 compare RESULT, 0 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157636 - bufferitem 0, ITEM_ROOT_FOSSIL + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157636 + getitemname 0, ITEM_ROOT_FOSSIL msgbox RustboroCity_DevonCorp_2F_Text_183023, 4 removeitem ITEM_ROOT_FOSSIL, 1 setvar 0x40c4, 1 @@ -97,16 +97,16 @@ RustboroCity_DevonCorp_2F_EventScript_1575A6:: @ 81575A6 end RustboroCity_DevonCorp_2F_EventScript_1575EE:: @ 81575EE - closebutton - playsfx 21 - move 5, RustboroCity_DevonCorp_2F_Movement_1A0833 - waitmove 0 - move 5, RustboroCity_DevonCorp_2F_Movement_1A0835 - waitmove 0 + closemessage + playse 21 + applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0833 + waitmovement 0 + applymovement 5, RustboroCity_DevonCorp_2F_Movement_1A0835 + waitmovement 0 msgbox RustboroCity_DevonCorp_2F_Text_182F35, 5 compare RESULT, 0 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157636 - bufferitem 0, ITEM_CLAW_FOSSIL + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157636 + getitemname 0, ITEM_CLAW_FOSSIL msgbox RustboroCity_DevonCorp_2F_Text_183023, 4 removeitem ITEM_CLAW_FOSSIL, 1 setvar 0x40c4, 1 @@ -126,48 +126,48 @@ RustboroCity_DevonCorp_2F_EventScript_157640:: @ 8157640 RustboroCity_DevonCorp_2F_EventScript_15764A:: @ 815764A compare 0x40c5, 1 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157661 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157661 compare 0x40c5, 2 - jumpeq RustboroCity_DevonCorp_2F_EventScript_1576B4 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_1576B4 end RustboroCity_DevonCorp_2F_EventScript_157661:: @ 8157661 - bufferpoke 1, SPECIES_LILEEP + getspeciesname 1, SPECIES_LILEEP msgbox RustboroCity_DevonCorp_2F_Text_183124, 4 countpokemon compare RESULT, 6 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157707 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157707 copyvar 0x8004, RESULT setvar 0x40c4, 0 setflag 267 - fanfare 370 + playfanfare 370 message RustboroCity_DevonCorp_2F_Text_18319E waitfanfare - waittext - givepokemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 + waitmessage + givepoke SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 msgbox RustboroCity_DevonCorp_2F_Text_1A1102, 5 compare RESULT, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 release end RustboroCity_DevonCorp_2F_EventScript_1576B4:: @ 81576B4 - bufferpoke 1, SPECIES_ANORITH + getspeciesname 1, SPECIES_ANORITH msgbox RustboroCity_DevonCorp_2F_Text_183124, 4 countpokemon compare RESULT, 6 - jumpeq RustboroCity_DevonCorp_2F_EventScript_157707 + goto_if_eq RustboroCity_DevonCorp_2F_EventScript_157707 copyvar 0x8004, RESULT setvar 0x40c4, 0 setflag 267 - fanfare 370 + playfanfare 370 message RustboroCity_DevonCorp_2F_Text_18319E waitfanfare - waittext - givepokemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 + waitmessage + givepoke SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 msgbox RustboroCity_DevonCorp_2F_Text_1A1102, 5 compare RESULT, 1 - callif 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_1A0678 release end diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc index 2b749c873..6f0152e60 100644 --- a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc +++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc @@ -6,12 +6,12 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 8157711 RustboroCity_DevonCorp_3F_MapScript1_157721:: @ 8157721 compare 0x408f, 0 - callif 1, RustboroCity_DevonCorp_3F_EventScript_15772D + call_if 1, RustboroCity_DevonCorp_3F_EventScript_15772D end RustboroCity_DevonCorp_3F_EventScript_15772D:: @ 815772D - movespriteperm 2, 3, 2 - spritebehave 2, 9 + setobjectxyperm 2, 3, 2 + setobjectmovementtype 2, 9 return RustboroCity_DevonCorp_3F_MapScript2_157739:: @ 8157739 @@ -19,7 +19,7 @@ RustboroCity_DevonCorp_3F_MapScript2_157739:: @ 8157739 .2byte 0 RustboroCity_DevonCorp_3F_EventScript_157743:: @ 8157743 - spriteface 255, 4 + turnobject 255, 4 end RustboroCity_DevonCorp_3F_MapScript2_157748:: @ 8157748 @@ -29,31 +29,31 @@ RustboroCity_DevonCorp_3F_MapScript2_157748:: @ 8157748 RustboroCity_DevonCorp_3F_EventScript_157752:: @ 8157752 lockall msgbox RustboroCity_DevonCorp_3F_Text_18374C, 4 - closebutton - move 2, RustboroCity_DevonCorp_3F_Movement_157815 - waitmove 0 - pause 80 - move 2, RustboroCity_DevonCorp_3F_Movement_15781E - waitmove 0 + closemessage + applymovement 2, RustboroCity_DevonCorp_3F_Movement_157815 + waitmovement 0 + delay 80 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_15781E + waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_183903, 4 - closebutton - playmusic 420, 0 - move 2, RustboroCity_DevonCorp_3F_Movement_157803 - move 255, RustboroCity_DevonCorp_3F_Movement_157827 - waitmove 0 + closemessage + playbgm 420, 0 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_157803 + applymovement 255, RustboroCity_DevonCorp_3F_Movement_157827 + waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_18394A, 4 - closebutton - fadedefault - move 2, RustboroCity_DevonCorp_3F_Movement_157812 - move 255, RustboroCity_DevonCorp_3F_Movement_157835 - waitmove 0 + closemessage + fadedefaultbgm + applymovement 2, RustboroCity_DevonCorp_3F_Movement_157812 + applymovement 255, RustboroCity_DevonCorp_3F_Movement_157835 + waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_18320B, 4 giveitem ITEM_LETTER msgbox RustboroCity_DevonCorp_3F_Text_18337E, 4 - fanfare 370 + playfanfare 370 message RustboroCity_DevonCorp_3F_Text_183422 waitfanfare - waittext + waitmessage setflag 2050 setflag 188 msgbox RustboroCity_DevonCorp_3F_Text_183439, 4 @@ -147,13 +147,13 @@ RustboroCity_DevonCorp_3F_EventScript_15783B:: @ 815783B lock faceplayer checkflag 272 - jumpeq RustboroCity_DevonCorp_3F_EventScript_15789B + goto_if_eq RustboroCity_DevonCorp_3F_EventScript_15789B checkflag 189 - jumpeq RustboroCity_DevonCorp_3F_EventScript_157864 + goto_if_eq RustboroCity_DevonCorp_3F_EventScript_157864 msgbox RustboroCity_DevonCorp_3F_Text_18351E, 4 - closebutton - move LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D + waitmovement 0 release end @@ -161,20 +161,20 @@ RustboroCity_DevonCorp_3F_EventScript_157864:: @ 8157864 msgbox RustboroCity_DevonCorp_3F_Text_18353E, 4 giveitem ITEM_EXP_SHARE compare RESULT, 0 - jumpeq RustboroCity_DevonCorp_3F_EventScript_1A029B + goto_if_eq RustboroCity_DevonCorp_3F_EventScript_1A029B setflag 272 msgbox RustboroCity_DevonCorp_3F_Text_1835B3, 4 - closebutton - move LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D + waitmovement 0 release end RustboroCity_DevonCorp_3F_EventScript_15789B:: @ 815789B msgbox RustboroCity_DevonCorp_3F_Text_18368D, 4 - closebutton - move LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_1A083D + waitmovement 0 release end @@ -182,7 +182,7 @@ RustboroCity_DevonCorp_3F_EventScript_1578B0:: @ 81578B0 lock faceplayer checkflag 256 - jumpeq RustboroCity_DevonCorp_3F_EventScript_1578C5 + goto_if_eq RustboroCity_DevonCorp_3F_EventScript_1578C5 msgbox RustboroCity_DevonCorp_3F_Text_18395C, 4 release end diff --git a/data/scripts/maps/RustboroCity_Flat2_1F.inc b/data/scripts/maps/RustboroCity_Flat2_1F.inc index 5aa91d5d1..b6b8b41b1 100644 --- a/data/scripts/maps/RustboroCity_Flat2_1F.inc +++ b/data/scripts/maps/RustboroCity_Flat2_1F.inc @@ -8,8 +8,8 @@ RustboroCity_Flat2_1F_EventScript_157D7A:: @ 8157D7A RustboroCity_Flat2_1F_EventScript_157D83:: @ 8157D83 lock faceplayer - checksound - pokecry SPECIES_SKITTY, 0 + waitse + playpokecry SPECIES_SKITTY, 0 msgbox RustboroCity_Flat2_1F_Text_185410, 4 waitpokecry release diff --git a/data/scripts/maps/RustboroCity_Flat2_2F.inc b/data/scripts/maps/RustboroCity_Flat2_2F.inc index d6e0c92b3..0dfec5cfa 100644 --- a/data/scripts/maps/RustboroCity_Flat2_2F.inc +++ b/data/scripts/maps/RustboroCity_Flat2_2F.inc @@ -9,11 +9,11 @@ RustboroCity_Flat2_2F_EventScript_157DA0:: @ 8157DA0 lock faceplayer checkflag 213 - jumpeq RustboroCity_Flat2_2F_EventScript_157DCF + goto_if_eq RustboroCity_Flat2_2F_EventScript_157DCF msgbox RustboroCity_Flat2_2F_Text_185461, 4 giveitem ITEM_PREMIER_BALL compare RESULT, 0 - jumpeq RustboroCity_Flat2_2F_EventScript_1A029B + goto_if_eq RustboroCity_Flat2_2F_EventScript_1A029B setflag 213 release end diff --git a/data/scripts/maps/RustboroCity_Gym.inc b/data/scripts/maps/RustboroCity_Gym.inc index e4f91f82e..b1bbfb8d8 100644 --- a/data/scripts/maps/RustboroCity_Gym.inc +++ b/data/scripts/maps/RustboroCity_Gym.inc @@ -4,14 +4,14 @@ RustboroCity_Gym_MapScripts:: @ 81578D8 RustboroCity_Gym_EventScript_1578D9:: @ 81578D9 trainerbattle 1, OPPONENT_ROXANNE, 0, RustboroCity_Gym_Text_183EE5, RustboroCity_Gym_Text_183FC4, RustboroCity_Gym_EventScript_1578FE checkflag 165 - jumpif 0, RustboroCity_Gym_EventScript_15793C + goto_if 0, RustboroCity_Gym_EventScript_15793C msgbox RustboroCity_Gym_Text_184252, 4 release end RustboroCity_Gym_EventScript_1578FE:: @ 81578FE message RustboroCity_Gym_Text_1840AB - waittext + waitmessage call RustboroCity_Gym_EventScript_1A02C5 msgbox RustboroCity_Gym_Text_1840D5, 4 setflag 1201 @@ -21,14 +21,14 @@ RustboroCity_Gym_EventScript_1578FE:: @ 81578FE setvar 0x8008, 1 call RustboroCity_Gym_EventScript_1A01C0 compare 0x4085, 6 - callif 1, RustboroCity_Gym_EventScript_1A00FB - jump RustboroCity_Gym_EventScript_15793C + call_if 1, RustboroCity_Gym_EventScript_1A00FB + goto RustboroCity_Gym_EventScript_15793C end RustboroCity_Gym_EventScript_15793C:: @ 815793C giveitem ITEM_TM39 compare RESULT, 0 - jumpeq RustboroCity_Gym_EventScript_1A029B + goto_if_eq RustboroCity_Gym_EventScript_1A029B setflag 165 msgbox RustboroCity_Gym_Text_184170, 4 release @@ -48,7 +48,7 @@ RustboroCity_Gym_EventScript_15798E:: @ 815798E lock faceplayer checkflag 1201 - jumpeq RustboroCity_Gym_EventScript_1579A3 + goto_if_eq RustboroCity_Gym_EventScript_1579A3 msgbox RustboroCity_Gym_Text_183A4B, 4 release end @@ -61,15 +61,15 @@ RustboroCity_Gym_EventScript_1579A3:: @ 81579A3 RustboroCity_Gym_EventScript_1579AD:: @ 81579AD lockall checkflag 2055 - jumpeq RustboroCity_Gym_EventScript_1579CD - jump RustboroCity_Gym_EventScript_1579D7 + goto_if_eq RustboroCity_Gym_EventScript_1579CD + goto RustboroCity_Gym_EventScript_1579D7 end RustboroCity_Gym_EventScript_1579BD:: @ 81579BD lockall checkflag 2055 - jumpeq RustboroCity_Gym_EventScript_1579CD - jump RustboroCity_Gym_EventScript_1579D7 + goto_if_eq RustboroCity_Gym_EventScript_1579CD + goto RustboroCity_Gym_EventScript_1579D7 end RustboroCity_Gym_EventScript_1579CD:: @ 81579CD diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc index 402fff1d3..b983617e0 100644 --- a/data/scripts/maps/RustboroCity_House1.inc +++ b/data/scripts/maps/RustboroCity_House1.inc @@ -5,24 +5,24 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D lock faceplayer checkflag 153 - jumpeq RustboroCity_House1_EventScript_157D13 + goto_if_eq RustboroCity_House1_EventScript_157D13 setvar 0x8008, 0 copyvar 0x8004, 0x8008 - specialval RESULT, sub_804D89C + specialvar RESULT, sub_804D89C copyvar 0x8009, RESULT msgbox RustboroCity_House1_Text_184EBA, 5 compare RESULT, 0 - jumpeq RustboroCity_House1_EventScript_157CFB + goto_if_eq RustboroCity_House1_EventScript_157CFB special sub_80F9A0C waitstate copyvar 0x800a, 0x8004 compare 0x8004, 255 - jumpeq RustboroCity_House1_EventScript_157CFB + goto_if_eq RustboroCity_House1_EventScript_157CFB copyvar 0x8005, 0x800a - specialval RESULT, sub_804DB2C + specialvar RESULT, sub_804DB2C copyvar 0x800b, RESULT - comparevars RESULT, 0x8009 - jumpif 5, RustboroCity_House1_EventScript_157D05 + compare RESULT, 0x8009 + goto_if 5, RustboroCity_House1_EventScript_157D05 copyvar 0x8004, 0x8008 copyvar 0x8005, 0x800a special sub_804DB68 @@ -39,7 +39,7 @@ RustboroCity_House1_EventScript_157CFB:: @ 8157CFB end RustboroCity_House1_EventScript_157D05:: @ 8157D05 - bufferpoke 0, 0x8009 + getspeciesname 0, 0x8009 msgbox RustboroCity_House1_Text_184F8F, 4 release end diff --git a/data/scripts/maps/RustboroCity_House3.inc b/data/scripts/maps/RustboroCity_House3.inc index 0e81ed158..a5088175e 100644 --- a/data/scripts/maps/RustboroCity_House3.inc +++ b/data/scripts/maps/RustboroCity_House3.inc @@ -12,8 +12,8 @@ RustboroCity_House3_EventScript_157DF6:: @ 8157DF6 RustboroCity_House3_EventScript_157DFF:: @ 8157DFF lock faceplayer - checksound - pokecry SPECIES_PIKACHU, 0 + waitse + playpokecry SPECIES_PIKACHU, 0 msgbox RustboroCity_House3_Text_18567D, 4 waitpokecry release diff --git a/data/scripts/maps/RustboroCity_Mart.inc b/data/scripts/maps/RustboroCity_Mart.inc index 6b4ff3a77..cb722a6af 100644 --- a/data/scripts/maps/RustboroCity_Mart.inc +++ b/data/scripts/maps/RustboroCity_Mart.inc @@ -5,11 +5,11 @@ RustboroCity_Mart_EventScript_157BD4:: @ 8157BD4 lock faceplayer message RustboroCity_Mart_Text_1A0BE4 - waittext + waitmessage checkflag 287 - jumpif 0, RustboroCity_Mart_EventScript_157BEF + goto_if 0, RustboroCity_Mart_EventScript_157BEF checkflag 287 - jumpeq RustboroCity_Mart_EventScript_157C18 + goto_if_eq RustboroCity_Mart_EventScript_157C18 end RustboroCity_Mart_EventScript_157BEF:: @ 8157BEF diff --git a/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc index 896e8e220..53b481832 100644 --- a/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ RustboroCity_PokemonCenter_1F_MapScript1_157B7F:: @ 8157B7F RustboroCity_PokemonCenter_1F_EventScript_157B88:: @ 8157B88 setvar 0x800b, 1 call RustboroCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/RustboroCity_PokemonSchool.inc b/data/scripts/maps/RustboroCity_PokemonSchool.inc index 8b037a3e7..73b364f5e 100644 --- a/data/scripts/maps/RustboroCity_PokemonSchool.inc +++ b/data/scripts/maps/RustboroCity_PokemonSchool.inc @@ -4,13 +4,13 @@ RustboroCity_PokemonSchool_MapScripts:: @ 81579E1 RustboroCity_PokemonSchool_EventScript_1579E2:: @ 81579E2 lockall msgbox RustboroCity_PokemonSchool_Text_184321, 4 - jump RustboroCity_PokemonSchool_EventScript_1579F1 + goto RustboroCity_PokemonSchool_EventScript_1579F1 end RustboroCity_PokemonSchool_EventScript_1579F1:: @ 81579F1 message RustboroCity_PokemonSchool_Text_184368 - waittext - multichoicerow 8, 1, 13, 3, 0 + waitmessage + multichoicegrid 8, 1, 13, 3, 0 switch RESULT case 0, RustboroCity_PokemonSchool_EventScript_157A50 case 1, RustboroCity_PokemonSchool_EventScript_157A5E @@ -23,27 +23,27 @@ RustboroCity_PokemonSchool_EventScript_1579F1:: @ 81579F1 RustboroCity_PokemonSchool_EventScript_157A50:: @ 8157A50 msgbox RustboroCity_PokemonSchool_Text_184389, 4 - jump RustboroCity_PokemonSchool_EventScript_1579F1 + goto RustboroCity_PokemonSchool_EventScript_1579F1 end RustboroCity_PokemonSchool_EventScript_157A5E:: @ 8157A5E msgbox RustboroCity_PokemonSchool_Text_184447, 4 - jump RustboroCity_PokemonSchool_EventScript_1579F1 + goto RustboroCity_PokemonSchool_EventScript_1579F1 end RustboroCity_PokemonSchool_EventScript_157A6C:: @ 8157A6C msgbox RustboroCity_PokemonSchool_Text_1844EC, 4 - jump RustboroCity_PokemonSchool_EventScript_1579F1 + goto RustboroCity_PokemonSchool_EventScript_1579F1 end RustboroCity_PokemonSchool_EventScript_157A7A:: @ 8157A7A msgbox RustboroCity_PokemonSchool_Text_1845A5, 4 - jump RustboroCity_PokemonSchool_EventScript_1579F1 + goto RustboroCity_PokemonSchool_EventScript_1579F1 end RustboroCity_PokemonSchool_EventScript_157A88:: @ 8157A88 msgbox RustboroCity_PokemonSchool_Text_184627, 4 - jump RustboroCity_PokemonSchool_EventScript_1579F1 + goto RustboroCity_PokemonSchool_EventScript_1579F1 end RustboroCity_PokemonSchool_EventScript_157A96:: @ 8157A96 @@ -78,37 +78,37 @@ RustboroCity_PokemonSchool_EventScript_157ACE:: @ 8157ACE lock faceplayer checkflag 275 - jumpeq RustboroCity_PokemonSchool_EventScript_157B34 + goto_if_eq RustboroCity_PokemonSchool_EventScript_157B34 compare FACING, 4 - callif 1, RustboroCity_PokemonSchool_EventScript_157B1E + call_if 1, RustboroCity_PokemonSchool_EventScript_157B1E compare FACING, 3 - callif 1, RustboroCity_PokemonSchool_EventScript_157B29 + call_if 1, RustboroCity_PokemonSchool_EventScript_157B29 msgbox RustboroCity_PokemonSchool_Text_1846A2, 4 giveitem ITEM_QUICK_CLAW compare RESULT, 0 - jumpeq RustboroCity_PokemonSchool_EventScript_1A029B - closebutton - move LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845 - waitmove 0 + goto_if_eq RustboroCity_PokemonSchool_EventScript_1A029B + closemessage + applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845 + waitmovement 0 setflag 275 release end RustboroCity_PokemonSchool_EventScript_157B1E:: @ 8157B1E - move LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B60 - waitmove 0 + applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B60 + waitmovement 0 return RustboroCity_PokemonSchool_EventScript_157B29:: @ 8157B29 - move LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B49 - waitmove 0 + applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_157B49 + waitmovement 0 return RustboroCity_PokemonSchool_EventScript_157B34:: @ 8157B34 msgbox RustboroCity_PokemonSchool_Text_184737, 4 - closebutton - move LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845 - waitmove 0 + closemessage + applymovement LAST_TALKED, RustboroCity_PokemonSchool_Movement_1A0845 + waitmovement 0 release end diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc index 129bef7c9..28f6f0ad4 100644 --- a/data/scripts/maps/RusturfTunnel.inc +++ b/data/scripts/maps/RusturfTunnel.inc @@ -11,21 +11,21 @@ RusturfTunnel_MapScript2_15C750:: @ 815C750 RusturfTunnel_MapScript1_15C762:: @ 815C762 call RusturfTunnel_EventScript_1A0196 compare 0x409a, 2 - callif 1, RusturfTunnel_EventScript_15C773 + call_if 1, RusturfTunnel_EventScript_15C773 end RusturfTunnel_EventScript_15C773:: @ 815C773 - movespriteperm 7, 13, 4 - movespriteperm 6, 13, 5 + setobjectxyperm 7, 13, 4 + setobjectxyperm 6, 13, 5 return RusturfTunnel_EventScript_15C782:: @ 815C782 lock faceplayer msgbox RusturfTunnel_Text_194766, 4 - closebutton - move LAST_TALKED, RusturfTunnel_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, RusturfTunnel_Movement_1A083D + waitmovement 0 release end @@ -33,126 +33,126 @@ RusturfTunnel_EventScript_15C799:: @ 815C799 lock faceplayer checkflag 1 - jumpeq RusturfTunnel_EventScript_15C7BC + goto_if_eq RusturfTunnel_EventScript_15C7BC setflag 1 msgbox RusturfTunnel_Text_1944C5, 4 - closebutton - move LAST_TALKED, RusturfTunnel_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, RusturfTunnel_Movement_1A083D + waitmovement 0 release end RusturfTunnel_EventScript_15C7BC:: @ 815C7BC msgbox RusturfTunnel_Text_1945B2, 4 - closebutton - move LAST_TALKED, RusturfTunnel_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, RusturfTunnel_Movement_1A083D + waitmovement 0 release end RusturfTunnel_EventScript_15C7D1:: @ 815C7D1 lockall compare 0x4001, 1 - callif 1, RusturfTunnel_EventScript_15C8CA + call_if 1, RusturfTunnel_EventScript_15C8CA compare 0x4001, 2 - callif 1, RusturfTunnel_EventScript_15C8DF + call_if 1, RusturfTunnel_EventScript_15C8DF compare 0x4001, 3 - callif 1, RusturfTunnel_EventScript_15C8EA + call_if 1, RusturfTunnel_EventScript_15C8EA call RusturfTunnel_EventScript_15C92D msgbox RusturfTunnel_Text_19461D, 4 compare 0x4001, 2 - callif 1, RusturfTunnel_EventScript_15C8EB + call_if 1, RusturfTunnel_EventScript_15C8EB compare 0x4001, 3 - callif 1, RusturfTunnel_EventScript_15C8EB + call_if 1, RusturfTunnel_EventScript_15C8EB giveitem ITEM_HM04 setflag 106 msgbox RusturfTunnel_Text_194693, 4 - closebutton + closemessage compare 0x4001, 1 - callif 1, RusturfTunnel_EventScript_15C880 + call_if 1, RusturfTunnel_EventScript_15C880 compare 0x4001, 2 - callif 1, RusturfTunnel_EventScript_15C892 + call_if 1, RusturfTunnel_EventScript_15C892 compare 0x4001, 3 - callif 1, RusturfTunnel_EventScript_15C8AE + call_if 1, RusturfTunnel_EventScript_15C8AE msgbox RusturfTunnel_Text_194706, 4 - closebutton + closemessage compare 0x4001, 1 - callif 1, RusturfTunnel_EventScript_15C8F7 + call_if 1, RusturfTunnel_EventScript_15C8F7 compare 0x4001, 2 - callif 1, RusturfTunnel_EventScript_15C909 + call_if 1, RusturfTunnel_EventScript_15C909 compare 0x4001, 3 - callif 1, RusturfTunnel_EventScript_15C91B + call_if 1, RusturfTunnel_EventScript_15C91B call RusturfTunnel_EventScript_1A0442 releaseall end RusturfTunnel_EventScript_15C880:: @ 815C880 - move 255, RusturfTunnel_Movement_15C96A - move 1, RusturfTunnel_Movement_15C98F - waitmove 0 + applymovement 255, RusturfTunnel_Movement_15C96A + applymovement 1, RusturfTunnel_Movement_15C98F + waitmovement 0 return RusturfTunnel_EventScript_15C892:: @ 815C892 - move 255, RusturfTunnel_Movement_15C96D - move 1, RusturfTunnel_Movement_15C994 - waitmove 0 - move 10, RusturfTunnel_Movement_1A0845 - waitmove 0 + applymovement 255, RusturfTunnel_Movement_15C96D + applymovement 1, RusturfTunnel_Movement_15C994 + waitmovement 0 + applymovement 10, RusturfTunnel_Movement_1A0845 + waitmovement 0 return RusturfTunnel_EventScript_15C8AE:: @ 815C8AE - move 255, RusturfTunnel_Movement_15C96D - move 1, RusturfTunnel_Movement_15C994 - waitmove 0 - move 10, RusturfTunnel_Movement_1A0845 - waitmove 0 + applymovement 255, RusturfTunnel_Movement_15C96D + applymovement 1, RusturfTunnel_Movement_15C994 + waitmovement 0 + applymovement 10, RusturfTunnel_Movement_1A0845 + waitmovement 0 return RusturfTunnel_EventScript_15C8CA:: @ 815C8CA - move 1, RusturfTunnel_Movement_1A0841 - waitmove 0 - move 255, RusturfTunnel_Movement_1A0845 - waitmove 0 + applymovement 1, RusturfTunnel_Movement_1A0841 + waitmovement 0 + applymovement 255, RusturfTunnel_Movement_1A0845 + waitmovement 0 return RusturfTunnel_EventScript_15C8DF:: @ 815C8DF - move 1, RusturfTunnel_Movement_15C970 - waitmove 0 + applymovement 1, RusturfTunnel_Movement_15C970 + waitmovement 0 return RusturfTunnel_EventScript_15C8EA:: @ 815C8EA return RusturfTunnel_EventScript_15C8EB:: @ 815C8EB - closebutton - move 1, RusturfTunnel_Movement_15C98D - waitmove 0 + closemessage + applymovement 1, RusturfTunnel_Movement_15C98D + waitmovement 0 return RusturfTunnel_EventScript_15C8F7:: @ 815C8F7 - move 10, RusturfTunnel_Movement_15C945 - move 1, RusturfTunnel_Movement_15C973 - waitmove 0 + applymovement 10, RusturfTunnel_Movement_15C945 + applymovement 1, RusturfTunnel_Movement_15C973 + waitmovement 0 return RusturfTunnel_EventScript_15C909:: @ 815C909 - move 10, RusturfTunnel_Movement_15C951 - move 1, RusturfTunnel_Movement_15C980 - waitmove 0 + applymovement 10, RusturfTunnel_Movement_15C951 + applymovement 1, RusturfTunnel_Movement_15C980 + waitmovement 0 return RusturfTunnel_EventScript_15C91B:: @ 815C91B - move 10, RusturfTunnel_Movement_15C951 - move 1, RusturfTunnel_Movement_15C980 - waitmove 0 + applymovement 10, RusturfTunnel_Movement_15C951 + applymovement 1, RusturfTunnel_Movement_15C980 + waitmovement 0 return RusturfTunnel_EventScript_15C92D:: @ 815C92D - playsfx 21 - move 1, RusturfTunnel_Movement_1A0833 - waitmove 0 - move 1, RusturfTunnel_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 1, RusturfTunnel_Movement_1A0833 + waitmovement 0 + applymovement 1, RusturfTunnel_Movement_1A0835 + waitmovement 0 return RusturfTunnel_Movement_15C945:: @ 815C945 @@ -280,12 +280,12 @@ RusturfTunnel_EventScript_15C9A5:: @ 815C9A5 RusturfTunnel_EventScript_15C9AB:: @ 815C9AB lockall msgbox RusturfTunnel_Text_194159, 4 - closebutton - move 6, RusturfTunnel_Movement_15C9D3 - move 7, RusturfTunnel_Movement_15C9D3 - waitmove 0 - moveoffscreen 6 - moveoffscreen 7 + closemessage + applymovement 6, RusturfTunnel_Movement_15C9D3 + applymovement 7, RusturfTunnel_Movement_15C9D3 + waitmovement 0 + moveobjectoffscreen 6 + moveobjectoffscreen 7 setvar 0x409a, 3 releaseall end @@ -299,8 +299,8 @@ RusturfTunnel_Movement_15C9D3:: @ 815C9D3 RusturfTunnel_EventScript_15C9D7:: @ 815C9D7 lock faceplayer - checksound - pokecry SPECIES_WINGULL, 0 + waitse + playpokecry SPECIES_WINGULL, 0 msgbox RusturfTunnel_Text_194188, 4 waitpokecry release @@ -309,38 +309,38 @@ RusturfTunnel_EventScript_15C9D7:: @ 815C9D7 RusturfTunnel_EventScript_15C9EA:: @ 815C9EA lock faceplayer - playmusic BGM_EVIL_TEAM, 0 + playbgm BGM_EVIL_TEAM, 0 msgbox RusturfTunnel_Text_19419B, 4 trainerbattle 3, OPPONENT_RUSTURF_TUNNEL_GRUNT, 0, RusturfTunnel_Text_194243 msgbox RusturfTunnel_Text_194274, 4 giveitem ITEM_DEVON_GOODS - closebutton - move 255, RusturfTunnel_Movement_15CA99 - move 6, RusturfTunnel_Movement_15CAA2 - waitmove 0 - disappear 6 - pause 50 - reappear 5 - move 5, RusturfTunnel_Movement_15CAAC - waitmove 0 - move 255, RusturfTunnel_Movement_15CA9F - move 5, RusturfTunnel_Movement_15CAC0 - waitmove 0 + closemessage + applymovement 255, RusturfTunnel_Movement_15CA99 + applymovement 6, RusturfTunnel_Movement_15CAA2 + waitmovement 0 + removeobject 6 + delay 50 + addobject 5 + applymovement 5, RusturfTunnel_Movement_15CAAC + waitmovement 0 + applymovement 255, RusturfTunnel_Movement_15CA9F + applymovement 5, RusturfTunnel_Movement_15CAC0 + waitmovement 0 msgbox RusturfTunnel_Text_19432A, 4 - move 5, RusturfTunnel_Movement_1A0839 - waitmove 0 + applymovement 5, RusturfTunnel_Movement_1A0839 + waitmovement 0 message RusturfTunnel_Text_19434F - waittext - checksound - pokecry SPECIES_WINGULL, 0 + waitmessage + waitse + playpokecry SPECIES_WINGULL, 0 waitbutton waitpokecry - closebutton - move 5, RusturfTunnel_Movement_15CAB4 - move 7, RusturfTunnel_Movement_15CAC3 - waitmove 0 - disappear 5 - disappear 7 + closemessage + applymovement 5, RusturfTunnel_Movement_15CAB4 + applymovement 7, RusturfTunnel_Movement_15CAC3 + waitmovement 0 + removeobject 5 + removeobject 7 clearflag 142 setflag 143 setvar 0x405a, 4 diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc index 58cfbec47..2c55a9443 100644 --- a/data/scripts/maps/SSTidalCorridor.inc +++ b/data/scripts/maps/SSTidalCorridor.inc @@ -13,7 +13,7 @@ SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC special SetSSTidalFlag setvar 0x40b4, 2 lockall - playsfx 73 + playse 73 msgbox SSTidalCorridor_Text_199007, 4 releaseall end @@ -21,7 +21,7 @@ SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2 setvar 0x40b4, 6 lockall - playsfx 73 + playse 73 msgbox SSTidalCorridor_Text_199088, 4 releaseall end @@ -29,29 +29,29 @@ SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2 SSTidalRooms_EventScript_15FCE5:: @ 815FCE5 special SetSSTidalFlag setvar 0x40b4, 7 - playsfx 73 + playse 73 msgbox SSTidalRooms_Text_199007, 4 return SSTidalRooms_EventScript_15FCF9:: @ 815FCF9 special ResetSSTidalFlag setvar 0x40b4, 4 - playsfx 73 + playse 73 msgbox SSTidalRooms_Text_1990F8, 4 return gUnknown_0815FD0D:: @ 815FD0D compare 0x40B4, 2 - jumpeq SSTidalCorridor_EventScript_15FD24 + goto_if_eq SSTidalCorridor_EventScript_15FD24 compare 0x40B4, 7 - jumpeq SSTidalCorridor_EventScript_15FD3A + goto_if_eq SSTidalCorridor_EventScript_15FD3A end SSTidalCorridor_EventScript_15FD24:: @ 815FD24 special ResetSSTidalFlag setvar 0x40b4, 3 lockall - playsfx 73 + playse 73 msgbox SSTidalCorridor_Text_199088, 4 releaseall end @@ -60,7 +60,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A special ResetSSTidalFlag setvar 0x40b4, 8 lockall - playsfx 73 + playse 73 msgbox SSTidalCorridor_Text_1990B4, 4 releaseall end @@ -68,7 +68,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A SSTidalRooms_EventScript_15FD50:: @ 815FD50 special ResetSSTidalFlag setvar 0x40b4, 8 - playsfx 73 + playse 73 msgbox SSTidalRooms_Text_1990B4, 4 return @@ -87,8 +87,8 @@ SSTidalCorridor_EventScript_15FD96:: @ 815FD96 SSTidalCorridor_EventScript_15FD9F:: @ 815FD9F lock faceplayer - checksound - pokecry SPECIES_WINGULL, 0 + waitse + playpokecry SPECIES_WINGULL, 0 msgbox SSTidalCorridor_Text_199388, 4 waitpokecry release @@ -114,9 +114,9 @@ SSTidalCorridor_EventScript_15FDD6:: @ 815FDD6 lock faceplayer compare 0x40b4, 4 - jumpeq SSTidalCorridor_EventScript_15FDF8 + goto_if_eq SSTidalCorridor_EventScript_15FDF8 compare 0x40b4, 8 - jumpeq SSTidalCorridor_EventScript_15FE17 + goto_if_eq SSTidalCorridor_EventScript_15FE17 msgbox SSTidalCorridor_Text_19913B, 4 release end @@ -125,7 +125,7 @@ SSTidalCorridor_EventScript_15FDF8:: @ 815FDF8 sethealplace 8 msgbox SSTidalCorridor_Text_1991F4, 4 checkflag 260 - callif 1, SSTidalCorridor_EventScript_15FE36 + call_if 1, SSTidalCorridor_EventScript_15FE36 warp LilycoveCity_Harbor, 255, 8, 11 waitstate release @@ -135,7 +135,7 @@ SSTidalCorridor_EventScript_15FE17:: @ 815FE17 sethealplace 4 msgbox SSTidalCorridor_Text_1991F4, 4 checkflag 260 - callif 1, SSTidalCorridor_EventScript_15FE36 + call_if 1, SSTidalCorridor_EventScript_15FE36 warp SlateportCity_Harbor, 255, 8, 11 waitstate release @@ -148,9 +148,9 @@ SSTidalCorridor_EventScript_15FE36:: @ 815FE36 SSTidalCorridor_EventScript_15FE3A:: @ 815FE3A lockall compare 0x40b4, 2 - jumpeq SSTidalCorridor_EventScript_15FE5B + goto_if_eq SSTidalCorridor_EventScript_15FE5B compare 0x40b4, 7 - jumpeq SSTidalCorridor_EventScript_15FE5B + goto_if_eq SSTidalCorridor_EventScript_15FE5B msgbox SSTidalCorridor_Text_199268, 4 releaseall end @@ -164,7 +164,7 @@ SSTidalCorridor_EventScript_15FE60:: @ 815FE60 lock faceplayer checkflag 247 - jumpeq SSTidalCorridor_EventScript_15FE7A + goto_if_eq SSTidalCorridor_EventScript_15FE7A call SSTidalCorridor_EventScript_15FE84 msgbox SSTidalCorridor_Text_199203, 4 release @@ -177,23 +177,23 @@ SSTidalCorridor_EventScript_15FE7A:: @ 815FE7A SSTidalCorridor_EventScript_15FE84:: @ 815FE84 checktrainerflag OPPONENT_PHILLIP - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_LEONARD - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_COLTON - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_TUCKER - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_THOMAS - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_LEA_AND_JED - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_GARRET - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 checktrainerflag OPPONENT_ANETTE - jumpif 0, SSTidalCorridor_EventScript_15FED5 + goto_if 0, SSTidalCorridor_EventScript_15FED5 setflag 247 - jump SSTidalCorridor_EventScript_15FE7A + goto SSTidalCorridor_EventScript_15FE7A return SSTidalCorridor_EventScript_15FED5:: @ 815FED5 diff --git a/data/scripts/maps/SSTidalRooms.inc b/data/scripts/maps/SSTidalRooms.inc index 4d588cd46..c7cd4447d 100644 --- a/data/scripts/maps/SSTidalRooms.inc +++ b/data/scripts/maps/SSTidalRooms.inc @@ -5,11 +5,11 @@ SSTidalRooms_EventScript_15FF06:: @ 815FF06 lock faceplayer checkflag 260 - jumpeq SSTidalRooms_EventScript_15FF3D + goto_if_eq SSTidalRooms_EventScript_15FF3D msgbox SSTidalRooms_Text_199B65, 4 giveitem ITEM_TM49 compare RESULT, 0 - jumpeq SSTidalRooms_EventScript_1A029B + goto_if_eq SSTidalRooms_EventScript_1A029B setflag 260 msgbox SSTidalRooms_Text_199C1A, 4 release @@ -23,7 +23,7 @@ SSTidalRooms_EventScript_15FF3D:: @ 815FF3D SSTidalRooms_EventScript_15FF47:: @ 815FF47 lockall msgbox SSTidalRooms_Text_19956B, 4 - closebutton + closemessage call SSTidalRooms_EventScript_1A02CA call SSTidalRooms_EventScript_15FD64 releaseall diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc index 22fd5ec56..06a400810 100644 --- a/data/scripts/maps/SafariZone_Southeast.inc +++ b/data/scripts/maps/SafariZone_Southeast.inc @@ -10,22 +10,22 @@ SafariZone_Southeast_MapScript2_160041:: @ 8160041 SafariZone_Southeast_EventScript_16004B:: @ 816004B lockall setvar 0x4001, 0 - move 255, SafariZone_Southeast_Movement_160087 - waitmove 0 - move 1, SafariZone_Southeast_Movement_160089 - waitmove 0 - movespriteperm 1, 32, 34 + applymovement 255, SafariZone_Southeast_Movement_160087 + waitmovement 0 + applymovement 1, SafariZone_Southeast_Movement_160089 + waitmovement 0 + setobjectxyperm 1, 32, 34 setvar 0x40a4, 0 releaseall end SafariZone_Southeast_MapScript1_160073:: @ 8160073 compare 0x40a4, 2 - callif 1, SafariZone_Southeast_EventScript_16007F + call_if 1, SafariZone_Southeast_EventScript_16007F end SafariZone_Southeast_EventScript_16007F:: @ 816007F - movespriteperm 1, 31, 34 + setobjectxyperm 1, 31, 34 return SafariZone_Southeast_Movement_160087:: @ 8160087 @@ -53,10 +53,10 @@ SafariZone_Southeast_EventScript_1600A7:: @ 81600A7 lock faceplayer compare 0x4001, 0 - jumpeq SafariZone_Southeast_EventScript_1600D1 + goto_if_eq SafariZone_Southeast_EventScript_1600D1 msgbox SafariZone_Southeast_Text_1C3A56, 5 compare RESULT, 1 - jumpeq SafariZone_Southeast_EventScript_1600E0 + goto_if_eq SafariZone_Southeast_EventScript_1600E0 msgbox SafariZone_Southeast_Text_1C3A9C, 4 release end @@ -69,32 +69,32 @@ SafariZone_Southeast_EventScript_1600D1:: @ 81600D1 SafariZone_Southeast_EventScript_1600E0:: @ 81600E0 msgbox SafariZone_Southeast_Text_1C3ACA, 4 - closebutton + closemessage switch FACING case 2, SafariZone_Southeast_EventScript_160105 case 4, SafariZone_Southeast_EventScript_16011F end SafariZone_Southeast_EventScript_160105:: @ 8160105 - move 1, SafariZone_Southeast_Movement_160150 - waitmove 0 - move 255, SafariZone_Southeast_Movement_16014B - waitmove 0 - jump SafariZone_Southeast_EventScript_160139 + applymovement 1, SafariZone_Southeast_Movement_160150 + waitmovement 0 + applymovement 255, SafariZone_Southeast_Movement_16014B + waitmovement 0 + goto SafariZone_Southeast_EventScript_160139 end SafariZone_Southeast_EventScript_16011F:: @ 816011F - move 1, SafariZone_Southeast_Movement_160153 - waitmove 0 - move 255, SafariZone_Southeast_Movement_16014D - waitmove 0 - jump SafariZone_Southeast_EventScript_160139 + applymovement 1, SafariZone_Southeast_Movement_160153 + waitmovement 0 + applymovement 255, SafariZone_Southeast_Movement_16014D + waitmovement 0 + goto SafariZone_Southeast_EventScript_160139 end SafariZone_Southeast_EventScript_160139:: @ 8160139 setvar 0x40a4, 1 special ExitSafariMode - warpwalk Route121_SafariZoneEntrance, 255, 2, 5 + warpdoor Route121_SafariZoneEntrance, 255, 2, 5 waitstate end diff --git a/data/scripts/maps/SeafloorCavern_Entrance.inc b/data/scripts/maps/SeafloorCavern_Entrance.inc index 0bf99d2ad..7ea46d9b0 100644 --- a/data/scripts/maps/SeafloorCavern_Entrance.inc +++ b/data/scripts/maps/SeafloorCavern_Entrance.inc @@ -3,6 +3,6 @@ SeafloorCavern_Entrance_MapScripts:: @ 815DA4A .byte 0 SeafloorCavern_Entrance_MapScript1_15DA50:: @ 815DA50 - warp4 Underwater_SeafloorCavern, 255, 6, 5 - warp6 Underwater_SeafloorCavern, 255, 6, 5 + setdivewarp Underwater_SeafloorCavern, 255, 6, 5 + setescapewarp Underwater_SeafloorCavern, 255, 6, 5 end diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc index 71184346f..eb3d108a6 100644 --- a/data/scripts/maps/SeafloorCavern_Room9.inc +++ b/data/scripts/maps/SeafloorCavern_Room9.inc @@ -6,9 +6,9 @@ SeafloorCavern_Room9_MapScript1_15DAEC:: @ 815DAEC call SeafloorCavern_Room9_EventScript_1A0196 call SeafloorCavern_Room9_EventScript_1A01B5 .ifdef SAPPHIRE - setmapfooter 157 + setmaplayoutindex 157 .else - setmapfooter 327 + setmaplayoutindex 327 .endif end @@ -18,35 +18,35 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA setvar 0x8005, 3 setvar 0x8006, 4 setvar 0x8007, 5 - move 255, SeafloorCavern_Room9_Movement_1A0841 - waitmove 0 - move 255, SeafloorCavern_Room9_Movement_15DD68 - waitmove 0 + applymovement 255, SeafloorCavern_Room9_Movement_1A0841 + waitmovement 0 + applymovement 255, SeafloorCavern_Room9_Movement_15DD68 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B41B8, 4 .else msgbox SeafloorCavern_Room9_Text_1B4850, 4 .endif - closebutton - reappear 0x8004 - move 255, SeafloorCavern_Room9_Movement_1A083F - waitmove 0 - move 0x8004, SeafloorCavern_Room9_Movement_15DD36 - waitmove 0 + closemessage + addobject 0x8004 + applymovement 255, SeafloorCavern_Room9_Movement_1A083F + waitmovement 0 + applymovement 0x8004, SeafloorCavern_Room9_Movement_15DD36 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B41D5, 4 .else msgbox SeafloorCavern_Room9_Text_1B486C, 4 .endif - move 0x8004, SeafloorCavern_Room9_Movement_1A0841 - waitmove 0 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0841 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B4201, 4 .else msgbox SeafloorCavern_Room9_Text_1B4897, 4 .endif - move 0x8004, SeafloorCavern_Room9_Movement_1A0839 - waitmove 0 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0839 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B4289, 4 .else @@ -78,45 +78,45 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else setvar RESULT, 0 .endif - playsfx 209 - setanimation 0, 16 - setanimation 1, 42 - setanimation 2, 0 - doanimation 54 - checkanimation 54 + playse 209 + setfieldeffect 0, 16 + setfieldeffect 1, 42 + setfieldeffect 2, 0 + dofieldeffect 54 + waitfieldeffect 54 .ifdef SAPPHIRE setvar RESULT, 0 .else setvar RESULT, 1 .endif - fanfare 388 - playsfx 107 + playfanfare 388 + playse 107 special sub_80818A4 - move 0x8004, SeafloorCavern_Room9_Movement_1A0841 - move 255, SeafloorCavern_Room9_Movement_1A0841 - waitmove 0 - pause 150 - disappear 7 - reappear 1 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0841 + applymovement 255, SeafloorCavern_Room9_Movement_1A0841 + waitmovement 0 + delay 150 + removeobject 7 + addobject 1 waitstate - pause 60 - move 1, SeafloorCavern_Room9_Movement_15DD4C - waitmove 0 + delay 60 + applymovement 1, SeafloorCavern_Room9_Movement_15DD4C + waitmovement 0 special sub_80818FC waitstate setvar 0x8004, 1 setvar 0x8005, 1 special sub_810F758 waitstate - move 1, SeafloorCavern_Room9_Movement_15DD57 - waitmove 0 - disappear 1 - pause 4 + applymovement 1, SeafloorCavern_Room9_Movement_15DD57 + waitmovement 0 + removeobject 1 + delay 4 setvar 0x8004, 2 setvar 0x8005, 2 special sub_810F758 waitstate - pause 30 + delay 30 setvar 0x8004, 2 setvar 0x8005, 3 setvar 0x8006, 4 @@ -126,52 +126,52 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else msgbox SeafloorCavern_Room9_Text_1B4A89, 4 .endif - playsfx 2 - move 255, SeafloorCavern_Room9_Movement_1A083F - waitmove 0 + playse 2 + applymovement 255, SeafloorCavern_Room9_Movement_1A083F + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B4443, 4 .else msgbox SeafloorCavern_Room9_Text_1B4ADB, 4 .endif - closebutton - move 0x8004, SeafloorCavern_Room9_Movement_15DD41 - waitmove 0 + closemessage + applymovement 0x8004, SeafloorCavern_Room9_Movement_15DD41 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B447A, 4 .else msgbox SeafloorCavern_Room9_Text_1B4B11, 4 .endif - closebutton - playsfx 3 - pause 20 - move 0x8004, SeafloorCavern_Room9_Movement_1A0845 - waitmove 0 + closemessage + playse 3 + delay 20 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0845 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B45C6, 4 .else msgbox SeafloorCavern_Room9_Text_1B4C79, 4 .endif - closebutton - reappear 0x8005 - reappear 0x8006 - reappear 0x8007 - move 0x8007, SeafloorCavern_Room9_Movement_15DD63 - move 0x8006, SeafloorCavern_Room9_Movement_15DD63 - move 0x8005, SeafloorCavern_Room9_Movement_15DD5A - waitmove 0 - move 0x8004, SeafloorCavern_Room9_Movement_1A083F - waitmove 0 + closemessage + addobject 0x8005 + addobject 0x8006 + addobject 0x8007 + applymovement 0x8007, SeafloorCavern_Room9_Movement_15DD63 + applymovement 0x8006, SeafloorCavern_Room9_Movement_15DD63 + applymovement 0x8005, SeafloorCavern_Room9_Movement_15DD5A + waitmovement 0 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A083F + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B464D, 4 .else msgbox SeafloorCavern_Room9_Text_1B4D02, 4 .endif - playsfx 21 - move 0x8004, SeafloorCavern_Room9_Movement_1A0833 - waitmove 0 - move 0x8004, SeafloorCavern_Room9_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0833 + waitmovement 0 + applymovement 0x8004, SeafloorCavern_Room9_Movement_1A0835 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B4723, 4 .else @@ -182,10 +182,10 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .else msgbox SeafloorCavern_Room9_Text_1B4E37, 4 .endif - closebutton - move 0x8005, SeafloorCavern_Room9_Movement_15DD60 - move 0x8004, SeafloorCavern_Room9_Movement_15DD46 - waitmove 0 + closemessage + applymovement 0x8005, SeafloorCavern_Room9_Movement_15DD60 + applymovement 0x8004, SeafloorCavern_Room9_Movement_15DD46 + waitmovement 0 .ifdef SAPPHIRE msgbox UnknownString_81B4818, 4 .else diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc index 76a930dc0..526ada367 100644 --- a/data/scripts/maps/SealedChamber_InnerRoom.inc +++ b/data/scripts/maps/SealedChamber_InnerRoom.inc @@ -3,34 +3,34 @@ SealedChamber_InnerRoom_MapScripts:: @ 815F1E7 SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8 lockall - braillemsg SealedChamber_InnerRoom_Braille_1C53C1 + braillemessage SealedChamber_InnerRoom_Braille_1C53C1 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 checkflag 228 - jumpeq SealedChamber_InnerRoom_EventScript_15F247 - specialval RESULT, CheckRelicanthWailord + goto_if_eq SealedChamber_InnerRoom_EventScript_15F247 + specialvar RESULT, CheckRelicanthWailord compare RESULT, 0 - jumpeq SealedChamber_InnerRoom_EventScript_15F247 - fadeout 0 - playsfx 49 + goto_if_eq SealedChamber_InnerRoom_EventScript_15F247 + fadeoutbgm 0 + playse 49 special DoSealedChamberShakingEffect1 waitstate - pause 40 + delay 40 special DoSealedChamberShakingEffect2 waitstate - playsfx 8 - pause 40 + playse 8 + delay 40 special DoSealedChamberShakingEffect2 waitstate - playsfx 8 - pause 40 + playse 8 + delay 40 special DoSealedChamberShakingEffect2 waitstate - playsfx 8 - pause 40 + playse 8 + delay 40 msgbox SealedChamber_InnerRoom_Text_1A138B, 4 - closebutton - fadein 0 + closemessage + fadeinbgm 0 setflag 228 releaseall end @@ -41,48 +41,48 @@ SealedChamber_InnerRoom_EventScript_15F247:: @ 815F247 SealedChamber_InnerRoom_EventScript_15F249:: @ 815F249 lockall - braillemsg SealedChamber_InnerRoom_Braille_1C53F2 + braillemessage SealedChamber_InnerRoom_Braille_1C53F2 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_InnerRoom_EventScript_15F257:: @ 815F257 lockall - braillemsg SealedChamber_InnerRoom_Braille_1C5414 + braillemessage SealedChamber_InnerRoom_Braille_1C5414 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_InnerRoom_EventScript_15F265:: @ 815F265 lockall - braillemsg SealedChamber_InnerRoom_Braille_1C5435 + braillemessage SealedChamber_InnerRoom_Braille_1C5435 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_InnerRoom_EventScript_15F273:: @ 815F273 lockall - braillemsg SealedChamber_InnerRoom_Braille_1C545C + braillemessage SealedChamber_InnerRoom_Braille_1C545C waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_InnerRoom_EventScript_15F281:: @ 815F281 lockall - braillemsg SealedChamber_InnerRoom_Braille_1C5470 + braillemessage SealedChamber_InnerRoom_Braille_1C5470 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_InnerRoom_EventScript_15F28F:: @ 815F28F lockall - braillemsg SealedChamber_InnerRoom_Braille_1C549B + braillemessage SealedChamber_InnerRoom_Braille_1C549B waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc index 83ca4e4df..f16a88802 100644 --- a/data/scripts/maps/SealedChamber_OuterRoom.inc +++ b/data/scripts/maps/SealedChamber_OuterRoom.inc @@ -5,8 +5,8 @@ SealedChamber_OuterRoom_MapScripts:: @ 815F0C6 .byte 0 SealedChamber_OuterRoom_MapScript1_15F0D6:: @ 815F0D6 - warp4 Underwater_SealedChamber, 255, 12, 44 - warp6 Underwater_SealedChamber, 255, 12, 44 + setdivewarp Underwater_SealedChamber, 255, 12, 44 + setescapewarp Underwater_SealedChamber, 255, 12, 44 end SealedChamber_OuterRoom_MapScript1_15F0E7:: @ 815F0E7 @@ -15,7 +15,7 @@ SealedChamber_OuterRoom_MapScript1_15F0E7:: @ 815F0E7 SealedChamber_OuterRoom_MapScript1_15F0EB:: @ 815F0EB checkflag 2127 - callif 0, SealedChamber_OuterRoom_EventScript_15F0F5 + call_if 0, SealedChamber_OuterRoom_EventScript_15F0F5 end SealedChamber_OuterRoom_EventScript_15F0F5:: @ 815F0F5 @@ -29,91 +29,91 @@ SealedChamber_OuterRoom_EventScript_15F0F5:: @ 815F0F5 SealedChamber_OuterRoom_EventScript_15F12C:: @ 815F12C lockall - braillemsg SealedChamber_OuterRoom_Braille_1C534F + braillemessage SealedChamber_OuterRoom_Braille_1C534F waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F13A:: @ 815F13A lockall - braillemsg SealedChamber_OuterRoom_Braille_1C5359 + braillemessage SealedChamber_OuterRoom_Braille_1C5359 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F148:: @ 815F148 lockall - braillemsg SealedChamber_OuterRoom_Braille_1C5363 + braillemessage SealedChamber_OuterRoom_Braille_1C5363 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F156:: @ 815F156 lockall - braillemsg SealedChamber_OuterRoom_Braille_1C536D + braillemessage SealedChamber_OuterRoom_Braille_1C536D waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F164:: @ 815F164 lockall - braillemsg SealedChamber_OuterRoom_Braille_1C5377 + braillemessage SealedChamber_OuterRoom_Braille_1C5377 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F172:: @ 815F172 lockall - braillemsg SealedChamber_OuterRoom_Braille_1C5381 + braillemessage SealedChamber_OuterRoom_Braille_1C5381 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F180:: @ 815F180 lockall - braillemsg SealedChamber_OuterRoom_Braille_1C538B + braillemessage SealedChamber_OuterRoom_Braille_1C538B waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F18E:: @ 815F18E lockall - braillemsg SealedChamber_OuterRoom_Braille_1C5396 + braillemessage SealedChamber_OuterRoom_Braille_1C5396 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F19C:: @ 815F19C lockall - braillemsg SealedChamber_OuterRoom_Braille_1C539E + braillemessage SealedChamber_OuterRoom_Braille_1C539E waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F1AA:: @ 815F1AA lockall - braillemsg SealedChamber_OuterRoom_Braille_1C53A9 + braillemessage SealedChamber_OuterRoom_Braille_1C53A9 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end SealedChamber_OuterRoom_EventScript_15F1B8:: @ 815F1B8 lockall checkflag 2127 - jumpeq SealedChamber_OuterRoom_EventScript_15F1CF - braillemsg SealedChamber_OuterRoom_Braille_1C53B1 + goto_if_eq SealedChamber_OuterRoom_EventScript_15F1CF + braillemessage SealedChamber_OuterRoom_Braille_1C53B1 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end @@ -124,8 +124,8 @@ SealedChamber_OuterRoom_EventScript_15F1CF:: @ 815F1CF SealedChamber_OuterRoom_EventScript_15F1D9:: @ 815F1D9 lockall - braillemsg SealedChamber_OuterRoom_Braille_1C53B1 + braillemessage SealedChamber_OuterRoom_Braille_1C53B1 waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc index 38a1c9a74..52d430db5 100644 --- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc @@ -5,43 +5,43 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 815E057 ShoalCave_LowTideEntranceRoom_MapScript1_15E05D:: @ 815E05D special UpdateShoalTideFlag checkflag 2106 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E06E - jump ShoalCave_LowTideEntranceRoom_EventScript_15E072 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E06E + goto ShoalCave_LowTideEntranceRoom_EventScript_15E072 ShoalCave_LowTideEntranceRoom_EventScript_15E06E:: @ 815E06E - setmapfooter 169 + setmaplayoutindex 169 end ShoalCave_LowTideEntranceRoom_EventScript_15E072:: @ 815E072 - setmapfooter 165 + setmaplayoutindex 165 end ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076 lock faceplayer - checkdailyflags + dodailyevents checkflag 2143 - callif 1, ShoalCave_LowTideEntranceRoom_EventScript_15E176 + call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E176 checkitem ITEM_SHOAL_SALT, 4 compare RESULT, 0 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E138 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138 checkitem ITEM_SHOAL_SHELL, 4 compare RESULT, 0 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E138 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E138 msgbox ShoalCave_LowTideEntranceRoom_Text_1C6793, 5 compare RESULT, 0 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E16C + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E16C checkitemspace ITEM_SHELL_BELL, 1 compare RESULT, 0 - callif 1, ShoalCave_LowTideEntranceRoom_EventScript_15E106 + call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_15E106 compare RESULT, 2 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E12E + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E12E msgbox ShoalCave_LowTideEntranceRoom_Text_1C6808, 4 removeitem ITEM_SHOAL_SALT, 4 removeitem ITEM_SHOAL_SHELL, 4 giveitem ITEM_SHELL_BELL compare RESULT, 0 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_1A029B msgbox ShoalCave_LowTideEntranceRoom_Text_1C688E, 4 setflag 2 release @@ -50,13 +50,13 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E076:: @ 815E076 ShoalCave_LowTideEntranceRoom_EventScript_15E106:: @ 815E106 checkitem ITEM_SHOAL_SALT, 5 compare RESULT, 1 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E117 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E117 return ShoalCave_LowTideEntranceRoom_EventScript_15E117:: @ 815E117 checkitem ITEM_SHOAL_SHELL, 5 compare RESULT, 1 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E128 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E128 return ShoalCave_LowTideEntranceRoom_EventScript_15E128:: @ 815E128 @@ -71,10 +71,10 @@ ShoalCave_LowTideEntranceRoom_EventScript_15E12E:: @ 815E12E ShoalCave_LowTideEntranceRoom_EventScript_15E138:: @ 815E138 checkitem ITEM_SHOAL_SALT, 1 compare RESULT, 1 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E162 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E162 checkitem ITEM_SHOAL_SHELL, 1 compare RESULT, 1 - jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E162 + goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_15E162 msgbox ShoalCave_LowTideEntranceRoom_Text_1C6668, 4 release end diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc index 3078b4625..ada997023 100644 --- a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc @@ -5,15 +5,15 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 815E192 ShoalCave_LowTideInnerRoom_MapScript1_15E19D:: @ 815E19D checkflag 2106 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1AB - jump ShoalCave_LowTideInnerRoom_EventScript_15E1AF + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1AB + goto ShoalCave_LowTideInnerRoom_EventScript_15E1AF ShoalCave_LowTideInnerRoom_EventScript_15E1AB:: @ 815E1AB - setmapfooter 170 + setmaplayoutindex 170 end ShoalCave_LowTideInnerRoom_EventScript_15E1AF:: @ 815E1AF - setmapfooter 166 + setmaplayoutindex 166 end ShoalCave_LowTideInnerRoom_MapScript1_15E1B3:: @ 815E1B3 @@ -22,46 +22,46 @@ ShoalCave_LowTideInnerRoom_MapScript1_15E1B3:: @ 815E1B3 ShoalCave_LowTideInnerRoom_EventScript_15E1B9:: @ 815E1B9 checkflag 952 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1DA + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA checkflag 2106 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1DA + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1DA setmaptile 31, 8, 856, 1 - jump ShoalCave_LowTideInnerRoom_EventScript_15E1DA + goto ShoalCave_LowTideInnerRoom_EventScript_15E1DA end ShoalCave_LowTideInnerRoom_EventScript_15E1DA:: @ 815E1DA checkflag 953 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1FB + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB checkflag 2106 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E1FB + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E1FB setmaptile 14, 26, 856, 1 - jump ShoalCave_LowTideInnerRoom_EventScript_15E1FB + goto ShoalCave_LowTideInnerRoom_EventScript_15E1FB end ShoalCave_LowTideInnerRoom_EventScript_15E1FB:: @ 815E1FB checkflag 956 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E213 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E213 setmaptile 41, 20, 857, 1 - jump ShoalCave_LowTideInnerRoom_EventScript_15E213 + goto ShoalCave_LowTideInnerRoom_EventScript_15E213 end ShoalCave_LowTideInnerRoom_EventScript_15E213:: @ 815E213 checkflag 957 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E22B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E22B setmaptile 41, 10, 857, 1 - jump ShoalCave_LowTideInnerRoom_EventScript_15E22B + goto ShoalCave_LowTideInnerRoom_EventScript_15E22B end ShoalCave_LowTideInnerRoom_EventScript_15E22B:: @ 815E22B checkflag 958 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E243 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E243 setmaptile 6, 9, 857, 1 - jump ShoalCave_LowTideInnerRoom_EventScript_15E243 + goto ShoalCave_LowTideInnerRoom_EventScript_15E243 end ShoalCave_LowTideInnerRoom_EventScript_15E243:: @ 815E243 checkflag 959 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E256 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E256 setmaptile 16, 13, 857, 1 return @@ -71,10 +71,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E256:: @ 815E256 ShoalCave_LowTideInnerRoom_EventScript_15E257:: @ 815E257 lockall checkflag 956 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem ITEM_SHOAL_SHELL compare RESULT, 0 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 41, 20, 859, 0 special DrawWholeMapView setflag 956 @@ -89,10 +89,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E289:: @ 815E289 ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293 lockall checkflag 957 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem ITEM_SHOAL_SHELL compare RESULT, 0 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 41, 10, 859, 0 special DrawWholeMapView setflag 957 @@ -102,10 +102,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293 ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5 lockall checkflag 958 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem ITEM_SHOAL_SHELL compare RESULT, 0 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 6, 9, 859, 0 special DrawWholeMapView setflag 958 @@ -115,10 +115,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5 ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7 lockall checkflag 959 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E289 + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E289 giveitem ITEM_SHOAL_SHELL compare RESULT, 0 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 16, 13, 859, 0 special DrawWholeMapView setflag 959 @@ -128,10 +128,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7 ShoalCave_LowTideInnerRoom_EventScript_15E329:: @ 815E329 lockall checkflag 952 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E35B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B giveitem ITEM_SHOAL_SALT compare RESULT, 0 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 31, 8, 858, 0 special DrawWholeMapView setflag 952 @@ -146,10 +146,10 @@ ShoalCave_LowTideInnerRoom_EventScript_15E35B:: @ 815E35B ShoalCave_LowTideInnerRoom_EventScript_15E365:: @ 815E365 lockall checkflag 953 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_15E35B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_15E35B giveitem ITEM_SHOAL_SALT compare RESULT, 0 - jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 14, 26, 858, 0 special DrawWholeMapView setflag 953 diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc index 67de2676f..db5779efe 100644 --- a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc @@ -8,7 +8,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_15E3F9:: @ 815E3F9 ShoalCave_LowTideLowerRoom_EventScript_15E3FF:: @ 815E3FF checkflag 955 - jumpeq ShoalCave_LowTideLowerRoom_EventScript_15E412 + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E412 setmaptile 18, 2, 856, 1 return @@ -18,10 +18,10 @@ ShoalCave_LowTideLowerRoom_EventScript_15E412:: @ 815E412 ShoalCave_LowTideLowerRoom_EventScript_15E413:: @ 815E413 lockall checkflag 955 - jumpeq ShoalCave_LowTideLowerRoom_EventScript_15E445 + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E445 giveitem ITEM_SHOAL_SALT compare RESULT, 0 - jumpeq ShoalCave_LowTideLowerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_1A029B setmaptile 18, 2, 858, 0 special DrawWholeMapView setflag 955 @@ -37,11 +37,11 @@ ShoalCave_LowTideLowerRoom_EventScript_15E44F:: @ 815E44F lock faceplayer checkflag 283 - jumpeq ShoalCave_LowTideLowerRoom_EventScript_15E47E + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_15E47E msgbox ShoalCave_LowTideLowerRoom_Text_198200, 4 giveitem ITEM_FOCUS_BAND compare RESULT, 0 - jumpeq ShoalCave_LowTideLowerRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_1A029B setflag 283 release end diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc index c46a2cb2d..bffb7bd49 100644 --- a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc @@ -8,7 +8,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_15E39D:: @ 815E39D ShoalCave_LowTideStairsRoom_EventScript_15E3A3:: @ 815E3A3 checkflag 954 - jumpeq ShoalCave_LowTideStairsRoom_EventScript_15E3B6 + goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3B6 setmaptile 11, 11, 856, 1 return @@ -18,10 +18,10 @@ ShoalCave_LowTideStairsRoom_EventScript_15E3B6:: @ 815E3B6 ShoalCave_LowTideStairsRoom_EventScript_15E3B7:: @ 815E3B7 lockall checkflag 954 - jumpeq ShoalCave_LowTideStairsRoom_EventScript_15E3E9 + goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_15E3E9 giveitem ITEM_SHOAL_SALT compare RESULT, 0 - jumpeq ShoalCave_LowTideStairsRoom_EventScript_1A029B + goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_1A029B setmaptile 11, 11, 858, 0 special DrawWholeMapView setflag 954 diff --git a/data/scripts/maps/SkyPillar_2F.inc b/data/scripts/maps/SkyPillar_2F.inc index 62cb389f2..3b3585bf8 100644 --- a/data/scripts/maps/SkyPillar_2F.inc +++ b/data/scripts/maps/SkyPillar_2F.inc @@ -6,5 +6,5 @@ SkyPillar_2F_MapScripts:: @ 815F2C9 SkyPillar_2F_MapScript1_15F2D9:: @ 815F2D9 tileeffect 7 - warp5 SkyPillar_1F, 255, 0, 0 + setholewarp SkyPillar_1F, 255, 0, 0 end diff --git a/data/scripts/maps/SkyPillar_4F.inc b/data/scripts/maps/SkyPillar_4F.inc index 5e1f7f4e6..3d535a25a 100644 --- a/data/scripts/maps/SkyPillar_4F.inc +++ b/data/scripts/maps/SkyPillar_4F.inc @@ -6,5 +6,5 @@ SkyPillar_4F_MapScripts:: @ 815F2E5 SkyPillar_4F_MapScript1_15F2F5:: @ 815F2F5 tileeffect 7 - warp5 SkyPillar_3F, 255, 0, 0 + setholewarp SkyPillar_3F, 255, 0, 0 end diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc index d659a23c1..1dee6e9c4 100644 --- a/data/scripts/maps/SkyPillar_Top.inc +++ b/data/scripts/maps/SkyPillar_Top.inc @@ -4,20 +4,20 @@ SkyPillar_Top_MapScripts:: @ 815F302 SkyPillar_Top_MapScript1_15F308:: @ 815F308 checkflag 2145 - callif 1, SkyPillar_Top_EventScript_15F312 + call_if 1, SkyPillar_Top_EventScript_15F312 end SkyPillar_Top_EventScript_15F312:: @ 815F312 - disappear LAST_TALKED + removeobject LAST_TALKED return SkyPillar_Top_EventScript_15F316:: @ 815F316 lock faceplayer setwildbattle SPECIES_RAYQUAZA, 70, ITEM_NONE - checksound - pokecry SPECIES_RAYQUAZA, 2 - pause 40 + waitse + playpokecry SPECIES_RAYQUAZA, 2 + delay 40 waitpokecry setflag 773 setflag 2145 diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc index e156f8948..bea1455a7 100644 --- a/data/scripts/maps/SlateportCity.inc +++ b/data/scripts/maps/SlateportCity.inc @@ -13,7 +13,7 @@ SlateportCity_MapScript1_14BA3C:: @ 814BA3C setvar 0x40aa, 0 call SlateportCity_EventScript_14BA5C compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BA68 + call_if 1, SlateportCity_EventScript_14BA68 end SlateportCity_EventScript_14BA5C:: @ 814BA5C @@ -23,27 +23,27 @@ SlateportCity_EventScript_14BA5C:: @ 814BA5C return SlateportCity_EventScript_14BA68:: @ 814BA68 - movespriteperm 11, 28, 13 - movespriteperm 7, 25, 13 - movespriteperm 3, 25, 14 - movespriteperm 6, 27, 16 - movespriteperm 8, 28, 16 - movespriteperm 1, 29, 16 - movespriteperm 2, 31, 14 - spritebehave 11, 8 - spritebehave 7, 18 - spritebehave 3, 16 - spritebehave 6, 7 - spritebehave 8, 7 - spritebehave 1, 7 - spritebehave 2, 9 + setobjectxyperm 11, 28, 13 + setobjectxyperm 7, 25, 13 + setobjectxyperm 3, 25, 14 + setobjectxyperm 6, 27, 16 + setobjectxyperm 8, 28, 16 + setobjectxyperm 1, 29, 16 + setobjectxyperm 2, 31, 14 + setobjectmovementtype 11, 8 + setobjectmovementtype 7, 18 + setobjectmovementtype 3, 16 + setobjectmovementtype 6, 7 + setobjectmovementtype 8, 7 + setobjectmovementtype 1, 7 + setobjectmovementtype 2, 9 return SlateportCity_EventScript_14BAB6:: @ 814BAB6 lock faceplayer message SlateportCity_Text_164642 - waittext + waitmessage pokemart SlateportCity_Items1 msgbox SlateportCity_Text_1A0C02, 4 release @@ -64,19 +64,19 @@ SlateportCity_Items1:: @ 814BAD0 SlateportCity_EventScript_14BAE0:: @ 814BAE0 lock faceplayer - bufferfirstpoke 0 + getfirstpartypokename 0 msgbox SlateportCity_Text_164682, 4 - specialval RESULT, LeadMonHasEffortRibbon + specialvar RESULT, LeadMonHasEffortRibbon compare RESULT, 1 - callif 1, SlateportCity_EventScript_14BB35 - specialval RESULT, ScrSpecial_AreLeadMonEVsMaxedOut + call_if 1, SlateportCity_EventScript_14BB35 + specialvar RESULT, ScrSpecial_AreLeadMonEVsMaxedOut compare RESULT, 0 - callif 1, SlateportCity_EventScript_14BB2B + call_if 1, SlateportCity_EventScript_14BB2B msgbox SlateportCity_Text_164691, 4 - fanfare 370 + playfanfare 370 message SlateportCity_Text_1646DD waitfanfare - waittext + waitmessage msgbox SlateportCity_Text_1646FC, 4 special GivLeadMonEffortRibbon release @@ -96,7 +96,7 @@ SlateportCity_EventScript_14BB3F:: @ 814BB3F lock faceplayer compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BB56 + call_if 1, SlateportCity_EventScript_14BB56 msgbox SlateportCity_Text_164814, 4 release end @@ -110,7 +110,7 @@ SlateportCity_EventScript_14BB60:: @ 814BB60 lock faceplayer compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BB77 + call_if 1, SlateportCity_EventScript_14BB77 msgbox SlateportCity_Text_1648A0, 4 release end @@ -124,9 +124,9 @@ SlateportCity_EventScript_14BB81:: @ 814BB81 lock faceplayer compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BBA1 + call_if 1, SlateportCity_EventScript_14BBA1 checkflag 96 - jumpeq SlateportCity_EventScript_14BBAB + goto_if_eq SlateportCity_EventScript_14BBAB msgbox SlateportCity_Text_164937, 4 release end @@ -145,7 +145,7 @@ SlateportCity_EventScript_14BBB5:: @ 814BBB5 lock faceplayer compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BBCC + call_if 1, SlateportCity_EventScript_14BBCC msgbox SlateportCity_Text_164A30, 4 release end @@ -157,7 +157,7 @@ SlateportCity_EventScript_14BBCC:: @ 814BBCC SlateportCity_EventScript_14BBD6:: @ 814BBD6 compare 0x4058, 1 - jumpeq SlateportCity_EventScript_14BBEA + goto_if_eq SlateportCity_EventScript_14BBEA msgbox SlateportCity_Text_164AA9, 2 end @@ -169,7 +169,7 @@ SlateportCity_EventScript_14BBF3:: @ 814BBF3 lock faceplayer compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BC0A + call_if 1, SlateportCity_EventScript_14BC0A msgbox SlateportCity_Text_164B34, 4 release end @@ -183,7 +183,7 @@ SlateportCity_EventScript_14BC14:: @ 814BC14 lock faceplayer checkflag 148 - jumpeq SlateportCity_EventScript_14BC29 + goto_if_eq SlateportCity_EventScript_14BC29 msgbox SlateportCity_Text_164BBF, 4 release end @@ -200,9 +200,9 @@ SlateportCity_EventScript_14BC33:: @ 814BC33 SlateportCity_EventScript_14BC3C:: @ 814BC3C lockall checkflag 2052 - jumpeq SlateportCity_EventScript_14BC63 + goto_if_eq SlateportCity_EventScript_14BC63 checkflag 2061 - jumpeq SlateportCity_EventScript_14BC59 + goto_if_eq SlateportCity_EventScript_14BC59 msgbox SlateportCity_Text_1658A0, 4 releaseall end @@ -236,7 +236,7 @@ SlateportCity_EventScript_14BC88:: @ 814BC88 SlateportCity_EventScript_14BC91:: @ 814BC91 lockall checkflag 2052 - jumpeq SlateportCity_EventScript_14BCA5 + goto_if_eq SlateportCity_EventScript_14BCA5 msgbox SlateportCity_Text_165A8B, 4 releaseall end @@ -254,7 +254,7 @@ SlateportCity_EventScript_14BCB8:: @ 814BCB8 lock faceplayer compare 0x4058, 1 - callif 1, SlateportCity_EventScript_14BCCF + call_if 1, SlateportCity_EventScript_14BCCF msgbox SlateportCity_Text_164F9E, 4 release end @@ -289,9 +289,9 @@ SlateportCity_EventScript_14BD06:: @ 814BD06 faceplayer msgbox SlateportCity_Text_1650F1, 5 compare RESULT, 1 - callif 1, SlateportCity_EventScript_14BD28 + call_if 1, SlateportCity_EventScript_14BD28 compare RESULT, 0 - callif 1, SlateportCity_EventScript_14BD31 + call_if 1, SlateportCity_EventScript_14BD31 release end @@ -307,9 +307,9 @@ SlateportCity_EventScript_14BD3A:: @ 814BD3A lock faceplayer msgbox SlateportCity_Text_164C64, 4 - closebutton - move 5, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 5, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -317,9 +317,9 @@ SlateportCity_EventScript_14BD51:: @ 814BD51 lock faceplayer msgbox SlateportCity_Text_164C9F, 4 - closebutton - move 19, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 19, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -327,9 +327,9 @@ SlateportCity_EventScript_14BD68:: @ 814BD68 lock faceplayer msgbox SlateportCity_Text_164CE8, 4 - closebutton - move 20, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 20, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -337,9 +337,9 @@ SlateportCity_EventScript_14BD7F:: @ 814BD7F lock faceplayer msgbox SlateportCity_Text_164D2B, 4 - closebutton - move 27, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 27, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -347,9 +347,9 @@ SlateportCity_EventScript_14BD96:: @ 814BD96 lock faceplayer msgbox SlateportCity_Text_164D92, 4 - closebutton - move 28, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 28, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -357,9 +357,9 @@ SlateportCity_EventScript_14BDAD:: @ 814BDAD lock faceplayer msgbox SlateportCity_Text_164DD5, 4 - closebutton - move 29, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 29, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -367,9 +367,9 @@ SlateportCity_EventScript_14BDC4:: @ 814BDC4 lock faceplayer msgbox SlateportCity_Text_164DF4, 4 - closebutton - move 30, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 30, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -377,9 +377,9 @@ SlateportCity_EventScript_14BDDB:: @ 814BDDB lock faceplayer msgbox SlateportCity_Text_164E46, 4 - closebutton - move 31, SlateportCity_Movement_1A083D - waitmove 0 + closemessage + applymovement 31, SlateportCity_Movement_1A083D + waitmovement 0 release end @@ -387,7 +387,7 @@ SlateportCity_EventScript_14BDF2:: @ 814BDF2 lock faceplayer message SlateportCity_Text_1A0BE4 - waittext + waitmessage pokemartdecor SlateportCity_Decorations1 msgbox SlateportCity_Text_1A0C02, 4 release @@ -411,9 +411,9 @@ SlateportCity_EventScript_14BE20:: @ 814BE20 lock faceplayer checkflag 96 - jumpif 0, SlateportCity_EventScript_14BE16 + goto_if 0, SlateportCity_EventScript_14BE16 message SlateportCity_Text_1A0BE4 - waittext + waitmessage pokemartdecor SlateportCity_Decorations2 msgbox SlateportCity_Text_1A0C02, 4 release @@ -443,9 +443,9 @@ SlateportCity_Decorations2:: @ 814BE40 lock faceplayer checkflag 96 - jumpif 0, SlateportCity_EventScript_14BE16 + goto_if 0, SlateportCity_EventScript_14BE16 message SlateportCity_Text_1A0BE4 - waittext + waitmessage pokemartdecor SlateportCity_Decorations3 msgbox SlateportCity_Text_1A0C02, 4 release @@ -472,7 +472,7 @@ SlateportCity_EventScript_14BE9A:: @ 814BE9A lock faceplayer message SlateportCity_Text_1A0BE4 - waittext + waitmessage pokemart SlateportCity_Items2 msgbox SlateportCity_Text_1A0C02, 4 release @@ -490,49 +490,49 @@ SlateportCity_EventScript_14BEBC:: @ 814BEBC lockall msgbox SlateportCity_Text_165498, 4 msgbox SlateportCity_Text_1654E0, 4 - closebutton - move 10, SlateportCity_Movement_1A0843 - waitmove 0 - pause 10 - move 9, SlateportCity_Movement_1A0845 - waitmove 0 - pause 25 - move 11, SlateportCity_Movement_14C000 - move 255, SlateportCity_Movement_14C00E - move 10, SlateportCity_Movement_14BFDD - move 9, SlateportCity_Movement_14BFEA - waitmove 0 - disappear 10 - disappear 9 + closemessage + applymovement 10, SlateportCity_Movement_1A0843 + waitmovement 0 + delay 10 + applymovement 9, SlateportCity_Movement_1A0845 + waitmovement 0 + delay 25 + applymovement 11, SlateportCity_Movement_14C000 + applymovement 255, SlateportCity_Movement_14C00E + applymovement 10, SlateportCity_Movement_14BFDD + applymovement 9, SlateportCity_Movement_14BFEA + waitmovement 0 + removeobject 10 + removeobject 9 msgbox SlateportCity_Text_16558D, 4 - move 11, SlateportCity_Movement_1A0841 - waitmove 0 + applymovement 11, SlateportCity_Movement_1A0841 + waitmovement 0 msgbox SlateportCity_Text_1655E7, 4 - playmusic BGM_EVIL_TEAM, 0 + playbgm BGM_EVIL_TEAM, 0 msgbox SlateportCity_Text_1656BC, 4 - move 6, SlateportCity_Movement_1A083F - move 1, SlateportCity_Movement_1A083F - move 7, SlateportCity_Movement_14BFCD - move 3, SlateportCity_Movement_1A0831 - move 2, SlateportCity_Movement_14BFD5 - waitmove 0 - move 11, SlateportCity_Movement_1A0845 - waitmove 0 + applymovement 6, SlateportCity_Movement_1A083F + applymovement 1, SlateportCity_Movement_1A083F + applymovement 7, SlateportCity_Movement_14BFCD + applymovement 3, SlateportCity_Movement_1A0831 + applymovement 2, SlateportCity_Movement_14BFD5 + waitmovement 0 + applymovement 11, SlateportCity_Movement_1A0845 + waitmovement 0 msgbox SlateportCity_Text_16578F, 4 - playsfx 21 - move 11, SlateportCity_Movement_1A0833 - waitmove 0 - move 11, SlateportCity_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 11, SlateportCity_Movement_1A0833 + waitmovement 0 + applymovement 11, SlateportCity_Movement_1A0835 + waitmovement 0 msgbox SlateportCity_Text_1657FA, 4 - move 11, SlateportCity_Movement_1A0839 - waitmove 0 + applymovement 11, SlateportCity_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_Text_16583A, 4 - closebutton - move 11, SlateportCity_Movement_14BFFB - move 255, SlateportCity_Movement_14C008 - waitmove 0 - disappear 11 + closemessage + applymovement 11, SlateportCity_Movement_14BFFB + applymovement 255, SlateportCity_Movement_14C008 + waitmovement 0 + removeobject 11 clearflag 841 clearflag 848 clearflag 845 diff --git a/data/scripts/maps/SlateportCity_ContestHall.inc b/data/scripts/maps/SlateportCity_ContestHall.inc index 559719583..f8070f1a1 100644 --- a/data/scripts/maps/SlateportCity_ContestHall.inc +++ b/data/scripts/maps/SlateportCity_ContestHall.inc @@ -13,11 +13,11 @@ SlateportCity_ContestHall_EventScript_15555E:: @ 815555E lock faceplayer checkflag 265 - jumpeq SlateportCity_ContestHall_EventScript_155595 + goto_if_eq SlateportCity_ContestHall_EventScript_155595 msgbox SlateportCity_ContestHall_Text_17CCE2, 4 giveitem ITEM_TM41 compare RESULT, 0 - jumpeq SlateportCity_ContestHall_EventScript_1A029B + goto_if_eq SlateportCity_ContestHall_EventScript_1A029B setflag 265 msgbox SlateportCity_ContestHall_Text_17CE28, 4 release @@ -31,80 +31,80 @@ SlateportCity_ContestHall_EventScript_155595:: @ 8155595 SlateportCity_ContestHall_EventScript_15559F:: @ 815559F msgbox SlateportCity_ContestHall_Text_17CEF3, 2 lockall - move 3, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 3, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_1555B4:: @ 81555B4 msgbox SlateportCity_ContestHall_Text_17CFA7, 2 lockall - move 4, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 4, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_1555C9:: @ 81555C9 msgbox SlateportCity_ContestHall_Text_17D054, 2 lockall - move 5, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 5, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_1555DE:: @ 81555DE msgbox SlateportCity_ContestHall_Text_17D07F, 2 lockall - move 6, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 6, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_1555F3:: @ 81555F3 msgbox SlateportCity_ContestHall_Text_17D0F9, 2 lockall - move 7, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 7, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_155608:: @ 8155608 msgbox SlateportCity_ContestHall_Text_17D222, 2 lockall - move 8, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 8, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_15561D:: @ 815561D msgbox SlateportCity_ContestHall_Text_17D39A, 2 lockall - move 9, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 9, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_155632:: @ 8155632 msgbox SlateportCity_ContestHall_Text_17D3F0, 2 lockall - move 10, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 10, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_155647:: @ 8155647 msgbox SlateportCity_ContestHall_Text_17D300, 2 lockall - move 12, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 12, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_ContestHall_EventScript_15565C:: @ 815565C msgbox SlateportCity_ContestHall_Text_17D27F, 2 lockall - move 11, SlateportCity_ContestHall_Movement_1A083D - waitmove 0 + applymovement 11, SlateportCity_ContestHall_Movement_1A083D + waitmovement 0 releaseall end diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc index b1ce50815..cb4632d77 100644 --- a/data/scripts/maps/SlateportCity_ContestLobby.inc +++ b/data/scripts/maps/SlateportCity_ContestLobby.inc @@ -20,28 +20,28 @@ SlateportCity_ContestLobby_EventScript_15541D:: @ 815541D SlateportCity_ContestLobby_EventScript_155448:: @ 8155448 lockall - move 1, SlateportCity_ContestLobby_Movement_1554CC - waitmove 0 - playsfx 71 + applymovement 1, SlateportCity_ContestLobby_Movement_1554CC + waitmovement 0 + playse 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 special DrawWholeMapView - move 1, SlateportCity_ContestLobby_Movement_1554CF - waitmove 0 - playsfx 71 + applymovement 1, SlateportCity_ContestLobby_Movement_1554CF + waitmovement 0 + playse 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 special DrawWholeMapView - pause 20 - move 1, SlateportCity_ContestLobby_Movement_1554DC - waitmove 0 - move 255, SlateportCity_ContestLobby_Movement_1554CA - waitmove 0 + delay 20 + applymovement 1, SlateportCity_ContestLobby_Movement_1554DC + waitmovement 0 + applymovement 255, SlateportCity_ContestLobby_Movement_1554CA + waitmovement 0 msgbox SlateportCity_ContestLobby_Text_1A6832, 4 - closebutton - move 1, SlateportCity_ContestLobby_Movement_1554D3 - move 255, SlateportCity_ContestLobby_Movement_1554C0 - waitmove 0 + closemessage + applymovement 1, SlateportCity_ContestLobby_Movement_1554D3 + applymovement 255, SlateportCity_ContestLobby_Movement_1554C0 + waitmovement 0 releaseall return @@ -102,9 +102,9 @@ SlateportCity_ContestLobby_EventScript_1554F0:: @ 81554F0 SlateportCity_ContestLobby_EventScript_1554F9:: @ 81554F9 lockall checkflag 95 - jumpeq SlateportCity_ContestLobby_EventScript_155526 - move 7, SlateportCity_ContestLobby_Movement_1A0839 - waitmove 0 + goto_if_eq SlateportCity_ContestLobby_EventScript_155526 + applymovement 7, SlateportCity_ContestLobby_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_ContestLobby_Text_17CA67, 4 giveitem ITEM_POKEBLOCK_CASE setflag 95 @@ -118,7 +118,7 @@ SlateportCity_ContestLobby_EventScript_155526:: @ 8155526 SlateportCity_ContestLobby_EventScript_15552F:: @ 815552F lockall fadescreen 1 - showcontestwinner 3 + drawcontestwinner 3 releaseall end @@ -130,6 +130,6 @@ SlateportCity_ContestLobby_EventScript_155536:: @ 8155536 lockall special ShowBerryBlenderRecordWindow waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc index d65d28877..f145c4a3d 100644 --- a/data/scripts/maps/SlateportCity_Harbor.inc +++ b/data/scripts/maps/SlateportCity_Harbor.inc @@ -3,12 +3,12 @@ SlateportCity_Harbor_MapScripts:: @ 8155F5D .byte 0 SlateportCity_Harbor_MapScript1_155F63:: @ 8155F63 - warp6 SlateportCity, 255, 28, 13 + setescapewarp SlateportCity, 255, 28, 13 setvar 0x4001, 0 compare 0x40a0, 1 - callif 1, SlateportCity_Harbor_EventScript_155F89 + call_if 1, SlateportCity_Harbor_EventScript_155F89 checkflag 2052 - callif 1, SlateportCity_Harbor_EventScript_155F85 + call_if 1, SlateportCity_Harbor_EventScript_155F85 end SlateportCity_Harbor_EventScript_155F85:: @ 8155F85 @@ -16,89 +16,89 @@ SlateportCity_Harbor_EventScript_155F85:: @ 8155F85 return SlateportCity_Harbor_EventScript_155F89:: @ 8155F89 - playmusicbattle BGM_EVIL_TEAM - movespriteperm 4, 12, 13 - spritebehave 4, 9 + savebgm BGM_EVIL_TEAM + setobjectxyperm 4, 12, 13 + setobjectmovementtype 4, 9 setflag 905 return SlateportCity_Harbor_EventScript_155F9B:: @ 8155F9B lockall setvar 0x8008, 0 - jump SlateportCity_Harbor_EventScript_155FD5 + goto SlateportCity_Harbor_EventScript_155FD5 end SlateportCity_Harbor_EventScript_155FA7:: @ 8155FA7 lockall setvar 0x8008, 1 - jump SlateportCity_Harbor_EventScript_155FD5 + goto SlateportCity_Harbor_EventScript_155FD5 end SlateportCity_Harbor_EventScript_155FB3:: @ 8155FB3 lockall setvar 0x8008, 2 - jump SlateportCity_Harbor_EventScript_155FD5 + goto SlateportCity_Harbor_EventScript_155FD5 end SlateportCity_Harbor_EventScript_155FBF:: @ 8155FBF lockall setvar 0x8008, 3 - move 255, SlateportCity_Harbor_Movement_1560C2 - waitmove 0 - jump SlateportCity_Harbor_EventScript_155FD5 + applymovement 255, SlateportCity_Harbor_Movement_1560C2 + waitmovement 0 + goto SlateportCity_Harbor_EventScript_155FD5 end SlateportCity_Harbor_EventScript_155FD5:: @ 8155FD5 - move 7, SlateportCity_Harbor_Movement_1A0845 - waitmove 0 - move 255, SlateportCity_Harbor_Movement_1A0841 - waitmove 0 + applymovement 7, SlateportCity_Harbor_Movement_1A0845 + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_1A0841 + waitmovement 0 msgbox SlateportCity_Harbor_Text_17FD7D, 4 - closebutton - move 6, SlateportCity_Harbor_Movement_15609B - move 7, SlateportCity_Harbor_Movement_15609B - move 8, SlateportCity_Harbor_Movement_1560A5 - waitmove 0 - disappear 6 - disappear 7 - disappear 8 + closemessage + applymovement 6, SlateportCity_Harbor_Movement_15609B + applymovement 7, SlateportCity_Harbor_Movement_15609B + applymovement 8, SlateportCity_Harbor_Movement_1560A5 + waitmovement 0 + removeobject 6 + removeobject 7 + removeobject 8 setvar 0x40a0, 2 compare 0x8008, 0 - callif 1, SlateportCity_Harbor_EventScript_15605C + call_if 1, SlateportCity_Harbor_EventScript_15605C compare 0x8008, 1 - callif 1, SlateportCity_Harbor_EventScript_156071 + call_if 1, SlateportCity_Harbor_EventScript_156071 compare 0x8008, 2 - callif 1, SlateportCity_Harbor_EventScript_156086 + call_if 1, SlateportCity_Harbor_EventScript_156086 compare 0x8008, 3 - callif 1, SlateportCity_Harbor_EventScript_156086 + call_if 1, SlateportCity_Harbor_EventScript_156086 msgbox SlateportCity_Harbor_Text_17FE60, 4 - closebutton + closemessage setflag 821 setflag 822 - moveoffscreen 4 - spritebehave 4, 10 + moveobjectoffscreen 4 + setobjectmovementtype 4, 10 releaseall end SlateportCity_Harbor_EventScript_15605C:: @ 815605C - move 4, SlateportCity_Harbor_Movement_1560B3 - waitmove 0 - move 255, SlateportCity_Harbor_Movement_1A0845 - waitmove 0 + applymovement 4, SlateportCity_Harbor_Movement_1560B3 + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_1A0845 + waitmovement 0 return SlateportCity_Harbor_EventScript_156071:: @ 8156071 - move 4, SlateportCity_Harbor_Movement_1560B9 - waitmove 0 - move 255, SlateportCity_Harbor_Movement_1A0843 - waitmove 0 + applymovement 4, SlateportCity_Harbor_Movement_1560B9 + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_1A0843 + waitmovement 0 return SlateportCity_Harbor_EventScript_156086:: @ 8156086 - move 4, SlateportCity_Harbor_Movement_1560BE - waitmove 0 - move 255, SlateportCity_Harbor_Movement_1A0843 - waitmove 0 + applymovement 4, SlateportCity_Harbor_Movement_1560BE + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_1A0843 + waitmovement 0 return SlateportCity_Harbor_Movement_15609B:: @ 815609B @@ -160,7 +160,7 @@ SlateportCity_Harbor_EventScript_1560C4:: @ 81560C4 lock faceplayer checkflag 2052 - jumpeq SlateportCity_Harbor_EventScript_1560D9 + goto_if_eq SlateportCity_Harbor_EventScript_1560D9 msgbox SlateportCity_Harbor_Text_17FA0A, 4 release end @@ -169,14 +169,14 @@ SlateportCity_Harbor_EventScript_1560D9:: @ 81560D9 msgbox SlateportCity_Harbor_Text_17FA73, 4 checkitem ITEM_SS_TICKET, 1 compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_156135 + goto_if_eq SlateportCity_Harbor_EventScript_156135 message SlateportCity_Harbor_Text_17FB0A - waittext - jump SlateportCity_Harbor_EventScript_1560FD + waitmessage + goto SlateportCity_Harbor_EventScript_1560FD end SlateportCity_Harbor_EventScript_1560FD:: @ 81560FD - multichoicedef 18, 6, 52, 2, 0 + multichoicedefault 18, 6, 52, 2, 0 switch RESULT case 0, SlateportCity_Harbor_EventScript_15613F case 1, SlateportCity_Harbor_EventScript_156167 @@ -192,7 +192,7 @@ SlateportCity_Harbor_EventScript_156135:: @ 8156135 SlateportCity_Harbor_EventScript_15613F:: @ 815613F msgbox SlateportCity_Harbor_Text_17FB81, 5 compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_15618A + goto_if_eq SlateportCity_Harbor_EventScript_15618A setvar 0x40b4, 1 call SlateportCity_Harbor_EventScript_156196 warp SSTidalCorridor, 255, 1, 10 @@ -203,7 +203,7 @@ SlateportCity_Harbor_EventScript_15613F:: @ 815613F SlateportCity_Harbor_EventScript_156167:: @ 8156167 msgbox SlateportCity_Harbor_Text_17FB9C, 5 compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_15618A + goto_if_eq SlateportCity_Harbor_EventScript_15618A call SlateportCity_Harbor_EventScript_156196 warp BattleTower_Outside, 255, 19, 23 waitstate @@ -212,23 +212,23 @@ SlateportCity_Harbor_EventScript_156167:: @ 8156167 SlateportCity_Harbor_EventScript_15618A:: @ 815618A message SlateportCity_Harbor_Text_17FBE5 - waittext - jump SlateportCity_Harbor_EventScript_1560FD + waitmessage + goto SlateportCity_Harbor_EventScript_1560FD end SlateportCity_Harbor_EventScript_156196:: @ 8156196 msgbox SlateportCity_Harbor_Text_17FBB6, 4 - closebutton - move LAST_TALKED, SlateportCity_Harbor_Movement_1A0841 - waitmove 0 - pause 30 - spriteinvisible LAST_TALKED, 9, 8 + closemessage + applymovement LAST_TALKED, SlateportCity_Harbor_Movement_1A0841 + waitmovement 0 + delay 30 + hideobject LAST_TALKED, 9, 8 compare FACING, 2 - callif 1, SlateportCity_Harbor_EventScript_1561EF + call_if 1, SlateportCity_Harbor_EventScript_1561EF compare FACING, 4 - callif 1, SlateportCity_Harbor_EventScript_1561E4 - pause 30 - spriteinvisible 255, 0, 0 + call_if 1, SlateportCity_Harbor_EventScript_1561E4 + delay 30 + hideobject 255, 0, 0 setvar 0x8004, 5 call SlateportCity_Harbor_EventScript_1A040E return @@ -239,13 +239,13 @@ SlateportCity_Harbor_EventScript_1561DA:: @ 81561DA end SlateportCity_Harbor_EventScript_1561E4:: @ 81561E4 - move 255, SlateportCity_Harbor_Movement_1561FA - waitmove 0 + applymovement 255, SlateportCity_Harbor_Movement_1561FA + waitmovement 0 return SlateportCity_Harbor_EventScript_1561EF:: @ 81561EF - move 255, SlateportCity_Harbor_Movement_1561FD - waitmove 0 + applymovement 255, SlateportCity_Harbor_Movement_1561FD + waitmovement 0 return SlateportCity_Harbor_Movement_1561FA:: @ 81561FA @@ -269,17 +269,17 @@ SlateportCity_Harbor_EventScript_156211:: @ 8156211 lock faceplayer checkflag 2061 - jumpeq SlateportCity_Harbor_EventScript_15626F + goto_if_eq SlateportCity_Harbor_EventScript_15626F checkflag 271 - jumpeq SlateportCity_Harbor_EventScript_156265 + goto_if_eq SlateportCity_Harbor_EventScript_156265 checkflag 112 - jumpeq SlateportCity_Harbor_EventScript_156258 + goto_if_eq SlateportCity_Harbor_EventScript_156258 compare 0x40a0, 2 - jumpeq SlateportCity_Harbor_EventScript_15624E + goto_if_eq SlateportCity_Harbor_EventScript_15624E msgbox SlateportCity_Harbor_Text_17FD1C, 4 - closebutton - move LAST_TALKED, SlateportCity_Harbor_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, SlateportCity_Harbor_Movement_1A083D + waitmovement 0 release end @@ -301,12 +301,12 @@ SlateportCity_Harbor_EventScript_156265:: @ 8156265 SlateportCity_Harbor_EventScript_15626F:: @ 815626F compare 0x4001, 1 - jumpeq SlateportCity_Harbor_EventScript_156380 + goto_if_eq SlateportCity_Harbor_EventScript_156380 checkitem ITEM_SCANNER, 1 compare RESULT, 1 - jumpeq SlateportCity_Harbor_EventScript_1562A7 + goto_if_eq SlateportCity_Harbor_EventScript_1562A7 checkflag 2052 - jumpeq SlateportCity_Harbor_EventScript_15629D + goto_if_eq SlateportCity_Harbor_EventScript_15629D msgbox SlateportCity_Harbor_Text_18017B, 4 release end @@ -318,8 +318,8 @@ SlateportCity_Harbor_EventScript_15629D:: @ 815629D SlateportCity_Harbor_EventScript_1562A7:: @ 81562A7 message SlateportCity_Harbor_Text_18028B - waittext - jump SlateportCity_Harbor_EventScript_1562B3 + waitmessage + goto SlateportCity_Harbor_EventScript_1562B3 end SlateportCity_Harbor_EventScript_1562B3:: @ 81562B3 @@ -334,27 +334,27 @@ SlateportCity_Harbor_EventScript_1562B3:: @ 81562B3 SlateportCity_Harbor_EventScript_1562EA:: @ 81562EA msgbox SlateportCity_Harbor_Text_1803DD, 5 compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_156374 + goto_if_eq SlateportCity_Harbor_EventScript_156374 giveitem ITEM_DEEP_SEA_TOOTH compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_1A029B + goto_if_eq SlateportCity_Harbor_EventScript_1A029B removeitem ITEM_SCANNER, 1 msgbox SlateportCity_Harbor_Text_18046B, 4 setflag 294 - jump SlateportCity_Harbor_EventScript_156380 + goto SlateportCity_Harbor_EventScript_156380 end SlateportCity_Harbor_EventScript_15632A:: @ 815632A msgbox SlateportCity_Harbor_Text_180412, 5 compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_156374 + goto_if_eq SlateportCity_Harbor_EventScript_156374 giveitem ITEM_DEEP_SEA_SCALE compare RESULT, 0 - jumpeq SlateportCity_Harbor_EventScript_1A029B + goto_if_eq SlateportCity_Harbor_EventScript_1A029B removeitem ITEM_SCANNER, 1 msgbox SlateportCity_Harbor_Text_18046B, 4 setflag 294 - jump SlateportCity_Harbor_EventScript_156380 + goto SlateportCity_Harbor_EventScript_156380 end SlateportCity_Harbor_EventScript_15636A:: @ 815636A @@ -364,8 +364,8 @@ SlateportCity_Harbor_EventScript_15636A:: @ 815636A SlateportCity_Harbor_EventScript_156374:: @ 8156374 message SlateportCity_Harbor_Text_180447 - waittext - jump SlateportCity_Harbor_EventScript_1562B3 + waitmessage + goto SlateportCity_Harbor_EventScript_1562B3 end SlateportCity_Harbor_EventScript_156380:: @ 8156380 diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc index 4161889e1..c72aa229a 100644 --- a/data/scripts/maps/SlateportCity_House1.inc +++ b/data/scripts/maps/SlateportCity_House1.inc @@ -6,9 +6,9 @@ SlateportCity_House1_EventScript_15567B:: @ 815567B faceplayer msgbox SlateportCity_House1_Text_17D46A, 5 compare RESULT, 1 - jumpeq SlateportCity_House1_EventScript_15569C + goto_if_eq SlateportCity_House1_EventScript_15569C compare RESULT, 0 - jumpeq SlateportCity_House1_EventScript_1556BF + goto_if_eq SlateportCity_House1_EventScript_1556BF end SlateportCity_House1_EventScript_15569C:: @ 815569C @@ -16,9 +16,9 @@ SlateportCity_House1_EventScript_15569C:: @ 815569C special sub_80F9A0C waitstate compare 0x8004, 255 - jumpif 5, SlateportCity_House1_EventScript_1556C9 + goto_if 5, SlateportCity_House1_EventScript_1556C9 compare 0x8004, 255 - jumpeq SlateportCity_House1_EventScript_1556BF + goto_if_eq SlateportCity_House1_EventScript_1556BF end SlateportCity_House1_EventScript_1556BF:: @ 81556BF @@ -27,22 +27,22 @@ SlateportCity_House1_EventScript_1556BF:: @ 81556BF end SlateportCity_House1_EventScript_1556C9:: @ 81556C9 - specialval RESULT, ScriptGetPartyMonSpecies + specialvar RESULT, ScriptGetPartyMonSpecies compare RESULT, SPECIES_EGG - jumpeq SlateportCity_House1_EventScript_15571C + goto_if_eq SlateportCity_House1_EventScript_15571C special sub_80BFAE0 special sub_80BFB10 compare RESULT, 1 - jumpeq SlateportCity_House1_EventScript_155726 - specialval RESULT, sub_810F96C + goto_if_eq SlateportCity_House1_EventScript_155726 + specialvar RESULT, sub_810F96C special sub_80BFAE0 compare RESULT, 1 - jumpeq SlateportCity_House1_EventScript_155726 + goto_if_eq SlateportCity_House1_EventScript_155726 msgbox SlateportCity_House1_Text_17D505, 5 compare RESULT, 1 - jumpeq SlateportCity_House1_EventScript_155730 + goto_if_eq SlateportCity_House1_EventScript_155730 compare RESULT, 0 - jumpeq SlateportCity_House1_EventScript_1556BF + goto_if_eq SlateportCity_House1_EventScript_1556BF end SlateportCity_House1_EventScript_15571C:: @ 815571C @@ -58,10 +58,10 @@ SlateportCity_House1_EventScript_155726:: @ 8155726 SlateportCity_House1_EventScript_155730:: @ 8155730 msgbox SlateportCity_House1_Text_17D580, 4 call SlateportCity_House1_EventScript_1A0678 - specialval RESULT, sub_80BF9B4 + specialvar RESULT, sub_80BF9B4 special sub_80BFAE0 compare RESULT, 1 - jumpeq SlateportCity_House1_EventScript_15575A + goto_if_eq SlateportCity_House1_EventScript_15575A msgbox SlateportCity_House1_Text_17D63A, 4 release end diff --git a/data/scripts/maps/SlateportCity_House2.inc b/data/scripts/maps/SlateportCity_House2.inc index 2d50f0851..934fae153 100644 --- a/data/scripts/maps/SlateportCity_House2.inc +++ b/data/scripts/maps/SlateportCity_House2.inc @@ -10,7 +10,7 @@ SlateportCity_House2_EventScript_156399:: @ 8156399 faceplayer checkitem ITEM_CONTEST_PASS, 1 compare RESULT, 1 - jumpeq SlateportCity_House2_EventScript_1563B5 + goto_if_eq SlateportCity_House2_EventScript_1563B5 msgbox SlateportCity_House2_Text_180567, 4 release end diff --git a/data/scripts/maps/SlateportCity_Mart.inc b/data/scripts/maps/SlateportCity_Mart.inc index 730afe6d4..39a1d5ba2 100644 --- a/data/scripts/maps/SlateportCity_Mart.inc +++ b/data/scripts/maps/SlateportCity_Mart.inc @@ -5,7 +5,7 @@ SlateportCity_Mart_EventScript_156411:: @ 8156411 lock faceplayer message SlateportCity_Mart_Text_1A0BE4 - waittext + waitmessage pokemart SlateportCity_Mart_Items msgbox SlateportCity_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc index e84f8ccc6..1ee8ff39b 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc @@ -18,59 +18,59 @@ SlateportCity_OceanicMuseum_1F_EventScript_155ADB:: @ 8155ADB SlateportCity_OceanicMuseum_1F_EventScript_155AE4:: @ 8155AE4 lockall - move 255, SlateportCity_OceanicMuseum_1F_Movement_1A083F - waitmove 0 - jump SlateportCity_OceanicMuseum_1F_EventScript_155B06 + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_1A083F + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_155B06 end SlateportCity_OceanicMuseum_1F_EventScript_155AF5:: @ 8155AF5 lockall - move 255, SlateportCity_OceanicMuseum_1F_Movement_1A0843 - waitmove 0 - jump SlateportCity_OceanicMuseum_1F_EventScript_155B06 + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_1A0843 + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_155B06 end SlateportCity_OceanicMuseum_1F_EventScript_155B06:: @ 8155B06 - showmoney 0, 0 - snop + showmoneybox 0, 0 + nop msgbox SlateportCity_OceanicMuseum_1F_Text_17E18D, 5 compare RESULT, 1 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155B2D - closebutton - hidemoney 0, 0 - move 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D - waitmove 0 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155B2D + closemessage + hidemoneybox 0, 0 + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D + waitmovement 0 releaseall end SlateportCity_OceanicMuseum_1F_EventScript_155B2D:: @ 8155B2D checkmoney 0x32, 0 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155B5A - paymoney 0x32, 0 - updatemoney 0, 0 - snop + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155B5A + takemoney 0x32, 0 + updatemoneybox 0, 0 + nop msgbox SlateportCity_OceanicMuseum_1F_Text_17E1DE, 4 setvar 0x40aa, 1 - hidemoney 0, 0 + hidemoneybox 0, 0 releaseall end SlateportCity_OceanicMuseum_1F_EventScript_155B5A:: @ 8155B5A checkflag 149 - jumpif 0, SlateportCity_OceanicMuseum_1F_EventScript_155B7B + goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_155B7B msgbox SlateportCity_OceanicMuseum_1F_Text_17E1F5, 4 - closebutton - hidemoney 0, 0 - move 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D - waitmove 0 + closemessage + hidemoneybox 0, 0 + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_155B8D + waitmovement 0 releaseall end SlateportCity_OceanicMuseum_1F_EventScript_155B7B:: @ 8155B7B msgbox SlateportCity_OceanicMuseum_1F_Text_17E22D, 4 setvar 0x40aa, 1 - hidemoney 0, 0 + hidemoneybox 0, 0 releaseall end @@ -157,40 +157,40 @@ SlateportCity_OceanicMuseum_1F_EventScript_155C31:: @ 8155C31 SlateportCity_OceanicMuseum_1F_EventScript_155C3A:: @ 8155C3A lock faceplayer - pause 8 - playsfx 21 - move 13, SlateportCity_OceanicMuseum_1F_Movement_1A0833 - waitmove 0 - move 13, SlateportCity_OceanicMuseum_1F_Movement_1A0835 - waitmove 0 + delay 8 + playse 21 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_1A0833 + waitmovement 0 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_1A0835 + waitmovement 0 msgbox SlateportCity_OceanicMuseum_1F_Text_17E582, 4 giveitem ITEM_TM46 compare RESULT, 0 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155CC2 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155CC2 setflag 269 msgbox SlateportCity_OceanicMuseum_1F_Text_17E606, 4 - closebutton + closemessage compare FACING, 2 - jumpeq SlateportCity_OceanicMuseum_1F_EventScript_155C98 + goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_155C98 compare FACING, 2 - jumpif 5, SlateportCity_OceanicMuseum_1F_EventScript_155CAD + goto_if 5, SlateportCity_OceanicMuseum_1F_EventScript_155CAD end SlateportCity_OceanicMuseum_1F_EventScript_155C98:: @ 8155C98 - move 13, SlateportCity_OceanicMuseum_1F_Movement_155CD3 - waitmove 0 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_155CD3 + waitmovement 0 setflag 965 - playsfx 9 - disappear 13 + playse 9 + removeobject 13 release end SlateportCity_OceanicMuseum_1F_EventScript_155CAD:: @ 8155CAD - move 13, SlateportCity_OceanicMuseum_1F_Movement_155CCC - waitmove 0 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_155CCC + waitmovement 0 setflag 965 - playsfx 9 - disappear 13 + playse 9 + removeobject 13 release end diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc index 57bfbbd03..e379c633d 100644 --- a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc @@ -10,82 +10,82 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6 lock faceplayer msgbox SlateportCity_OceanicMuseum_2F_Text_17ECFD, 4 - closebutton - playmusic BGM_EVIL_TEAM, 1 - reappear 3 - move 3, SlateportCity_OceanicMuseum_2F_Movement_155EB4 - waitmove 0 - reappear 4 - move 4, SlateportCity_OceanicMuseum_2F_Movement_155EC3 - waitmove 0 - move 3, SlateportCity_OceanicMuseum_2F_Movement_155EB8 - move 4, SlateportCity_OceanicMuseum_2F_Movement_155EC5 - waitmove 0 + closemessage + playbgm BGM_EVIL_TEAM, 1 + addobject 3 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB4 + waitmovement 0 + addobject 4 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EC3 + waitmovement 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB8 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EC5 + waitmovement 0 compare FACING, 1 - callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62 compare FACING, 4 - callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E62 msgbox SlateportCity_OceanicMuseum_2F_Text_17EDAE, 4 compare FACING, 4 - callif 5, SlateportCity_OceanicMuseum_2F_EventScript_155E6D + call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_155E6D msgbox SlateportCity_OceanicMuseum_2F_Text_17EDD7, 4 msgbox SlateportCity_OceanicMuseum_2F_Text_17EE01, 4 - closebutton - move 4, SlateportCity_OceanicMuseum_2F_Movement_155EB2 - waitmove 0 + closemessage + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EB2 + waitmovement 0 compare FACING, 1 - callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E78 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E78 compare FACING, 3 - callif 1, SlateportCity_OceanicMuseum_2F_EventScript_155E83 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_155E83 trainerbattle 3, OPPONENT_MUSEUM_2F_GRUNT_1, 0, SlateportCity_OceanicMuseum_2F_Text_17EE4E msgbox SlateportCity_OceanicMuseum_2F_Text_17EE66, 4 - closebutton - move 4, SlateportCity_OceanicMuseum_2F_Movement_155EBF - waitmove 0 - move 3, SlateportCity_OceanicMuseum_2F_Movement_155EB2 - waitmove 0 + closemessage + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155EBF + waitmovement 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EB2 + waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_17EEA5, 4 - playmusicbattle 0 + savebgm 0 trainerbattle 3, OPPONENT_MUSEUM_2F_GRUNT_2, 0, SlateportCity_OceanicMuseum_2F_Text_17EED6 - move 3, SlateportCity_OceanicMuseum_2F_Movement_155EBF - waitmove 0 - move 3, SlateportCity_OceanicMuseum_2F_Movement_1A0845 - move 4, SlateportCity_OceanicMuseum_2F_Movement_1A0841 - waitmove 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_155EBF + waitmovement 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_1A0845 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_1A0841 + waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_17EEEA, 4 - closebutton - pause 35 - reappear 2 - move 2, SlateportCity_OceanicMuseum_2F_Movement_155EA8 - move 4, SlateportCity_OceanicMuseum_2F_Movement_155ECE - waitmove 0 + closemessage + delay 35 + addobject 2 + applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_155EA8 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_155ECE + waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_17EF62, 4 - move 2, SlateportCity_OceanicMuseum_2F_Movement_155EA6 - waitmove 0 + applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_155EA6 + waitmovement 0 .ifdef SAPPHIRE msgbox SlateportCity_OceanicMuseum_2F_Text_17EFC9, 4 .else msgbox SlateportCity_OceanicMuseum_2F_Text_17F17E, 4 .endif - closebutton + closemessage fadescreen 1 - disappear 2 - disappear 3 - disappear 4 + removeobject 2 + removeobject 3 + removeobject 4 fadescreen 0 - pause 30 + delay 30 setflag 883 - move 255, SlateportCity_OceanicMuseum_2F_Movement_1A0843 - waitmove 0 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A0843 + waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_17F352, 4 setvar 0x8004, 269 call SlateportCity_OceanicMuseum_2F_EventScript_1A067F msgbox SlateportCity_OceanicMuseum_2F_Text_17F433, 4 - closebutton - move 1, SlateportCity_OceanicMuseum_2F_Movement_155E98 - waitmove 0 - playsfx 9 - disappear 1 + closemessage + applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_155E98 + waitmovement 0 + playse 9 + removeobject 1 setflag 900 setflag 149 clearflag 947 @@ -94,23 +94,23 @@ SlateportCity_OceanicMuseum_2F_EventScript_155CE6:: @ 8155CE6 end SlateportCity_OceanicMuseum_2F_EventScript_155E62:: @ 8155E62 - move 255, SlateportCity_OceanicMuseum_2F_Movement_1A083F - waitmove 0 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_1A083F + waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_155E6D:: @ 8155E6D - move 1, SlateportCity_OceanicMuseum_2F_Movement_1A083F - waitmove 0 + applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_1A083F + waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_155E78:: @ 8155E78 - move 255, SlateportCity_OceanicMuseum_2F_Movement_155E8E - waitmove 0 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_155E8E + waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_155E83:: @ 8155E83 - move 255, SlateportCity_OceanicMuseum_2F_Movement_155E92 - waitmove 0 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_155E92 + waitmovement 0 return SlateportCity_OceanicMuseum_2F_Movement_155E8E:: @ 8155E8E @@ -265,8 +265,8 @@ SlateportCity_OceanicMuseum_2F_EventScript_155F46:: @ 8155F46 lock faceplayer msgbox SlateportCity_OceanicMuseum_2F_Text_17F53B, 4 - closebutton - move LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_1A083D - waitmove 0 + closemessage + applymovement LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_1A083D + waitmovement 0 release end diff --git a/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc index c550a6850..9aa326f70 100644 --- a/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc @@ -10,7 +10,7 @@ SlateportCity_PokemonCenter_1F_MapScript1_1563C5:: @ 81563C5 SlateportCity_PokemonCenter_1F_EventScript_1563CE:: @ 81563CE setvar 0x800b, 1 call SlateportCity_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc index 0a7466a3b..4195ad43a 100644 --- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc +++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc @@ -18,27 +18,27 @@ SlateportCity_PokemonFanClub_EventScript_15576B:: @ 815576B SlateportCity_PokemonFanClub_EventScript_155795:: @ 8155795 setvar 0x40b7, 1 msgbox SlateportCity_PokemonFanClub_Text_17D773, 4 - jump SlateportCity_PokemonFanClub_EventScript_155808 + goto SlateportCity_PokemonFanClub_EventScript_155808 end SlateportCity_PokemonFanClub_EventScript_1557A8:: @ 81557A8 setvar 0x4002, 0 checkflag 204 - callif 1, SlateportCity_PokemonFanClub_EventScript_155893 + call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 checkflag 203 - callif 1, SlateportCity_PokemonFanClub_EventScript_155893 + call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 checkflag 202 - callif 1, SlateportCity_PokemonFanClub_EventScript_155893 + call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 checkflag 201 - callif 1, SlateportCity_PokemonFanClub_EventScript_155893 + call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 checkflag 200 - callif 1, SlateportCity_PokemonFanClub_EventScript_155893 + call_if 1, SlateportCity_PokemonFanClub_EventScript_155893 compare 0x4002, 5 - callif 1, SlateportCity_PokemonFanClub_EventScript_15588D + call_if 1, SlateportCity_PokemonFanClub_EventScript_15588D compare 0x40b7, 2 - jumpeq SlateportCity_PokemonFanClub_EventScript_1557FE + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1557FE msgbox SlateportCity_PokemonFanClub_Text_17DA14, 4 - jump SlateportCity_PokemonFanClub_EventScript_155808 + goto SlateportCity_PokemonFanClub_EventScript_155808 end SlateportCity_PokemonFanClub_EventScript_1557FE:: @ 81557FE @@ -50,16 +50,16 @@ SlateportCity_PokemonFanClub_EventScript_155808:: @ 8155808 msgbox SlateportCity_PokemonFanClub_Text_17DA49, 4 setvar 0x4001, 0 checkflag 204 - callif 0, SlateportCity_PokemonFanClub_EventScript_1559FE + call_if 0, SlateportCity_PokemonFanClub_EventScript_1559FE checkflag 203 - callif 0, SlateportCity_PokemonFanClub_EventScript_1559E7 + call_if 0, SlateportCity_PokemonFanClub_EventScript_1559E7 checkflag 202 - callif 0, SlateportCity_PokemonFanClub_EventScript_1559D0 + call_if 0, SlateportCity_PokemonFanClub_EventScript_1559D0 checkflag 201 - callif 0, SlateportCity_PokemonFanClub_EventScript_1559B9 + call_if 0, SlateportCity_PokemonFanClub_EventScript_1559B9 checkflag 200 - callif 0, SlateportCity_PokemonFanClub_EventScript_1559A2 - bufferfirstpoke 0 + call_if 0, SlateportCity_PokemonFanClub_EventScript_1559A2 + getfirstpartypokename 0 switch 0x4001 case 0, SlateportCity_PokemonFanClub_EventScript_155899 case 1, SlateportCity_PokemonFanClub_EventScript_1558A3 @@ -86,7 +86,7 @@ SlateportCity_PokemonFanClub_EventScript_155899:: @ 8155899 SlateportCity_PokemonFanClub_EventScript_1558A3:: @ 81558A3 checkitemspace ITEM_RED_SCARF, 1 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_155998 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998 msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4 setflag 200 giveitem ITEM_RED_SCARF @@ -97,7 +97,7 @@ SlateportCity_PokemonFanClub_EventScript_1558A3:: @ 81558A3 SlateportCity_PokemonFanClub_EventScript_1558D4:: @ 81558D4 checkitemspace ITEM_BLUE_SCARF, 1 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_155998 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998 msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4 setflag 201 giveitem ITEM_BLUE_SCARF @@ -108,7 +108,7 @@ SlateportCity_PokemonFanClub_EventScript_1558D4:: @ 81558D4 SlateportCity_PokemonFanClub_EventScript_155905:: @ 8155905 checkitemspace ITEM_PINK_SCARF, 1 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_155998 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998 msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4 setflag 202 giveitem ITEM_PINK_SCARF @@ -119,7 +119,7 @@ SlateportCity_PokemonFanClub_EventScript_155905:: @ 8155905 SlateportCity_PokemonFanClub_EventScript_155936:: @ 8155936 checkitemspace ITEM_GREEN_SCARF, 1 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_155998 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998 msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4 setflag 203 giveitem ITEM_GREEN_SCARF @@ -130,7 +130,7 @@ SlateportCity_PokemonFanClub_EventScript_155936:: @ 8155936 SlateportCity_PokemonFanClub_EventScript_155967:: @ 8155967 checkitemspace ITEM_YELLOW_SCARF, 1 compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_155998 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_155998 msgbox SlateportCity_PokemonFanClub_Text_17DB89, 4 setflag 204 giveitem ITEM_YELLOW_SCARF @@ -144,9 +144,9 @@ SlateportCity_PokemonFanClub_EventScript_155998:: @ 8155998 end SlateportCity_PokemonFanClub_EventScript_1559A2:: @ 81559A2 - specialval RESULT, CheckLeadMonCool + specialvar RESULT, CheckLeadMonCool compare RESULT, 1 - callif 1, SlateportCity_PokemonFanClub_EventScript_1559B3 + call_if 1, SlateportCity_PokemonFanClub_EventScript_1559B3 return SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3 @@ -154,9 +154,9 @@ SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3 return SlateportCity_PokemonFanClub_EventScript_1559B9:: @ 81559B9 - specialval RESULT, CheckLeadMonBeauty + specialvar RESULT, CheckLeadMonBeauty compare RESULT, 1 - callif 1, SlateportCity_PokemonFanClub_EventScript_1559CA + call_if 1, SlateportCity_PokemonFanClub_EventScript_1559CA return SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA @@ -164,9 +164,9 @@ SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA return SlateportCity_PokemonFanClub_EventScript_1559D0:: @ 81559D0 - specialval RESULT, CheckLeadMonCute + specialvar RESULT, CheckLeadMonCute compare RESULT, 1 - callif 1, SlateportCity_PokemonFanClub_EventScript_1559E1 + call_if 1, SlateportCity_PokemonFanClub_EventScript_1559E1 return SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1 @@ -174,9 +174,9 @@ SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1 return SlateportCity_PokemonFanClub_EventScript_1559E7:: @ 81559E7 - specialval RESULT, CheckLeadMonSmart + specialvar RESULT, CheckLeadMonSmart compare RESULT, 1 - callif 1, SlateportCity_PokemonFanClub_EventScript_1559F8 + call_if 1, SlateportCity_PokemonFanClub_EventScript_1559F8 return SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8 @@ -184,9 +184,9 @@ SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8 return SlateportCity_PokemonFanClub_EventScript_1559FE:: @ 81559FE - specialval RESULT, CheckLeadMonTough + specialvar RESULT, CheckLeadMonTough compare RESULT, 1 - callif 1, SlateportCity_PokemonFanClub_EventScript_155A0F + call_if 1, SlateportCity_PokemonFanClub_EventScript_155A0F return SlateportCity_PokemonFanClub_EventScript_155A0F:: @ 8155A0F @@ -197,24 +197,24 @@ SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15 lock faceplayer checkflag 278 - jumpeq SlateportCity_PokemonFanClub_EventScript_155A75 + goto_if_eq SlateportCity_PokemonFanClub_EventScript_155A75 msgbox SlateportCity_PokemonFanClub_Text_17DE6B, 4 - specialval RESULT, GetLeadMonFriendshipScore + specialvar RESULT, GetLeadMonFriendshipScore compare RESULT, 4 - jumpif 4, SlateportCity_PokemonFanClub_EventScript_155A3A + goto_if 4, SlateportCity_PokemonFanClub_EventScript_155A3A release end SlateportCity_PokemonFanClub_EventScript_155A3A:: @ 8155A3A - playsfx 21 - move LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0833 - waitmove 0 - move LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0835 - waitmove 0 + playse 21 + applymovement LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0833 + waitmovement 0 + applymovement LAST_TALKED, SlateportCity_PokemonFanClub_Movement_1A0835 + waitmovement 0 msgbox SlateportCity_PokemonFanClub_Text_17DF57, 4 giveitem ITEM_SOOTHE_BELL compare RESULT, 0 - jumpeq SlateportCity_PokemonFanClub_EventScript_1A029B + goto_if_eq SlateportCity_PokemonFanClub_EventScript_1A029B setflag 278 release end @@ -235,8 +235,8 @@ SlateportCity_PokemonFanClub_EventScript_155A88:: @ 8155A88 SlateportCity_PokemonFanClub_EventScript_155A91:: @ 8155A91 lock faceplayer - checksound - pokecry SPECIES_SKITTY, 0 + waitse + playpokecry SPECIES_SKITTY, 0 msgbox SlateportCity_PokemonFanClub_Text_17E14E, 4 waitpokecry release @@ -245,8 +245,8 @@ SlateportCity_PokemonFanClub_EventScript_155A91:: @ 8155A91 SlateportCity_PokemonFanClub_EventScript_155AA4:: @ 8155AA4 lock faceplayer - checksound - pokecry SPECIES_ZIGZAGOON, 0 + waitse + playpokecry SPECIES_ZIGZAGOON, 0 msgbox SlateportCity_PokemonFanClub_Text_17E164, 4 waitpokecry release @@ -255,8 +255,8 @@ SlateportCity_PokemonFanClub_EventScript_155AA4:: @ 8155AA4 SlateportCity_PokemonFanClub_EventScript_155AB7:: @ 8155AB7 lock faceplayer - checksound - pokecry SPECIES_AZUMARILL, 0 + waitse + playpokecry SPECIES_AZUMARILL, 0 msgbox SlateportCity_PokemonFanClub_Text_17E178, 4 waitpokecry release diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc index 4c0596d29..9fe7f1f1a 100644 --- a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc +++ b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc @@ -4,52 +4,52 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8155335 SlateportCity_SternsShipyard_1F_EventScript_155336:: @ 8155336 lockall checkflag 2052 - jumpeq SlateportCity_SternsShipyard_1F_EventScript_155388 + goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_155388 checkflag 2061 - jumpeq SlateportCity_SternsShipyard_1F_EventScript_15539C + goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_15539C checkflag 149 - jumpeq SlateportCity_SternsShipyard_1F_EventScript_1553CF + goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553CF checkflag 148 - jumpeq SlateportCity_SternsShipyard_1F_EventScript_1553B0 + goto_if_eq SlateportCity_SternsShipyard_1F_EventScript_1553B0 msgbox SlateportCity_SternsShipyard_1F_Text_17C14B, 4 - move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 - waitmove 0 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_SternsShipyard_1F_Text_17C1EC, 4 - closebutton - move 1, SlateportCity_SternsShipyard_1F_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A083D + waitmovement 0 setflag 148 setflag 882 releaseall end SlateportCity_SternsShipyard_1F_EventScript_155388:: @ 8155388 - move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 - waitmove 0 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_SternsShipyard_1F_Text_17C472, 4 releaseall end SlateportCity_SternsShipyard_1F_EventScript_15539C:: @ 815539C - move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 - waitmove 0 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_SternsShipyard_1F_Text_17C3F7, 4 releaseall end SlateportCity_SternsShipyard_1F_EventScript_1553B0:: @ 81553B0 - move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 - waitmove 0 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_SternsShipyard_1F_Text_17C2F2, 4 - closebutton - move 1, SlateportCity_SternsShipyard_1F_Movement_1A083D - waitmove 0 + closemessage + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A083D + waitmovement 0 releaseall end SlateportCity_SternsShipyard_1F_EventScript_1553CF:: @ 81553CF - move 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 - waitmove 0 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_1A0839 + waitmovement 0 msgbox SlateportCity_SternsShipyard_1F_Text_17C360, 4 releaseall end diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc index 0c22fbc37..bddc5965d 100644 --- a/data/scripts/maps/SootopolisCity.inc +++ b/data/scripts/maps/SootopolisCity.inc @@ -6,19 +6,19 @@ SootopolisCity_MapScripts:: @ 814D07D SootopolisCity_MapScript1_14D08D:: @ 814D08D checkflag 129 - callif 0, SootopolisCity_EventScript_14D0A0 + call_if 0, SootopolisCity_EventScript_14D0A0 checkflag 129 - callif 1, SootopolisCity_EventScript_14D0B1 + call_if 1, SootopolisCity_EventScript_14D0B1 end SootopolisCity_EventScript_14D0A0:: @ 814D0A0 - movespriteperm 3, 31, 18 + setobjectxyperm 3, 31, 18 setmaptile 31, 32, 592, 1 return SootopolisCity_EventScript_14D0B1:: @ 814D0B1 checkflag 113 - callif 0, SootopolisCity_EventScript_14D0BB + call_if 0, SootopolisCity_EventScript_14D0BB return SootopolisCity_EventScript_14D0BB:: @ 814D0BB @@ -36,40 +36,40 @@ SootopolisCity_EventScript_14D0BB:: @ 814D0BB SootopolisCity_MapScript1_14D10D:: @ 814D10D setflag 2077 checkflag 113 - callif 1, SootopolisCity_EventScript_14D159 + call_if 1, SootopolisCity_EventScript_14D159 checkflag 2090 - callif 1, SootopolisCity_EventScript_14D123 + call_if 1, SootopolisCity_EventScript_14D123 end SootopolisCity_EventScript_14D123:: @ 814D123 call SootopolisCity_EventScript_1A02C1 - movespriteperm 1, 29, 19 - movespriteperm 2, 33, 19 + setobjectxyperm 1, 29, 19 + setobjectxyperm 2, 33, 19 compare 0x405e, 1 - callif 1, SootopolisCity_EventScript_14D142 + call_if 1, SootopolisCity_EventScript_14D142 return SootopolisCity_EventScript_14D142:: @ 814D142 - movespriteperm 10, 29, 6 - spritebehave 10, 10 - movespriteperm 5, 30, 6 - spritebehave 5, 9 + setobjectxyperm 10, 29, 6 + setobjectmovementtype 10, 10 + setobjectxyperm 5, 30, 6 + setobjectmovementtype 5, 9 return SootopolisCity_EventScript_14D159:: @ 814D159 - movespriteperm 10, 31, 33 - spritebehave 10, 8 + setobjectxyperm 10, 31, 33 + setobjectmovementtype 10, 8 return SootopolisCity_MapScript1_14D165:: @ 814D165 - warp4 Underwater_SootopolisCity, 255, 9, 6 + setdivewarp Underwater_SootopolisCity, 255, 9, 6 end SootopolisCity_EventScript_14D16E:: @ 814D16E lock faceplayer checkflag 113 - jumpeq SootopolisCity_EventScript_14D183 + goto_if_eq SootopolisCity_EventScript_14D183 msgbox SootopolisCity_Text_1696A4, 4 release end @@ -90,30 +90,30 @@ SootopolisCity_EventScript_14D196:: @ 814D196 SootopolisCity_EventScript_14D19F:: @ 814D19F lock faceplayer - checkdailyflags + dodailyevents special GetPlayerBigGuyGirlString checkflag 2258 - jumpeq SootopolisCity_EventScript_14D241 + goto_if_eq SootopolisCity_EventScript_14D241 msgbox SootopolisCity_Text_1C63F2, 4 random 10 addvar RESULT, 20 addvar RESULT, 133 giveitem RESULT compare RESULT, 0 - jumpeq SootopolisCity_EventScript_1A029B + goto_if_eq SootopolisCity_EventScript_1A029B setflag 2258 msgbox SootopolisCity_Text_1C64D0, 4 random 2 compare RESULT, 0 - jumpeq SootopolisCity_EventScript_14D1FF + goto_if_eq SootopolisCity_EventScript_14D1FF compare RESULT, 1 - jumpeq SootopolisCity_EventScript_14D220 + goto_if_eq SootopolisCity_EventScript_14D220 end SootopolisCity_EventScript_14D1FF:: @ 814D1FF giveitem ITEM_FIGY_BERRY compare RESULT, 0 - jumpeq SootopolisCity_EventScript_1A029B + goto_if_eq SootopolisCity_EventScript_1A029B msgbox SootopolisCity_Text_1C650B, 4 release end @@ -121,7 +121,7 @@ SootopolisCity_EventScript_14D1FF:: @ 814D1FF SootopolisCity_EventScript_14D220:: @ 814D220 giveitem ITEM_IAPAPA_BERRY compare RESULT, 0 - jumpeq SootopolisCity_EventScript_1A029B + goto_if_eq SootopolisCity_EventScript_1A029B msgbox SootopolisCity_Text_1C650B, 4 release end @@ -129,7 +129,7 @@ SootopolisCity_EventScript_14D220:: @ 814D220 SootopolisCity_EventScript_14D241:: @ 814D241 msgbox SootopolisCity_Text_1C6540, 5 compare RESULT, 1 - jumpeq SootopolisCity_EventScript_14D25E + goto_if_eq SootopolisCity_EventScript_14D25E msgbox SootopolisCity_Text_1C6626, 4 release end @@ -143,7 +143,7 @@ SootopolisCity_EventScript_14D268:: @ 814D268 lock faceplayer checkflag 1236 - jumpeq SootopolisCity_EventScript_14D27D + goto_if_eq SootopolisCity_EventScript_14D27D msgbox SootopolisCity_Text_16A4D6, 4 release end @@ -157,7 +157,7 @@ SootopolisCity_EventScript_14D287:: @ 814D287 lock faceplayer checkflag 113 - jumpeq SootopolisCity_EventScript_14D29C + goto_if_eq SootopolisCity_EventScript_14D29C msgbox SootopolisCity_Text_169813, 4 release end @@ -171,7 +171,7 @@ SootopolisCity_EventScript_14D2A6:: @ 814D2A6 lock faceplayer checkflag 113 - jumpeq SootopolisCity_EventScript_14D2BB + goto_if_eq SootopolisCity_EventScript_14D2BB msgbox SootopolisCity_Text_1698A0, 4 release end @@ -185,7 +185,7 @@ SootopolisCity_EventScript_14D2C5:: @ 814D2C5 lock faceplayer checkflag 113 - jumpeq SootopolisCity_EventScript_14D2DA + goto_if_eq SootopolisCity_EventScript_14D2DA msgbox SootopolisCity_Text_1697A7, 4 release end @@ -213,81 +213,81 @@ ClosedSootopolisGymDoorScript:: @ 814D2FF SootopolisCity_EventScript_14D308:: @ 814D308 lockall - move 10, SootopolisCity_Movement_1A083F - move 255, SootopolisCity_Movement_1A0843 - waitmove 0 - playsfx 21 - move 10, SootopolisCity_Movement_1A0833 - waitmove 0 - move 10, SootopolisCity_Movement_1A0835 - waitmove 0 - move 10, SootopolisCity_Movement_14D413 - waitmove 0 + applymovement 10, SootopolisCity_Movement_1A083F + applymovement 255, SootopolisCity_Movement_1A0843 + waitmovement 0 + playse 21 + applymovement 10, SootopolisCity_Movement_1A0833 + waitmovement 0 + applymovement 10, SootopolisCity_Movement_1A0835 + waitmovement 0 + applymovement 10, SootopolisCity_Movement_14D413 + waitmovement 0 .ifdef SAPPHIRE msgbox SootopolisCity_Text_169988, 4 .else msgbox SootopolisCity_Text_169E0F, 4 .endif - closebutton - move 10, SootopolisCity_Movement_14D417 - move 255, SootopolisCity_Movement_14D440 - waitmove 10 + closemessage + applymovement 10, SootopolisCity_Movement_14D417 + applymovement 255, SootopolisCity_Movement_14D440 + waitmovement 10 .ifdef SAPPHIRE msgbox SootopolisCity_Text_1699FD, 4 .else msgbox SootopolisCity_Text_169E82, 4 .endif - playsfx 21 - move 5, SootopolisCity_Movement_1A0833 - waitmove 0 - move 5, SootopolisCity_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 5, SootopolisCity_Movement_1A0833 + waitmovement 0 + applymovement 5, SootopolisCity_Movement_1A0835 + waitmovement 0 .ifdef SAPPHIRE msgbox SootopolisCity_Text_169AB7, 4 .else msgbox SootopolisCity_Text_169F3C, 4 .endif - closebutton - pause 30 - move 5, SootopolisCity_Movement_14D46A - move 10, SootopolisCity_Movement_14D41D - move 255, SootopolisCity_Movement_14D445 - waitmove 0 - move 5, SootopolisCity_Movement_1A0843 - move 255, SootopolisCity_Movement_1A0843 - waitmove 0 - pause 30 - move 10, SootopolisCity_Movement_1A0845 - waitmove 0 + closemessage + delay 30 + applymovement 5, SootopolisCity_Movement_14D46A + applymovement 10, SootopolisCity_Movement_14D41D + applymovement 255, SootopolisCity_Movement_14D445 + waitmovement 0 + applymovement 5, SootopolisCity_Movement_1A0843 + applymovement 255, SootopolisCity_Movement_1A0843 + waitmovement 0 + delay 30 + applymovement 10, SootopolisCity_Movement_1A0845 + waitmovement 0 .ifdef SAPPHIRE msgbox SootopolisCity_Text_169AE7, 4 .else msgbox SootopolisCity_Text_169F6B, 4 .endif - closebutton - pause 30 - move 5, SootopolisCity_Movement_14D47C - move 255, SootopolisCity_Movement_14D457 - move 10, SootopolisCity_Movement_14D42D - waitmove 0 - move 5, SootopolisCity_Movement_1A083F - waitmove 0 + closemessage + delay 30 + applymovement 5, SootopolisCity_Movement_14D47C + applymovement 255, SootopolisCity_Movement_14D457 + applymovement 10, SootopolisCity_Movement_14D42D + waitmovement 0 + applymovement 5, SootopolisCity_Movement_1A083F + waitmovement 0 .ifdef SAPPHIRE msgbox SootopolisCity_Text_169BC7, 4 .else msgbox SootopolisCity_Text_16A06C, 4 .endif - move 255, SootopolisCity_Movement_1A083F - waitmove 0 + applymovement 255, SootopolisCity_Movement_1A083F + waitmovement 0 .ifdef SAPPHIRE msgbox SootopolisCity_Text_169C99, 4 .else msgbox SootopolisCity_Text_16A13E, 4 .endif - moveoffscreen 5 - spritebehave 5, 9 - moveoffscreen 10 - spritebehave 10, 10 + moveobjectoffscreen 5 + setobjectmovementtype 5, 9 + moveobjectoffscreen 10 + setobjectmovementtype 10, 10 setvar 0x405e, 2 releaseall end @@ -446,7 +446,7 @@ SootopolisCity_EventScript_14D498:: @ 814D498 lock faceplayer checkflag 113 - jumpeq SootopolisCity_EventScript_14D4AD + goto_if_eq SootopolisCity_EventScript_14D4AD .ifdef SAPPHIRE msgbox SootopolisCity_Text_169DA6, 4 .else @@ -457,14 +457,14 @@ SootopolisCity_EventScript_14D498:: @ 814D498 SootopolisCity_EventScript_14D4AD:: @ 814D4AD msgbox SootopolisCity_Text_16A33E, 4 - closebutton - move LAST_TALKED, SootopolisCity_Movement_1A0845 - waitmove 0 - pause 50 - setanimation 0, 1 - doanimation 30 - pause 15 - disappear LAST_TALKED - checkanimation 30 + closemessage + applymovement LAST_TALKED, SootopolisCity_Movement_1A0845 + waitmovement 0 + delay 50 + setfieldeffect 0, 1 + dofieldeffect 30 + delay 15 + removeobject LAST_TALKED + waitfieldeffect 30 release end diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc index 32bf4d619..51b67ee4b 100644 --- a/data/scripts/maps/SootopolisCity_Gym_1F.inc +++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc @@ -20,11 +20,11 @@ SootopolisCity_Gym_1F_MapScript1_15AF25:: @ 815AF25 SootopolisCity_Gym_1F_EventScript_15AF2E:: @ 815AF2E compare 0x4022, 8 - jumpif 0, SootopolisCity_Gym_1F_EventScript_15AF85 + goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF85 compare 0x4022, 28 - jumpif 0, SootopolisCity_Gym_1F_EventScript_15AF73 + goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF73 compare 0x4022, 69 - jumpif 0, SootopolisCity_Gym_1F_EventScript_15AF61 + goto_if 0, SootopolisCity_Gym_1F_EventScript_15AF61 setmaptile 8, 4, 519, 0 setmaptile 8, 5, 519, 0 @@ -48,35 +48,35 @@ SootopolisCity_Gym_1F_MapScript2_15AF86:: @ 815AF86 SootopolisCity_Gym_1F_EventScript_15AFA8:: @ 815AFA8 addvar 0x4022, 1 - pause 40 - playsfx 40 + delay 40 + playse 40 call SootopolisCity_Gym_1F_EventScript_15AF2E special DrawWholeMapView end SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC addvar 0x4022, 1 - pause 40 - playsfx 40 + delay 40 + playse 40 call SootopolisCity_Gym_1F_EventScript_15AF2E special DrawWholeMapView end SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0 addvar 0x4022, 1 - pause 40 - playsfx 40 + delay 40 + playse 40 call SootopolisCity_Gym_1F_EventScript_15AF2E special DrawWholeMapView end SootopolisCity_Gym_1F_EventScript_15AFE4:: @ 815AFE4 lockall - pause 20 - move 255, SootopolisCity_Gym_1F_Movement_15AFFD - waitmove 0 - playsfx 43 - pause 60 + delay 20 + applymovement 255, SootopolisCity_Gym_1F_Movement_15AFFD + waitmovement 0 + playse 43 + delay 60 warphole SootopolisCity_Gym_B1F waitstate end @@ -88,29 +88,29 @@ SootopolisCity_Gym_1F_Movement_15AFFD:: @ 815AFFD SootopolisCity_Gym_1F_EventScript_15AFFF:: @ 815AFFF trainerbattle 1, OPPONENT_WALLACE, 0, SootopolisCity_Gym_1F_Text_18F0CA, SootopolisCity_Gym_1F_Text_18F282, SootopolisCity_Gym_1F_EventScript_15B02D checkflag 172 - jumpif 0, SootopolisCity_Gym_1F_EventScript_15B056 + goto_if 0, SootopolisCity_Gym_1F_EventScript_15B056 checkflag 2060 - jumpif 0, SootopolisCity_Gym_1F_EventScript_15B07A + goto_if 0, SootopolisCity_Gym_1F_EventScript_15B07A msgbox SootopolisCity_Gym_1F_Text_18F4D7, 4 release end SootopolisCity_Gym_1F_EventScript_15B02D:: @ 815B02D message SootopolisCity_Gym_1F_Text_18F342 - waittext + waitmessage call SootopolisCity_Gym_1F_EventScript_1A02C5 msgbox SootopolisCity_Gym_1F_Text_18F36B, 4 setflag 1236 setflag 2062 setvar 0x8008, 8 call SootopolisCity_Gym_1F_EventScript_1A01C0 - jump SootopolisCity_Gym_1F_EventScript_15B056 + goto SootopolisCity_Gym_1F_EventScript_15B056 end SootopolisCity_Gym_1F_EventScript_15B056:: @ 815B056 giveitem ITEM_TM03 compare RESULT, 0 - jumpeq SootopolisCity_Gym_1F_EventScript_1A029B + goto_if_eq SootopolisCity_Gym_1F_EventScript_1A029B msgbox SootopolisCity_Gym_1F_Text_18F466, 4 setflag 172 release @@ -125,7 +125,7 @@ SootopolisCity_Gym_1F_EventScript_15B084:: @ 815B084 lock faceplayer checkflag 1236 - jumpeq SootopolisCity_Gym_1F_EventScript_15B099 + goto_if_eq SootopolisCity_Gym_1F_EventScript_15B099 msgbox SootopolisCity_Gym_1F_Text_18E8A5, 4 release end @@ -138,15 +138,15 @@ SootopolisCity_Gym_1F_EventScript_15B099:: @ 815B099 SootopolisCity_Gym_1F_EventScript_15B0A3:: @ 815B0A3 lockall checkflag 2062 - jumpeq SootopolisCity_Gym_1F_EventScript_15B0C3 - jump SootopolisCity_Gym_1F_EventScript_15B0CD + goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3 + goto SootopolisCity_Gym_1F_EventScript_15B0CD end SootopolisCity_Gym_1F_EventScript_15B0B3:: @ 815B0B3 lockall checkflag 2062 - jumpeq SootopolisCity_Gym_1F_EventScript_15B0C3 - jump SootopolisCity_Gym_1F_EventScript_15B0CD + goto_if_eq SootopolisCity_Gym_1F_EventScript_15B0C3 + goto SootopolisCity_Gym_1F_EventScript_15B0CD end SootopolisCity_Gym_1F_EventScript_15B0C3:: @ 815B0C3 diff --git a/data/scripts/maps/SootopolisCity_House1.inc b/data/scripts/maps/SootopolisCity_House1.inc index 604f04c4f..4877d6d6e 100644 --- a/data/scripts/maps/SootopolisCity_House1.inc +++ b/data/scripts/maps/SootopolisCity_House1.inc @@ -5,7 +5,7 @@ SootopolisCity_House1_EventScript_15B29B:: @ 815B29B lock faceplayer checkflag 121 - jumpeq SootopolisCity_House1_EventScript_15B2C7 + goto_if_eq SootopolisCity_House1_EventScript_15B2C7 msgbox SootopolisCity_House1_Text_18F991, 4 giveitem ITEM_TM31 setflag 121 @@ -21,8 +21,8 @@ SootopolisCity_House1_EventScript_15B2C7:: @ 815B2C7 SootopolisCity_House1_EventScript_15B2D1:: @ 815B2D1 lock faceplayer - checksound - pokecry SPECIES_KECLEON, 0 + waitse + playpokecry SPECIES_KECLEON, 0 msgbox SootopolisCity_House1_Text_18FA50, 4 waitpokecry release diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc index 409a871a8..011806291 100644 --- a/data/scripts/maps/SootopolisCity_House2.inc +++ b/data/scripts/maps/SootopolisCity_House2.inc @@ -6,9 +6,9 @@ SootopolisCity_House2_EventScript_15B2E5:: @ 815B2E5 faceplayer msgbox SootopolisCity_House2_Text_18FA66, 5 compare RESULT, 1 - callif 1, SootopolisCity_House2_EventScript_15B307 + call_if 1, SootopolisCity_House2_EventScript_15B307 compare RESULT, 0 - callif 1, SootopolisCity_House2_EventScript_15B310 + call_if 1, SootopolisCity_House2_EventScript_15B310 release end diff --git a/data/scripts/maps/SootopolisCity_House3.inc b/data/scripts/maps/SootopolisCity_House3.inc index 88e35730e..f1bf0bf19 100644 --- a/data/scripts/maps/SootopolisCity_House3.inc +++ b/data/scripts/maps/SootopolisCity_House3.inc @@ -6,7 +6,7 @@ SootopolisCity_House3_EventScript_15B31A:: @ 815B31A faceplayer msgbox SootopolisCity_House3_Text_18FB36, 5 compare RESULT, 1 - jumpeq SootopolisCity_House3_EventScript_15B339 + goto_if_eq SootopolisCity_House3_EventScript_15B339 msgbox SootopolisCity_House3_Text_18FBC0, 4 release end diff --git a/data/scripts/maps/SootopolisCity_House4.inc b/data/scripts/maps/SootopolisCity_House4.inc index ee3bfe61b..c192a0340 100644 --- a/data/scripts/maps/SootopolisCity_House4.inc +++ b/data/scripts/maps/SootopolisCity_House4.inc @@ -12,8 +12,8 @@ SootopolisCity_House4_EventScript_15B356:: @ 815B356 SootopolisCity_House4_EventScript_15B35F:: @ 815B35F lock faceplayer - checksound - pokecry SPECIES_AZUMARILL, 0 + waitse + playpokecry SPECIES_AZUMARILL, 0 msgbox SootopolisCity_House4_Text_18FDD8, 4 waitpokecry release diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc index cccfa78ee..a0fdc5ca4 100644 --- a/data/scripts/maps/SootopolisCity_House6.inc +++ b/data/scripts/maps/SootopolisCity_House6.inc @@ -5,14 +5,14 @@ SootopolisCity_House6_EventScript_15B386:: @ 815B386 lock faceplayer checkflag 245 - jumpeq SootopolisCity_House6_EventScript_15B3CD + goto_if_eq SootopolisCity_House6_EventScript_15B3CD msgbox SootopolisCity_House6_Text_18FEA1, 5 compare RESULT, 0 - callif 1, SootopolisCity_House6_EventScript_15B3C3 + call_if 1, SootopolisCity_House6_EventScript_15B3C3 msgbox SootopolisCity_House6_Text_18FF12, 4 givedecoration 117 compare RESULT, 0 - jumpeq SootopolisCity_House6_EventScript_15B3D7 + goto_if_eq SootopolisCity_House6_EventScript_15B3D7 setflag 245 release end @@ -28,7 +28,7 @@ SootopolisCity_House6_EventScript_15B3CD:: @ 815B3CD end SootopolisCity_House6_EventScript_15B3D7:: @ 815B3D7 - bufferdecor 1, 117 + getdecorname 1, 117 msgbox SootopolisCity_House6_Text_1A0CEF, 4 msgbox SootopolisCity_House6_Text_18FF28, 4 release diff --git a/data/scripts/maps/SootopolisCity_House8.inc b/data/scripts/maps/SootopolisCity_House8.inc index 9d7618316..df536004e 100644 --- a/data/scripts/maps/SootopolisCity_House8.inc +++ b/data/scripts/maps/SootopolisCity_House8.inc @@ -10,14 +10,14 @@ SootopolisCity_House8_EventScript_15B401:: @ 815B401 waitstate copyvar RESULT, 0x8004 compare RESULT, 255 - jumpeq SootopolisCity_House8_EventScript_15B448 + goto_if_eq SootopolisCity_House8_EventScript_15B448 special CompareShroomishSize compare RESULT, 1 - jumpeq SootopolisCity_House8_EventScript_15B452 + goto_if_eq SootopolisCity_House8_EventScript_15B452 compare RESULT, 2 - jumpeq SootopolisCity_House8_EventScript_15B45C + goto_if_eq SootopolisCity_House8_EventScript_15B45C compare RESULT, 3 - jumpeq SootopolisCity_House8_EventScript_15B466 + goto_if_eq SootopolisCity_House8_EventScript_15B466 release end @@ -40,8 +40,8 @@ SootopolisCity_House8_EventScript_15B466:: @ 815B466 msgbox SootopolisCity_House8_Text_19021D, 4 giveitem ITEM_ELIXIR compare RESULT, 0 - jumpeq SootopolisCity_House8_EventScript_15B488 - closebutton + goto_if_eq SootopolisCity_House8_EventScript_15B488 + closemessage release end @@ -59,14 +59,14 @@ SootopolisCity_House8_EventScript_15B492:: @ 815B492 waitstate copyvar RESULT, 0x8004 compare RESULT, 255 - jumpeq SootopolisCity_House8_EventScript_15B4D9 + goto_if_eq SootopolisCity_House8_EventScript_15B4D9 special CompareBarboachSize compare RESULT, 1 - jumpeq SootopolisCity_House8_EventScript_15B4E3 + goto_if_eq SootopolisCity_House8_EventScript_15B4E3 compare RESULT, 2 - jumpeq SootopolisCity_House8_EventScript_15B4ED + goto_if_eq SootopolisCity_House8_EventScript_15B4ED compare RESULT, 3 - jumpeq SootopolisCity_House8_EventScript_15B4F7 + goto_if_eq SootopolisCity_House8_EventScript_15B4F7 release end @@ -89,8 +89,8 @@ SootopolisCity_House8_EventScript_15B4F7:: @ 815B4F7 msgbox SootopolisCity_House8_Text_190536, 4 giveitem ITEM_ELIXIR compare RESULT, 0 - jumpeq SootopolisCity_House8_EventScript_15B519 - closebutton + goto_if_eq SootopolisCity_House8_EventScript_15B519 + closemessage release end diff --git a/data/scripts/maps/SootopolisCity_Mart.inc b/data/scripts/maps/SootopolisCity_Mart.inc index 9f37f9d0b..b88347002 100644 --- a/data/scripts/maps/SootopolisCity_Mart.inc +++ b/data/scripts/maps/SootopolisCity_Mart.inc @@ -5,7 +5,7 @@ SootopolisCity_Mart_EventScript_15B21B:: @ 815B21B lock faceplayer message SootopolisCity_Mart_Text_1A0BE4 - waittext + waitmessage pokemart SootopolisCity_Mart_Items msgbox SootopolisCity_Mart_Text_1A0C02, 4 release @@ -30,9 +30,9 @@ SootopolisCity_Mart_EventScript_15B24A:: @ 815B24A lock faceplayer checkflag 113 - jumpeq SootopolisCity_Mart_EventScript_15B268 + goto_if_eq SootopolisCity_Mart_EventScript_15B268 checkflag 129 - jumpif 0, SootopolisCity_Mart_EventScript_15B268 + goto_if 0, SootopolisCity_Mart_EventScript_15B268 msgbox SootopolisCity_Mart_Text_18F8D7, 4 release end @@ -46,9 +46,9 @@ SootopolisCity_Mart_EventScript_15B272:: @ 815B272 lock faceplayer checkflag 113 - jumpeq SootopolisCity_Mart_EventScript_15B290 + goto_if_eq SootopolisCity_Mart_EventScript_15B290 checkflag 129 - jumpif 0, SootopolisCity_Mart_EventScript_15B290 + goto_if 0, SootopolisCity_Mart_EventScript_15B290 msgbox SootopolisCity_Mart_Text_18F96B, 4 release end diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc index 29cc06584..cb09d8856 100644 --- a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc @@ -9,7 +9,7 @@ SootopolisCity_PokemonCenter_1F_MapScript1_15B196:: @ 815B196 @ 815B19A setvar 0x800B, 1 call VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end @@ -18,9 +18,9 @@ SootopolisCity_PokemonCenter_1F_EventScript_15B1A8:: @ 815B1A8 lock faceplayer checkflag 113 - jumpeq SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 + goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 checkflag 129 - jumpif 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 + goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1C6 msgbox SootopolisCity_PokemonCenter_1F_Text_18F770, 4 release end @@ -34,9 +34,9 @@ SootopolisCity_PokemonCenter_1F_EventScript_15B1D0:: @ 815B1D0 lock faceplayer checkflag 113 - jumpeq SootopolisCity_PokemonCenter_1F_EventScript_15B1EE + goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_15B1EE checkflag 129 - jumpif 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE + goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_15B1EE msgbox SootopolisCity_PokemonCenter_1F_Text_18F860, 4 release end diff --git a/data/scripts/maps/SouthernIsland_Exterior.inc b/data/scripts/maps/SouthernIsland_Exterior.inc index 9723647cd..3c6426024 100644 --- a/data/scripts/maps/SouthernIsland_Exterior.inc +++ b/data/scripts/maps/SouthernIsland_Exterior.inc @@ -11,13 +11,13 @@ SouthernIsland_Exterior_EventScript_160AE0:: @ 8160AE0 faceplayer msgbox SouthernIsland_Exterior_Text_1C5215, 5 compare RESULT, 0 - jumpeq SouthernIsland_Exterior_EventScript_160B25 + goto_if_eq SouthernIsland_Exterior_EventScript_160B25 msgbox SouthernIsland_Exterior_Text_1C5281, 4 - closebutton - move LAST_TALKED, SouthernIsland_Exterior_Movement_1A0845 - waitmove 0 - pause 30 - spriteinvisible 1, 26, 9 + closemessage + applymovement LAST_TALKED, SouthernIsland_Exterior_Movement_1A0845 + waitmovement 0 + delay 30 + hideobject 1, 26, 9 setvar 0x8004, 2 call SouthernIsland_Exterior_EventScript_1A047C warp LilycoveCity_Harbor, 255, 8, 11 @@ -31,13 +31,13 @@ SouthernIsland_Exterior_EventScript_160B25:: @ 8160B25 end BattleTower_Outside_EventScript_160B2F:: @ 8160B2F - move 255, BattleTower_Outside_Movement_160B45 - waitmove 0 + applymovement 255, BattleTower_Outside_Movement_160B45 + waitmovement 0 return BattleTower_Outside_EventScript_160B3A:: @ 8160B3A - move 255, BattleTower_Outside_Movement_160B47 - waitmove 0 + applymovement 255, BattleTower_Outside_Movement_160B47 + waitmovement 0 return BattleTower_Outside_Movement_160B45:: @ 8160B45 diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc index e5eaadab5..bcb316f96 100644 --- a/data/scripts/maps/SouthernIsland_Interior.inc +++ b/data/scripts/maps/SouthernIsland_Interior.inc @@ -5,11 +5,11 @@ SouthernIsland_Interior_MapScripts:: @ 8160B53 SouthernIsland_Interior_MapScript1_160B5E:: @ 8160B5E checkflag 2145 - callif 1, SouthernIsland_Interior_EventScript_160B68 + call_if 1, SouthernIsland_Interior_EventScript_160B68 end SouthernIsland_Interior_EventScript_160B68:: @ 8160B68 - disappear 2 + removeobject 2 return SouthernIsland_Interior_MapScript1_160B6C:: @ 8160B6C @@ -22,11 +22,11 @@ SouthernIsland_Interior_MapScript1_160B6C:: @ 8160B6C end SouthernIsland_Interior_EventScript_160B77:: @ 8160B77 - checkgender + checkplayergender compare RESULT, 0 - jumpeq SouthernIsland_Interior_EventScript_160B8F + goto_if_eq SouthernIsland_Interior_EventScript_160B8F compare RESULT, 1 - jumpeq SouthernIsland_Interior_EventScript_160B95 + goto_if_eq SouthernIsland_Interior_EventScript_160B95 end SouthernIsland_Interior_EventScript_160B8F:: @ 8160B8F @@ -40,29 +40,29 @@ SouthernIsland_Interior_EventScript_160B95:: @ 8160B95 SouthernIsland_Interior_EventScript_160B9B:: @ 8160B9B lockall setvar 0x8008, 12 - jump SouthernIsland_Interior_EventScript_160BA7 + goto SouthernIsland_Interior_EventScript_160BA7 end SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7 checkflag 206 - jumpeq SouthernIsland_Interior_EventScript_160C08 + goto_if_eq SouthernIsland_Interior_EventScript_160C08 checkflag 2131 - jumpif 0, SouthernIsland_Interior_EventScript_160C08 + goto_if 0, SouthernIsland_Interior_EventScript_160C08 setflag 206 special SpawnCameraDummy - move 127, SouthernIsland_Interior_Movement_160C12 - waitmove 0 - pause 50 - checksound - pokecry SPECIES_LATIAS_OR_LATIOS, 0 - pause 30 + applymovement 127, SouthernIsland_Interior_Movement_160C12 + waitmovement 0 + delay 50 + waitse + playpokecry SPECIES_LATIAS_OR_LATIOS, 0 + delay 30 waitpokecry - reappear 2 - pause 30 - move 127, SouthernIsland_Interior_Movement_160C16 - move 2, SouthernIsland_Interior_Movement_160C22 - waitmove 0 - pause 50 + addobject 2 + delay 30 + applymovement 127, SouthernIsland_Interior_Movement_160C16 + applymovement 2, SouthernIsland_Interior_Movement_160C22 + waitmovement 0 + delay 50 special RemoveCameraDummy setwildbattle SPECIES_LATIAS_OR_LATIOS, 50, ITEM_SOUL_DEW setflag 911 diff --git a/data/scripts/maps/Underwater_Route134.inc b/data/scripts/maps/Underwater_Route134.inc index ee79f9799..bbe7e1ce2 100644 --- a/data/scripts/maps/Underwater_Route134.inc +++ b/data/scripts/maps/Underwater_Route134.inc @@ -3,5 +3,5 @@ Underwater_Route134_MapScripts:: @ 815F071 .byte 0 Underwater_Route134_MapScript1_15F077:: @ 815F077 - warp4 Route134, 255, 60, 31 + setdivewarp Route134, 255, 60, 31 end diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc index c879ec609..3d2fe81b2 100644 --- a/data/scripts/maps/Underwater_SeafloorCavern.inc +++ b/data/scripts/maps/Underwater_SeafloorCavern.inc @@ -7,7 +7,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 815D99E Underwater_SeafloorCavern_MapScript1_15D9AE:: @ 815D9AE setflag 2119 checkflag 129 - jumpeq Underwater_SeafloorCavern_EventScript_15D9BB + goto_if_eq Underwater_SeafloorCavern_EventScript_15D9BB end Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB @@ -16,7 +16,7 @@ Underwater_SeafloorCavern_EventScript_15D9BB:: @ 815D9BB Underwater_SeafloorCavern_MapScript1_15D9BF:: @ 815D9BF checkflag 129 - callif 1, Underwater_SeafloorCavern_EventScript_15D9C9 + call_if 1, Underwater_SeafloorCavern_EventScript_15D9C9 end Underwater_SeafloorCavern_EventScript_15D9C9:: @ 815D9C9 @@ -35,7 +35,7 @@ Underwater_SeafloorCavern_EventScript_15D9C9:: @ 815D9C9 return Underwater_SeafloorCavern_MapScript1_15DA36:: @ 815DA36 - warp4 SeafloorCavern_Entrance, 255, 10, 17 + setdivewarp SeafloorCavern_Entrance, 255, 10, 17 end Underwater_SeafloorCavern_EventScript_15DA3F:: @ 815DA3F diff --git a/data/scripts/maps/Underwater_SealedChamber.inc b/data/scripts/maps/Underwater_SealedChamber.inc index d7e7aabcb..836ad86e2 100644 --- a/data/scripts/maps/Underwater_SealedChamber.inc +++ b/data/scripts/maps/Underwater_SealedChamber.inc @@ -5,23 +5,23 @@ Underwater_SealedChamber_MapScripts:: @ 815F080 Underwater_SealedChamber_MapScript1_15F086:: @ 815F086 getplayerxy 0x8004, 0x8005 compare 0x8004, 12 - jumpif 5, Underwater_SealedChamber_EventScript_15F0A6 + goto_if 5, Underwater_SealedChamber_EventScript_15F0A6 compare 0x8005, 44 - jumpif 5, Underwater_SealedChamber_EventScript_15F0A6 - jump Underwater_SealedChamber_EventScript_15F0AF + goto_if 5, Underwater_SealedChamber_EventScript_15F0A6 + goto Underwater_SealedChamber_EventScript_15F0AF Underwater_SealedChamber_EventScript_15F0A6:: @ 815F0A6 - warp4 Route134, 255, 60, 31 + setdivewarp Route134, 255, 60, 31 end Underwater_SealedChamber_EventScript_15F0AF:: @ 815F0AF - warp4 SealedChamber_OuterRoom, 255, 10, 19 + setdivewarp SealedChamber_OuterRoom, 255, 10, 19 end Underwater_SealedChamber_EventScript_15F0B8:: @ 815F0B8 lockall - braillemsg Underwater_SealedChamber_Braille_1C533D + braillemessage Underwater_SealedChamber_Braille_1C533D waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/Underwater_SootopolisCity.inc b/data/scripts/maps/Underwater_SootopolisCity.inc index 624c2c83e..c9405dfd7 100644 --- a/data/scripts/maps/Underwater_SootopolisCity.inc +++ b/data/scripts/maps/Underwater_SootopolisCity.inc @@ -3,5 +3,5 @@ Underwater_SootopolisCity_MapScripts:: @ 815CAE4 .byte 0 Underwater_SootopolisCity_MapScript1_15CAEA:: @ 815CAEA - warp4 SootopolisCity, 255, 29, 53 + setdivewarp SootopolisCity, 255, 29, 53 end diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc index cbd782f35..34d0bb70b 100644 --- a/data/scripts/maps/UnknownMap_25_34.inc +++ b/data/scripts/maps/UnknownMap_25_34.inc @@ -14,40 +14,40 @@ LinkContestRoom1_MapScript1_15F595:: @ 815F595 LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5 special ScriptGetMultiplayerId compare RESULT, 0 - callif 1, LinkContestRoom1_EventScript_15F5E0 + call_if 1, LinkContestRoom1_EventScript_15F5E0 compare RESULT, 1 - callif 1, LinkContestRoom1_EventScript_15F5E4 + call_if 1, LinkContestRoom1_EventScript_15F5E4 compare RESULT, 2 - callif 1, LinkContestRoom1_EventScript_15F5E8 + call_if 1, LinkContestRoom1_EventScript_15F5E8 compare RESULT, 3 - callif 1, LinkContestRoom1_EventScript_15F5EC + call_if 1, LinkContestRoom1_EventScript_15F5EC compare RESULT, 4 - callif 1, LinkContestRoom1_EventScript_15F5F0 + call_if 1, LinkContestRoom1_EventScript_15F5F0 return LinkContestRoom1_EventScript_15F5E0:: @ 815F5E0 - playmusicbattle 393 + savebgm 393 return LinkContestRoom1_EventScript_15F5E4:: @ 815F5E4 - playmusicbattle 394 + savebgm 394 return LinkContestRoom1_EventScript_15F5E8:: @ 815F5E8 - playmusicbattle 395 + savebgm 395 return LinkContestRoom1_EventScript_15F5EC:: @ 815F5EC - playmusicbattle 396 + savebgm 396 return LinkContestRoom1_EventScript_15F5F0:: @ 815F5F0 - playmusicbattle 440 + savebgm 440 return LinkContestRoom1_MapScript1_15F5F4:: @ 815F5F4 compare 0x4009, 1 - callif 1, LinkContestRoom1_EventScript_15F600 + call_if 1, LinkContestRoom1_EventScript_15F600 end LinkContestRoom1_EventScript_15F600:: @ 815F600 @@ -68,7 +68,7 @@ LinkContestRoom1_EventScript_15F61A:: @ 815F61A end LinkContestRoom1_EventScript_15F625:: @ 815F625 - spriteinvisible 255, 0, 9 + hideobject 255, 0, 9 call LinkContestRoom1_EventScript_15F919 end @@ -76,7 +76,7 @@ LinkContestRoom1_EventScript_15F630:: @ 815F630 call LinkContestRoom1_EventScript_15F6E6 call LinkContestRoom1_EventScript_15F646 compare 0x4000, 8 - jumpif 0, LinkContestRoom1_EventScript_15F630 + goto_if 0, LinkContestRoom1_EventScript_15F630 return LinkContestRoom1_EventScript_15F646:: @ 815F646 @@ -302,73 +302,73 @@ LinkContestRoom1_EventScript_15F919:: @ 815F919 return LinkContestRoom1_EventScript_15F956:: @ 815F956 - createvsprite 5, 20, 3, 2, 3, 1 - createvsprite 46, 24, 11, 2, 3, 1 + createvobject 5, 20, 3, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 return LinkContestRoom1_EventScript_15F969:: @ 815F969 - createvsprite 45, 0, 2, 3, 3, 4 - createvsprite 66, 1, 2, 4, 3, 4 - createvsprite 55, 2, 2, 7, 3, 4 - createvsprite 46, 3, 2, 8, 3, 4 - createvsprite 5, 10, 12, 3, 3, 3 - createvsprite 20, 11, 12, 4, 3, 3 - createvsprite 24, 12, 12, 7, 3, 3 - createvsprite 12, 13, 12, 8, 3, 3 - createvsprite 47, 20, 3, 2, 3, 1 - createvsprite 46, 24, 11, 2, 3, 1 + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 46, 3, 2, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 12, 13, 12, 8, 3, 3 + createvobject 47, 20, 3, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 return LinkContestRoom1_EventScript_15F9C4:: @ 815F9C4 - createvsprite 45, 0, 2, 3, 3, 4 - createvsprite 66, 1, 2, 4, 3, 4 - createvsprite 55, 2, 2, 7, 3, 4 - createvsprite 48, 3, 2, 8, 3, 4 - createvsprite 5, 10, 12, 3, 3, 3 - createvsprite 20, 11, 12, 4, 3, 3 - createvsprite 24, 12, 12, 7, 3, 3 - createvsprite 45, 13, 12, 8, 3, 3 - createvsprite 22, 20, 3, 2, 3, 1 - createvsprite 23, 20, 6, 2, 3, 1 - createvsprite 34, 20, 7, 2, 3, 1 - createvsprite 46, 24, 8, 2, 3, 1 - createvsprite 48, 24, 11, 2, 3, 1 - createvsprite 11, 25, 3, 9, 3, 2 - createvsprite 35, 26, 4, 9, 3, 2 - createvsprite 17, 27, 5, 9, 3, 2 - createvsprite 41, 28, 9, 9, 3, 2 - createvsprite 38, 29, 10, 9, 3, 2 - createvsprite 83, 30, 11, 9, 3, 2 + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 48, 3, 2, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 45, 13, 12, 8, 3, 3 + createvobject 22, 20, 3, 2, 3, 1 + createvobject 23, 20, 6, 2, 3, 1 + createvobject 34, 20, 7, 2, 3, 1 + createvobject 46, 24, 8, 2, 3, 1 + createvobject 48, 24, 11, 2, 3, 1 + createvobject 11, 25, 3, 9, 3, 2 + createvobject 35, 26, 4, 9, 3, 2 + createvobject 17, 27, 5, 9, 3, 2 + createvobject 41, 28, 9, 9, 3, 2 + createvobject 38, 29, 10, 9, 3, 2 + createvobject 83, 30, 11, 9, 3, 2 return LinkContestRoom1_EventScript_15FA70:: @ 815FA70 - createvsprite 45, 0, 2, 3, 3, 4 - createvsprite 66, 1, 2, 4, 3, 4 - createvsprite 55, 2, 2, 7, 3, 4 - createvsprite 12, 3, 2, 8, 3, 4 - createvsprite 39, 4, 1, 3, 3, 4 - createvsprite 34, 6, 1, 5, 3, 4 - createvsprite 26, 7, 1, 6, 3, 4 - createvsprite 48, 9, 1, 8, 3, 4 - createvsprite 5, 10, 12, 3, 3, 3 - createvsprite 20, 11, 12, 4, 3, 3 - createvsprite 24, 12, 12, 7, 3, 3 - createvsprite 45, 13, 12, 8, 3, 3 - createvsprite 50, 14, 13, 3, 3, 3 - createvsprite 52, 15, 13, 4, 3, 3 - createvsprite 65, 17, 13, 6, 3, 3 - createvsprite 83, 18, 13, 7, 3, 3 - createvsprite 116, 19, 13, 8, 3, 3 - createvsprite 25, 20, 3, 2, 3, 1 - createvsprite 31, 21, 6, 2, 3, 1 - createvsprite 33, 22, 7, 2, 3, 1 - createvsprite 46, 24, 11, 2, 3, 1 - createvsprite 49, 25, 3, 9, 3, 2 - createvsprite 35, 26, 4, 9, 3, 2 - createvsprite 48, 27, 5, 9, 3, 2 - createvsprite 41, 28, 9, 9, 3, 2 - createvsprite 38, 29, 10, 9, 3, 2 - createvsprite 83, 30, 11, 9, 3, 2 + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 12, 3, 2, 8, 3, 4 + createvobject 39, 4, 1, 3, 3, 4 + createvobject 34, 6, 1, 5, 3, 4 + createvobject 26, 7, 1, 6, 3, 4 + createvobject 48, 9, 1, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 45, 13, 12, 8, 3, 3 + createvobject 50, 14, 13, 3, 3, 3 + createvobject 52, 15, 13, 4, 3, 3 + createvobject 65, 17, 13, 6, 3, 3 + createvobject 83, 18, 13, 7, 3, 3 + createvobject 116, 19, 13, 8, 3, 3 + createvobject 25, 20, 3, 2, 3, 1 + createvobject 31, 21, 6, 2, 3, 1 + createvobject 33, 22, 7, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 + createvobject 49, 25, 3, 9, 3, 2 + createvobject 35, 26, 4, 9, 3, 2 + createvobject 48, 27, 5, 9, 3, 2 + createvobject 41, 28, 9, 9, 3, 2 + createvobject 38, 29, 10, 9, 3, 2 + createvobject 83, 30, 11, 9, 3, 2 return LinkContestRoom1_EventScript_15FB64:: @ 815FB64 @@ -381,25 +381,25 @@ LinkContestRoom1_EventScript_15FB64:: @ 815FB64 return LinkContestRoom1_EventScript_15FBA1:: @ 815FBA1 - inccounter GAME_STAT_ENTERED_CONTEST + incrementgamestat GAME_STAT_ENTERED_CONTEST warp VerdanturfTown_ContestLobby, 255, 5, 4 waitstate end LinkContestRoom1_EventScript_15FBAD:: @ 815FBAD - inccounter GAME_STAT_ENTERED_CONTEST + incrementgamestat GAME_STAT_ENTERED_CONTEST warp FallarborTown_ContestLobby, 255, 5, 4 waitstate end LinkContestRoom1_EventScript_15FBB9:: @ 815FBB9 - inccounter GAME_STAT_ENTERED_CONTEST + incrementgamestat GAME_STAT_ENTERED_CONTEST warp SlateportCity_ContestLobby, 255, 5, 4 waitstate end LinkContestRoom1_EventScript_15FBC5:: @ 815FBC5 - inccounter GAME_STAT_ENTERED_CONTEST + incrementgamestat GAME_STAT_ENTERED_CONTEST warp LilycoveCity_ContestLobby, 255, 6, 4 waitstate end @@ -413,11 +413,11 @@ FallarborTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB LilycoveCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB SlateportCity_ContestLobby_EventScript_15FBDB:: @ 815FBDB VerdanturfTown_ContestLobby_EventScript_15FBDB:: @ 815FBDB - checkgender + checkplayergender compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_15FBF3 + goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF3 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_15FBF9 + goto_if_eq FallarborTown_ContestLobby_EventScript_15FBF9 return FallarborTown_ContestLobby_EventScript_15FBF3:: @ 815FBF3 diff --git a/data/scripts/maps/VerdanturfTown.inc b/data/scripts/maps/VerdanturfTown.inc index 610643823..3e8f02302 100644 --- a/data/scripts/maps/VerdanturfTown.inc +++ b/data/scripts/maps/VerdanturfTown.inc @@ -12,17 +12,17 @@ VerdanturfTown_EventScript_14E866:: @ 814E866 lock faceplayer checkflag 199 - jumpeq VerdanturfTown_EventScript_14E885 + goto_if_eq VerdanturfTown_EventScript_14E885 msgbox VerdanturfTown_Text_16CAEB, 4 - move 2, VerdanturfTown_Movement_1A083D - waitmove 0 + applymovement 2, VerdanturfTown_Movement_1A083D + waitmovement 0 release end VerdanturfTown_EventScript_14E885:: @ 814E885 msgbox VerdanturfTown_Text_16CBCE, 4 - move 2, VerdanturfTown_Movement_1A083D - waitmove 0 + applymovement 2, VerdanturfTown_Movement_1A083D + waitmovement 0 release end @@ -38,7 +38,7 @@ VerdanturfTown_EventScript_14E8AB:: @ 814E8AB lock faceplayer checkflag 199 - jumpeq VerdanturfTown_EventScript_14E8C0 + goto_if_eq VerdanturfTown_EventScript_14E8C0 msgbox VerdanturfTown_Text_16CD4D, 4 release end diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc index 8fd4016d1..8462892e6 100644 --- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc +++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc @@ -20,28 +20,28 @@ VerdanturfTown_ContestLobby_EventScript_153D76:: @ 8153D76 VerdanturfTown_ContestLobby_EventScript_153DA1:: @ 8153DA1 lockall - move 1, VerdanturfTown_ContestLobby_Movement_153E25 - waitmove 0 - playsfx 71 + applymovement 1, VerdanturfTown_ContestLobby_Movement_153E25 + waitmovement 0 + playse 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 special DrawWholeMapView - move 1, VerdanturfTown_ContestLobby_Movement_153E28 - waitmove 0 - playsfx 71 + applymovement 1, VerdanturfTown_ContestLobby_Movement_153E28 + waitmovement 0 + playse 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 special DrawWholeMapView - pause 20 - move 1, VerdanturfTown_ContestLobby_Movement_153E35 - waitmove 0 - move 255, VerdanturfTown_ContestLobby_Movement_153E23 - waitmove 0 + delay 20 + applymovement 1, VerdanturfTown_ContestLobby_Movement_153E35 + waitmovement 0 + applymovement 255, VerdanturfTown_ContestLobby_Movement_153E23 + waitmovement 0 msgbox VerdanturfTown_ContestLobby_Text_1A6832, 4 - closebutton - move 1, VerdanturfTown_ContestLobby_Movement_153E2C - move 255, VerdanturfTown_ContestLobby_Movement_153E19 - waitmove 0 + closemessage + applymovement 1, VerdanturfTown_ContestLobby_Movement_153E2C + applymovement 255, VerdanturfTown_ContestLobby_Movement_153E19 + waitmovement 0 releaseall return @@ -90,7 +90,7 @@ VerdanturfTown_ContestLobby_Movement_153E35:: @ 8153E35 VerdanturfTown_ContestLobby_EventScript_153E37:: @ 8153E37 lockall fadescreen 1 - showcontestwinner 1 + drawcontestwinner 1 releaseall end @@ -102,11 +102,11 @@ VerdanturfTown_ContestLobby_EventScript_153E47:: @ 8153E47 lock faceplayer checkflag 235 - jumpeq VerdanturfTown_ContestLobby_EventScript_153E76 + goto_if_eq VerdanturfTown_ContestLobby_EventScript_153E76 msgbox VerdanturfTown_ContestLobby_Text_177DEC, 4 giveitem ITEM_TM45 compare RESULT, 0 - jumpeq VerdanturfTown_ContestLobby_EventScript_1A029B + goto_if_eq VerdanturfTown_ContestLobby_EventScript_1A029B setflag 235 release end @@ -124,6 +124,6 @@ VerdanturfTown_ContestLobby_EventScript_153E89:: @ 8153E89 lockall special ShowBerryBlenderRecordWindow waitbutton - hidebox 0, 0, 29, 19 + erasebox 0, 0, 29, 19 releaseall end diff --git a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc index 5453fb42c..1cfa785d3 100644 --- a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc +++ b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc @@ -5,7 +5,7 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_154030:: @ 8154030 lock faceplayer msgbox VerdanturfTown_FriendshipRatersHouse_Text_178A9C, 4 - specialval RESULT, GetLeadMonFriendshipScore + specialvar RESULT, GetLeadMonFriendshipScore switch RESULT case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_154093 case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_15409D @@ -55,8 +55,8 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_1540CF:: @ 81540CF VerdanturfTown_FriendshipRatersHouse_EventScript_1540D9:: @ 81540D9 lock faceplayer - checksound - pokecry SPECIES_PIKACHU, 0 + waitse + playpokecry SPECIES_PIKACHU, 0 msgbox VerdanturfTown_FriendshipRatersHouse_Text_178CFD, 4 waitpokecry release diff --git a/data/scripts/maps/VerdanturfTown_Mart.inc b/data/scripts/maps/VerdanturfTown_Mart.inc index 4227dc8b1..db72de227 100644 --- a/data/scripts/maps/VerdanturfTown_Mart.inc +++ b/data/scripts/maps/VerdanturfTown_Mart.inc @@ -5,7 +5,7 @@ VerdanturfTown_Mart_EventScript_153EBC:: @ 8153EBC lock faceplayer message VerdanturfTown_Mart_Text_1A0BE4 - waittext + waitmessage pokemart VerdanturfTown_Mart_Items msgbox VerdanturfTown_Mart_Text_1A0C02, 4 release diff --git a/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc index e0fee3fb8..a0b1f87de 100644 --- a/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc +++ b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc @@ -11,7 +11,7 @@ PacifidlogTown_PokemonCenter_1F_EventScript_153F18:: @ 8153F18 VerdanturfTown_PokemonCenter_1F_EventScript_153F18:: @ 8153F18 setvar 0x800b, 1 call VerdanturfTown_PokemonCenter_1F_EventScript_19FD5B - waittext + waitmessage waitbutton release end diff --git a/data/scripts/maps/VerdanturfTown_WandasHouse.inc b/data/scripts/maps/VerdanturfTown_WandasHouse.inc index 80bd6151d..fad64292b 100644 --- a/data/scripts/maps/VerdanturfTown_WandasHouse.inc +++ b/data/scripts/maps/VerdanturfTown_WandasHouse.inc @@ -5,7 +5,7 @@ VerdanturfTown_WandasHouse_EventScript_153F5B:: @ 8153F5B lock faceplayer checkflag 193 - jumpeq VerdanturfTown_WandasHouse_EventScript_153F73 + goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F73 msgbox VerdanturfTown_WandasHouse_Text_1783F6, 4 setflag 193 release @@ -20,9 +20,9 @@ VerdanturfTown_WandasHouse_EventScript_153F7D:: @ 8153F7D lock faceplayer checkflag 126 - jumpeq VerdanturfTown_WandasHouse_EventScript_153FA5 + goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FA5 checkflag 1213 - jumpeq VerdanturfTown_WandasHouse_EventScript_153F9B + goto_if_eq VerdanturfTown_WandasHouse_EventScript_153F9B msgbox VerdanturfTown_WandasHouse_Text_17859A, 4 release end @@ -45,9 +45,9 @@ VerdanturfTown_WandasHouse_EventScript_153FB8:: @ 8153FB8 lock faceplayer checkflag 1213 - jumpeq VerdanturfTown_WandasHouse_EventScript_153FE0 + goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FE0 checkflag 190 - jumpeq VerdanturfTown_WandasHouse_EventScript_153FD6 + goto_if_eq VerdanturfTown_WandasHouse_EventScript_153FD6 msgbox VerdanturfTown_WandasHouse_Text_1787FB, 4 release end @@ -66,11 +66,11 @@ VerdanturfTown_WandasHouse_EventScript_153FEA:: @ 8153FEA lock faceplayer checkflag 126 - jumpeq VerdanturfTown_WandasHouse_EventScript_154025 + goto_if_eq VerdanturfTown_WandasHouse_EventScript_154025 checkflag 1213 - jumpeq VerdanturfTown_WandasHouse_EventScript_15401B + goto_if_eq VerdanturfTown_WandasHouse_EventScript_15401B checkflag 199 - jumpeq VerdanturfTown_WandasHouse_EventScript_154011 + goto_if_eq VerdanturfTown_WandasHouse_EventScript_154011 msgbox VerdanturfTown_WandasHouse_Text_1788B1, 4 release end diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc index f64ca20ab..fe775d793 100644 --- a/data/scripts/maps/VictoryRoad_1F.inc +++ b/data/scripts/maps/VictoryRoad_1F.inc @@ -4,7 +4,7 @@ VictoryRoad_1F_MapScripts:: @ 815DE83 VictoryRoad_1F_MapScript1_15DE89:: @ 815DE89 checkflag 126 - callif 1, VictoryRoad_1F_EventScript_15DE93 + call_if 1, VictoryRoad_1F_EventScript_15DE93 end VictoryRoad_1F_EventScript_15DE93:: @ 815DE93 @@ -13,36 +13,36 @@ VictoryRoad_1F_EventScript_15DE93:: @ 815DE93 VictoryRoad_1F_EventScript_15DE97:: @ 815DE97 lockall - reappear 4 - move 4, VictoryRoad_1F_Movement_15DF07 - waitmove 0 - jump VictoryRoad_1F_EventScript_15DED3 + addobject 4 + applymovement 4, VictoryRoad_1F_Movement_15DF07 + waitmovement 0 + goto VictoryRoad_1F_EventScript_15DED3 end VictoryRoad_1F_EventScript_15DEAB:: @ 815DEAB lockall - reappear 4 - move 4, VictoryRoad_1F_Movement_15DF13 - waitmove 0 - jump VictoryRoad_1F_EventScript_15DED3 + addobject 4 + applymovement 4, VictoryRoad_1F_Movement_15DF13 + waitmovement 0 + goto VictoryRoad_1F_EventScript_15DED3 end VictoryRoad_1F_EventScript_15DEBF:: @ 815DEBF lockall - reappear 4 - move 4, VictoryRoad_1F_Movement_15DF1E - waitmove 0 - jump VictoryRoad_1F_EventScript_15DED3 + addobject 4 + applymovement 4, VictoryRoad_1F_Movement_15DF1E + waitmovement 0 + goto VictoryRoad_1F_EventScript_15DED3 end VictoryRoad_1F_EventScript_15DED3:: @ 815DED3 - move 255, VictoryRoad_1F_Movement_1A083F - waitmove 0 + applymovement 255, VictoryRoad_1F_Movement_1A083F + waitmovement 0 msgbox VictoryRoad_1F_Text_19782B, 4 trainerbattle 3, OPPONENT_WALLY_1, 0, VictoryRoad_1F_Text_197943 msgbox VictoryRoad_1F_Text_197967, 4 clearflag 858 - moveoffscreen 4 + moveobjectoffscreen 4 setflag 126 setvar 0x40c3, 1 releaseall @@ -93,9 +93,9 @@ VictoryRoad_1F_EventScript_15DF28:: @ 815DF28 VictoryRoad_1F_EventScript_15DF31:: @ 815DF31 trainerbattle 0, OPPONENT_WALLY_3, 0, VictoryRoad_1F_Text_1979BA, VictoryRoad_1F_Text_197A23 - specialval RESULT, sub_8082C68 + specialvar RESULT, sub_8082C68 compare RESULT, 1 - jumpeq VictoryRoad_1F_EventScript_15DF58 + goto_if_eq VictoryRoad_1F_EventScript_15DF58 msgbox VictoryRoad_1F_Text_197A47, 6 end diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index 997b5a31c..402afae23 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -27,20 +27,20 @@ SpeakToBard: faceplayer msgbox gTextBard_HiImTheBard, MSGBOX_YESNO compare RESULT, YES - jumpeq yes_hear_song + goto_if_eq yes_hear_song compare RESULT, NO - jumpeq dont_hear_song + goto_if_eq dont_hear_song end yes_hear_song: setvar 0x8004, 0 @ Give the player ear rape special ScrSpecial_PlayBardSong - pause 60 + delay 60 special ScrSpecial_HasBardSongBeenChanged compare RESULT, FALSE @ Prompt new lyrics only if song hasn't been changed - jumpeq prompt_write_lyrics + goto_if_eq prompt_write_lyrics msgbox gTextBard_OhWhatAMovingSong, 4 release end @@ -53,9 +53,9 @@ dont_hear_song: prompt_write_lyrics: msgbox gTextBard_SoHowDoYouLikeMySong, MSGBOX_YESNO compare RESULT, YES - jumpeq write_lyrics + goto_if_eq write_lyrics compare RESULT, NO - jumpeq dont_write_lyrics + goto_if_eq dont_write_lyrics end write_lyrics: @@ -64,15 +64,15 @@ write_lyrics: lock faceplayer compare RESULT, NO - jumpeq dont_write_lyrics + goto_if_eq dont_write_lyrics msgbox gTextBard_ThankYouKindly, 4 setvar 0x8004, 1 @ Give the player ear rape again special ScrSpecial_PlayBardSong - pause 60 + delay 60 msgbox gTextBard_WasThatHowYouWanted, MSGBOX_YESNO compare RESULT, NO - jumpeq write_lyrics @ Keep looping until player responds YES + goto_if_eq write_lyrics @ Keep looping until player responds YES special ScrSpecial_SaveBardSongLyrics msgbox gTextBard_OkayThatsIt, 4 release @@ -95,7 +95,7 @@ SpeakToHipster: msgbox gTextHipster_TheyCallMeTheHipster, 4 special ScrSpecial_GetHipsterSpokenFlag compare RESULT, FALSE - jumpeq hipster_first_time + goto_if_eq hipster_first_time msgbox gTextHipster_TaughtYouAlready, 4 release end @@ -103,7 +103,7 @@ SpeakToHipster: hipster_first_time: special ScrSpecial_HipsterTeachWord compare RESULT, TRUE @ TRUE if player learned a new word - jumpeq teach_new_word + goto_if_eq teach_new_word msgbox gTextHipster_YouAlreadyKnowALot, 4 release end @@ -126,13 +126,13 @@ SpeakToTrader: faceplayer msgbox gTextTrader_Introduction, MSGBOX_YESNO compare RESULT, NO - jumpeq dont_want_to_trade + goto_if_eq dont_want_to_trade special ScrSpecial_GetTraderTradedFlag compare RESULT, TRUE - jumpeq already_traded + goto_if_eq already_traded message gTextTrader_MenuPrompt - waittext - jump do_trader_menu_get + waitmessage + goto do_trader_menu_get end dont_want_to_trade: @@ -147,16 +147,16 @@ do_trader_menu_get: special ScrSpecial_TraderMenuGetDecoration waitstate compare 0x8004, 0 - jumpeq cancelled_get_menu + goto_if_eq cancelled_get_menu compare 0x8004, 65535 - jumpeq rare_item_cant_trade_away + goto_if_eq rare_item_cant_trade_away msgbox gTextTrader_ItemOnceBelongedTo, MSGBOX_YESNO compare RESULT, NO - jumpeq dont_want_item + goto_if_eq dont_want_item special ScrSpecial_DoesPlayerHaveNoDecorations compare RESULT, TRUE - jumpeq player_has_no_decorations - jump do_trader_menu_give + goto_if_eq player_has_no_decorations + goto do_trader_menu_give end cancelled_get_menu: @@ -165,14 +165,14 @@ cancelled_get_menu: rare_item_cant_trade_away: message gTextTrader_ICantTradeThatOneAway - waittext - jump do_trader_menu_get + waitmessage + goto do_trader_menu_get end dont_want_item: message gTextTrader_MenuPrompt - waittext - jump do_trader_menu_get + waitmessage + goto do_trader_menu_get end player_has_no_decorations: @@ -184,15 +184,15 @@ do_trader_menu_give: special ScrSpecial_TraderMenuGiveDecoration waitstate compare 0x8006, 0 - jumpeq cancelled_give_menu + goto_if_eq cancelled_give_menu compare 0x8006, 65535 - jumpeq decoration_is_in_use + goto_if_eq decoration_is_in_use special ScrSpecial_IsDecorationFull compare RESULT, 1 - jumpeq decorations_full + goto_if_eq decorations_full msgbox gTextTrader_SoWellTrade, MSGBOX_YESNO compare RESULT, NO - jumpeq do_trader_menu_give + goto_if_eq do_trader_menu_give special ScrSpecial_TraderDoDecorationTrade msgbox gTextTrader_ThenWellTrade, 2 end @@ -203,7 +203,7 @@ cancelled_give_menu: decoration_is_in_use: msgbox gTextTrader_InUseYouCantTradeIt, 4 - jump do_trader_menu_give + goto do_trader_menu_give end decorations_full: @@ -226,71 +226,71 @@ SpeakToStoryteller: faceplayer msgbox gTextStoryteller_Introduction, MSGBOX_YESNO compare RESULT, NO - jumpeq dont_hear_story - specialval RESULT, ScrSpecial_StorytellerGetFreeStorySlot + goto_if_eq dont_hear_story + specialvar RESULT, ScrSpecial_StorytellerGetFreeStorySlot compare RESULT, 0 @ If slot is 0, then the list is empty - jumpeq no_stories_recorded + goto_if_eq no_stories_recorded choose_story: message gTextStoryteller_WhichTale - waittext + waitmessage special ScrSpecial_StorytellerStoryListMenu waitstate compare RESULT, FALSE - jumpeq cancel_story_menu + goto_if_eq cancel_story_menu setvar 0x8008, 1 special ScrSpecial_StorytellerDisplayStory - waittext + waitmessage waitbutton - specialval RESULT, ScrSpecial_StorytellerUpdateStat + specialvar RESULT, ScrSpecial_StorytellerUpdateStat compare RESULT, FALSE - jumpeq no_stat_update - jump stat_update + goto_if_eq no_stat_update + goto stat_update cancel_story_menu: compare 0x8008, 0 - jumpeq dont_hear_story - jump yes_hear_story + goto_if_eq dont_hear_story + goto yes_hear_story no_stat_update: msgbox gTextStoryteller_CouldThereBeOtherTrainers, 4 msgbox gTextStoryteller_HearAnotherLegendaryTale, MSGBOX_YESNO compare RESULT, YES - jumpeq choose_story + goto_if_eq choose_story yes_hear_story: - specialval RESULT, ScrSpecial_HasStorytellerAlreadyRecorded + specialvar RESULT, ScrSpecial_HasStorytellerAlreadyRecorded compare RESULT, TRUE - jumpeq cant_record_story @ already recorded story - specialval RESULT, ScrSpecial_StorytellerGetFreeStorySlot + goto_if_eq cant_record_story @ already recorded story + specialvar RESULT, ScrSpecial_StorytellerGetFreeStorySlot compare RESULT, 4 - jumpeq cant_record_story @ story list is full - jump prompt_record_story + goto_if_eq cant_record_story @ story list is full + goto prompt_record_story no_stories_recorded: msgbox gTextStoryteller_ButIKnowOfNoLegendaryTrainers, 4 prompt_record_story: msgbox gTextStoryteller_HaveYouAnyTales, MSGBOX_YESNO compare RESULT, NO - jumpeq dont_hear_story - specialval RESULT, ScrSpecial_StorytellerInitializeRandomStat + goto_if_eq dont_hear_story + specialvar RESULT, ScrSpecial_StorytellerInitializeRandomStat compare RESULT, TRUE - jumpeq stat_update + goto_if_eq stat_update msgbox gTextStoryteller_ImNotSatisfied, 4 - closebutton + closemessage release end stat_update: msgbox gTextStoryteller_BirthOfANewLegend, 4 - closebutton + closemessage release end dont_hear_story: msgbox gTextStoryteller_OhIFeelStifled, 4 - closebutton + closemessage release end cant_record_story: msgbox gTextStoryteller_WishMorePeopleWould, 4 - closebutton + closemessage release end @@ -306,41 +306,41 @@ SpeakToGiddy: faceplayer msgbox gTextGiddy_Introduction, MSGBOX_YESNO compare RESULT, YES - jumpeq yes_hear_giddy + goto_if_eq yes_hear_giddy compare RESULT, NO - jumpeq dont_hear_giddy + goto_if_eq dont_hear_giddy end yes_hear_giddy: special ScrSpecial_GiddyShouldTellAnotherTale compare RESULT, TRUE - jumpeq tell_giddy_tale + goto_if_eq tell_giddy_tale compare RESULT, FALSE - jumpeq bye_bye + goto_if_eq bye_bye end tell_another_giddy_tale: special ScrSpecial_GiddyShouldTellAnotherTale compare RESULT, TRUE - jumpeq also_i_was_thinking + goto_if_eq also_i_was_thinking compare RESULT, FALSE - jumpeq bye_bye + goto_if_eq bye_bye end also_i_was_thinking: msgbox gTextGiddy_AlsoIWasThinking, 4 - jump tell_giddy_tale + goto tell_giddy_tale end tell_giddy_tale: special ScrSpecial_GenerateGiddyLine special ShowFieldMessageStringVar4 - waittext + waitmessage yesnobox 20, 8 compare RESULT, 1 - jumpeq tell_another_giddy_tale + goto_if_eq tell_another_giddy_tale compare RESULT, 0 - jumpeq tell_another_giddy_tale + goto_if_eq tell_another_giddy_tale end dont_hear_giddy: diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc index 5fd68beca..df097fc19 100644 --- a/data/scripts/mystery_event_club.inc +++ b/data/scripts/mystery_event_club.inc @@ -2,9 +2,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B14:: @ 81B1B14 lock faceplayer checkflag 2053 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB msgbox PetalburgCity_PokemonCenter_1F_Text_1B1C97, 4 - jump PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D + goto PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D end PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D:: @ 81B1B2D @@ -19,22 +19,22 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D:: @ 81B1B2D PetalburgCity_PokemonCenter_1F_EventScript_1B1B6C:: @ 81B1B6C msgbox PetalburgCity_PokemonCenter_1F_Text_1B1D3A, 4 - jump PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D + goto PetalburgCity_PokemonCenter_1F_EventScript_1B1B2D end PetalburgCity_PokemonCenter_1F_EventScript_1B1B7A:: @ 81B1B7A msgbox PetalburgCity_PokemonCenter_1F_Text_1B1F7B, 4 - closebutton + closemessage setvar 0x8004, 0 call PetalburgCity_PokemonCenter_1F_EventScript_1A00F3 lock faceplayer compare 0x8004, 1 - callif 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 compare RESULT, 0 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1 compare RESULT, 1 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB end PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1:: @ 81B1BB1 @@ -45,8 +45,8 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1:: @ 81B1BB1 PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB:: @ 81B1BBB setvar 0x8004, 0 special sub_80EB7C4 - waittext - pause 80 + waitmessage + delay 80 msgbox PetalburgCity_PokemonCenter_1F_Text_1B2137, 4 release end @@ -58,7 +58,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BD1:: @ 81B1BD1 PetalburgCity_PokemonCenter_1F_EventScript_1B1BDB:: @ 81B1BDB msgbox PetalburgCity_PokemonCenter_1F_Text_1B202F, 4 - jump PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9 + goto PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9 end PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9:: @ 81B1BE9 @@ -73,22 +73,22 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9:: @ 81B1BE9 PetalburgCity_PokemonCenter_1F_EventScript_1B1C28:: @ 81B1C28 msgbox PetalburgCity_PokemonCenter_1F_Text_1B1D3A, 4 - jump PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9 + goto PetalburgCity_PokemonCenter_1F_EventScript_1B1BE9 end PetalburgCity_PokemonCenter_1F_EventScript_1B1C36:: @ 81B1C36 msgbox PetalburgCity_PokemonCenter_1F_Text_1B207F, 4 - closebutton + closemessage setvar 0x8004, 0 call PetalburgCity_PokemonCenter_1F_EventScript_1A00F3 lock faceplayer compare 0x8004, 1 - callif 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_1B1C77 compare RESULT, 0 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1 compare RESULT, 1 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB end PetalburgCity_PokemonCenter_1F_EventScript_1B1C6D:: @ 81B1C6D @@ -98,9 +98,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1C6D:: @ 81B1C6D PetalburgCity_PokemonCenter_1F_EventScript_1B1C77:: @ 81B1C77 checkflag 2059 - jumpif 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 + goto_if 0, PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 checkflag 2124 - jumpeq PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 + goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_1B1C96 setflag 2124 msgbox PetalburgCity_PokemonCenter_1F_Text_1B21CC, 3 release diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index e9f379b24..69a4dc3e9 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -6,29 +6,29 @@ LittlerootTown_MaysHouse_2F_EventScript_1B6950:: @ 81B6950 LittlerootTown_BrendansHouse_1F_EventScript_1B6956:: @ 81B6956 LittlerootTown_MaysHouse_1F_EventScript_1B6956:: @ 81B6956 msgbox LittlerootTown_BrendansHouse_1F_Text_172429, 4 - move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0839 - waitmove 0 + applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0839 + waitmovement 0 compare 0x8005, 0 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B699F + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B699F compare 0x8005, 1 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B69AA + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B69AA msgbox LittlerootTown_BrendansHouse_1F_Text_172453, 4 - closebutton + closemessage setvar 0x4092, 4 - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B69B5 - move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841 - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B69B5 + applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841 + waitmovement 0 releaseall end LittlerootTown_BrendansHouse_1F_EventScript_1B699F:: @ 81B699F - move 255, LittlerootTown_BrendansHouse_1F_Movement_1A0843 - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A0843 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B69AA:: @ 81B69AA - move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F + waitmovement 0 return LittlerootTown_BrendansHouse_1F_Movement_1B69B5:: @ 81B69B5 @@ -38,74 +38,74 @@ LittlerootTown_BrendansHouse_1F_Movement_1B69B5:: @ 81B69B5 LittlerootTown_BrendansHouse_1F_EventScript_1B69B7:: @ 81B69B7 LittlerootTown_MaysHouse_1F_EventScript_1B69B7:: @ 81B69B7 msgbox LittlerootTown_BrendansHouse_1F_Text_172531, 4 - closebutton - move 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841 - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CDC - waitmove 0 + closemessage + applymovement 0x8004, LittlerootTown_BrendansHouse_1F_Movement_1A0841 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CDC + waitmovement 0 releaseall end LittlerootTown_BrendansHouse_2F_EventScript_1B69D3:: @ 81B69D3 lockall setvar 0x8004, 0 - jump LittlerootTown_BrendansHouse_2F_EventScript_1B69EB + goto LittlerootTown_BrendansHouse_2F_EventScript_1B69EB end LittlerootTown_MaysHouse_2F_EventScript_1B69DF:: @ 81B69DF lockall setvar 0x8004, 1 - jump LittlerootTown_MaysHouse_2F_EventScript_1B69EB + goto LittlerootTown_MaysHouse_2F_EventScript_1B69EB end LittlerootTown_BrendansHouse_2F_EventScript_1B69EB:: @ 81B69EB LittlerootTown_MaysHouse_2F_EventScript_1B69EB:: @ 81B69EB checkflag 81 - jumpeq LittlerootTown_BrendansHouse_2F_EventScript_1B6A91 + goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1B6A91 msgbox LittlerootTown_BrendansHouse_2F_Text_172E18, 4 call LittlerootTown_BrendansHouse_2F_EventScript_1B6A9B - pause 30 + delay 30 setvar 0x4092, 6 setflag 81 setflag 754 setflag 755 - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A31 compare RESULT, 1 - callif 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61 - playsfx 9 - disappear 0x8008 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1B6A61 + playse 9 + removeobject 0x8008 releaseall end LittlerootTown_BrendansHouse_2F_EventScript_1B6A31:: @ 81B6A31 setvar 0x8008, 14 - reappear 0x8008 - move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA2 - waitmove 0 - move 255, LittlerootTown_BrendansHouse_2F_Movement_1A0843 - waitmove 0 + addobject 0x8008 + applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA2 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1A0843 + waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_172E4C, 4 - closebutton - move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA9 - waitmove 0 + closemessage + applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AA9 + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_1B6A61:: @ 81B6A61 setvar 0x8008, 14 - reappear 0x8008 - move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AAD - waitmove 0 - move 255, LittlerootTown_BrendansHouse_2F_Movement_1A083F - waitmove 0 + addobject 0x8008 + applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AAD + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1A083F + waitmovement 0 msgbox LittlerootTown_BrendansHouse_2F_Text_172E4C, 4 - closebutton - move 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AB4 - waitmove 0 + closemessage + applymovement 0x8008, LittlerootTown_BrendansHouse_2F_Movement_1B6AB4 + waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_1B6A91:: @ 81B6A91 - inccounter GAME_STAT_CHECKED_CLOCK + incrementgamestat GAME_STAT_CHECKED_CLOCK fadescreen 1 special ScrSpecial_ViewWallClock waitstate @@ -155,75 +155,75 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6AB8:: @ 81B6AB8 end LittlerootTown_BrendansHouse_1F_EventScript_1B6ABF:: @ 81B6ABF - move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0843 - waitmove 0 + applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0843 + waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_1B6B9D - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CCC - waitmove 0 - playmusic 453, 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CCC + waitmovement 0 + playbgm 453, 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1725C9, 4 - closebutton - move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BDB - waitmove 0 - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CD2 - waitmove 0 + closemessage + applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BDB + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6CD2 + waitmovement 0 call LittlerootTown_BrendansHouse_1F_EventScript_1B6BBE - move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F + waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1725FE, 4 msgbox LittlerootTown_BrendansHouse_1F_Text_172644, 4 - closebutton + closemessage setvar 0x4001, 1 - move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BE1 - waitmove 0 - jump LittlerootTown_BrendansHouse_1F_EventScript_1B6AB8 + applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1B6BE1 + waitmovement 0 + goto LittlerootTown_BrendansHouse_1F_EventScript_1B6AB8 end LittlerootTown_MaysHouse_1F_EventScript_1B6B2E:: @ 81B6B2E - move 0x8005, LittlerootTown_MaysHouse_1F_Movement_1A083F - waitmove 0 + applymovement 0x8005, LittlerootTown_MaysHouse_1F_Movement_1A083F + waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_1B6B9D - move 255, LittlerootTown_MaysHouse_1F_Movement_1B6CD4 - waitmove 0 - playmusic 453, 0 + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1B6CD4 + waitmovement 0 + playbgm 453, 0 msgbox LittlerootTown_MaysHouse_1F_Text_1725C9, 4 - closebutton - move 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BDE - waitmove 0 - move 255, LittlerootTown_MaysHouse_1F_Movement_1B6CDA - waitmove 0 + closemessage + applymovement 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BDE + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1B6CDA + waitmovement 0 call LittlerootTown_MaysHouse_1F_EventScript_1B6BBE - move 255, LittlerootTown_MaysHouse_1F_Movement_1A0843 - waitmove 0 + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1A0843 + waitmovement 0 msgbox LittlerootTown_MaysHouse_1F_Text_1725FE, 4 msgbox LittlerootTown_MaysHouse_1F_Text_172644, 4 - closebutton + closemessage setvar 0x4001, 1 - move 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BE5 - waitmove 0 - jump LittlerootTown_MaysHouse_1F_EventScript_1B6AB8 + applymovement 0x8005, LittlerootTown_MaysHouse_1F_Movement_1B6BE5 + waitmovement 0 + goto LittlerootTown_MaysHouse_1F_EventScript_1B6AB8 end LittlerootTown_BrendansHouse_1F_EventScript_1B6B9D:: @ 81B6B9D LittlerootTown_MaysHouse_1F_EventScript_1B6B9D:: @ 81B6B9D - playsfx 21 - move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0833 - waitmove 0 - move 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0835 - waitmove 0 + playse 21 + applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0833 + waitmovement 0 + applymovement 0x8005, LittlerootTown_BrendansHouse_1F_Movement_1A0835 + waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_1725A3, 4 - closebutton + closemessage return LittlerootTown_BrendansHouse_1F_EventScript_1B6BBE:: @ 81B6BBE LittlerootTown_MaysHouse_1F_EventScript_1B6BBE:: @ 81B6BBE - move 255, LittlerootTown_BrendansHouse_1F_Movement_1A0841 - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1A0841 + waitmovement 0 msgbox LittlerootTown_BrendansHouse_1F_Text_172841, 4 - fadedefault + fadedefaultbgm special TurnOffTVScreen setflag 2096 - pause 35 + delay 35 return LittlerootTown_BrendansHouse_1F_Movement_1B6BDB:: @ 81B6BDB @@ -253,17 +253,17 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6BE9:: @ 81B6BE9 lock faceplayer compare 0x4082, 4 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33 compare 0x408c, 4 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C33 checkflag 2059 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D checkflag 82 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 compare 0x4001, 1 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C80 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C80 compare 0x4092, 7 - jumpif 4, LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C + goto_if 4, LittlerootTown_BrendansHouse_1F_EventScript_1B6C9C msgbox LittlerootTown_BrendansHouse_1F_Text_172429, 4 release end @@ -275,11 +275,11 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C33:: @ 81B6C33 LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D:: @ 81B6C3D checkflag 133 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1B6C72 msgbox LittlerootTown_BrendansHouse_1F_Text_172782, 4 giveitem ITEM_AMULET_COIN compare RESULT, 0 - jumpeq LittlerootTown_BrendansHouse_1F_EventScript_1A029B + goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1A029B msgbox LittlerootTown_BrendansHouse_1F_Text_1727CD, 4 setflag 133 release @@ -287,7 +287,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C3D:: @ 81B6C3D LittlerootTown_BrendansHouse_1F_EventScript_1B6C72:: @ 81B6C72 msgbox LittlerootTown_BrendansHouse_1F_Text_172717, 4 - jump LittlerootTown_BrendansHouse_1F_EventScript_1B6C8A + goto LittlerootTown_BrendansHouse_1F_EventScript_1B6C8A end LittlerootTown_BrendansHouse_1F_EventScript_1B6C80:: @ 81B6C80 @@ -296,9 +296,9 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6C80:: @ 81B6C80 end LittlerootTown_BrendansHouse_1F_EventScript_1B6C8A:: @ 81B6C8A - closebutton + closemessage call LittlerootTown_BrendansHouse_1F_EventScript_1A02CA - inccounter GAME_STAT_RESTED_AT_HOME + incrementgamestat GAME_STAT_RESTED_AT_HOME msgbox LittlerootTown_BrendansHouse_1F_Text_17276B, 4 release end @@ -312,8 +312,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6CA6:: @ 81B6CA6 LittlerootTown_MaysHouse_1F_EventScript_1B6CA6:: @ 81B6CA6 lock faceplayer - checksound - pokecry SPECIES_MACHOKE, 0 + waitse + playpokecry SPECIES_MACHOKE, 0 msgbox LittlerootTown_BrendansHouse_1F_Text_17281D, 4 waitpokecry release @@ -323,8 +323,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6CB9:: @ 81B6CB9 LittlerootTown_MaysHouse_1F_EventScript_1B6CB9:: @ 81B6CB9 lock faceplayer - checksound - pokecry SPECIES_MACHOKE, 0 + waitse + playpokecry SPECIES_MACHOKE, 0 msgbox LittlerootTown_BrendansHouse_1F_Text_172831, 4 waitpokecry release @@ -361,43 +361,43 @@ LittlerootTown_BrendansHouse_1F_Movement_1B6CDC:: @ 81B6CDC LittlerootTown_BrendansHouse_1F_EventScript_1B6CDE:: @ 81B6CDE LittlerootTown_MaysHouse_1F_EventScript_1B6CDE:: @ 81B6CDE lockall - checkgender + checkplayergender compare RESULT, 0 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DAD compare RESULT, 1 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD compare 0x8008, 0 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D compare 0x8008, 1 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28 - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0839 - waitmove 0 - playsfx 21 - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0833 - waitmove 0 - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0835 - waitmove 0 - pause 20 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E28 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0839 + waitmovement 0 + playse 21 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0833 + waitmovement 0 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1A0835 + waitmovement 0 + delay 20 compare 0x8008, 0 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD compare 0x8008, 1 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8 msgbox LittlerootTown_BrendansHouse_1F_Text_17298B, 4 giveitem ITEM_SS_TICKET msgbox LittlerootTown_BrendansHouse_1F_Text_172A7D, 4 - closebutton + closemessage compare 0x8008, 0 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3 compare 0x8008, 1 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE msgbox LittlerootTown_BrendansHouse_1F_Text_172B5E, 4 - closebutton + closemessage compare 0x8008, 0 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9 compare 0x8008, 1 - callif 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B - playsfx 8 - disappear 0x8009 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B + playse 8 + removeobject 0x8009 setflag 291 setvar 0x4082, 4 setvar 0x408c, 4 @@ -417,45 +417,45 @@ LittlerootTown_BrendansHouse_1F_EventScript_1B6DBD:: @ 81B6DBD return LittlerootTown_BrendansHouse_1F_EventScript_1B6DCD:: @ 81B6DCD - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E33 - waitmove 0 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E33 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6DD8:: @ 81B6DD8 - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E36 - waitmove 0 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E36 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6DE3:: @ 81B6DE3 - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E39 - waitmove 0 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E39 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6DEE:: @ 81B6DEE - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3B - waitmove 0 + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3B + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6DF9:: @ 81B6DF9 - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3D - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E3D + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6E0B:: @ 81B6E0B - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F - move 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E43 - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E4F + applymovement 0x8009, LittlerootTown_BrendansHouse_1F_Movement_1B6E43 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6E1D:: @ 81B6E1D - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E49 - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E49 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_1B6E28:: @ 81B6E28 - move 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E54 - waitmove 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1B6E54 + waitmovement 0 return LittlerootTown_BrendansHouse_1F_Movement_1B6E33:: @ 81B6E33 diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index 852acd292..6fe754097 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -1,36 +1,36 @@ FallarborTown_ContestLobby_EventScript_1B7604:: @ 81B7604 setvar 0x8008, 4 setvar 0x8009, 1 - move 0x8008, FallarborTown_ContestLobby_Movement_1B7821 - waitmove 0 - jump FallarborTown_ContestLobby_EventScript_1B7681 + applymovement 0x8008, FallarborTown_ContestLobby_Movement_1B7821 + waitmovement 0 + goto FallarborTown_ContestLobby_EventScript_1B7681 end SlateportCity_ContestLobby_EventScript_1B761E:: @ 81B761E setvar 0x8008, 2 setvar 0x8009, 2 - move 6, SlateportCity_ContestLobby_Movement_1A083D - move 0x8008, SlateportCity_ContestLobby_Movement_1B7821 - waitmove 0 - jump SlateportCity_ContestLobby_EventScript_1B7681 + applymovement 6, SlateportCity_ContestLobby_Movement_1A083D + applymovement 0x8008, SlateportCity_ContestLobby_Movement_1B7821 + waitmovement 0 + goto SlateportCity_ContestLobby_EventScript_1B7681 end VerdanturfTown_ContestLobby_EventScript_1B763F:: @ 81B763F setvar 0x8008, 2 setvar 0x8009, 1 - move 0x8008, VerdanturfTown_ContestLobby_Movement_1B7821 - waitmove 0 - jump VerdanturfTown_ContestLobby_EventScript_1B7681 + applymovement 0x8008, VerdanturfTown_ContestLobby_Movement_1B7821 + waitmovement 0 + goto VerdanturfTown_ContestLobby_EventScript_1B7681 end LilycoveCity_ContestLobby_EventScript_1B7659:: @ 81B7659 setvar 0x8008, 3 setvar 0x8009, 3 - move 9, LilycoveCity_ContestLobby_Movement_1A083D - move 10, LilycoveCity_ContestLobby_Movement_1A083D - move 0x8008, LilycoveCity_ContestLobby_Movement_1B7821 - waitmove 0 - jump LilycoveCity_ContestLobby_EventScript_1B7681 + applymovement 9, LilycoveCity_ContestLobby_Movement_1A083D + applymovement 10, LilycoveCity_ContestLobby_Movement_1A083D + applymovement 0x8008, LilycoveCity_ContestLobby_Movement_1B7821 + waitmovement 0 + goto LilycoveCity_ContestLobby_EventScript_1B7681 end FallarborTown_ContestLobby_EventScript_1B7681:: @ 81B7681 @@ -40,24 +40,24 @@ VerdanturfTown_ContestLobby_EventScript_1B7681:: @ 81B7681 lockall msgbox FallarborTown_ContestLobby_Text_1B6E63, 5 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1B76A1 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B76A1 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B76E5 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B76E5 end FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1 checkitem ITEM_POKEBLOCK_CASE, 1 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B7780 - specialval RESULT, PlayerHasBerries + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7780 + specialvar RESULT, PlayerHasBerries compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B770E + goto_if_eq FallarborTown_ContestLobby_EventScript_1B770E msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4 - specialval RESULT, sub_810CA00 + specialvar RESULT, sub_810CA00 compare RESULT, 65535 - jumpif 5, FallarborTown_ContestLobby_EventScript_1B76EF + goto_if 5, FallarborTown_ContestLobby_EventScript_1B76EF compare RESULT, 65535 - jumpeq FallarborTown_ContestLobby_EventScript_1B7776 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7776 end FallarborTown_ContestLobby_EventScript_1B76E5:: @ 81B76E5 @@ -68,27 +68,27 @@ FallarborTown_ContestLobby_EventScript_1B76E5:: @ 81B76E5 FallarborTown_ContestLobby_EventScript_1B76EF:: @ 81B76EF msgbox FallarborTown_ContestLobby_Text_1B6ED0, 5 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1B7734 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7734 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B7726 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7726 end FallarborTown_ContestLobby_EventScript_1B770E:: @ 81B770E msgbox FallarborTown_ContestLobby_Text_1B6FF0, 4 - checkdailyflags + dodailyevents checkflag 2241 - jumpeq FallarborTown_ContestLobby_EventScript_1B774F - jump FallarborTown_ContestLobby_EventScript_1B7759 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B774F + goto FallarborTown_ContestLobby_EventScript_1B7759 end FallarborTown_ContestLobby_EventScript_1B7726:: @ 81B7726 msgbox FallarborTown_ContestLobby_Text_1B6F1F, 4 - jump FallarborTown_ContestLobby_EventScript_1B7734 + goto FallarborTown_ContestLobby_EventScript_1B7734 end FallarborTown_ContestLobby_EventScript_1B7734:: @ 81B7734 msgbox FallarborTown_ContestLobby_Text_1B6EF1, 4 - jump FallarborTown_ContestLobby_EventScript_1B7742 + goto FallarborTown_ContestLobby_EventScript_1B7742 end FallarborTown_ContestLobby_EventScript_1B7742:: @ 81B7742 @@ -108,7 +108,7 @@ FallarborTown_ContestLobby_EventScript_1B7759:: @ 81B7759 msgbox FallarborTown_ContestLobby_Text_1B704A, 4 giveitem ITEM_PECHA_BERRY setflag 2241 - jump FallarborTown_ContestLobby_EventScript_1B76EF + goto FallarborTown_ContestLobby_EventScript_1B76EF end FallarborTown_ContestLobby_EventScript_1B7776:: @ 81B7776 @@ -123,22 +123,22 @@ FallarborTown_ContestLobby_EventScript_1B7780:: @ 81B7780 FallarborTown_ContestLobby_EventScript_1B778A:: @ 81B778A setvar 0x8008, 4 - jump FallarborTown_ContestLobby_EventScript_1B77B6 + goto FallarborTown_ContestLobby_EventScript_1B77B6 end SlateportCity_ContestLobby_EventScript_1B7795:: @ 81B7795 setvar 0x8008, 2 - jump SlateportCity_ContestLobby_EventScript_1B77B6 + goto SlateportCity_ContestLobby_EventScript_1B77B6 end VerdanturfTown_ContestLobby_EventScript_1B77A0:: @ 81B77A0 setvar 0x8008, 2 - jump VerdanturfTown_ContestLobby_EventScript_1B77B6 + goto VerdanturfTown_ContestLobby_EventScript_1B77B6 end LilycoveCity_ContestLobby_EventScript_1B77AB:: @ 81B77AB setvar 0x8008, 3 - jump LilycoveCity_ContestLobby_EventScript_1B77B6 + goto LilycoveCity_ContestLobby_EventScript_1B77B6 end FallarborTown_ContestLobby_EventScript_1B77B6:: @ 81B77B6 @@ -148,11 +148,11 @@ VerdanturfTown_ContestLobby_EventScript_1B77B6:: @ 81B77B6 lock faceplayer msgbox FallarborTown_ContestLobby_Text_1B742F, 4 - specialval RESULT, PlayerHasBerries + specialvar RESULT, PlayerHasBerries compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1B77DC + goto_if_eq FallarborTown_ContestLobby_EventScript_1B77DC compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B77E6 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B77E6 end FallarborTown_ContestLobby_EventScript_1B77DC:: @ 81B77DC @@ -161,10 +161,10 @@ FallarborTown_ContestLobby_EventScript_1B77DC:: @ 81B77DC end FallarborTown_ContestLobby_EventScript_1B77E6:: @ 81B77E6 - checkdailyflags + dodailyevents checkflag 2241 - jumpeq FallarborTown_ContestLobby_EventScript_1B77F6 - jump FallarborTown_ContestLobby_EventScript_1B7800 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B77F6 + goto FallarborTown_ContestLobby_EventScript_1B7800 end FallarborTown_ContestLobby_EventScript_1B77F6:: @ 81B77F6 @@ -188,19 +188,19 @@ VerdanturfTown_ContestLobby_Movement_1B7821:: @ 81B7821 step_end FallarborTown_ContestLobby_EventScript_1B7823:: @ 81B7823 - jump FallarborTown_ContestLobby_EventScript_1B783B + goto FallarborTown_ContestLobby_EventScript_1B783B end SlateportCity_ContestLobby_EventScript_1B7829:: @ 81B7829 - jump SlateportCity_ContestLobby_EventScript_1B783B + goto SlateportCity_ContestLobby_EventScript_1B783B end VerdanturfTown_ContestLobby_EventScript_1B782F:: @ 81B782F - jump VerdanturfTown_ContestLobby_EventScript_1B783B + goto VerdanturfTown_ContestLobby_EventScript_1B783B end LilycoveCity_ContestLobby_EventScript_1B7835:: @ 81B7835 - jump LilycoveCity_ContestLobby_EventScript_1B783B + goto LilycoveCity_ContestLobby_EventScript_1B783B end FallarborTown_ContestLobby_EventScript_1B783B:: @ 81B783B @@ -208,25 +208,25 @@ LilycoveCity_ContestLobby_EventScript_1B783B:: @ 81B783B SlateportCity_ContestLobby_EventScript_1B783B:: @ 81B783B VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B lockall - specialval RESULT, PlayerHasBerries + specialvar RESULT, PlayerHasBerries compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B7897 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7897 checkitem ITEM_POKEBLOCK_CASE, 1 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B7942 - specialval RESULT, sub_810CA00 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7942 + specialvar RESULT, sub_810CA00 compare RESULT, 65535 - jumpif 5, FallarborTown_ContestLobby_EventScript_1B7878 + goto_if 5, FallarborTown_ContestLobby_EventScript_1B7878 compare RESULT, 65535 - jumpeq FallarborTown_ContestLobby_EventScript_1B7938 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7938 end FallarborTown_ContestLobby_EventScript_1B7878:: @ 81B7878 msgbox FallarborTown_ContestLobby_Text_1B727C, 5 compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1B78A1 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B78A1 compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B7936 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7936 end FallarborTown_ContestLobby_EventScript_1B7897:: @ 81B7897 @@ -237,45 +237,45 @@ FallarborTown_ContestLobby_EventScript_1B7897:: @ 81B7897 FallarborTown_ContestLobby_EventScript_1B78A1:: @ 81B78A1 call S_DoSaveDialog compare RESULT, 0 - jumpeq FallarborTown_ContestLobby_EventScript_1B7936 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7936 message FallarborTown_ContestLobby_Text_1B7304 - waittext + waitmessage special sub_8083614 waitstate compare RESULT, 1 - jumpeq FallarborTown_ContestLobby_EventScript_1B7980 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7980 compare RESULT, 2 - jumpeq FallarborTown_ContestLobby_EventScript_1B794C + goto_if_eq FallarborTown_ContestLobby_EventScript_1B794C compare RESULT, 3 - jumpeq FallarborTown_ContestLobby_EventScript_1B7959 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7959 compare RESULT, 5 - jumpeq FallarborTown_ContestLobby_EventScript_1B7966 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7966 compare RESULT, 6 - jumpeq FallarborTown_ContestLobby_EventScript_1B7973 + goto_if_eq FallarborTown_ContestLobby_EventScript_1B7973 end FallarborTown_ContestLobby_EventScript_1B78F3:: @ 81B78F3 msgbox FallarborTown_ContestLobby_Text_1B733B, 4 - jump FallarborTown_ContestLobby_EventScript_1B791D + goto FallarborTown_ContestLobby_EventScript_1B791D end FallarborTown_ContestLobby_EventScript_1B7901:: @ 81B7901 msgbox FallarborTown_ContestLobby_Text_1B7347, 4 - jump FallarborTown_ContestLobby_EventScript_1B791D + goto FallarborTown_ContestLobby_EventScript_1B791D end FallarborTown_ContestLobby_EventScript_1B790F:: @ 81B790F msgbox FallarborTown_ContestLobby_Text_1B735A, 4 - jump FallarborTown_ContestLobby_EventScript_1B791D + goto FallarborTown_ContestLobby_EventScript_1B791D end FallarborTown_ContestLobby_EventScript_1B791D:: @ 81B791D setvar 0x8004, 0 fadescreen 1 - disappear 240 - disappear 239 - disappear 238 - disappear 237 + removeobject 240 + removeobject 239 + removeobject 238 + removeobject 237 special sub_804E538 waitstate releaseall @@ -321,11 +321,11 @@ FallarborTown_ContestLobby_EventScript_1B7973:: @ 81B7973 FallarborTown_ContestLobby_EventScript_1B7980:: @ 81B7980 fadescreen 1 - specialval RESULT, GetLinkPartnerNames + specialvar RESULT, GetLinkPartnerNames copyvar 0x8008, RESULT copyvar 0x8004, 0x8008 special SpawnBerryBlenderLinkPlayerSprites - jump FallarborTown_ContestLobby_EventScript_1B799A + goto FallarborTown_ContestLobby_EventScript_1B799A end FallarborTown_ContestLobby_EventScript_1B799A:: @ 81B799A diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 03293115b..d0283f072 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -1,7 +1,7 @@ gUnknown_081C340A:: @ 81C340A setvar 0x40a4, 1 special ExitSafariMode - warp3 Route121_SafariZoneEntrance, 255, 2, 5 + setwarp Route121_SafariZoneEntrance, 255, 2, 5 end EventScript_1C341B: @ 81C341B @@ -15,39 +15,39 @@ gUnknown_081C342D:: @ 81C342D lockall msgbox UnknownString_81C34B2, 5 compare RESULT, 1 - jumpeq EventScript_1C3443 + goto_if_eq EventScript_1C3443 releaseall end EventScript_1C3443: - jump EventScript_1C341B + goto EventScript_1C341B gUnknown_081C3448:: @ 81C3448 lockall - playsfx 73 + playse 73 message UnknownString_81C34E4 - waittext + waitmessage waitbutton releaseall - jump EventScript_1C341B + goto EventScript_1C341B gUnknown_081C3459:: @ 81C3459 lockall - playsfx 73 + playse 73 message UnknownString_81C3514 - waittext + waitmessage waitbutton releaseall - jump EventScript_1C341B + goto EventScript_1C341B gUnknown_081C346A:: @ 81C346A lockall special SafariZoneGetPokeblockNameInFeeder - compare RESULT, -1 - jumpif 5, EventScript_1C34A9 + compare RESULT, 0xFFFF + goto_if 5, EventScript_1C34A9 msgbox UnknownString_81C354E, 5 compare RESULT, 1 - jumpeq EventScript_1C348E + goto_if_eq EventScript_1C348E releaseall end @@ -55,20 +55,20 @@ EventScript_1C348E: fadescreen 1 special sub_810BAF4 waitstate - compare RESULT, -1 - jumpif 5, EventScript_1C34A0 + compare RESULT, 0xFFFF + goto_if 5, EventScript_1C34A0 end EventScript_1C34A0: message UnknownString_81C35A9 - waittext + waitmessage waitbutton releaseall end EventScript_1C34A9: message UnknownString_81C3583 - waittext + waitmessage waitbutton releaseall end diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index 629125030..f3c03a853 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -3,7 +3,7 @@ Route111_EventScript_1A3858:: @ 81A3858 faceplayer msgbox Route111_Text_1A3520, 5 compare RESULT, 1 - jumpeq Route111_EventScript_1A3877 + goto_if_eq Route111_EventScript_1A3877 msgbox Route111_Text_1A37B5, 4 release end @@ -11,29 +11,29 @@ Route111_EventScript_1A3858:: @ 81A3858 Route111_EventScript_1A3877:: @ 81A3877 giveitem ITEM_TM43 compare RESULT, 0 - jumpeq Route111_EventScript_1A38D9 + goto_if_eq Route111_EventScript_1A38D9 msgbox Route111_Text_1A35C5, 4 - closebutton + closemessage setflag 96 clearflag 948 compare FACING, 3 - callif 1, Route111_EventScript_1A38C3 + call_if 1, Route111_EventScript_1A38C3 compare FACING, 4 - callif 1, Route111_EventScript_1A38C3 + call_if 1, Route111_EventScript_1A38C3 compare FACING, 2 - callif 1, Route111_EventScript_1A38CE - disappear LAST_TALKED + call_if 1, Route111_EventScript_1A38CE + removeobject LAST_TALKED release end Route111_EventScript_1A38C3:: @ 81A38C3 - move LAST_TALKED, Route111_Movement_1A38E3 - waitmove 0 + applymovement LAST_TALKED, Route111_Movement_1A38E3 + waitmovement 0 return Route111_EventScript_1A38CE:: @ 81A38CE - move LAST_TALKED, Route111_Movement_1A38EF - waitmove 0 + applymovement LAST_TALKED, Route111_Movement_1A38EF + waitmovement 0 return Route111_EventScript_1A38D9:: @ 81A38D9 diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc index 1f8956811..425f42a85 100644 --- a/data/scripts/tv.inc +++ b/data/scripts/tv.inc @@ -1,33 +1,33 @@ Event_TV:: @ 81A6E72 lockall - inccounter GAME_STAT_WATCHED_TV + incrementgamestat GAME_STAT_WATCHED_TV special sub_80C2014 - specialval RESULT, CheckForBigMovieOrEmergencyNewsOnTV + specialvar RESULT, CheckForBigMovieOrEmergencyNewsOnTV compare RESULT, 2 - jumpeq EventScript_1A6F01 + goto_if_eq EventScript_1A6F01 compare RESULT, 1 - jumpeq EventScript_1A6F0B + goto_if_eq EventScript_1A6F0B checkflag 2098 - jumpif 0, EventScript_1A6EF1 + goto_if 0, EventScript_1A6EF1 checkflag 2097 - jumpeq EventScript_1A6EF1 - specialval RESULT, IsTVShowInSearchOfTrainersAiring + goto_if_eq EventScript_1A6EF1 + specialvar RESULT, IsTVShowInSearchOfTrainersAiring compare RESULT, 1 - jumpeq EventScript_1A6F66 - jump EventScript_1A6F50 + goto_if_eq EventScript_1A6F66 + goto EventScript_1A6F50 end EventScript_1A6EBB: - specialval 0x8004, special_0x44 + specialvar 0x8004, special_0x44 compare 0x8004, 255 - jumpeq EventScript_1A6F3F - specialval RESULT, special_0x4a + goto_if_eq EventScript_1A6F3F + specialvar RESULT, special_0x4a compare RESULT, 255 - jumpeq EventScript_1A6F3F + goto_if_eq EventScript_1A6F3F copyvar 0x8004, RESULT - specialval RESULT, sub_80BDA0C + specialvar RESULT, sub_80BDA0C compare RESULT, 0 - jumpif 5, EventScript_1A6F21 + goto_if 5, EventScript_1A6F21 end EventScript_1A6EF1: @@ -57,11 +57,11 @@ EventScript_1A6F0B: EventScript_1A6F21: special DoTVShow - waittext + waitmessage waitbutton compare RESULT, 1 - jumpif 5, EventScript_1A6F21 - jump EventScript_1A6F37 + goto_if 5, EventScript_1A6F21 + goto EventScript_1A6F37 end EventScript_1A6F37: @@ -73,23 +73,23 @@ EventScript_1A6F37: EventScript_1A6F3F: special GetMomOrDadStringForTVMessage msgbox UnknownString_81A0E68, 4 - jump EventScript_1A6F37 + goto EventScript_1A6F37 end EventScript_1A6F50: special sub_80BECE8 compare RESULT, 0 - jumpeq EventScript_1A6EBB - waittext + goto_if_eq EventScript_1A6EBB + waitmessage waitbutton - jump EventScript_1A6F37 + goto EventScript_1A6F37 end EventScript_1A6F66: special DoTVShowInSearchOfTrainers - waittext + waitmessage waitbutton compare RESULT, 0 - jumpeq EventScript_1A6F66 - jump EventScript_1A6F37 + goto_if_eq EventScript_1A6F66 + goto EventScript_1A6F37 end diff --git a/data/secret_base.s b/data/secret_base.s deleted file mode 100644 index 59ded8ddf..000000000 --- a/data/secret_base.s +++ /dev/null @@ -1,77 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 1 -gUnknown_083D1358:: @ 83D1358 - .2byte 0x26, 0x36 - .2byte 0x27, 0x37 - .2byte 0x1A0, 0x1A1 - .2byte 0x1A8, 0x1A9 - .2byte 0x1B0, 0x1B1 - .2byte 0x208, 0x210 - .2byte 0x271, 0x278 - -gUnknown_083D1374:: @ 83D1374 - .byte 0, 0 - .byte 1, 3 - .byte 6, 0 - .byte 5, 9 - .byte 12, 0 - .byte 1, 3 - .byte 18, 0 - .byte 7, 13 - .byte 1, 0 - .byte 2, 3 - .byte 7, 0 - .byte 9, 2 - .byte 13, 0 - .byte 13, 4 - .byte 19, 0 - .byte 1, 2 - .byte 2, 0 - .byte 1, 3 - .byte 8, 0 - .byte 1, 2 - .byte 14, 0 - .byte 3, 15 - .byte 20, 0 - .byte 3, 14 - .byte 3, 0 - .byte 9, 3 - .byte 9, 0 - .byte 8, 7 - .byte 15, 0 - .byte 3, 6 - .byte 21, 0 - .byte 5, 9 - .byte 4, 0 - .byte 2, 3 - .byte 10, 0 - .byte 5, 6 - .byte 16, 0 - .byte 15, 3 - .byte 22, 0 - .byte 4, 10 - .byte 5, 0 - .byte 3, 3 - .byte 11, 0 - .byte 1, 2 - .byte 17, 0 - .byte 7, 8 - .byte 23, 0 - .byte 9, 6 - - .align 2 -gUnknown_083D13D4:: @ 83D13D4 - .4byte SecretBaseText_DelRegist, sub_80BCA84 - .4byte gUnknownText_Exit, sub_80BCBF8 - - .align 2 -gUnknown_083D13E4:: @ 83D13E4 - .4byte sub_80BCB90 - .4byte sub_80BCBC0 - -gUnknown_083D13EC:: @ 83D13EC - .byte 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0 diff --git a/data/specials.inc b/data/specials.inc index 3545d1dff..0b3648c4a 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -51,7 +51,7 @@ gSpecials:: def_special sub_80C5568 def_special sub_8083BDC def_special FieldObjectInteractionGetBerryTreeData - def_special sub_80B4EE4 + def_special Berry_FadeAndGoToBerryBagMenu def_special FieldObjectInteractionPlantBerryTree def_special FieldObjectInteractionPickBerryTree def_special FieldObjectInteractionRemoveBerryTree @@ -160,7 +160,7 @@ gSpecials:: def_special SetFlagInVar def_special CableCarWarp def_special sub_8123218 - def_special sub_8053E90 + def_special Overworld_PlaySpecialMapMusic def_special StartWallClock def_special ScrSpecial_ViewWallClock def_special ScrSpecial_ChooseStarter @@ -241,19 +241,19 @@ gSpecials:: def_special sub_8134548 def_special sub_81347F8 def_special CheckPartyBattleTowerBanlist - def_special sub_8135474 - def_special sub_81360C0 + def_special PrintBattleTowerTrainerGreeting + def_special PrintEReaderTrainerGreeting def_special sub_813556C def_special sub_8135668 def_special sub_81358A4 def_special sub_8135A14 def_special sub_8135BA0 - def_special sub_8135C38 - def_special sub_8135D84 - def_special sub_8135DEC - def_special sub_8135E50 + def_special BattleTower_SoftReset + def_special DetermineBattleTowerPrize + def_special GiveBattleTowerPrize + def_special AwardBattleTowerRibbons def_special ChooseBattleTowerPlayerParty - def_special sub_813601C + def_special ValidateEReaderTrainer def_special sub_810F404 def_special ReducePlayerPartyToThree def_special BedroomPC @@ -329,7 +329,7 @@ gSpecials:: def_special sp13F_fall_to_last_warp def_special ShowContestEntryMonPic def_special sub_80C5164 - def_special sub_8134AB4 + def_special SetEReaderTrainerGfxId def_special ScrSpecial_StartSouthernIslandBattle def_special SetRoute119Weather def_special SetRoute123Weather diff --git a/data/trade.s b/data/trade.s deleted file mode 100644 index 8f96a72b1..000000000 --- a/data/trade.s +++ /dev/null @@ -1,774 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 - .byte 0x90, 0x08, 0x00, 0x00 - .byte 0xC0, 0x3A, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00 - .byte 0x30, 0x05, 0x00, 0x00 - .byte 0x24, 0x00, 0x00, 0x00 - .byte 0x64, 0x00, 0x00, 0x00 - .byte 0xD8, 0x04, 0x00, 0x00 - - .align 1 -gTradeMovesBoxTilemap:: @ 820ABF0 - .incbin "graphics/trade/moves_box_map.bin" - - .align 1 -gTradePartyBoxTilemap:: @ 820ADEE - .incbin "graphics/trade/party_box_map.bin" - - .align 2 -gTradeStripesBG2Tilemap:: @ 820AFEC - .incbin "graphics/trade/stripes_bg2_map.bin" - - .align 2 -gTradeStripesBG3Tilemap:: @ 820B7EC - .incbin "graphics/trade/stripes_bg3_map.bin" - - .align 2 -gOamData_820BFEC:: @ 820BFEC - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_820BFF4:: @ 820BFF4 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820BFFC:: @ 820BFFC - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C004:: @ 820C004 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C00C:: @ 820C00C - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C014:: @ 820C014 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C01C:: @ 820C01C - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820C024:: @ 820C024 - .4byte gSpriteAnim_820BFF4 - .4byte gSpriteAnim_820BFFC - .4byte gSpriteAnim_820C004 - .4byte gSpriteAnim_820C00C - .4byte gSpriteAnim_820C014 - .4byte gSpriteAnim_820C01C - - .align 2 -TradeScreenTextPalette: @ 820C03C - .incbin "graphics/trade/text1.gbapal" - .incbin "graphics/trade/text2.gbapal" @ unused? - - .align 2 -gUnknown_0820C07C:: @ 820C07C - obj_tiles 0x0201d000, 256, 0x00c8 - obj_tiles 0x0201d100, 256, 0x00c9 - obj_tiles 0x0201d200, 256, 0x00ca - obj_tiles 0x0201d300, 256, 0x00cb - obj_tiles 0x0201d400, 256, 0x00cc - obj_tiles 0x0201d500, 256, 0x00cd - obj_tiles 0x0201d600, 256, 0x00ce - obj_tiles 0x0201d700, 256, 0x00cf - obj_tiles 0x0201d800, 256, 0x00d0 - obj_tiles 0x0201d900, 256, 0x00d1 - obj_tiles 0x0201da00, 256, 0x00d2 - obj_tiles 0x0201db00, 256, 0x00d3 - obj_tiles 0x0201dc00, 256, 0x00d4 - - .align 2 -gSpritePalette_TradeScreenText:: @ 820C0E4 - obj_pal TradeScreenTextPalette, 4925 - - .align 2 -gSpriteTemplate_820C0EC:: @ 820C0EC - spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_820C104:: @ 820C104 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_820C10C:: @ 820C10C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C114:: @ 820C114 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820C11C:: @ 820C11C - .4byte gSpriteAnim_820C10C - .4byte gSpriteAnim_820C114 - - .align 2 -gUnknown_0820C124:: @ 820C124 - obj_tiles gUnknown_08EA1DEC, 0x800, 300 - - .align 2 -gUnknown_0820C12C:: @ 820C12C - obj_pal gUnknown_08EA0328, 2345 - - .align 2 -gSpriteTemplate_820C134:: @ 820C134 - spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0820C14C:: @ 820C14C - .4byte TradeText_Cancel - .4byte TradeText_ChoosePoke - .4byte TradeText_Summary1 - .4byte TradeText_Trade1 - .4byte TradeText_CancelTradePrompt - .4byte TradeText_PressBToExit - -@ This is used to determine the next mon to select when the D-Pad is -@ pressed in a given direction. -@ Note that the mons are laid out like this. -@ 0-5 are the player's party and 6-11 are the trading partner's party. -@ 12 is the cancel button. -@ 0 1 6 7 -@ 2 3 8 9 -@ 4 5 10 11 -@ 12 -gTradeNextSelectedMonTable:: @ 820C164 - @ 0 - .byte 4, 2, 12, 12, 0, 0 @ up - .byte 2, 4, 12, 12, 0, 0 @ down - .byte 7, 6, 1, 0, 0, 0 @ left - .byte 1, 6, 7, 0, 0, 0 @ right - @ 1 - .byte 5, 3, 12, 12, 0, 0 @ up - .byte 3, 5, 12, 12, 0, 0 @ down - .byte 0, 7, 6, 1, 0, 0 @ left - .byte 6, 7, 0, 1, 0, 0 @ right - @ 2 - .byte 0, 0, 0, 0, 0, 0 @ up - .byte 4, 0, 0, 0, 0, 0 @ down - .byte 9, 8, 7, 6, 0, 0 @ left - .byte 3, 1, 0, 0, 0, 0 @ right - @ 3 - .byte 1, 1, 1, 1, 0, 0 @ up - .byte 5, 1, 1, 1, 0, 0 @ down - .byte 2, 9, 8, 7, 0, 0 @ left - .byte 8, 9, 6, 6, 0, 0 @ right - @ 4 - .byte 2, 2, 2, 2, 0, 0 @ up - .byte 0, 0, 0, 0, 0, 0 @ down - .byte 11, 10, 9, 8, 7, 6 @ left - .byte 5, 3, 1, 0, 0, 0 @ right - @ 5 - .byte 3, 3, 3, 3, 0, 0 @ up - .byte 1, 1, 1, 1, 0, 0 @ down - .byte 4, 4, 4, 4, 0, 0 @ left - .byte 10, 8, 6, 0, 0, 0 @ right - @ 6 - .byte 10, 8, 12, 0, 0, 0 @ up - .byte 8, 10, 12, 0, 0, 0 @ down - .byte 1, 0, 0, 0, 0, 0 @ left - .byte 7, 0, 1, 0, 0, 0 @ right - @ 7 - .byte 12, 0, 0, 0, 0, 0 @ up - .byte 9, 12, 0, 0, 0, 0 @ down - .byte 6, 0, 0, 0, 0, 0 @ left - .byte 0, 0, 0, 0, 0, 0 @ right - @ 8 - .byte 6, 0, 0, 0, 0, 0 @ up - .byte 10, 6, 0, 0, 0, 0 @ down - .byte 3, 2, 1, 0, 0, 0 @ left - .byte 9, 7, 0, 0, 0, 0 @ right - @ 9 - .byte 7, 0, 0, 0, 0, 0 @ up - .byte 11, 12, 0, 0, 0, 0 @ down - .byte 8, 0, 0, 0, 0, 0 @ left - .byte 2, 1, 0, 0, 0, 0 @ right - @ 10 - .byte 8, 0, 0, 0, 0, 0 @ up - .byte 6, 0, 0, 0, 0, 0 @ down - .byte 5, 4, 3, 2, 1, 0 @ left - .byte 11, 9, 7, 0, 0, 0 @ right - @ 11 - .byte 9, 0, 0, 0, 0, 0 @ up - .byte 12, 0, 0, 0, 0, 0 @ down - .byte 10, 0, 0, 0, 0, 0 @ left - .byte 4, 2, 0, 0, 0, 0 @ right - @ 12 - .byte 11, 9, 7, 6, 0, 0 @ up - .byte 7, 6, 0, 0, 0, 0 @ down - .byte 12, 0, 0, 0, 0, 0 @ left - .byte 12, 0, 0, 0, 0, 0 @ right - -@ The coordinates are in units of tiles. -@ These are used for both mon icons and the selected mon cursor, -@ but the origins of the coordinates differ. -gTradeMonSpriteCoords:: @ 820C29C - @ left-side party - .byte 1, 5 - .byte 8, 5 - .byte 1, 10 - .byte 8, 10 - .byte 1, 15 - .byte 8, 15 - - @ right-side party - .byte 16, 5 - .byte 23, 5 - .byte 16, 10 - .byte 23, 10 - .byte 16, 15 - .byte 23, 15 - - @ cancel button - .byte 23, 18 - -gTradeLevelDisplayCoords:: @ 820C2B6 - @ left-side party - .byte 5, 4 - .byte 12, 4 - .byte 5, 9 - .byte 12, 9 - .byte 5, 14 - .byte 12, 14 - - @ right-side party - .byte 20, 4 - .byte 27, 4 - .byte 20, 9 - .byte 27, 9 - .byte 20, 14 - .byte 27, 14 - -gTradeMonBoxCoords:: @ 820C2CE - @ left-side party - .byte 1, 3 - .byte 8, 3 - .byte 1, 8 - .byte 8, 8 - .byte 1, 13 - .byte 8, 13 - - @ right-side party - .byte 16, 3 - .byte 23, 3 - .byte 16, 8 - .byte 23, 8 - .byte 16, 13 - .byte 23, 13 - -gTradeUnknownSpriteCoords:: @ 820C2E6 - .byte 59, 10 - .byte 179, 10 - .byte 59, 10 - .byte 179, 10 - - .align 2 -gUnknown_0820C2F0:: @ 820C2F0 - .4byte TradeText_LinkStandby - .4byte TradeText_TradeCancelled - .4byte TradeText_OnlyPoke - .4byte TradeText_NonTradablePoke - .4byte TradeText_WaitingForFriend - .4byte TradeText_WantToTrade - -gTradeMessageWindowRects:: @ 820C308 - .byte 8, 7, 22, 12 - .byte 8, 7, 22, 12 - .byte 6, 7, 24, 12 - .byte 6, 7, 24, 12 - .byte 8, 7, 22, 12 - .byte 7, 7, 23, 12 - - .align 2 -gUnknown_0820C320:: @ 820C320 - .4byte TradeText_Summary2, sub_804A9F4 @unknown - .4byte TradeText_Trade2, sub_804AA00 - -gUnknown_0820C330:: @ 820C330 - .byte 0, 14 - .byte 15, 29 - -gUnknown_0820C334:: @ 820C334 - .byte 3, 5 - .byte 3, 7 - .byte 18, 5 - .byte 18, 7 - -gOtherText_Terminator:: - .string "$" - -gOtherText_MaleSymbol3:: @ 820C33D - .string "♂$" - -gOtherText_FemaleSymbol3:: @ 820C33F - .string "♀$" - -gOtherText_GenderlessSymbol:: @ 820C341 - .string "$$" - - .align 2 - .4byte gTileBuffer - -@ Unused debug strings? - .string "かいめの そうしん$", 13 - .string "かいめの じゅしん$", 13 - .string "ポケモンアイコンセット$", 13 - .string "OBJテキストセット$", 13 - .string "セルセット$", 13 - .string "OBJテキストADD$", 13 - .string "システムメッセージADD$", 13 - .string "はいけいセット$", 13 - -@ Shedinja's Japanese name -@ sub_8048D44 compares a pokemon name with this string -gUnknown_0820C3B0:: @ 820C3B0 - .string "ヌケニン$" - - .string "こうかんせいりつ $" @ trade completed - .string "だめだたらしいよ $" @ it's no good (trade failed maybe?) - -gUnknown_0820C3D1:: @ 820C3D1 - .byte 4, 3 - .byte 19, 3 - - .align 2 -gTradeBallPalette:: @ 820C3D8 - .incbin "graphics/trade/ball.gbapal" - - .align 2 -gTradeBallTiles:: @ 820C3F8 - .incbin "graphics/trade/ball.4bpp" - - .align 2 -gUnknown_0820C9F8:: @ 820C9F8 - .incbin "graphics/trade/unknown.gbapal" - .incbin "graphics/trade/gba.gbapal" - .incbin "graphics/trade/shadow.gbapal" - .space 32 - .incbin "graphics/trade/misc.gbapal" - - .align 2 -gUnknown_0820CA98:: @ 820CA98 - .incbin "graphics/trade/gba.4bpp" - .incbin "graphics/trade/shadow.4bpp" - - .align 2 -gUnknown_0820DD98:: @ 820DD98 - .incbin "graphics/trade/pokeball_symbol.8bpp" - - .align 2 -gUnknown_0820F798:: @ 820F798 - .incbin "graphics/trade/shadow_map.bin" - - .align 2 -gUnknown_08210798:: @ 8210798 - .incbin "graphics/trade/gba_map.bin" - - .align 2 -gUnknown_08211798:: @ 8211798 - .incbin "graphics/trade/cable_closeup_map.bin" - - .align 2 -gUnknown_08211F98:: @ 8211F98 - .incbin "graphics/trade/pokeball_symbol_map.bin" - - .incbin "graphics/unused/unknown/8212098.gbapal" - - .align 2 -gTradeCableEndPalette:: @ 82120B8 - .incbin "graphics/trade/cable_end.gbapal" - - .incbin "graphics/unused/unknown/82120D8.gbapal" - - .space 32 - - .align 2 -gTradeGlowPalette:: @ 8212118 - .incbin "graphics/trade/glow.gbapal" - - .align 2 -gTradeGlow1Tiles:: @ 8212138 - .incbin "graphics/trade/glow1.4bpp" - - .align 2 -gTradeGlow2Tiles:: @ 8212338 - .incbin "graphics/trade/glow2.4bpp" - - .align 2 -gTradeCableEndTiles:: @ 8212538 - .incbin "graphics/trade/cable_end.4bpp" - - .align 2 -gTradeGBAScreenTiles:: @ 8212738 - .incbin "graphics/trade/gba_screen.4bpp" - - .align 2 -gUnknown_08213738:: @ 8213738 - .incbin "graphics/trade/gba_affine.8bpp" - - .align 2 -gUnknown_08215778:: @ 8215778 - .incbin "graphics/trade/gba_affine_map.bin" - - .align 2 -gOamData_8215878:: @ 8215878 - .2byte 0x0100 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8215880:: @ 8215880 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 20, 3 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 28, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 36, 3 - obj_image_anim_frame 40, 3 - obj_image_anim_frame 44, 3 - obj_image_anim_loop 1 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_82158BC:: @ 82158BC - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 20, 3 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 28, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 36, 3 - obj_image_anim_frame 40, 3 - obj_image_anim_frame 44, 3 - obj_image_anim_loop 2 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82158F8:: @ 82158F8 - .4byte gSpriteAnim_8215880 - .4byte gSpriteAnim_82158BC - - .align 2 -gSpriteAffineAnim_8215900:: @ 8215900 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8215910:: @ 8215910 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8215920:: @ 8215920 - obj_rot_scal_anim_frame 0x60, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 - obj_rot_scal_anim_frame 0x8, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8215940:: @ 8215940 - .4byte gSpriteAffineAnim_8215900 - .4byte gSpriteAffineAnim_8215910 - .4byte gSpriteAffineAnim_8215920 - - .align 2 -gUnknown_0821594C:: @ 821594C - obj_tiles gTradeBallTiles, 0x600, 5557 - - .align 2 -gUnknown_08215954:: @ 8215954 - obj_pal gTradeBallPalette, 5558 - - .align 2 -gSpriteTemplate_821595C:: @ 821595C - spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC - - .align 2 -gOamData_8215974:: @ 8215974 - .2byte 0x0500 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821597C:: @ 821597C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215984:: @ 8215984 - .4byte gSpriteAnim_821597C - - .align 2 -gSpriteAffineAnim_8215988:: @ 8215988 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 5 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_82159A0:: @ 82159A0 - .4byte gSpriteAffineAnim_8215988 - - .align 2 -gUnknown_082159A4:: @ 82159A4 - obj_tiles gTradeGlow1Tiles, 0x200, 5550 - - .align 2 -gUnknown_082159AC:: @ 82159AC - obj_pal gTradeGlowPalette, 5551 - - .align 2 -gUnknown_082159B4:: @ 82159B4 - obj_pal gTradeCableEndPalette, 5555 - - .align 2 -gSpriteTemplate_82159BC:: @ 82159BC - spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058 - - .align 2 -gOamData_82159D4:: @ 82159D4 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_82159DC:: @ 82159DC - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82159E4:: @ 82159E4 - obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82159EC:: @ 82159EC - .4byte gSpriteAnim_82159DC - .4byte gSpriteAnim_82159E4 - - .align 2 -gUnknown_082159F4:: @ 82159F4 - obj_tiles gTradeGlow2Tiles, 0x300, 5552 - - .align 2 -gSpriteTemplate_82159FC:: @ 82159FC - spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C - - .align 2 -gOamData_8215A14:: @ 8215A14 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8215A1C:: @ 8215A1C - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215A24:: @ 8215A24 - .4byte gSpriteAnim_8215A1C - - .align 2 -gUnknown_08215A28:: @ 8215A28 - obj_tiles gTradeCableEndTiles, 0x100, 5554 - - .align 2 -gSpriteTemplate_8215A30:: @ 8215A30 - spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC - - .align 2 -gOamData_8215A48:: @ 8215A48 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8215A50:: @ 8215A50 - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215A74:: @ 8215A74 - .4byte gSpriteAnim_8215A50 - - .align 2 -gUnknown_08215A78:: @ 8215A78 - obj_tiles gTradeGBAScreenTiles, 0x1000, 5556 - - .align 2 -gSpriteTemplate_8215A80:: @ 8215A80 - spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104 - - .align 1 -gTradeGlow2PaletteAnimTable:: @ 8215A98 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7FFF - - .align 2 -gSpriteAffineAnim_8215AB0:: @ 8215AB0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 - .4byte gSpriteAffineAnim_8215AB0 - -@ 8215AC4 - .include "data/ingame_trades.inc" - -gTradeBallVerticalVelocityTable:: @ 8215BA0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 3 - .byte 3 - .byte 4 - .byte 4 - .byte 4 - .byte 4 - .byte -4 - .byte -4 - .byte -4 - .byte -3 - .byte -3 - .byte -3 - .byte -3 - .byte -2 - .byte -2 - .byte -2 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 3 - .byte 3 - .byte 4 - .byte 4 - .byte 4 - .byte 4 - .byte -4 - .byte -3 - .byte -3 - .byte -2 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 4 - .byte -4 - .byte -3 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 2 - .byte 3 diff --git a/graphics/battle_anims/backgrounds/00.pal b/graphics/battle_anims/backgrounds/00.pal deleted file mode 100644 index a46b57c02..000000000 --- a/graphics/battle_anims/backgrounds/00.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 139 0 -230 57 156 -197 41 123 -164 32 98 -123 24 74 -82 16 49 -41 8 24 -0 0 0 -255 82 180 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/02.pal b/graphics/battle_anims/backgrounds/02.pal deleted file mode 100644 index c32ecc328..000000000 --- a/graphics/battle_anims/backgrounds/02.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -106 156 255 -123 139 222 -148 123 189 -164 106 156 -189 98 123 -205 82 90 -230 65 57 -255 57 32 diff --git a/graphics/battle_anims/backgrounds/03.pal b/graphics/battle_anims/backgrounds/03.pal deleted file mode 100644 index 0c87ad045..000000000 --- a/graphics/battle_anims/backgrounds/03.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 0 0 -164 0 0 -82 0 0 -0 0 0 -41 0 57 -82 0 115 -123 0 172 -148 0 131 -172 0 98 -197 0 65 -222 0 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/04.pal b/graphics/battle_anims/backgrounds/04.pal deleted file mode 100644 index 020e93b7a..000000000 --- a/graphics/battle_anims/backgrounds/04.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 164 115 -255 57 8 -255 90 8 -255 131 8 -255 172 8 -255 213 8 -255 255 8 -255 255 131 -255 255 255 -255 255 0 -65 0 0 -115 16 0 -172 32 0 -230 57 8 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/07.pal b/graphics/battle_anims/backgrounds/07.pal deleted file mode 100644 index d9c7f07f3..000000000 --- a/graphics/battle_anims/backgrounds/07.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -106 49 49 -222 0 0 -189 0 0 -156 0 0 -123 0 0 -98 0 0 -0 0 0 -255 255 255 -255 255 164 -255 255 82 -255 255 0 -255 164 0 -255 82 0 -255 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/09.pal b/graphics/battle_anims/backgrounds/09.pal deleted file mode 100644 index 4f3613621..000000000 --- a/graphics/battle_anims/backgrounds/09.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -106 106 255 -123 131 255 -139 156 255 -156 180 255 -172 205 255 -189 230 255 -205 255 255 -230 255 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/11.pal b/graphics/battle_anims/backgrounds/11.pal deleted file mode 100644 index 496e1b13c..000000000 --- a/graphics/battle_anims/backgrounds/11.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -131 82 115 -148 106 131 -172 131 148 -189 156 164 -213 189 189 -222 205 205 -230 222 222 -238 238 238 -255 255 255 -0 32 98 -82 106 148 -164 180 197 -246 0 0 -246 0 0 -246 0 0 diff --git a/graphics/battle_anims/backgrounds/12.pal b/graphics/battle_anims/backgrounds/12.pal deleted file mode 100644 index 5d4e8b23d..000000000 --- a/graphics/battle_anims/backgrounds/12.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 0 0 -115 90 82 -131 106 65 -148 131 57 -172 156 41 -189 180 32 -213 205 16 -230 230 8 -255 255 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/15.pal b/graphics/battle_anims/backgrounds/15.pal deleted file mode 100644 index 90f103423..000000000 --- a/graphics/battle_anims/backgrounds/15.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 238 246 -197 230 238 -164 213 238 -139 205 230 -115 189 222 -82 139 213 -57 98 213 -32 57 213 -0 0 0 -0 0 115 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/16.pal b/graphics/battle_anims/backgrounds/16.pal deleted file mode 100644 index 162b80179..000000000 --- a/graphics/battle_anims/backgrounds/16.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 8 65 -32 49 90 -65 98 115 -0 24 205 -255 255 82 -205 148 82 -255 172 115 -213 65 41 -180 255 197 -90 139 197 -255 90 197 -156 90 156 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/battle_anims/backgrounds/17.pal b/graphics/battle_anims/backgrounds/17.pal deleted file mode 100644 index e02a042a2..000000000 --- a/graphics/battle_anims/backgrounds/17.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -98 189 222 -106 164 222 -123 139 222 -131 115 222 -148 90 222 -255 255 222 -255 255 106 -255 205 98 -205 172 148 -213 172 0 -189 131 0 -172 90 0 -156 57 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/20.pal b/graphics/battle_anims/backgrounds/20.pal deleted file mode 100644 index 1f4e13d64..000000000 --- a/graphics/battle_anims/backgrounds/20.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -24 131 98 -41 139 106 -57 156 123 -82 172 139 -98 180 148 -115 197 164 -139 213 180 -172 230 197 -205 255 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/21.pal b/graphics/battle_anims/backgrounds/21.pal deleted file mode 100644 index 0f999d51b..000000000 --- a/graphics/battle_anims/backgrounds/21.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 222 197 -230 189 148 -213 156 98 -205 123 49 -172 90 32 -139 57 16 -115 24 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/attract.pal b/graphics/battle_anims/backgrounds/attract.pal deleted file mode 100644 index a3a183566..000000000 --- a/graphics/battle_anims/backgrounds/attract.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 172 205 -255 189 213 -255 205 222 -255 222 230 -148 8 0 -255 205 230 -255 180 213 -255 164 197 -255 148 189 -255 131 172 -246 106 139 -238 82 115 -238 57 90 -230 32 65 -230 8 41 diff --git a/graphics/battle_anims/backgrounds/scary_face.pal b/graphics/battle_anims/backgrounds/scary_face.pal deleted file mode 100644 index 580360ac0..000000000 --- a/graphics/battle_anims/backgrounds/scary_face.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -123 98 0 -189 172 0 -255 255 0 -255 189 0 -255 123 0 -255 57 0 -255 0 0 -230 8 16 -205 16 32 -180 24 49 -156 32 65 -131 41 82 -106 49 98 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/backgrounds/water.pal b/graphics/battle_anims/backgrounds/water.pal deleted file mode 100644 index ee7a7b6e2..000000000 --- a/graphics/battle_anims/backgrounds/water.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -98 90 255 -115 106 255 -139 131 255 -164 156 255 -180 180 255 -205 205 255 -230 230 255 -255 255 255 -98 90 255 -115 106 255 -197 197 255 -238 238 255 -255 255 255 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/masks/cure_bubbles.pal b/graphics/battle_anims/masks/cure_bubbles.pal deleted file mode 100644 index 2868f2479..000000000 --- a/graphics/battle_anims/masks/cure_bubbles.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -189 255 255 -123 255 255 -57 255 255 -57 205 238 -57 156 230 -57 106 213 -65 57 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/masks/metal_shine.pal b/graphics/battle_anims/masks/metal_shine.pal deleted file mode 100644 index 019a17c3f..000000000 --- a/graphics/battle_anims/masks/metal_shine.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -82 172 255 -255 255 255 -164 148 139 -98 131 41 -123 156 65 -148 180 90 -172 205 115 -197 230 139 -222 255 164 -82 172 0 -98 180 24 -123 197 49 -148 213 74 -172 222 98 -197 238 123 -222 255 148 diff --git a/graphics/battle_anims/masks/morning_sun.pal b/graphics/battle_anims/masks/morning_sun.pal deleted file mode 100644 index 08249a43c..000000000 --- a/graphics/battle_anims/masks/morning_sun.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 246 246 -189 238 238 -156 230 238 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/000.pal b/graphics/battle_anims/sprites/000.pal deleted file mode 100644 index 66804cc6c..000000000 --- a/graphics/battle_anims/sprites/000.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/002.pal b/graphics/battle_anims/sprites/002.pal deleted file mode 100644 index ed60c8e60..000000000 --- a/graphics/battle_anims/sprites/002.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 255 205 -189 255 156 -156 255 106 -123 205 74 -98 164 49 -65 115 24 -41 74 0 -57 0 0 -255 222 131 -222 189 98 -189 156 65 -156 131 41 -197 49 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/003.pal b/graphics/battle_anims/sprites/003.pal deleted file mode 100644 index 5626f453a..000000000 --- a/graphics/battle_anims/sprites/003.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -255 255 139 -255 172 24 -255 197 41 diff --git a/graphics/battle_anims/sprites/004.pal b/graphics/battle_anims/sprites/004.pal deleted file mode 100644 index e4706557b..000000000 --- a/graphics/battle_anims/sprites/004.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -197 197 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/005.pal b/graphics/battle_anims/sprites/005.pal deleted file mode 100644 index b30683d9d..000000000 --- a/graphics/battle_anims/sprites/005.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 139 0 -255 156 8 -255 172 24 -106 180 255 -255 213 57 -16 238 255 -255 255 90 -255 255 255 -255 74 106 -255 115 148 -255 164 197 -255 205 238 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/006.pal b/graphics/battle_anims/sprites/006.pal deleted file mode 100644 index e2fb87aec..000000000 --- a/graphics/battle_anims/sprites/006.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -74 106 16 -98 131 41 -123 156 65 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -98 180 24 -123 197 49 -148 213 74 -172 222 98 -197 238 123 -222 255 148 diff --git a/graphics/battle_anims/sprites/007.pal b/graphics/battle_anims/sprites/007.pal deleted file mode 100644 index bb46ffa84..000000000 --- a/graphics/battle_anims/sprites/007.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -41 24 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/008.pal b/graphics/battle_anims/sprites/008.pal deleted file mode 100644 index 1df277936..000000000 --- a/graphics/battle_anims/sprites/008.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 222 255 -164 0 255 -189 49 255 -189 0 189 -189 0 148 -255 0 255 -255 148 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/battle_anims/sprites/009.pal b/graphics/battle_anims/sprites/009.pal deleted file mode 100644 index 37714d9c2..000000000 --- a/graphics/battle_anims/sprites/009.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -123 123 123 -139 139 139 -156 156 156 -172 172 172 -197 197 197 -213 213 213 -230 230 230 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/011.pal b/graphics/battle_anims/sprites/011.pal deleted file mode 100644 index 81af310e1..000000000 --- a/graphics/battle_anims/sprites/011.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 139 0 -255 156 8 -255 172 24 -255 197 41 -255 213 57 -255 230 74 -255 255 90 -255 255 255 -255 74 106 -255 115 148 -255 164 197 -255 205 238 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/012.pal b/graphics/battle_anims/sprites/012.pal deleted file mode 100644 index 493a33207..000000000 --- a/graphics/battle_anims/sprites/012.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 0 0 -255 106 49 -197 0 0 -222 41 90 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/013.pal b/graphics/battle_anims/sprites/013.pal deleted file mode 100644 index e2010bd43..000000000 --- a/graphics/battle_anims/sprites/013.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -0 0 0 -255 172 0 -255 255 139 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/014.pal b/graphics/battle_anims/sprites/014.pal deleted file mode 100644 index e9f5664c4..000000000 --- a/graphics/battle_anims/sprites/014.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 238 0 -0 156 0 -0 74 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 0 0 -164 0 0 -82 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/015.pal b/graphics/battle_anims/sprites/015.pal deleted file mode 100644 index 5626f453a..000000000 --- a/graphics/battle_anims/sprites/015.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -255 255 139 -255 172 24 -255 197 41 diff --git a/graphics/battle_anims/sprites/016.pal b/graphics/battle_anims/sprites/016.pal deleted file mode 100644 index eb2648d43..000000000 --- a/graphics/battle_anims/sprites/016.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 255 255 -0 0 0 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/018.pal b/graphics/battle_anims/sprites/018.pal deleted file mode 100644 index c1010186d..000000000 --- a/graphics/battle_anims/sprites/018.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 222 230 -189 189 205 -156 156 189 -123 123 164 -98 98 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 diff --git a/graphics/battle_anims/sprites/019.pal b/graphics/battle_anims/sprites/019.pal deleted file mode 100644 index 7c63560ca..000000000 --- a/graphics/battle_anims/sprites/019.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -0 255 255 -197 255 255 -49 8 106 -197 255 205 -246 255 205 -0 49 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 diff --git a/graphics/battle_anims/sprites/020.pal b/graphics/battle_anims/sprites/020.pal deleted file mode 100644 index ab74d4109..000000000 --- a/graphics/battle_anims/sprites/020.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 0 0 -255 98 0 -255 156 0 -255 197 0 -255 213 98 -255 238 197 -0 0 0 -0 0 0 -98 139 98 -0 0 0 -0 0 0 -131 131 131 -164 164 164 -213 205 205 -255 255 255 diff --git a/graphics/battle_anims/sprites/021.pal b/graphics/battle_anims/sprites/021.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/021.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/023.pal b/graphics/battle_anims/sprites/023.pal deleted file mode 100644 index 8e6e6e902..000000000 --- a/graphics/battle_anims/sprites/023.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 230 255 -115 230 255 -213 230 255 -0 0 0 -255 255 172 -255 255 115 -0 0 0 -98 139 98 -0 0 0 -0 0 0 -131 131 131 -164 164 164 -213 205 205 -255 255 255 diff --git a/graphics/battle_anims/sprites/024.pal b/graphics/battle_anims/sprites/024.pal deleted file mode 100644 index f6de49201..000000000 --- a/graphics/battle_anims/sprites/024.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 205 255 -255 255 255 -0 0 0 -148 156 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/025.pal b/graphics/battle_anims/sprites/025.pal deleted file mode 100644 index 51e06ad33..000000000 --- a/graphics/battle_anims/sprites/025.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 230 255 -115 230 255 -213 230 255 -0 0 0 -255 255 172 -255 255 115 -0 0 0 -98 139 98 -0 0 0 -0 0 0 -156 156 156 -197 197 197 -230 230 230 -255 255 255 diff --git a/graphics/battle_anims/sprites/026.pal b/graphics/battle_anims/sprites/026.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/026.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/027.pal b/graphics/battle_anims/sprites/027.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/027.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/028.pal b/graphics/battle_anims/sprites/028.pal deleted file mode 100644 index bfa9b1ae7..000000000 --- a/graphics/battle_anims/sprites/028.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -189 230 255 -131 205 255 -65 180 255 -8 156 255 -8 115 222 -8 82 197 -8 41 172 -8 8 148 -255 49 8 -255 0 0 -156 0 0 -156 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/029.pal b/graphics/battle_anims/sprites/029.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/029.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/030.pal b/graphics/battle_anims/sprites/030.pal deleted file mode 100644 index b3c3dd6c6..000000000 --- a/graphics/battle_anims/sprites/030.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 230 222 -213 205 189 -189 189 156 -172 164 123 -156 148 90 -123 123 65 -98 98 49 -74 74 32 -49 49 16 -24 24 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/031.pal b/graphics/battle_anims/sprites/031.pal deleted file mode 100644 index ebfeb116a..000000000 --- a/graphics/battle_anims/sprites/031.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 246 255 -197 238 255 -164 230 255 -139 230 255 -106 180 222 -74 131 189 -41 82 156 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/032.pal b/graphics/battle_anims/sprites/032.pal deleted file mode 100644 index fb028145c..000000000 --- a/graphics/battle_anims/sprites/032.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -106 213 255 -0 0 0 -255 255 255 diff --git a/graphics/battle_anims/sprites/033.pal b/graphics/battle_anims/sprites/033.pal deleted file mode 100644 index 0ee440185..000000000 --- a/graphics/battle_anims/sprites/033.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 213 57 -255 180 41 -255 148 24 -255 74 8 -255 0 0 -164 0 0 -74 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/036.pal b/graphics/battle_anims/sprites/036.pal deleted file mode 100644 index 1321b152b..000000000 --- a/graphics/battle_anims/sprites/036.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 197 255 -205 148 255 -189 98 255 -123 65 205 -57 32 156 -0 0 106 -238 255 172 -222 255 90 -205 255 8 -0 0 106 -156 0 0 -230 255 0 -230 156 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/038.pal b/graphics/battle_anims/sprites/038.pal deleted file mode 100644 index 97f71b709..000000000 --- a/graphics/battle_anims/sprites/038.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 246 123 -255 238 0 -255 139 0 -255 41 0 -156 0 0 -57 0 0 -255 255 255 -131 255 172 -8 255 90 -8 164 90 -8 74 90 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/039.pal b/graphics/battle_anims/sprites/039.pal deleted file mode 100644 index 63d40ae47..000000000 --- a/graphics/battle_anims/sprites/039.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 246 123 -255 238 0 -255 139 0 -255 41 0 -156 0 0 -57 0 0 -255 255 255 -189 197 205 -123 148 164 -57 98 123 -0 49 82 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/042.pal b/graphics/battle_anims/sprites/042.pal deleted file mode 100644 index 45180662f..000000000 --- a/graphics/battle_anims/sprites/042.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 148 246 -255 82 82 -255 139 82 -255 189 82 -255 255 82 -189 255 82 -139 255 82 -82 255 82 -82 222 139 -82 205 189 -115 148 255 -148 115 255 -180 82 255 -255 255 255 -49 98 230 -148 172 238 diff --git a/graphics/battle_anims/sprites/043.pal b/graphics/battle_anims/sprites/043.pal deleted file mode 100644 index 35cbf0096..000000000 --- a/graphics/battle_anims/sprites/043.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/044.pal b/graphics/battle_anims/sprites/044.pal deleted file mode 100644 index 35cbf0096..000000000 --- a/graphics/battle_anims/sprites/044.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/045.pal b/graphics/battle_anims/sprites/045.pal deleted file mode 100644 index 6923a9b25..000000000 --- a/graphics/battle_anims/sprites/045.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 213 222 -255 172 189 -255 131 156 -205 98 131 -156 65 106 -106 32 82 -57 0 57 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/046.pal b/graphics/battle_anims/sprites/046.pal deleted file mode 100644 index 80a58a1b5..000000000 --- a/graphics/battle_anims/sprites/046.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 197 -255 255 255 -255 255 205 -255 230 148 -255 213 90 -255 197 32 -255 164 24 -255 131 16 -222 82 8 -189 41 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/048.pal b/graphics/battle_anims/sprites/048.pal deleted file mode 100644 index 67eecf69b..000000000 --- a/graphics/battle_anims/sprites/048.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -172 255 205 -90 255 156 -8 255 106 -8 205 98 -8 156 98 -8 106 98 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/050.pal b/graphics/battle_anims/sprites/050.pal deleted file mode 100644 index c20894da9..000000000 --- a/graphics/battle_anims/sprites/050.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -255 255 255 -255 230 180 -255 213 106 -255 197 32 -255 123 16 -255 49 8 -205 164 106 -156 123 16 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/054.pal b/graphics/battle_anims/sprites/054.pal deleted file mode 100644 index f3c299ce3..000000000 --- a/graphics/battle_anims/sprites/054.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 0 -0 255 255 -197 255 255 -255 255 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 diff --git a/graphics/battle_anims/sprites/056.pal b/graphics/battle_anims/sprites/056.pal deleted file mode 100644 index 5dc1faf3b..000000000 --- a/graphics/battle_anims/sprites/056.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 197 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/057.pal b/graphics/battle_anims/sprites/057.pal deleted file mode 100644 index 36b47b3df..000000000 --- a/graphics/battle_anims/sprites/057.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 205 255 -255 255 246 -156 255 222 -65 255 197 -49 205 164 -41 164 131 -32 123 98 -16 82 65 -8 41 32 -148 82 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -180 180 180 -255 255 255 diff --git a/graphics/battle_anims/sprites/058.pal b/graphics/battle_anims/sprites/058.pal deleted file mode 100644 index 8bd0f0a08..000000000 --- a/graphics/battle_anims/sprites/058.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 255 255 -255 255 180 -238 222 148 -230 197 115 -213 172 82 -205 148 57 -172 115 41 -148 82 24 -123 49 8 -74 24 8 -32 0 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/059.pal b/graphics/battle_anims/sprites/059.pal deleted file mode 100644 index a85e5028d..000000000 --- a/graphics/battle_anims/sprites/059.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -197 246 238 -139 238 222 -90 172 222 -41 106 222 -0 49 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/060.pal b/graphics/battle_anims/sprites/060.pal deleted file mode 100644 index 80bbc3a61..000000000 --- a/graphics/battle_anims/sprites/060.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 238 123 -255 222 0 -255 156 0 -255 98 0 -156 74 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/061.pal b/graphics/battle_anims/sprites/061.pal deleted file mode 100644 index d457b6c8a..000000000 --- a/graphics/battle_anims/sprites/061.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 197 246 -255 255 255 -213 222 230 -180 189 205 -148 156 180 -115 123 156 -82 90 131 -49 57 106 -8 8 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/062.pal b/graphics/battle_anims/sprites/062.pal deleted file mode 100644 index f8c6a17e4..000000000 --- a/graphics/battle_anims/sprites/062.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 197 246 -255 255 255 -205 255 230 -156 255 205 -106 255 180 -57 255 156 -41 197 139 -32 148 123 -24 98 115 -16 49 98 -8 0 90 -8 0 57 -8 0 24 -8 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/063.pal b/graphics/battle_anims/sprites/063.pal deleted file mode 100644 index 229f146fc..000000000 --- a/graphics/battle_anims/sprites/063.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -222 255 164 -197 230 139 -172 205 115 -148 180 90 -123 156 65 -98 131 41 -74 106 16 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/064.pal b/graphics/battle_anims/sprites/064.pal deleted file mode 100644 index 78f6d2a96..000000000 --- a/graphics/battle_anims/sprites/064.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 230 230 -255 213 205 -255 189 180 -255 172 156 -222 148 131 -189 131 115 -164 106 90 -131 90 74 -106 74 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/065.pal b/graphics/battle_anims/sprites/065.pal deleted file mode 100644 index ad467dabf..000000000 --- a/graphics/battle_anims/sprites/065.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 197 246 -255 255 255 -255 213 255 -255 172 255 -255 131 255 -255 90 255 -255 57 255 -213 65 230 -172 82 205 -139 98 189 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/066.pal b/graphics/battle_anims/sprites/066.pal deleted file mode 100644 index a70579ce1..000000000 --- a/graphics/battle_anims/sprites/066.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 205 255 -172 255 156 -172 213 139 -172 180 123 -180 148 106 -180 115 90 -189 82 82 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/070.pal b/graphics/battle_anims/sprites/070.pal deleted file mode 100644 index 1a20338e3..000000000 --- a/graphics/battle_anims/sprites/070.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/072.pal b/graphics/battle_anims/sprites/072.pal deleted file mode 100644 index 56981c262..000000000 --- a/graphics/battle_anims/sprites/072.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 246 -255 255 255 -222 205 205 -222 180 189 -255 106 180 -255 57 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 diff --git a/graphics/battle_anims/sprites/073.pal b/graphics/battle_anims/sprites/073.pal deleted file mode 100644 index b5852193d..000000000 --- a/graphics/battle_anims/sprites/073.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 238 164 -255 230 82 -255 222 0 -255 180 0 -255 148 0 -255 106 0 -255 74 0 -156 74 0 -74 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/075.pal b/graphics/battle_anims/sprites/075.pal deleted file mode 100644 index c2d659b4b..000000000 --- a/graphics/battle_anims/sprites/075.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 197 222 -255 197 222 -255 148 164 -255 98 106 -255 49 49 -255 0 0 -255 49 24 -255 98 49 -255 156 74 -255 197 131 -255 238 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/076.pal b/graphics/battle_anims/sprites/076.pal deleted file mode 100644 index 1282dda5e..000000000 --- a/graphics/battle_anims/sprites/076.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 205 255 -255 255 255 -172 238 255 -90 222 255 -8 205 255 -8 139 255 -8 74 255 -8 8 255 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/078.pal b/graphics/battle_anims/sprites/078.pal deleted file mode 100644 index 5d2000b00..000000000 --- a/graphics/battle_anims/sprites/078.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 148 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -57 49 255 -180 255 255 -106 255 255 -57 238 180 -8 230 106 -8 115 90 -8 8 74 -0 0 0 diff --git a/graphics/battle_anims/sprites/080.pal b/graphics/battle_anims/sprites/080.pal deleted file mode 100644 index 48b548404..000000000 --- a/graphics/battle_anims/sprites/080.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 148 -255 255 255 -255 255 164 -255 255 82 -255 255 0 -255 205 0 -255 156 0 -255 106 0 -255 57 0 -205 32 0 -156 16 0 -115 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/081.pal b/graphics/battle_anims/sprites/081.pal deleted file mode 100644 index 7021bc4c5..000000000 --- a/graphics/battle_anims/sprites/081.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 197 246 -255 255 255 -255 230 230 -255 213 213 -255 189 197 -255 172 180 -255 148 164 -255 131 148 -213 106 123 -180 82 98 -139 57 74 -106 32 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/082.pal b/graphics/battle_anims/sprites/082.pal deleted file mode 100644 index ac0ff05fc..000000000 --- a/graphics/battle_anims/sprites/082.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 255 -0 246 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/083.pal b/graphics/battle_anims/sprites/083.pal deleted file mode 100644 index 83289a5c0..000000000 --- a/graphics/battle_anims/sprites/083.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -49 246 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/084.pal b/graphics/battle_anims/sprites/084.pal deleted file mode 100644 index 618788a15..000000000 --- a/graphics/battle_anims/sprites/084.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 197 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/085.pal b/graphics/battle_anims/sprites/085.pal deleted file mode 100644 index 207a5dc06..000000000 --- a/graphics/battle_anims/sprites/085.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 49 16 -0 98 32 -0 148 49 -0 197 65 -0 255 82 -255 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/086.pal b/graphics/battle_anims/sprites/086.pal deleted file mode 100644 index d8b179037..000000000 --- a/graphics/battle_anims/sprites/086.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 246 -255 255 255 -255 238 189 -255 222 123 -255 205 57 -238 156 41 -230 106 24 -222 57 8 -148 24 8 -74 0 8 -255 148 189 -222 98 131 -189 49 74 -156 0 24 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/087.pal b/graphics/battle_anims/sprites/087.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/087.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/088.pal b/graphics/battle_anims/sprites/088.pal deleted file mode 100644 index aa294ce5c..000000000 --- a/graphics/battle_anims/sprites/088.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -213 213 222 -172 172 189 -131 131 164 -90 90 131 -57 57 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/089.pal b/graphics/battle_anims/sprites/089.pal deleted file mode 100644 index adb0f11a1..000000000 --- a/graphics/battle_anims/sprites/089.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -255 255 255 -255 255 164 -255 255 82 -189 255 82 -123 255 82 -0 255 0 -0 205 16 -0 156 32 -0 106 49 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/090.pal b/graphics/battle_anims/sprites/090.pal deleted file mode 100644 index a7551117c..000000000 --- a/graphics/battle_anims/sprites/090.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 255 246 -255 255 255 -255 255 189 -255 255 123 -255 255 57 -230 156 32 -205 57 8 -180 123 255 -131 90 205 -82 57 156 -32 24 106 -255 24 8 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/091.pal b/graphics/battle_anims/sprites/091.pal deleted file mode 100644 index 7021bc4c5..000000000 --- a/graphics/battle_anims/sprites/091.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 197 246 -255 255 255 -255 230 230 -255 213 213 -255 189 197 -255 172 180 -255 148 164 -255 131 148 -213 106 123 -180 82 98 -139 57 74 -106 32 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/092.pal b/graphics/battle_anims/sprites/092.pal deleted file mode 100644 index 886d5bc2e..000000000 --- a/graphics/battle_anims/sprites/092.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 255 -255 172 205 -255 90 156 -255 8 115 -213 0 82 -180 0 57 -139 0 24 -106 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/093.pal b/graphics/battle_anims/sprites/093.pal deleted file mode 100644 index 2ddd5a79a..000000000 --- a/graphics/battle_anims/sprites/093.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 197 197 -255 255 255 -255 255 222 -255 255 189 -255 255 156 -255 230 115 -255 205 74 -255 180 32 -255 156 0 -213 115 0 -172 74 8 -98 0 24 -57 0 0 -197 255 238 -164 197 222 -131 139 213 diff --git a/graphics/battle_anims/sprites/094.pal b/graphics/battle_anims/sprites/094.pal deleted file mode 100644 index 1ed4c7d40..000000000 --- a/graphics/battle_anims/sprites/094.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 255 -255 255 255 -230 230 222 -205 205 189 -180 189 164 -164 164 131 -139 148 106 -115 123 74 -98 106 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/095.pal b/graphics/battle_anims/sprites/095.pal deleted file mode 100644 index cd66b6577..000000000 --- a/graphics/battle_anims/sprites/095.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -255 255 255 -148 230 156 -49 205 57 -32 164 41 -24 131 24 -8 90 8 -0 57 0 -0 0 0 -255 205 0 -222 139 0 -189 74 0 -156 8 0 -255 246 148 -222 197 115 -189 148 82 diff --git a/graphics/battle_anims/sprites/096.pal b/graphics/battle_anims/sprites/096.pal deleted file mode 100644 index 5dab7d9aa..000000000 --- a/graphics/battle_anims/sprites/096.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 238 -255 255 255 -255 205 213 -255 156 180 -255 106 139 -255 57 106 -238 41 65 -222 24 32 -205 8 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/097.pal b/graphics/battle_anims/sprites/097.pal deleted file mode 100644 index 0f3c4da53..000000000 --- a/graphics/battle_anims/sprites/097.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -255 255 255 -222 222 222 -197 197 197 -172 172 172 -148 148 148 -123 123 123 -98 98 98 -74 74 74 -49 49 49 -24 24 24 -0 0 0 -8 16 24 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/099.pal b/graphics/battle_anims/sprites/099.pal deleted file mode 100644 index 765eca3e7..000000000 --- a/graphics/battle_anims/sprites/099.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 238 230 -197 222 205 -164 205 180 -139 197 156 -98 156 131 -65 115 106 -32 74 82 -0 32 57 -255 255 222 -255 255 189 -255 255 156 -98 98 98 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/100.pal b/graphics/battle_anims/sprites/100.pal deleted file mode 100644 index d556e120c..000000000 --- a/graphics/battle_anims/sprites/100.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 148 148 -255 255 255 -255 255 139 -255 255 24 -246 205 24 -238 164 24 -230 123 24 -222 82 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/101.pal b/graphics/battle_anims/sprites/101.pal deleted file mode 100644 index 4dd4d0404..000000000 --- a/graphics/battle_anims/sprites/101.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 246 -255 255 255 -205 255 230 -156 255 205 -106 255 180 -57 255 156 -41 213 123 -32 172 90 -16 131 57 -8 90 24 -0 57 0 -205 106 0 -0 57 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/103.pal b/graphics/battle_anims/sprites/103.pal deleted file mode 100644 index fab0c9ffa..000000000 --- a/graphics/battle_anims/sprites/103.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 246 -255 255 255 -255 238 230 -255 230 205 -255 222 180 -255 213 156 -255 205 131 -222 164 98 -189 123 74 -164 82 49 -131 41 24 -106 8 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/104.pal b/graphics/battle_anims/sprites/104.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/104.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/105.pal b/graphics/battle_anims/sprites/105.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/105.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/107.pal b/graphics/battle_anims/sprites/107.pal deleted file mode 100644 index 35cbf0096..000000000 --- a/graphics/battle_anims/sprites/107.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/109.pal b/graphics/battle_anims/sprites/109.pal deleted file mode 100644 index 6a069ced2..000000000 --- a/graphics/battle_anims/sprites/109.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 255 -255 255 0 -205 255 0 -156 255 0 -106 255 0 -57 255 0 -8 255 0 -0 213 0 -0 180 0 -0 139 0 -0 106 0 -0 65 0 -0 32 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/111.pal b/graphics/battle_anims/sprites/111.pal deleted file mode 100644 index a088af0b5..000000000 --- a/graphics/battle_anims/sprites/111.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 255 255 -255 255 255 -238 197 189 -230 148 131 -213 98 65 -205 49 8 -172 32 8 -148 24 8 -123 16 8 -98 8 8 -74 0 8 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/112.pal b/graphics/battle_anims/sprites/112.pal deleted file mode 100644 index 1321b152b..000000000 --- a/graphics/battle_anims/sprites/112.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 197 255 -205 148 255 -189 98 255 -123 65 205 -57 32 156 -0 0 106 -238 255 172 -222 255 90 -205 255 8 -0 0 106 -156 0 0 -230 255 0 -230 156 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/113.pal b/graphics/battle_anims/sprites/113.pal deleted file mode 100644 index 35cbf0096..000000000 --- a/graphics/battle_anims/sprites/113.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/114.pal b/graphics/battle_anims/sprites/114.pal deleted file mode 100644 index fc9db2bca..000000000 --- a/graphics/battle_anims/sprites/114.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 246 -255 255 255 -238 213 205 -222 180 164 -213 148 123 -197 115 82 -189 82 41 -148 65 41 -106 49 41 -74 32 41 -32 16 41 -0 0 41 -0 0 0 -255 0 8 -180 0 8 -0 0 0 diff --git a/graphics/battle_anims/sprites/115.pal b/graphics/battle_anims/sprites/115.pal deleted file mode 100644 index c5f241feb..000000000 --- a/graphics/battle_anims/sprites/115.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -98 90 255 -115 106 255 -139 131 255 -164 156 255 -180 180 255 -205 205 255 -230 230 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -180 180 255 -205 205 255 -230 230 255 diff --git a/graphics/battle_anims/sprites/116.pal b/graphics/battle_anims/sprites/116.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/116.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/117.pal b/graphics/battle_anims/sprites/117.pal deleted file mode 100644 index 949fe139e..000000000 --- a/graphics/battle_anims/sprites/117.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -148 246 148 -98 222 74 -57 205 0 -57 164 0 -57 131 0 -57 90 0 -57 57 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/118.pal b/graphics/battle_anims/sprites/118.pal deleted file mode 100644 index f175442ec..000000000 --- a/graphics/battle_anims/sprites/118.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 230 213 -213 205 172 -189 180 131 -172 156 90 -156 131 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/119.pal b/graphics/battle_anims/sprites/119.pal deleted file mode 100644 index c342e8b9c..000000000 --- a/graphics/battle_anims/sprites/119.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 222 213 -230 197 172 -222 164 131 -213 139 90 -205 115 57 -0 0 0 -0 0 0 -197 246 246 -164 205 222 -131 164 197 -106 123 180 -74 82 156 -49 49 139 -0 0 0 diff --git a/graphics/battle_anims/sprites/120.pal b/graphics/battle_anims/sprites/120.pal deleted file mode 100644 index aeaa9fe5e..000000000 --- a/graphics/battle_anims/sprites/120.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 230 238 -205 205 222 -180 180 205 -156 156 189 -131 131 172 -106 106 156 -8 57 106 -148 49 0 -197 57 98 -246 164 98 -246 172 148 -246 180 197 -246 197 246 -0 0 0 diff --git a/graphics/battle_anims/sprites/121.pal b/graphics/battle_anims/sprites/121.pal deleted file mode 100644 index 00c818974..000000000 --- a/graphics/battle_anims/sprites/121.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 98 -213 255 98 -172 255 98 -131 255 98 -98 255 98 -41 197 246 -90 148 246 -139 98 246 -189 49 246 -238 0 246 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/122.pal b/graphics/battle_anims/sprites/122.pal deleted file mode 100644 index c2a7f896a..000000000 --- a/graphics/battle_anims/sprites/122.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 246 246 -213 197 230 -180 148 213 -148 98 197 -115 65 164 -82 32 131 -49 0 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/124.pal b/graphics/battle_anims/sprites/124.pal deleted file mode 100644 index 5d2000b00..000000000 --- a/graphics/battle_anims/sprites/124.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 148 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -57 49 255 -180 255 255 -106 255 255 -57 238 180 -8 230 106 -8 115 90 -8 8 74 -0 0 0 diff --git a/graphics/battle_anims/sprites/125.pal b/graphics/battle_anims/sprites/125.pal deleted file mode 100644 index 11b96c6f9..000000000 --- a/graphics/battle_anims/sprites/125.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -255 255 255 -230 189 189 -205 131 131 -180 65 65 -164 8 8 -123 8 8 -82 8 8 -41 8 8 -0 8 8 -0 0 0 -0 0 0 -164 172 172 -82 90 90 -0 8 8 -0 0 0 diff --git a/graphics/battle_anims/sprites/126.pal b/graphics/battle_anims/sprites/126.pal deleted file mode 100644 index fee220c67..000000000 --- a/graphics/battle_anims/sprites/126.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 255 246 -255 255 255 -213 213 213 -180 180 180 -139 139 139 -106 106 106 -65 65 65 -32 32 32 -0 0 0 -255 106 255 -255 106 255 -255 106 255 -255 106 255 -255 106 255 -255 106 255 -255 106 255 diff --git a/graphics/battle_anims/sprites/127.pal b/graphics/battle_anims/sprites/127.pal deleted file mode 100644 index 8b6e458a1..000000000 --- a/graphics/battle_anims/sprites/127.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 238 197 -255 255 255 -230 238 222 -205 222 189 -189 205 164 -164 189 131 -148 172 106 -123 139 90 -106 106 82 -82 82 74 -65 49 65 -49 24 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/128.pal b/graphics/battle_anims/sprites/128.pal deleted file mode 100644 index 5c106a4fa..000000000 --- a/graphics/battle_anims/sprites/128.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -213 222 230 -180 197 205 -148 164 189 -106 139 164 -74 106 148 -41 82 123 -8 57 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/130.pal b/graphics/battle_anims/sprites/130.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/130.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/132.pal b/graphics/battle_anims/sprites/132.pal deleted file mode 100644 index e64c6269f..000000000 --- a/graphics/battle_anims/sprites/132.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 164 164 -255 82 82 -255 0 0 -213 0 0 -172 0 0 -131 0 0 -90 0 0 -57 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/133.pal b/graphics/battle_anims/sprites/133.pal deleted file mode 100644 index 6b8e06e11..000000000 --- a/graphics/battle_anims/sprites/133.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 255 -238 238 230 -222 222 205 -205 205 189 -197 197 164 -180 180 148 -164 164 123 -156 156 106 -131 131 82 -106 106 57 -82 82 32 -57 57 8 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/135.pal b/graphics/battle_anims/sprites/135.pal deleted file mode 100644 index 19ef98f9c..000000000 --- a/graphics/battle_anims/sprites/135.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 41 255 -0 0 0 -205 156 32 -230 205 98 -255 255 172 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/136.pal b/graphics/battle_anims/sprites/136.pal deleted file mode 100644 index 96939e342..000000000 --- a/graphics/battle_anims/sprites/136.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 41 255 -255 255 255 -255 172 0 -255 255 82 -255 255 0 -255 255 164 -139 131 255 -164 156 255 -180 180 255 -205 205 255 -230 230 255 -255 49 82 -139 255 164 -74 156 123 -172 255 139 -82 238 131 diff --git a/graphics/battle_anims/sprites/139.pal b/graphics/battle_anims/sprites/139.pal deleted file mode 100644 index bb46ffa84..000000000 --- a/graphics/battle_anims/sprites/139.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -41 24 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/140.pal b/graphics/battle_anims/sprites/140.pal deleted file mode 100644 index 6ebb6dba3..000000000 --- a/graphics/battle_anims/sprites/140.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -230 123 123 -230 180 123 -230 230 123 -180 230 123 -123 230 123 -123 230 230 -123 123 230 -230 123 230 -230 230 230 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/143.pal b/graphics/battle_anims/sprites/143.pal deleted file mode 100644 index bd810fa7d..000000000 --- a/graphics/battle_anims/sprites/143.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -57 0 41 -0 0 0 -82 82 82 -164 164 164 -205 205 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/144.pal b/graphics/battle_anims/sprites/144.pal deleted file mode 100644 index c5f241feb..000000000 --- a/graphics/battle_anims/sprites/144.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -98 90 255 -115 106 255 -139 131 255 -164 156 255 -180 180 255 -205 205 255 -230 230 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -180 180 255 -205 205 255 -230 230 255 diff --git a/graphics/battle_anims/sprites/147.pal b/graphics/battle_anims/sprites/147.pal deleted file mode 100644 index 1f7d9c128..000000000 --- a/graphics/battle_anims/sprites/147.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 139 0 -255 156 8 -255 172 24 -255 197 41 -255 213 57 -255 230 74 -255 255 90 -255 255 255 -255 74 106 -255 115 148 -255 164 197 -255 205 238 -82 172 0 -172 222 98 -0 0 0 diff --git a/graphics/battle_anims/sprites/148.pal b/graphics/battle_anims/sprites/148.pal deleted file mode 100644 index c5f241feb..000000000 --- a/graphics/battle_anims/sprites/148.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -98 90 255 -115 106 255 -139 131 255 -164 156 255 -180 180 255 -205 205 255 -230 230 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -180 180 255 -205 205 255 -230 230 255 diff --git a/graphics/battle_anims/sprites/150.pal b/graphics/battle_anims/sprites/150.pal deleted file mode 100644 index 26bc9d8a7..000000000 --- a/graphics/battle_anims/sprites/150.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -65 0 65 -139 0 139 -213 0 213 -255 0 255 -222 82 222 -238 164 238 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/152.pal b/graphics/battle_anims/sprites/152.pal deleted file mode 100644 index 66804cc6c..000000000 --- a/graphics/battle_anims/sprites/152.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/153.pal b/graphics/battle_anims/sprites/153.pal deleted file mode 100644 index b65fd9621..000000000 --- a/graphics/battle_anims/sprites/153.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -255 172 0 -255 255 139 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/154.pal b/graphics/battle_anims/sprites/154.pal deleted file mode 100644 index 37714d9c2..000000000 --- a/graphics/battle_anims/sprites/154.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -123 123 123 -139 139 139 -156 156 156 -172 172 172 -197 197 197 -213 213 213 -230 230 230 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/155.pal b/graphics/battle_anims/sprites/155.pal deleted file mode 100644 index c5f241feb..000000000 --- a/graphics/battle_anims/sprites/155.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -98 90 255 -115 106 255 -139 131 255 -164 156 255 -180 180 255 -205 205 255 -230 230 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -180 180 255 -205 205 255 -230 230 255 diff --git a/graphics/battle_anims/sprites/156.pal b/graphics/battle_anims/sprites/156.pal deleted file mode 100644 index 372a787d8..000000000 --- a/graphics/battle_anims/sprites/156.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -65 0 65 -139 0 139 -213 0 213 -255 0 255 -222 82 222 -238 164 238 -24 16 82 -24 16 98 -24 24 115 -24 32 139 -24 32 156 -24 41 172 -32 49 197 -0 0 0 diff --git a/graphics/battle_anims/sprites/157.pal b/graphics/battle_anims/sprites/157.pal deleted file mode 100644 index b65fd9621..000000000 --- a/graphics/battle_anims/sprites/157.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -255 172 0 -255 255 139 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/158.pal b/graphics/battle_anims/sprites/158.pal deleted file mode 100644 index 66804cc6c..000000000 --- a/graphics/battle_anims/sprites/158.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/160.pal b/graphics/battle_anims/sprites/160.pal deleted file mode 100644 index 1ed6f0c44..000000000 --- a/graphics/battle_anims/sprites/160.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -74 106 16 -98 131 41 -123 156 65 -148 180 90 -172 205 115 -197 230 139 -222 255 164 -82 172 0 -98 180 24 -123 197 49 -148 213 74 -172 222 98 -197 238 123 -222 255 148 diff --git a/graphics/battle_anims/sprites/161.pal b/graphics/battle_anims/sprites/161.pal deleted file mode 100644 index 50fe16275..000000000 --- a/graphics/battle_anims/sprites/161.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/162.pal b/graphics/battle_anims/sprites/162.pal deleted file mode 100644 index bb46ffa84..000000000 --- a/graphics/battle_anims/sprites/162.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -41 24 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/163.pal b/graphics/battle_anims/sprites/163.pal deleted file mode 100644 index b65fd9621..000000000 --- a/graphics/battle_anims/sprites/163.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -255 172 0 -255 255 139 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/166.pal b/graphics/battle_anims/sprites/166.pal deleted file mode 100644 index f7c23eb77..000000000 --- a/graphics/battle_anims/sprites/166.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -82 172 0 -106 180 32 -131 189 65 -156 205 106 -180 213 139 -205 230 180 -230 238 213 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -156 205 106 -180 213 139 -205 230 180 diff --git a/graphics/battle_anims/sprites/171.pal b/graphics/battle_anims/sprites/171.pal deleted file mode 100644 index 5626f453a..000000000 --- a/graphics/battle_anims/sprites/171.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -255 255 139 -255 172 24 -255 197 41 diff --git a/graphics/battle_anims/sprites/174.pal b/graphics/battle_anims/sprites/174.pal deleted file mode 100644 index 81af310e1..000000000 --- a/graphics/battle_anims/sprites/174.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 139 0 -255 156 8 -255 172 24 -255 197 41 -255 213 57 -255 230 74 -255 255 90 -255 255 255 -255 74 106 -255 115 148 -255 164 197 -255 205 238 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/175.pal b/graphics/battle_anims/sprites/175.pal deleted file mode 100644 index 5626f453a..000000000 --- a/graphics/battle_anims/sprites/175.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -255 255 139 -255 172 24 -255 197 41 diff --git a/graphics/battle_anims/sprites/176.pal b/graphics/battle_anims/sprites/176.pal deleted file mode 100644 index 372a787d8..000000000 --- a/graphics/battle_anims/sprites/176.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -65 0 65 -139 0 139 -213 0 213 -255 0 255 -222 82 222 -238 164 238 -24 16 82 -24 16 98 -24 24 115 -24 32 139 -24 32 156 -24 41 172 -32 49 197 -0 0 0 diff --git a/graphics/battle_anims/sprites/177.pal b/graphics/battle_anims/sprites/177.pal deleted file mode 100644 index b65fd9621..000000000 --- a/graphics/battle_anims/sprites/177.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -255 172 0 -255 255 139 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/178.pal b/graphics/battle_anims/sprites/178.pal deleted file mode 100644 index 72a9073f0..000000000 --- a/graphics/battle_anims/sprites/178.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -65 0 65 -139 0 139 -213 0 213 -255 0 255 -222 82 222 -238 164 238 -8 8 24 -16 24 57 -24 41 90 -41 57 123 -49 74 156 -57 90 189 -65 106 222 -82 123 255 diff --git a/graphics/battle_anims/sprites/179.pal b/graphics/battle_anims/sprites/179.pal deleted file mode 100644 index 5626f453a..000000000 --- a/graphics/battle_anims/sprites/179.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -255 255 139 -255 172 24 -255 197 41 diff --git a/graphics/battle_anims/sprites/182.pal b/graphics/battle_anims/sprites/182.pal deleted file mode 100644 index 5626f453a..000000000 --- a/graphics/battle_anims/sprites/182.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -197 180 115 -164 148 82 -131 115 57 -98 82 24 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -255 255 139 -255 172 24 -255 197 41 diff --git a/graphics/battle_anims/sprites/183.pal b/graphics/battle_anims/sprites/183.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/183.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/184.pal b/graphics/battle_anims/sprites/184.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/184.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/185.pal b/graphics/battle_anims/sprites/185.pal deleted file mode 100644 index 2c07276cd..000000000 --- a/graphics/battle_anims/sprites/185.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 246 255 -222 238 255 -205 230 255 -197 222 255 -180 213 255 -164 205 255 -156 205 255 -148 180 222 -139 156 189 -131 131 156 -123 106 123 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/186.pal b/graphics/battle_anims/sprites/186.pal deleted file mode 100644 index 06ef4b1c1..000000000 --- a/graphics/battle_anims/sprites/186.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 255 205 -222 255 164 -197 230 139 -172 205 115 -148 180 90 -123 156 65 -98 131 41 -74 106 16 -49 65 16 -255 74 41 -255 74 41 -255 74 41 -255 74 41 -255 74 41 diff --git a/graphics/battle_anims/sprites/187.pal b/graphics/battle_anims/sprites/187.pal deleted file mode 100644 index 27cf421cc..000000000 --- a/graphics/battle_anims/sprites/187.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 180 255 -238 115 222 -230 57 189 -222 0 156 -189 8 131 -156 24 115 -123 32 90 -90 49 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/188.pal b/graphics/battle_anims/sprites/188.pal deleted file mode 100644 index 5ebdcd6c1..000000000 --- a/graphics/battle_anims/sprites/188.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -197 197 213 -148 148 180 -98 98 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 diff --git a/graphics/battle_anims/sprites/189.pal b/graphics/battle_anims/sprites/189.pal deleted file mode 100644 index 2d18375c0..000000000 --- a/graphics/battle_anims/sprites/189.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 0 0 -255 255 222 -213 246 213 -172 238 205 -131 230 197 -98 222 197 -82 189 148 -74 164 98 -65 131 49 -57 106 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/190.pal b/graphics/battle_anims/sprites/190.pal deleted file mode 100644 index eab05a5b9..000000000 --- a/graphics/battle_anims/sprites/190.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -197 213 213 -148 180 180 -65 115 106 -32 82 74 -0 49 41 -205 164 106 -172 131 90 -139 98 74 -106 74 65 -246 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/191.pal b/graphics/battle_anims/sprites/191.pal deleted file mode 100644 index 0d4bddb13..000000000 --- a/graphics/battle_anims/sprites/191.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 246 -255 255 255 -230 230 230 -205 205 213 -180 180 197 -156 156 180 -131 131 164 -106 106 148 -82 82 131 -65 65 98 -49 49 74 -32 32 49 -16 16 24 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/192.pal b/graphics/battle_anims/sprites/192.pal deleted file mode 100644 index e89b226b0..000000000 --- a/graphics/battle_anims/sprites/192.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 213 -255 255 180 -255 255 148 -255 255 106 -255 255 74 -255 255 41 -255 180 24 -255 115 16 -255 49 8 -205 24 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/193.pal b/graphics/battle_anims/sprites/193.pal deleted file mode 100644 index ef1dc133e..000000000 --- a/graphics/battle_anims/sprites/193.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -246 230 255 -238 205 255 -230 180 255 -222 156 255 -213 131 255 -205 106 255 -180 106 238 -156 106 222 -131 106 205 -106 106 189 -82 106 172 -57 106 156 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/194.pal b/graphics/battle_anims/sprites/194.pal deleted file mode 100644 index ce0b2b1ef..000000000 --- a/graphics/battle_anims/sprites/194.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 32 106 -0 0 0 -24 32 16 -57 65 41 -74 82 57 -131 156 82 -172 189 123 -189 197 148 -205 213 172 -123 139 74 -156 180 98 -98 115 57 -238 238 222 -255 255 255 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/195.pal b/graphics/battle_anims/sprites/195.pal deleted file mode 100644 index c2055a31e..000000000 --- a/graphics/battle_anims/sprites/195.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 222 -156 255 189 -106 255 156 -106 213 131 -106 172 115 -106 131 90 -106 90 74 -106 57 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/196.pal b/graphics/battle_anims/sprites/196.pal deleted file mode 100644 index 202ce301a..000000000 --- a/graphics/battle_anims/sprites/196.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 205 205 -189 156 156 -156 106 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/197.pal b/graphics/battle_anims/sprites/197.pal deleted file mode 100644 index b1c292246..000000000 --- a/graphics/battle_anims/sprites/197.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -246 230 255 -197 180 205 -148 131 164 -98 82 123 -49 32 82 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/198.pal b/graphics/battle_anims/sprites/198.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/198.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/199.pal b/graphics/battle_anims/sprites/199.pal deleted file mode 100644 index b3cbef09c..000000000 --- a/graphics/battle_anims/sprites/199.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -222 197 213 -197 172 180 -180 148 156 -156 123 131 -139 98 98 -115 74 74 -98 49 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/200.pal b/graphics/battle_anims/sprites/200.pal deleted file mode 100644 index ada4d9331..000000000 --- a/graphics/battle_anims/sprites/200.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -230 230 246 -205 213 246 -189 197 246 -148 156 197 -106 115 148 -74 74 98 -32 32 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/201.pal b/graphics/battle_anims/sprites/201.pal deleted file mode 100644 index 8b7734104..000000000 --- a/graphics/battle_anims/sprites/201.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 230 197 -246 189 98 -213 164 74 -180 139 57 -156 115 41 -123 90 24 -98 65 8 -82 41 0 -255 106 98 -255 0 0 -205 90 32 -255 65 0 -255 131 0 -255 197 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/202.pal b/graphics/battle_anims/sprites/202.pal deleted file mode 100644 index 0e94fa898..000000000 --- a/graphics/battle_anims/sprites/202.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 246 -255 255 255 -255 238 230 -255 230 205 -255 222 180 -255 213 156 -255 205 131 -238 180 115 -222 164 98 -164 82 49 -131 41 24 -106 8 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/203.pal b/graphics/battle_anims/sprites/203.pal deleted file mode 100644 index 5daf0f326..000000000 --- a/graphics/battle_anims/sprites/203.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 246 -255 255 255 -255 246 238 -255 238 222 -255 230 205 -255 230 197 -255 222 180 -255 213 164 -255 213 156 -164 82 49 -131 41 24 -106 8 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/204.pal b/graphics/battle_anims/sprites/204.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/204.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/205.pal b/graphics/battle_anims/sprites/205.pal deleted file mode 100644 index 7211c0cff..000000000 --- a/graphics/battle_anims/sprites/205.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 246 164 -255 238 82 -255 230 0 -255 197 0 -255 164 0 -255 131 0 -205 98 8 -156 74 16 -106 49 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/207.pal b/graphics/battle_anims/sprites/207.pal deleted file mode 100644 index b3c3dd6c6..000000000 --- a/graphics/battle_anims/sprites/207.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 230 222 -213 205 189 -189 189 156 -172 164 123 -156 148 90 -123 123 65 -98 98 49 -74 74 32 -49 49 16 -24 24 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/209.pal b/graphics/battle_anims/sprites/209.pal deleted file mode 100644 index b9fe4f9b8..000000000 --- a/graphics/battle_anims/sprites/209.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 222 238 -205 197 222 -189 172 205 -164 148 189 -148 123 172 -123 98 148 -106 82 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/210.pal b/graphics/battle_anims/sprites/210.pal deleted file mode 100644 index 50393c7f3..000000000 --- a/graphics/battle_anims/sprites/210.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 230 255 -255 205 255 -255 180 255 -255 156 255 -213 123 205 -172 98 164 -131 74 115 -90 49 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/211.pal b/graphics/battle_anims/sprites/211.pal deleted file mode 100644 index 9e84c1ec4..000000000 --- a/graphics/battle_anims/sprites/211.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 189 -255 255 131 -255 255 74 -255 255 16 -213 222 32 -172 189 49 -131 164 74 -90 131 90 -57 106 115 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/215.pal b/graphics/battle_anims/sprites/215.pal deleted file mode 100644 index 36adf5477..000000000 --- a/graphics/battle_anims/sprites/215.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 255 255 -230 213 230 -222 172 213 -213 131 189 -205 90 172 -197 57 156 -172 57 131 -156 57 115 -131 57 90 -115 57 74 -98 57 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/217.pal b/graphics/battle_anims/sprites/217.pal deleted file mode 100644 index 7e79dbd7d..000000000 --- a/graphics/battle_anims/sprites/217.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -246 205 205 -246 156 156 -246 106 106 -246 57 65 -197 57 49 -148 57 41 -98 57 24 -49 57 16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/218.pal b/graphics/battle_anims/sprites/218.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/218.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/220.pal b/graphics/battle_anims/sprites/220.pal deleted file mode 100644 index 6d6a07036..000000000 --- a/graphics/battle_anims/sprites/220.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 238 255 -213 222 255 -189 213 255 -172 197 255 -148 180 255 -123 156 238 -115 139 222 -106 123 205 -98 90 139 -90 90 172 -82 74 156 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/221.pal b/graphics/battle_anims/sprites/221.pal deleted file mode 100644 index 38cac78d5..000000000 --- a/graphics/battle_anims/sprites/221.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -246 197 213 -238 148 172 -230 98 131 -222 49 90 -213 98 106 -213 98 106 -156 49 106 -106 49 57 -74 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/222.pal b/graphics/battle_anims/sprites/222.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/222.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/223.pal b/graphics/battle_anims/sprites/223.pal deleted file mode 100644 index bc1925c2b..000000000 --- a/graphics/battle_anims/sprites/223.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 238 197 -238 213 156 -230 189 123 -213 164 82 -205 139 49 -172 131 49 -148 123 49 -123 115 49 -98 115 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/224.pal b/graphics/battle_anims/sprites/224.pal deleted file mode 100644 index 85db7a86e..000000000 --- a/graphics/battle_anims/sprites/224.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 230 230 -222 205 205 -205 189 189 -197 164 164 -180 148 148 -164 123 123 -131 106 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/225.pal b/graphics/battle_anims/sprites/225.pal deleted file mode 100644 index 6b4b35604..000000000 --- a/graphics/battle_anims/sprites/225.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 189 189 -255 123 123 -255 57 57 -255 0 0 -213 0 0 -0 0 0 -197 148 197 -238 246 246 -238 222 180 -246 205 123 -246 189 57 -255 172 0 -213 148 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/226.pal b/graphics/battle_anims/sprites/226.pal deleted file mode 100644 index fa3c8c117..000000000 --- a/graphics/battle_anims/sprites/226.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -238 0 8 -230 230 238 -205 205 230 -180 180 213 -106 106 156 -255 255 255 -230 230 238 -205 205 230 -180 180 213 -156 156 205 -139 41 32 -172 8 16 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/228.pal b/graphics/battle_anims/sprites/228.pal deleted file mode 100644 index d436d582e..000000000 --- a/graphics/battle_anims/sprites/228.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 148 106 -230 131 106 -205 115 106 -180 98 106 -156 82 106 -131 65 106 -106 49 106 -90 32 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/229.pal b/graphics/battle_anims/sprites/229.pal deleted file mode 100644 index 94fae44ea..000000000 --- a/graphics/battle_anims/sprites/229.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 246 238 -189 238 222 -164 230 205 -131 222 189 -98 213 172 -74 213 156 -57 172 139 -41 131 131 -32 90 123 -16 49 115 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/230.pal b/graphics/battle_anims/sprites/230.pal deleted file mode 100644 index a9aeedd70..000000000 --- a/graphics/battle_anims/sprites/230.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 0 0 -205 0 0 -156 0 0 -106 0 0 -139 197 222 -90 148 189 -41 98 156 -0 49 123 -255 255 74 -230 222 57 -213 189 41 -197 156 24 -148 246 49 -98 148 98 diff --git a/graphics/battle_anims/sprites/231.pal b/graphics/battle_anims/sprites/231.pal deleted file mode 100644 index d3df69d52..000000000 --- a/graphics/battle_anims/sprites/231.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 246 246 -205 238 246 -189 230 246 -164 222 246 -148 222 246 -156 172 205 -164 131 164 -172 82 123 -180 41 82 -197 0 49 -8 8 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/233.pal b/graphics/battle_anims/sprites/233.pal deleted file mode 100644 index 00ca209c1..000000000 --- a/graphics/battle_anims/sprites/233.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 246 230 -255 238 205 -255 230 180 -255 222 156 -255 222 139 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/234.pal b/graphics/battle_anims/sprites/234.pal deleted file mode 100644 index 2cf1a4892..000000000 --- a/graphics/battle_anims/sprites/234.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 238 230 -189 230 213 -164 222 189 -131 213 172 -106 205 156 -90 164 131 -82 131 106 -65 90 82 -57 57 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/235.pal b/graphics/battle_anims/sprites/235.pal deleted file mode 100644 index e8b41ee81..000000000 --- a/graphics/battle_anims/sprites/235.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 222 230 -205 189 205 -180 164 180 -156 131 156 -139 106 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 diff --git a/graphics/battle_anims/sprites/238.pal b/graphics/battle_anims/sprites/238.pal deleted file mode 100644 index 59e157bc8..000000000 --- a/graphics/battle_anims/sprites/238.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 230 230 -255 205 213 -255 172 189 -255 139 164 -255 115 148 -213 98 123 -180 90 98 -139 74 74 -106 65 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/239.pal b/graphics/battle_anims/sprites/239.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/239.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/240.pal b/graphics/battle_anims/sprites/240.pal deleted file mode 100644 index e0d9c6649..000000000 --- a/graphics/battle_anims/sprites/240.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 197 -255 255 49 -205 156 49 -255 131 189 -213 74 172 -172 74 74 -255 41 0 -156 41 0 -57 180 180 -57 98 82 -246 98 0 -148 57 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/241.pal b/graphics/battle_anims/sprites/241.pal deleted file mode 100644 index 8b2c21bc2..000000000 --- a/graphics/battle_anims/sprites/241.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 222 -156 255 189 -106 255 156 -90 205 139 -74 156 123 -57 106 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/242.pal b/graphics/battle_anims/sprites/242.pal deleted file mode 100644 index 524b23be7..000000000 --- a/graphics/battle_anims/sprites/242.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -246 230 238 -238 213 230 -230 197 222 -222 180 213 -213 164 205 -205 148 197 -180 123 172 -156 98 148 -131 74 123 -106 49 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/243.pal b/graphics/battle_anims/sprites/243.pal deleted file mode 100644 index 18c22fe04..000000000 --- a/graphics/battle_anims/sprites/243.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 238 222 -255 230 189 -255 213 156 -255 205 123 -222 172 106 -189 139 90 -156 106 74 -0 0 0 -205 255 255 -90 115 197 -8 16 148 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/244.pal b/graphics/battle_anims/sprites/244.pal deleted file mode 100644 index f589d587b..000000000 --- a/graphics/battle_anims/sprites/244.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -205 255 246 -164 230 197 -123 205 148 -90 180 98 -90 148 98 -90 123 98 -90 98 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/245.pal b/graphics/battle_anims/sprites/245.pal deleted file mode 100644 index 31ea44604..000000000 --- a/graphics/battle_anims/sprites/245.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 222 246 -230 197 246 -222 164 246 -213 139 246 -205 106 246 -197 82 246 -172 74 205 -156 65 164 -131 57 123 -115 49 82 -98 49 49 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/248.pal b/graphics/battle_anims/sprites/248.pal deleted file mode 100644 index 99b3298e5..000000000 --- a/graphics/battle_anims/sprites/248.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 24 0 -213 24 8 -189 24 24 -156 24 32 -255 255 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 diff --git a/graphics/battle_anims/sprites/249.pal b/graphics/battle_anims/sprites/249.pal deleted file mode 100644 index f8ceb4335..000000000 --- a/graphics/battle_anims/sprites/249.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -172 197 213 -98 74 131 -24 16 49 -0 0 0 -0 0 0 -0 0 0 -255 24 0 -189 8 0 -123 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/251.pal b/graphics/battle_anims/sprites/251.pal deleted file mode 100644 index 7eb6c8e0b..000000000 --- a/graphics/battle_anims/sprites/251.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 246 0 -180 222 49 -123 197 98 -57 172 148 -0 148 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/252.pal b/graphics/battle_anims/sprites/252.pal deleted file mode 100644 index 78137dd68..000000000 --- a/graphics/battle_anims/sprites/252.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 230 213 -255 205 180 -255 180 139 -255 156 106 -255 255 164 -230 213 123 -213 180 90 -197 139 49 -180 106 16 -205 106 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/253.pal b/graphics/battle_anims/sprites/253.pal deleted file mode 100644 index 5d4490544..000000000 --- a/graphics/battle_anims/sprites/253.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 180 255 -230 115 255 -222 49 255 -180 49 255 -148 49 255 -106 49 255 -74 49 255 -57 32 213 -49 24 180 -32 8 139 -24 0 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/254.pal b/graphics/battle_anims/sprites/254.pal deleted file mode 100644 index 9cef556cd..000000000 --- a/graphics/battle_anims/sprites/254.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -238 222 222 -222 189 189 -205 164 156 -189 131 123 -172 106 98 -156 90 82 -139 74 65 -123 57 49 -115 41 41 -98 24 24 -82 8 8 -74 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/255.pal b/graphics/battle_anims/sprites/255.pal deleted file mode 100644 index 0469e3834..000000000 --- a/graphics/battle_anims/sprites/255.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 106 148 -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 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/256.pal b/graphics/battle_anims/sprites/256.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/256.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/257.pal b/graphics/battle_anims/sprites/257.pal deleted file mode 100644 index 24647ea55..000000000 --- a/graphics/battle_anims/sprites/257.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 230 180 -238 205 164 -230 189 148 -213 164 131 -205 148 115 -189 115 90 -164 74 65 -139 32 41 -123 0 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/258.pal b/graphics/battle_anims/sprites/258.pal deleted file mode 100644 index 4af22714e..000000000 --- a/graphics/battle_anims/sprites/258.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -189 205 213 -131 156 180 -65 106 139 -8 57 106 -0 0 0 -222 197 205 -189 164 164 -156 139 131 -123 115 90 -98 90 57 -164 49 8 -189 98 32 -213 148 57 -0 0 0 diff --git a/graphics/battle_anims/sprites/260.pal b/graphics/battle_anims/sprites/260.pal deleted file mode 100644 index 8fe916560..000000000 --- a/graphics/battle_anims/sprites/260.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -148 131 148 -180 172 131 -213 213 115 -255 255 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/261.pal b/graphics/battle_anims/sprites/261.pal deleted file mode 100644 index 6bcd99f1f..000000000 --- a/graphics/battle_anims/sprites/261.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 148 98 -255 255 222 -230 230 197 -213 205 172 -189 180 148 -172 156 123 -156 131 106 -0 0 0 -0 0 0 -0 0 0 -255 230 156 -246 205 139 -246 180 123 -230 148 98 -213 123 74 -197 98 57 diff --git a/graphics/battle_anims/sprites/262.pal b/graphics/battle_anims/sprites/262.pal deleted file mode 100644 index ec46c0c02..000000000 --- a/graphics/battle_anims/sprites/262.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -0 0 0 -41 16 156 -41 82 189 -41 148 222 -41 213 255 -106 222 255 -180 238 255 -255 255 255 -74 57 0 -205 205 197 -131 131 131 -255 74 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/263.pal b/graphics/battle_anims/sprites/263.pal deleted file mode 100644 index 6ad880537..000000000 --- a/graphics/battle_anims/sprites/263.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 230 255 -156 205 255 -106 180 255 -57 156 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/264.pal b/graphics/battle_anims/sprites/264.pal deleted file mode 100644 index 18047209b..000000000 --- a/graphics/battle_anims/sprites/264.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 148 148 -255 74 74 -255 0 0 -205 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/266.pal b/graphics/battle_anims/sprites/266.pal deleted file mode 100644 index ddbf8f177..000000000 --- a/graphics/battle_anims/sprites/266.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -156 255 156 -123 222 123 -90 189 90 -57 156 57 -57 106 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/269.pal b/graphics/battle_anims/sprites/269.pal deleted file mode 100644 index c75e89cda..000000000 --- a/graphics/battle_anims/sprites/269.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -115 197 164 -255 172 172 -255 98 98 -205 65 65 -156 57 74 -255 255 255 -0 0 0 diff --git a/graphics/battle_anims/sprites/270.pal b/graphics/battle_anims/sprites/270.pal deleted file mode 100644 index c67c3b568..000000000 --- a/graphics/battle_anims/sprites/270.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 238 255 -205 222 255 -180 205 255 -156 189 255 -131 172 255 -106 156 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/271.pal b/graphics/battle_anims/sprites/271.pal deleted file mode 100644 index 0b6a20c45..000000000 --- a/graphics/battle_anims/sprites/271.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 255 246 -213 222 205 -189 197 164 -164 172 123 -139 148 90 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/272.pal b/graphics/battle_anims/sprites/272.pal deleted file mode 100644 index e0278aedc..000000000 --- a/graphics/battle_anims/sprites/272.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -82 205 255 -57 156 255 -32 106 255 -8 57 255 -0 32 197 -0 16 139 -0 0 90 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/274.pal b/graphics/battle_anims/sprites/274.pal deleted file mode 100644 index 89b1e16da..000000000 --- a/graphics/battle_anims/sprites/274.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 213 230 -255 172 205 -255 139 180 -255 98 156 -255 65 139 -222 65 131 -189 65 123 -156 65 123 -123 65 115 -90 65 106 -57 65 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/277.pal b/graphics/battle_anims/sprites/277.pal deleted file mode 100644 index 0ab344608..000000000 --- a/graphics/battle_anims/sprites/277.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 205 -255 255 164 -255 255 123 -255 255 82 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -255 0 0 -156 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/278.pal b/graphics/battle_anims/sprites/278.pal deleted file mode 100644 index 6504771ab..000000000 --- a/graphics/battle_anims/sprites/278.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 0 0 -197 0 49 -148 0 98 -98 0 148 -49 0 197 -0 0 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/279.pal b/graphics/battle_anims/sprites/279.pal deleted file mode 100644 index 1836733e7..000000000 --- a/graphics/battle_anims/sprites/279.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 0 0 -255 197 0 -255 148 0 -255 98 0 -255 49 0 -205 49 0 -156 49 0 -106 49 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/280.pal b/graphics/battle_anims/sprites/280.pal deleted file mode 100644 index 276859354..000000000 --- a/graphics/battle_anims/sprites/280.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -189 255 222 -123 255 189 -57 255 156 -57 213 131 -57 180 115 -57 139 90 -57 106 74 -57 74 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/281.pal b/graphics/battle_anims/sprites/281.pal deleted file mode 100644 index 4b87da02d..000000000 --- a/graphics/battle_anims/sprites/281.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 205 246 -246 246 197 -230 205 164 -222 172 131 -213 139 98 -205 106 74 -172 106 74 -139 106 74 -106 106 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/282.pal b/graphics/battle_anims/sprites/282.pal deleted file mode 100644 index 5d2000b00..000000000 --- a/graphics/battle_anims/sprites/282.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 255 148 -255 255 41 -255 197 32 -255 148 24 -255 98 16 -255 49 8 -57 49 255 -180 255 255 -106 255 255 -57 238 180 -8 230 106 -8 115 90 -8 8 74 -0 0 0 diff --git a/graphics/battle_anims/sprites/283.pal b/graphics/battle_anims/sprites/283.pal deleted file mode 100644 index 24e6577dc..000000000 --- a/graphics/battle_anims/sprites/283.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -213 213 230 -180 180 205 -139 139 180 -106 106 156 -65 65 131 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/284.pal b/graphics/battle_anims/sprites/284.pal deleted file mode 100644 index 118c18a63..000000000 --- a/graphics/battle_anims/sprites/284.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -164 148 139 -255 255 255 -213 222 255 -180 197 255 -148 172 255 -49 74 156 -24 41 90 -238 164 238 -238 164 238 -238 164 238 -238 164 238 -238 164 238 -238 164 238 -238 164 238 -238 164 238 -82 123 255 diff --git a/graphics/battle_anims/sprites/285.pal b/graphics/battle_anims/sprites/285.pal deleted file mode 100644 index 0182d890a..000000000 --- a/graphics/battle_anims/sprites/285.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 246 189 -255 246 8 -255 180 8 -255 123 8 -255 57 8 -255 0 8 -205 0 8 -156 0 8 -106 0 8 -0 0 0 -148 98 246 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_anims/sprites/smokescreen_impact.pal b/graphics/battle_anims/sprites/smokescreen_impact.pal deleted file mode 100644 index 64367bdc9..000000000 --- a/graphics/battle_anims/sprites/smokescreen_impact.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 148 49 -57 98 197 -0 0 0 -0 0 0 -0 0 0 -164 156 106 -197 197 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 diff --git a/graphics/battle_anims/sprites/substitute.pal b/graphics/battle_anims/sprites/substitute.pal deleted file mode 100644 index 8b6e458a1..000000000 --- a/graphics/battle_anims/sprites/substitute.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 238 197 -255 255 255 -230 238 222 -205 222 189 -189 205 164 -164 189 131 -148 172 106 -123 139 90 -106 106 82 -82 82 74 -65 49 65 -49 24 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/battle_interface/hpbar.pal b/graphics/battle_interface/hpbar.pal deleted file mode 100644 index ea646bb82..000000000 --- a/graphics/battle_interface/hpbar.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -57 57 57 -255 255 255 -213 205 189 -131 131 139 -74 65 90 -82 106 90 -255 180 123 -246 148 115 -222 106 90 -115 255 172 -90 213 131 -255 230 57 -205 172 8 -255 90 57 -172 65 74 diff --git a/graphics/battle_interface/window.pal b/graphics/battle_interface/window.pal deleted file mode 100644 index bc8e8f2bc..000000000 --- a/graphics/battle_interface/window.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -65 65 65 -255 255 222 -222 213 180 -197 189 115 -123 148 131 -82 106 98 -32 57 0 -57 82 65 -255 230 0 -255 156 148 -65 205 255 -0 0 255 -0 255 0 -255 0 0 -106 148 255 diff --git a/graphics/battle_transitions/vs_frame.pal b/graphics/battle_transitions/vs_frame.pal deleted file mode 100644 index 104afd395..000000000 --- a/graphics/battle_transitions/vs_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 255 0 -65 65 65 -255 255 255 -238 230 197 -213 205 131 -123 148 131 -82 106 98 -32 57 0 -57 82 65 -246 148 115 -222 106 90 -65 205 255 -255 255 255 -213 205 189 -131 131 139 -74 65 90 diff --git a/graphics/berries/aguav/pic.png b/graphics/berries/aguav.png Binary files differindex 0661fe8d3..0661fe8d3 100644 --- a/graphics/berries/aguav/pic.png +++ b/graphics/berries/aguav.png diff --git a/graphics/berries/aguav/palette.pal b/graphics/berries/aguav/palette.pal deleted file mode 100644 index fa20daf24..000000000 --- a/graphics/berries/aguav/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -74 148 41 -57 115 32 -41 82 24 -255 238 189 -222 197 148 -189 164 106 -156 131 74 -197 197 139 -148 172 98 -90 139 82 diff --git a/graphics/berries/apicot/pic.png b/graphics/berries/apicot.png Binary files differindex b7098fc90..b7098fc90 100644 --- a/graphics/berries/apicot/pic.png +++ b/graphics/berries/apicot.png diff --git a/graphics/berries/apicot/palette.pal b/graphics/berries/apicot/palette.pal deleted file mode 100644 index 82cb76d5a..000000000 --- a/graphics/berries/apicot/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -238 238 255 -189 205 238 -148 180 230 -106 148 222 -65 123 213 -65 98 148 -222 255 131 -197 230 123 -172 213 115 -148 189 106 -123 172 98 -90 131 82 -57 164 156 -255 230 98 -205 164 98 diff --git a/graphics/berries/aspear/pic.png b/graphics/berries/aspear.png Binary files differindex b5e2c5061..b5e2c5061 100644 --- a/graphics/berries/aspear/pic.png +++ b/graphics/berries/aspear.png diff --git a/graphics/berries/aspear/palette.pal b/graphics/berries/aspear/palette.pal deleted file mode 100644 index 52842fd55..000000000 --- a/graphics/berries/aspear/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 238 189 -246 238 156 -246 238 123 -230 213 115 -213 197 106 -197 180 98 -180 156 90 -164 139 82 -148 123 74 -180 189 148 -156 164 131 -131 139 123 -106 123 115 -0 0 0 diff --git a/graphics/berries/belue/pic.png b/graphics/berries/belue.png Binary files differindex 81ddaa9bb..81ddaa9bb 100644 --- a/graphics/berries/belue/pic.png +++ b/graphics/berries/belue.png diff --git a/graphics/berries/belue/palette.pal b/graphics/berries/belue/palette.pal deleted file mode 100644 index 0d348b27e..000000000 --- a/graphics/berries/belue/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -164 172 197 -148 148 180 -131 123 172 -123 98 156 -106 74 148 -98 57 139 -82 41 82 -255 213 164 -230 189 148 -205 164 131 -180 139 123 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/bluk/pic.png b/graphics/berries/bluk.png Binary files differindex fc7e6c128..fc7e6c128 100644 --- a/graphics/berries/bluk/pic.png +++ b/graphics/berries/bluk.png diff --git a/graphics/berries/bluk/palette.pal b/graphics/berries/bluk/palette.pal deleted file mode 100644 index 88586d6b5..000000000 --- a/graphics/berries/bluk/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -148 106 82 -115 74 41 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/cheri/pic.png b/graphics/berries/cheri.png Binary files differindex f70a1ad74..f70a1ad74 100644 --- a/graphics/berries/cheri/pic.png +++ b/graphics/berries/cheri.png diff --git a/graphics/berries/cheri/palette.pal b/graphics/berries/cheri/palette.pal deleted file mode 100644 index 01acf52c9..000000000 --- a/graphics/berries/cheri/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/chesto/pic.png b/graphics/berries/chesto.png Binary files differindex db1fe9e73..db1fe9e73 100644 --- a/graphics/berries/chesto/pic.png +++ b/graphics/berries/chesto.png diff --git a/graphics/berries/chesto/palette.pal b/graphics/berries/chesto/palette.pal deleted file mode 100644 index 3a4e0964f..000000000 --- a/graphics/berries/chesto/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -148 205 255 -123 172 238 -98 148 222 -82 123 213 -65 98 180 -57 74 148 -230 197 164 -213 172 148 -197 156 131 -180 131 115 -164 115 98 -148 98 82 -156 205 115 -74 106 197 -90 139 82 diff --git a/graphics/berries/cornn/pic.png b/graphics/berries/cornn.png Binary files differindex e124fc599..e124fc599 100644 --- a/graphics/berries/cornn/pic.png +++ b/graphics/berries/cornn.png diff --git a/graphics/berries/cornn/palette.pal b/graphics/berries/cornn/palette.pal deleted file mode 100644 index 5096389e0..000000000 --- a/graphics/berries/cornn/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -180 189 123 -115 74 41 -49 90 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/durin/pic.png b/graphics/berries/durin.png Binary files differindex 5bbb97e1f..5bbb97e1f 100644 --- a/graphics/berries/durin/pic.png +++ b/graphics/berries/durin.png diff --git a/graphics/berries/durin/palette.pal b/graphics/berries/durin/palette.pal deleted file mode 100644 index 8b636135d..000000000 --- a/graphics/berries/durin/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 164 57 -98 139 57 -255 246 197 -255 222 148 -139 98 49 -222 172 98 -189 148 98 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/enigma/pic.png b/graphics/berries/enigma.png Binary files differindex af369550a..af369550a 100644 --- a/graphics/berries/enigma/pic.png +++ b/graphics/berries/enigma.png diff --git a/graphics/berries/enigma/palette.pal b/graphics/berries/enigma/palette.pal deleted file mode 100644 index 349ecc7f4..000000000 --- a/graphics/berries/enigma/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -148 131 123 -115 98 98 -82 74 74 -57 49 49 -24 24 24 -0 0 0 -246 238 222 -222 205 197 -205 180 172 -180 156 156 -164 131 131 -148 106 115 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/figy/pic.png b/graphics/berries/figy.png Binary files differindex 9ec8425d5..9ec8425d5 100644 --- a/graphics/berries/figy/pic.png +++ b/graphics/berries/figy.png diff --git a/graphics/berries/figy/palette.pal b/graphics/berries/figy/palette.pal deleted file mode 100644 index e427ea1e9..000000000 --- a/graphics/berries/figy/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 41 49 -180 41 49 -255 246 205 -230 213 172 -205 189 139 -180 164 115 -123 106 74 -197 123 90 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/ganlon/pic.png b/graphics/berries/ganlon.png Binary files differindex ec5e38319..ec5e38319 100644 --- a/graphics/berries/ganlon/pic.png +++ b/graphics/berries/ganlon.png diff --git a/graphics/berries/ganlon/palette.pal b/graphics/berries/ganlon/palette.pal deleted file mode 100644 index 381974125..000000000 --- a/graphics/berries/ganlon/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -222 255 255 -189 230 255 -164 197 238 -139 172 222 -115 148 213 -90 123 197 -65 98 189 -65 65 123 -246 238 164 -222 205 139 -205 180 123 -180 156 106 -164 131 90 -123 172 98 -90 139 82 diff --git a/graphics/berries/grepa/pic.png b/graphics/berries/grepa.png Binary files differindex 136a86df2..136a86df2 100644 --- a/graphics/berries/grepa/pic.png +++ b/graphics/berries/grepa.png diff --git a/graphics/berries/grepa/palette.pal b/graphics/berries/grepa/palette.pal deleted file mode 100644 index 42ff8830f..000000000 --- a/graphics/berries/grepa/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 230 180 -246 230 148 -246 222 106 -255 222 74 -222 197 65 -197 172 65 -172 148 65 -148 123 65 -123 98 65 -172 255 74 -131 213 65 -90 180 65 -49 148 65 -238 205 65 diff --git a/graphics/berries/hondew/pic.png b/graphics/berries/hondew.png Binary files differindex ab1add813..ab1add813 100644 --- a/graphics/berries/hondew/pic.png +++ b/graphics/berries/hondew.png diff --git a/graphics/berries/hondew/palette.pal b/graphics/berries/hondew/palette.pal deleted file mode 100644 index db2739961..000000000 --- a/graphics/berries/hondew/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 164 57 -98 139 57 -255 246 197 -255 222 148 -255 197 98 -222 172 98 -189 148 98 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/iapapa/pic.png b/graphics/berries/iapapa.png Binary files differindex 243e23d29..243e23d29 100644 --- a/graphics/berries/iapapa/pic.png +++ b/graphics/berries/iapapa.png diff --git a/graphics/berries/iapapa/palette.pal b/graphics/berries/iapapa/palette.pal deleted file mode 100644 index 31fac9dde..000000000 --- a/graphics/berries/iapapa/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -246 238 222 -246 238 172 -238 213 148 -230 197 131 -222 180 115 -213 164 98 -205 148 82 -139 90 57 -230 164 90 -238 123 74 -255 90 57 -222 90 57 -197 90 57 -172 90 57 -90 139 82 diff --git a/graphics/berries/kelpsy/pic.png b/graphics/berries/kelpsy.png Binary files differindex 17b509c04..17b509c04 100644 --- a/graphics/berries/kelpsy/pic.png +++ b/graphics/berries/kelpsy.png diff --git a/graphics/berries/kelpsy/palette.pal b/graphics/berries/kelpsy/palette.pal deleted file mode 100644 index 67ad7a21c..000000000 --- a/graphics/berries/kelpsy/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -148 106 82 -115 74 41 -0 0 0 -189 222 255 -156 197 230 -131 172 205 -106 148 189 diff --git a/graphics/berries/lansat/pic.png b/graphics/berries/lansat.png Binary files differindex c63a590ec..c63a590ec 100644 --- a/graphics/berries/lansat/pic.png +++ b/graphics/berries/lansat.png diff --git a/graphics/berries/lansat/palette.pal b/graphics/berries/lansat/palette.pal deleted file mode 100644 index 66621677d..000000000 --- a/graphics/berries/lansat/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -189 222 148 -148 197 123 -115 180 106 -82 164 90 -49 148 74 -255 222 164 -246 180 139 -238 148 115 -230 106 90 -222 74 65 -213 41 49 -189 41 49 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/leppa/pic.png b/graphics/berries/leppa.png Binary files differindex 228bc9c3a..228bc9c3a 100644 --- a/graphics/berries/leppa/pic.png +++ b/graphics/berries/leppa.png diff --git a/graphics/berries/leppa/palette.pal b/graphics/berries/leppa/palette.pal deleted file mode 100644 index 4fab82d6c..000000000 --- a/graphics/berries/leppa/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 41 49 -180 41 49 -148 41 49 -197 148 98 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/liechi/pic.png b/graphics/berries/liechi.png Binary files differindex dbfea58ca..dbfea58ca 100644 --- a/graphics/berries/liechi/pic.png +++ b/graphics/berries/liechi.png diff --git a/graphics/berries/liechi/palette.pal b/graphics/berries/liechi/palette.pal deleted file mode 100644 index c12737deb..000000000 --- a/graphics/berries/liechi/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 41 49 -180 41 49 -255 255 255 -238 230 213 -222 205 172 -205 180 131 -197 164 90 -255 205 131 -238 164 98 -222 123 65 -213 90 32 diff --git a/graphics/berries/lum/pic.png b/graphics/berries/lum.png Binary files differindex 52a97fe4b..52a97fe4b 100644 --- a/graphics/berries/lum/pic.png +++ b/graphics/berries/lum.png diff --git a/graphics/berries/lum/palette.pal b/graphics/berries/lum/palette.pal deleted file mode 100644 index 237ef0dc4..000000000 --- a/graphics/berries/lum/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 246 -255 255 222 -238 255 189 -230 255 156 -197 230 131 -172 205 115 -148 180 90 -123 156 74 -115 115 74 -106 82 74 -0 0 0 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/mago/pic.png b/graphics/berries/mago.png Binary files differindex b83c4cc3e..b83c4cc3e 100644 --- a/graphics/berries/mago/pic.png +++ b/graphics/berries/mago.png diff --git a/graphics/berries/mago/palette.pal b/graphics/berries/mago/palette.pal deleted file mode 100644 index 4441e4564..000000000 --- a/graphics/berries/mago/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -255 246 197 -230 205 148 -213 164 106 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/magost/pic.png b/graphics/berries/magost.png Binary files differindex d3332bc26..d3332bc26 100644 --- a/graphics/berries/magost/pic.png +++ b/graphics/berries/magost.png diff --git a/graphics/berries/magost/palette.pal b/graphics/berries/magost/palette.pal deleted file mode 100644 index 2393be3d6..000000000 --- a/graphics/berries/magost/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -222 123 123 -197 106 106 -180 90 90 -255 246 197 -230 131 131 -246 148 148 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/nanab/pic.png b/graphics/berries/nanab.png Binary files differindex 88fa1368e..88fa1368e 100644 --- a/graphics/berries/nanab/pic.png +++ b/graphics/berries/nanab.png diff --git a/graphics/berries/nanab/palette.pal b/graphics/berries/nanab/palette.pal deleted file mode 100644 index 4441e4564..000000000 --- a/graphics/berries/nanab/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -255 246 197 -230 205 148 -213 164 106 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/nomel/pic.png b/graphics/berries/nomel.png Binary files differindex 828674f62..828674f62 100644 --- a/graphics/berries/nomel/pic.png +++ b/graphics/berries/nomel.png diff --git a/graphics/berries/nomel/palette.pal b/graphics/berries/nomel/palette.pal deleted file mode 100644 index 6844ddcc3..000000000 --- a/graphics/berries/nomel/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 230 180 -246 230 148 -246 222 106 -255 222 74 -238 197 65 -222 180 65 -205 156 65 -189 139 65 -123 98 65 -172 255 74 -131 213 65 -90 180 65 -246 205 65 -238 205 65 diff --git a/graphics/berries/oran/pic.png b/graphics/berries/oran.png Binary files differindex bc9517fac..bc9517fac 100644 --- a/graphics/berries/oran/pic.png +++ b/graphics/berries/oran.png diff --git a/graphics/berries/oran/palette.pal b/graphics/berries/oran/palette.pal deleted file mode 100644 index ac06d0224..000000000 --- a/graphics/berries/oran/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -156 172 213 -123 148 213 -90 123 213 -65 98 213 -65 82 180 -65 65 148 -74 49 115 -148 106 82 -115 74 41 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/pamtre/pic.png b/graphics/berries/pamtre.png Binary files differindex d066ab74c..d066ab74c 100644 --- a/graphics/berries/pamtre/pic.png +++ b/graphics/berries/pamtre.png diff --git a/graphics/berries/pamtre/palette.pal b/graphics/berries/pamtre/palette.pal deleted file mode 100644 index fa2cb87a7..000000000 --- a/graphics/berries/pamtre/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 205 213 -172 180 205 -156 148 189 -131 106 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -238 189 213 -205 164 172 -180 139 139 -156 115 106 -131 90 74 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/pecha/pic.png b/graphics/berries/pecha.png Binary files differindex 76543a044..76543a044 100644 --- a/graphics/berries/pecha/pic.png +++ b/graphics/berries/pecha.png diff --git a/graphics/berries/pecha/palette.pal b/graphics/berries/pecha/palette.pal deleted file mode 100644 index b0743cc64..000000000 --- a/graphics/berries/pecha/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 255 -255 222 197 -255 197 148 -222 172 123 -197 148 106 -172 123 90 -148 98 74 -0 0 0 -255 205 172 -238 180 131 -123 246 0 -90 213 0 -57 180 0 -24 148 0 -0 0 0 diff --git a/graphics/berries/persim/pic.png b/graphics/berries/persim.png Binary files differindex 6c0ba368a..6c0ba368a 100644 --- a/graphics/berries/persim/pic.png +++ b/graphics/berries/persim.png diff --git a/graphics/berries/persim/palette.pal b/graphics/berries/persim/palette.pal deleted file mode 100644 index 389fac638..000000000 --- a/graphics/berries/persim/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -0 0 0 -0 0 0 -0 0 0 -90 98 82 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/petaya/pic.png b/graphics/berries/petaya.png Binary files differindex 04198ba39..04198ba39 100644 --- a/graphics/berries/petaya/pic.png +++ b/graphics/berries/petaya.png diff --git a/graphics/berries/petaya/palette.pal b/graphics/berries/petaya/palette.pal deleted file mode 100644 index c6eefb076..000000000 --- a/graphics/berries/petaya/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -255 197 205 -246 164 180 -246 131 156 -246 106 139 -189 74 90 -139 41 49 -230 197 148 -205 172 123 -189 148 98 -172 123 74 -156 98 49 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/pinap/pic.png b/graphics/berries/pinap.png Binary files differindex 71144554a..71144554a 100644 --- a/graphics/berries/pinap/pic.png +++ b/graphics/berries/pinap.png diff --git a/graphics/berries/pinap/palette.pal b/graphics/berries/pinap/palette.pal deleted file mode 100644 index e62f61e20..000000000 --- a/graphics/berries/pinap/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 238 189 -246 238 156 -246 238 123 -222 205 106 -197 180 98 -172 156 90 -148 123 74 -123 98 65 -106 74 57 -148 255 172 -115 213 148 -82 180 123 -49 148 98 -0 0 0 diff --git a/graphics/berries/pomeg/pic.png b/graphics/berries/pomeg.png Binary files differindex 394f8558a..394f8558a 100644 --- a/graphics/berries/pomeg/pic.png +++ b/graphics/berries/pomeg.png diff --git a/graphics/berries/pomeg/palette.pal b/graphics/berries/pomeg/palette.pal deleted file mode 100644 index 01acf52c9..000000000 --- a/graphics/berries/pomeg/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/qualot/pic.png b/graphics/berries/qualot.png Binary files differindex 15f51d4d8..15f51d4d8 100644 --- a/graphics/berries/qualot/pic.png +++ b/graphics/berries/qualot.png diff --git a/graphics/berries/qualot/palette.pal b/graphics/berries/qualot/palette.pal deleted file mode 100644 index 4441e4564..000000000 --- a/graphics/berries/qualot/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -255 246 197 -230 205 148 -213 164 106 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/rabuta/pic.png b/graphics/berries/rabuta.png Binary files differindex cf620f906..cf620f906 100644 --- a/graphics/berries/rabuta/pic.png +++ b/graphics/berries/rabuta.png diff --git a/graphics/berries/rabuta/palette.pal b/graphics/berries/rabuta/palette.pal deleted file mode 100644 index 251beeb2d..000000000 --- a/graphics/berries/rabuta/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 164 57 -98 139 57 -255 246 197 -230 213 172 -205 189 156 -180 164 131 -156 139 115 -139 115 98 -90 106 57 -90 139 82 diff --git a/graphics/berries/rawst/pic.png b/graphics/berries/rawst.png Binary files differindex c0e3e23a6..c0e3e23a6 100644 --- a/graphics/berries/rawst/pic.png +++ b/graphics/berries/rawst.png diff --git a/graphics/berries/rawst/palette.pal b/graphics/berries/rawst/palette.pal deleted file mode 100644 index a7a4576b5..000000000 --- a/graphics/berries/rawst/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 98 246 -255 255 255 -213 230 222 -172 205 189 -131 189 156 -90 164 123 -49 148 98 -49 131 82 -57 115 74 -65 98 65 -74 82 57 -98 197 0 -49 148 0 -0 98 0 -148 205 0 -0 0 0 diff --git a/graphics/berries/razz/pic.png b/graphics/berries/razz.png Binary files differindex 5c415012d..5c415012d 100644 --- a/graphics/berries/razz/pic.png +++ b/graphics/berries/razz.png diff --git a/graphics/berries/razz/palette.pal b/graphics/berries/razz/palette.pal deleted file mode 100644 index 01acf52c9..000000000 --- a/graphics/berries/razz/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/salac/pic.png b/graphics/berries/salac.png Binary files differindex 557ab1742..557ab1742 100644 --- a/graphics/berries/salac/pic.png +++ b/graphics/berries/salac.png diff --git a/graphics/berries/salac/palette.pal b/graphics/berries/salac/palette.pal deleted file mode 100644 index c0849c6bc..000000000 --- a/graphics/berries/salac/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 255 255 -255 255 255 -246 255 222 -238 255 189 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -90 156 41 -82 123 24 -74 98 8 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/sitrus/pic.png b/graphics/berries/sitrus.png Binary files differindex d98327ae1..d98327ae1 100644 --- a/graphics/berries/sitrus/pic.png +++ b/graphics/berries/sitrus.png diff --git a/graphics/berries/sitrus/palette.pal b/graphics/berries/sitrus/palette.pal deleted file mode 100644 index b80481ae1..000000000 --- a/graphics/berries/sitrus/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 246 -246 238 222 -246 238 172 -246 238 123 -222 213 106 -197 189 90 -172 164 82 -148 139 65 -123 115 57 -246 197 90 -246 172 32 -189 131 32 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/spelon/pic.png b/graphics/berries/spelon.png Binary files differindex 996f743db..996f743db 100644 --- a/graphics/berries/spelon/pic.png +++ b/graphics/berries/spelon.png diff --git a/graphics/berries/spelon/palette.pal b/graphics/berries/spelon/palette.pal deleted file mode 100644 index 01acf52c9..000000000 --- a/graphics/berries/spelon/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/starf/pic.png b/graphics/berries/starf.png Binary files differindex 8cca44ee2..8cca44ee2 100644 --- a/graphics/berries/starf/pic.png +++ b/graphics/berries/starf.png diff --git a/graphics/berries/starf/palette.pal b/graphics/berries/starf/palette.pal deleted file mode 100644 index 68525b6a6..000000000 --- a/graphics/berries/starf/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 238 246 -246 139 90 -230 255 213 -205 255 180 -180 255 139 -156 255 106 -131 205 106 -106 164 106 -90 123 106 -246 41 41 -156 106 106 -255 156 156 -98 123 205 -164 213 41 -255 205 8 -0 0 0 diff --git a/graphics/berries/tamato/pic.png b/graphics/berries/tamato.png Binary files differindex 9f2c14d4a..9f2c14d4a 100644 --- a/graphics/berries/tamato/pic.png +++ b/graphics/berries/tamato.png diff --git a/graphics/berries/tamato/palette.pal b/graphics/berries/tamato/palette.pal deleted file mode 100644 index 01acf52c9..000000000 --- a/graphics/berries/tamato/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/watmel/pic.png b/graphics/berries/watmel.png Binary files differindex 6da099327..6da099327 100644 --- a/graphics/berries/watmel/pic.png +++ b/graphics/berries/watmel.png diff --git a/graphics/berries/watmel/palette.pal b/graphics/berries/watmel/palette.pal deleted file mode 100644 index 786c0a848..000000000 --- a/graphics/berries/watmel/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -213 115 115 -180 90 90 -148 74 74 -255 246 197 -230 205 148 -238 255 180 -213 246 156 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/wepear/pic.png b/graphics/berries/wepear.png Binary files differindex 468231651..468231651 100644 --- a/graphics/berries/wepear/pic.png +++ b/graphics/berries/wepear.png diff --git a/graphics/berries/wepear/palette.pal b/graphics/berries/wepear/palette.pal deleted file mode 100644 index dac1511ff..000000000 --- a/graphics/berries/wepear/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 255 255 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 156 57 -98 123 57 -98 90 57 -0 0 0 -180 230 115 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/wiki/pic.png b/graphics/berries/wiki.png Binary files differindex d13c76f5b..d13c76f5b 100644 --- a/graphics/berries/wiki/pic.png +++ b/graphics/berries/wiki.png diff --git a/graphics/berries/wiki/palette.pal b/graphics/berries/wiki/palette.pal deleted file mode 100644 index 88586d6b5..000000000 --- a/graphics/berries/wiki/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -148 106 82 -115 74 41 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berry_blender/arrow.pal b/graphics/berry_blender/arrow.pal deleted file mode 100644 index 4c975292d..000000000 --- a/graphics/berry_blender/arrow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -213 222 238 -180 197 230 -148 172 222 -115 148 205 -82 123 197 -49 98 189 -255 180 205 -255 115 98 -255 49 0 -205 65 65 -189 24 24 -148 16 16 -74 57 139 -8 0 82 diff --git a/graphics/berry_blender/center.pal b/graphics/berry_blender/center.pal deleted file mode 100644 index 606c527a3..000000000 --- a/graphics/berry_blender/center.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 197 255 -172 164 222 -139 139 189 -106 106 156 -74 82 123 -41 57 90 -213 222 189 -180 189 156 -148 156 123 -115 123 90 -255 172 123 -246 115 82 -238 57 41 -156 24 0 diff --git a/graphics/berry_blender/outer.pal b/graphics/berry_blender/outer.pal deleted file mode 100644 index c3b83cf16..000000000 --- a/graphics/berry_blender/outer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -213 222 238 -180 197 230 -148 172 222 -115 148 205 -82 123 197 -49 98 189 -255 180 205 -255 115 98 -255 49 0 -205 65 65 -189 24 24 -148 123 197 -74 57 139 -8 0 82 diff --git a/graphics/birch_speech/birch.pal b/graphics/birch_speech/birch.pal deleted file mode 100644 index b89a5861a..000000000 --- a/graphics/birch_speech/birch.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -222 189 148 -197 148 115 -106 74 65 -98 98 115 -41 57 65 -180 115 82 -115 74 57 -205 205 222 -148 148 148 -189 156 90 -139 115 57 -74 49 24 -255 255 255 -0 0 24 diff --git a/graphics/contest/judge.pal b/graphics/contest/judge.pal deleted file mode 100644 index e62f2abd3..000000000 --- a/graphics/contest/judge.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 197 164 -255 222 205 -222 180 148 -172 115 90 -238 238 238 -90 57 57 -57 49 65 -0 0 0 -82 90 8 -57 65 16 -222 82 82 -246 197 49 -246 230 139 -131 131 148 -164 164 180 -205 205 222 diff --git a/graphics/contest/judge_symbols.pal b/graphics/contest/judge_symbols.pal deleted file mode 100644 index 3eeaa1128..000000000 --- a/graphics/contest/judge_symbols.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 148 115 -255 106 115 -255 57 57 -156 0 0 -164 222 255 -106 148 255 -49 82 255 -255 255 115 -246 222 65 -230 106 0 -255 255 255 -189 189 197 -131 131 139 -98 98 123 -65 74 106 -41 49 90 diff --git a/graphics/contest/nextturn.pal b/graphics/contest/nextturn.pal deleted file mode 100644 index 05991c79e..000000000 --- a/graphics/contest/nextturn.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -148 90 16 -246 189 115 -255 222 115 -255 255 156 -255 49 24 -213 16 0 -246 156 222 -255 0 90 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/interface/ball/dive.pal b/graphics/interface/ball/dive.pal deleted file mode 100644 index 1bd07d69d..000000000 --- a/graphics/interface/ball/dive.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -90 139 222 -115 164 230 -148 197 238 -180 230 255 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -0 90 156 -24 106 172 -57 123 197 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/great.pal b/graphics/interface/ball/great.pal deleted file mode 100644 index f19aa5e4a..000000000 --- a/graphics/interface/ball/great.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -98 139 180 -123 156 222 -148 180 222 -180 205 230 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -189 41 90 -222 65 115 -255 98 139 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/luxury.pal b/graphics/interface/ball/luxury.pal deleted file mode 100644 index a49399d01..000000000 --- a/graphics/interface/ball/luxury.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -49 49 41 -90 90 82 -131 131 123 -180 172 164 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 255 156 -255 222 106 -255 189 57 -255 156 8 -230 74 24 -180 74 24 -255 255 255 diff --git a/graphics/interface/ball/master.pal b/graphics/interface/ball/master.pal deleted file mode 100644 index 72247849b..000000000 --- a/graphics/interface/ball/master.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -115 16 156 -139 41 172 -164 65 189 -189 90 205 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 98 139 -255 148 172 -255 197 213 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/nest.pal b/graphics/interface/ball/nest.pal deleted file mode 100644 index 4bee9fa12..000000000 --- a/graphics/interface/ball/nest.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -0 98 0 -49 148 16 -98 197 32 -156 255 57 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 123 98 -255 172 131 -255 222 172 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/net.pal b/graphics/interface/ball/net.pal deleted file mode 100644 index dc5abb94d..000000000 --- a/graphics/interface/ball/net.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -0 156 106 -49 189 123 -98 222 148 -156 255 172 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -205 205 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/poke.pal b/graphics/interface/ball/poke.pal deleted file mode 100644 index 0e6b2fb5c..000000000 --- a/graphics/interface/ball/poke.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -131 0 0 -172 0 0 -213 41 41 -255 156 123 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/premier.pal b/graphics/interface/ball/premier.pal deleted file mode 100644 index 0e6b2fb5c..000000000 --- a/graphics/interface/ball/premier.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -131 0 0 -172 0 0 -213 41 41 -255 156 123 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/repeat.pal b/graphics/interface/ball/repeat.pal deleted file mode 100644 index c3689e13f..000000000 --- a/graphics/interface/ball/repeat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -222 98 0 -230 131 32 -238 164 65 -255 197 98 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -205 156 8 -255 255 8 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/safari.pal b/graphics/interface/ball/safari.pal deleted file mode 100644 index bbe4d76f3..000000000 --- a/graphics/interface/ball/safari.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -148 172 16 -164 197 32 -180 222 49 -197 246 65 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -205 106 41 -230 164 98 -255 222 156 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/ball/timer.pal b/graphics/interface/ball/timer.pal deleted file mode 100644 index e0c23569e..000000000 --- a/graphics/interface/ball/timer.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -172 0 0 -197 49 41 -222 98 82 -255 156 123 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -180 180 180 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -0 0 0 diff --git a/graphics/interface/ball/ultra.pal b/graphics/interface/ball/ultra.pal deleted file mode 100644 index 3b7021097..000000000 --- a/graphics/interface/ball/ultra.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -180 139 16 -205 172 32 -230 205 49 -255 238 65 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/interface/hold_icons.pal b/graphics/interface/hold_icons.pal deleted file mode 100644 index e31d717c9..000000000 --- a/graphics/interface/hold_icons.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -57 205 106 -255 255 255 -213 213 255 -148 148 180 -255 246 156 -222 222 115 -246 82 41 -164 90 82 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -98 98 98 diff --git a/graphics/interface/link_test_digits.pal b/graphics/interface/link_test_digits.pal deleted file mode 100644 index 5362e8d6d..000000000 --- a/graphics/interface/link_test_digits.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 255 255 diff --git a/graphics/interface/money.pal b/graphics/interface/money.pal deleted file mode 100644 index 3fa8d8cff..000000000 --- a/graphics/interface/money.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -205 205 205 -164 164 164 -123 123 123 -115 98 98 -65 57 41 -57 106 139 -106 180 49 -255 230 164 -255 205 164 -230 180 123 -255 205 0 -205 180 0 -255 230 0 -0 0 0 diff --git a/graphics/interface/pokeblock_device.pal b/graphics/interface/pokeblock_device.pal deleted file mode 100644 index a491b61af..000000000 --- a/graphics/interface/pokeblock_device.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 156 255 -82 90 106 -205 197 222 -90 123 148 -90 164 172 -98 189 222 -172 213 238 -197 148 98 -197 197 49 -98 197 98 -255 197 148 -49 148 246 -172 98 82 -246 123 90 -164 156 180 -246 246 246 diff --git a/graphics/interface/status_icons.pal b/graphics/interface/status_icons.pal deleted file mode 100644 index 718f5bb77..000000000 --- a/graphics/interface/status_icons.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 189 131 -57 57 57 -255 255 255 -222 222 222 -197 98 197 -205 131 205 -189 189 24 -205 205 131 -164 164 139 -180 180 148 -139 180 230 -156 197 246 -230 115 82 -255 139 106 -238 82 57 -255 123 98 diff --git a/graphics/interface/summary_frames.pal b/graphics/interface/summary_frames.pal deleted file mode 100644 index d46aa6c8f..000000000 --- a/graphics/interface/summary_frames.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 0 -148 148 0 -49 172 255 -49 98 148 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 82 49 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/interface/wordgroup_indicator.pal b/graphics/interface/wordgroup_indicator.pal deleted file mode 100644 index 0d067c9e2..000000000 --- a/graphics/interface/wordgroup_indicator.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 148 -156 230 255 -98 197 246 -82 148 197 -172 246 213 -139 230 180 -90 164 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -41 49 49 -98 98 98 -180 189 180 -222 213 222 -255 255 255 diff --git a/graphics/intro/copyright.pal b/graphics/intro/copyright.pal deleted file mode 100644 index 4219d4394..000000000 --- a/graphics/intro/copyright.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 32 32 -24 57 57 -49 82 82 -82 106 106 -106 131 131 -139 156 156 -164 180 180 -197 205 205 -222 230 230 -255 255 255 diff --git a/graphics/intro/intro1_eon.pal b/graphics/intro/intro1_eon.pal deleted file mode 100644 index dcfc242a5..000000000 --- a/graphics/intro/intro1_eon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -74 74 82 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_bgclouds.pal b/graphics/intro/intro2_bgclouds.pal deleted file mode 100644 index 6b312a16c..000000000 --- a/graphics/intro/intro2_bgclouds.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 246 255 -205 238 255 -180 230 255 -164 222 255 -139 213 255 -115 205 255 -98 197 255 -230 230 255 -246 255 255 -213 222 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_bgnight.pal b/graphics/intro/intro2_bgnight.pal deleted file mode 100644 index 765aad45a..000000000 --- a/graphics/intro/intro2_bgnight.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -82 90 148 -148 131 164 -57 74 123 -131 106 156 -98 90 123 -156 164 197 -139 148 172 -90 131 139 -189 197 213 -90 115 164 -230 230 82 -131 131 164 -246 246 123 diff --git a/graphics/intro/intro2_bgtrees.pal b/graphics/intro/intro2_bgtrees.pal deleted file mode 100644 index 5c506481a..000000000 --- a/graphics/intro/intro2_bgtrees.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -156 189 246 -172 205 246 -197 230 255 -213 246 255 -238 255 255 -156 180 172 -197 197 156 -172 189 164 -98 139 98 -98 156 57 -123 164 131 -156 213 82 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_brendan.pal b/graphics/intro/intro2_brendan.pal deleted file mode 100644 index 5a8f9efcc..000000000 --- a/graphics/intro/intro2_brendan.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -230 49 0 -246 148 0 -0 0 0 -255 213 148 -222 164 139 -0 0 0 -246 57 131 -189 57 115 -238 205 16 -189 172 16 -131 164 65 diff --git a/graphics/intro/intro2_grass.pal b/graphics/intro/intro2_grass.pal deleted file mode 100644 index 389977abf..000000000 --- a/graphics/intro/intro2_grass.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -74 82 82 -90 123 123 -205 205 197 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -106 164 98 -115 197 98 -164 230 90 diff --git a/graphics/intro/intro2_latias.pal b/graphics/intro/intro2_latias.pal deleted file mode 100644 index 0af96be29..000000000 --- a/graphics/intro/intro2_latias.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -123 106 106 -115 131 164 -222 213 238 -255 255 255 -213 65 57 -238 106 32 -172 74 65 -255 90 65 -180 172 197 -189 139 57 -189 98 41 -90 115 180 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_latios.pal b/graphics/intro/intro2_latios.pal deleted file mode 100644 index bb51c0a7d..000000000 --- a/graphics/intro/intro2_latios.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -123 106 106 -115 131 164 -222 213 238 -255 255 255 -106 131 230 -139 197 255 -90 115 180 -139 156 230 -180 172 197 -238 82 32 -238 41 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_may.pal b/graphics/intro/intro2_may.pal deleted file mode 100644 index 4d15e827b..000000000 --- a/graphics/intro/intro2_may.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -82 197 0 -148 246 98 -98 98 131 -255 213 148 -222 164 139 -180 172 115 -246 90 90 -189 57 115 -238 205 16 -189 172 16 -131 164 65 diff --git a/graphics/intro/intro3_pokeball.pal b/graphics/intro/intro3_pokeball.pal deleted file mode 100644 index d520a5e82..000000000 --- a/graphics/intro/intro3_pokeball.pal +++ /dev/null @@ -1,259 +0,0 @@ -JASC-PAL -0100 -256 -255 255 255 -0 0 0 -49 41 24 -106 90 57 -164 139 90 -222 98 57 -131 131 189 -255 255 255 -74 32 16 -148 65 32 -41 41 57 -82 82 123 -82 82 82 -164 164 164 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro3_streaks.pal b/graphics/intro/intro3_streaks.pal deleted file mode 100644 index 21ae1e434..000000000 --- a/graphics/intro/intro3_streaks.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -0 0 0 -255 230 74 -255 230 98 -255 238 123 -255 238 148 -255 246 172 -255 255 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/misc/birch_bag.pal b/graphics/misc/birch_bag.pal deleted file mode 100644 index ca609b98d..000000000 --- a/graphics/misc/birch_bag.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 148 -255 197 90 -222 172 90 -189 156 90 -148 115 82 -131 82 74 -57 90 98 -74 49 57 -0 98 139 -0 49 65 -213 213 222 -156 156 148 -98 98 115 -0 82 115 -0 0 0 diff --git a/graphics/misc/birch_ballarrow.pal b/graphics/misc/birch_ballarrow.pal deleted file mode 100644 index 12f7e8075..000000000 --- a/graphics/misc/birch_ballarrow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 82 49 -197 65 49 -164 49 49 -131 41 49 -213 213 222 -172 172 180 -131 131 148 -98 98 115 -255 172 180 -24 57 65 -57 90 98 -0 0 0 -0 0 0 -255 255 255 -0 0 0 diff --git a/graphics/misc/birch_circle.pal b/graphics/misc/birch_circle.pal deleted file mode 100644 index 52239fbc3..000000000 --- a/graphics/misc/birch_circle.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 57 197 -16 16 16 -32 32 32 -49 49 49 -65 65 65 -82 82 82 -98 98 98 -115 115 115 -131 131 131 -148 148 148 -164 164 164 -180 180 180 -197 197 197 -213 213 213 -230 230 230 -255 255 255 diff --git a/graphics/misc/birch_grass.pal b/graphics/misc/birch_grass.pal deleted file mode 100644 index 9a87ec0d5..000000000 --- a/graphics/misc/birch_grass.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 222 115 -197 230 148 -139 222 115 -255 255 0 -115 189 98 -98 156 82 -74 123 65 -57 90 49 -32 57 32 -255 255 0 -255 255 0 -255 255 0 -255 255 0 -255 255 0 -255 255 0 -82 115 65 diff --git a/graphics/misc/cable_car.pal b/graphics/misc/cable_car.pal deleted file mode 100644 index 64985f6da..000000000 --- a/graphics/misc/cable_car.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -164 222 222 -98 139 139 -139 180 180 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -139 205 246 -98 172 238 -255 255 148 -238 213 82 -213 172 16 -180 106 0 -139 65 0 diff --git a/graphics/misc/clock_small.pal b/graphics/misc/clock_small.pal deleted file mode 100644 index 3398fcbe3..000000000 --- a/graphics/misc/clock_small.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 139 90 -0 0 0 -57 57 57 -123 123 123 -189 189 189 -255 255 255 -255 65 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/misc/condition_up_down.pal b/graphics/misc/condition_up_down.pal deleted file mode 100644 index 5b0cfcd3c..000000000 --- a/graphics/misc/condition_up_down.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -123 180 246 -255 255 0 -255 0 0 -0 0 255 -222 222 222 -213 213 213 -205 205 205 -197 197 197 -189 189 189 -180 180 180 -172 172 172 -164 164 164 -148 148 148 -139 139 139 -131 131 131 -0 0 0 diff --git a/graphics/misc/confetti.pal b/graphics/misc/confetti.pal deleted file mode 100644 index f2494e508..000000000 --- a/graphics/misc/confetti.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 57 57 -156 0 0 -164 222 255 -49 82 255 -255 255 115 -230 106 0 -255 255 255 -189 189 197 -139 246 115 -65 205 57 -255 123 180 -197 49 131 -65 74 106 -0 0 0 -0 0 0 diff --git a/graphics/misc/darkness_field_move_streaks.pal b/graphics/misc/darkness_field_move_streaks.pal deleted file mode 100644 index 37ea1ae61..000000000 --- a/graphics/misc/darkness_field_move_streaks.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 139 57 -0 0 0 -148 148 148 -197 197 197 -255 255 255 -123 156 230 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/misc/evo_sparkle.pal b/graphics/misc/evo_sparkle.pal deleted file mode 100644 index 7ccbffd1d..000000000 --- a/graphics/misc/evo_sparkle.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -49 82 82 -82 106 106 -106 131 131 -139 156 156 -164 180 180 -197 205 205 -222 230 230 -255 255 255 diff --git a/graphics/misc/field_move_streaks.pal b/graphics/misc/field_move_streaks.pal deleted file mode 100644 index 12bc76261..000000000 --- a/graphics/misc/field_move_streaks.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/misc/hof.pal b/graphics/misc/hof.pal deleted file mode 100644 index b4fffc172..000000000 --- a/graphics/misc/hof.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -0 0 0 -255 213 230 -255 32 32 -255 180 230 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -65 65 65 -255 255 255 diff --git a/graphics/misc/interview_frame.pal b/graphics/misc/interview_frame.pal deleted file mode 100644 index 7d6c36d2b..000000000 --- a/graphics/misc/interview_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 189 -238 238 205 -213 197 148 -255 255 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/misc/mon_markings.pal b/graphics/misc/mon_markings.pal deleted file mode 100644 index 8f31611f7..000000000 --- a/graphics/misc/mon_markings.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 172 172 -131 131 131 -156 156 156 -255 255 255 -205 205 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokedex/area_glow.pal b/graphics/pokedex/area_glow.pal deleted file mode 100644 index 0b9ac5a6d..000000000 --- a/graphics/pokedex/area_glow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 139 139 -255 115 115 -255 90 90 -255 65 65 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokedex/area_marker.pal b/graphics/pokedex/area_marker.pal deleted file mode 100644 index d625c8ce2..000000000 --- a/graphics/pokedex/area_marker.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 180 0 -0 0 0 -255 0 0 -255 49 49 -255 98 98 -255 156 156 -255 205 205 -255 255 255 -255 255 49 -106 255 255 -172 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokedex/area_unknown.pal b/graphics/pokedex/area_unknown.pal deleted file mode 100644 index 86aeef732..000000000 --- a/graphics/pokedex/area_unknown.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 148 0 -0 0 0 -222 213 222 -255 0 0 -255 255 115 -0 255 0 -0 255 255 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -222 213 222 -98 82 106 -139 148 197 -41 49 49 -82 65 123 diff --git a/graphics/pokedex/arrows.pal b/graphics/pokedex/arrows.pal deleted file mode 100644 index 256cee631..000000000 --- a/graphics/pokedex/arrows.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 255 0 -255 0 0 -230 0 0 -213 0 0 -197 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -197 197 197 -0 0 0 -255 255 255 diff --git a/graphics/pokedex/cry_meter.pal b/graphics/pokedex/cry_meter.pal deleted file mode 100644 index 224f3d983..000000000 --- a/graphics/pokedex/cry_meter.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -222 0 0 -16 16 16 -49 49 49 -246 123 106 -82 82 82 -98 98 98 -115 115 115 -131 131 131 -148 148 148 -164 164 164 -180 180 180 -197 197 197 -213 213 213 -230 230 230 -255 255 255 diff --git a/graphics/pokedex/cry_meter_needle.pal b/graphics/pokedex/cry_meter_needle.pal deleted file mode 100644 index 7336488ff..000000000 --- a/graphics/pokedex/cry_meter_needle.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -246 90 123 -246 139 164 -246 197 205 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon_storage/arrow.pal b/graphics/pokemon_storage/arrow.pal deleted file mode 100644 index 527c10ba2..000000000 --- a/graphics/pokemon_storage/arrow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 148 172 -238 131 123 -238 115 115 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon_storage/beach_bg.pal b/graphics/pokemon_storage/beach_bg.pal deleted file mode 100644 index b7cb930c4..000000000 --- a/graphics/pokemon_storage/beach_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 222 -246 238 180 -238 230 148 -238 222 131 -222 205 115 -213 189 98 -205 164 90 -197 172 65 -255 98 197 -255 148 172 -49 213 205 -164 230 213 -0 0 0 -82 98 255 -49 65 156 diff --git a/graphics/pokemon_storage/beach_frame.pal b/graphics/pokemon_storage/beach_frame.pal deleted file mode 100644 index 360d77bde..000000000 --- a/graphics/pokemon_storage/beach_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -156 106 57 -197 230 255 -197 246 255 -230 255 255 -98 164 98 -148 222 57 -189 164 90 -246 230 164 -255 246 180 -246 238 164 -98 213 213 -139 230 205 -255 255 255 -82 98 255 -49 65 156 diff --git a/graphics/pokemon_storage/cave_bg.pal b/graphics/pokemon_storage/cave_bg.pal deleted file mode 100644 index 6b783cdd5..000000000 --- a/graphics/pokemon_storage/cave_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -246 213 131 -213 180 98 -180 148 65 -148 115 32 -115 82 0 -82 49 0 -49 16 0 -139 90 115 -156 106 131 -115 65 90 -0 0 0 -238 238 238 -255 255 255 -90 90 131 -49 49 90 diff --git a/graphics/pokemon_storage/cave_frame.pal b/graphics/pokemon_storage/cave_frame.pal deleted file mode 100644 index f6e731395..000000000 --- a/graphics/pokemon_storage/cave_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -230 197 123 -213 180 98 -180 148 65 -148 115 32 -115 82 0 -0 0 0 -0 0 0 -139 90 115 -156 106 131 -115 65 90 -0 0 0 -230 230 230 -255 255 255 -90 90 131 -49 49 90 diff --git a/graphics/pokemon_storage/city_bg.pal b/graphics/pokemon_storage/city_bg.pal deleted file mode 100644 index ba67b3414..000000000 --- a/graphics/pokemon_storage/city_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 246 -255 238 246 -230 213 222 -205 189 197 -164 148 156 -139 123 131 -0 0 0 -0 0 0 -180 164 172 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -156 123 82 -115 82 41 diff --git a/graphics/pokemon_storage/city_frame.pal b/graphics/pokemon_storage/city_frame.pal deleted file mode 100644 index a5387638a..000000000 --- a/graphics/pokemon_storage/city_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -246 246 246 -90 131 197 -123 164 213 -156 197 230 -82 131 115 -115 164 148 -180 189 197 -148 156 164 -115 123 131 -82 90 98 -189 189 230 -222 246 246 -189 213 213 -156 123 82 -106 74 32 diff --git a/graphics/pokemon_storage/crag_bg.pal b/graphics/pokemon_storage/crag_bg.pal deleted file mode 100644 index f72b27d13..000000000 --- a/graphics/pokemon_storage/crag_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -222 222 222 -189 189 189 -156 156 156 -123 123 123 -90 90 90 -57 57 57 -41 41 41 -222 189 205 -197 164 180 -172 139 156 -246 213 230 -238 238 238 -255 255 255 -213 189 82 -172 148 41 diff --git a/graphics/pokemon_storage/crag_frame.pal b/graphics/pokemon_storage/crag_frame.pal deleted file mode 100644 index c4f85c644..000000000 --- a/graphics/pokemon_storage/crag_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -222 222 222 -189 189 189 -222 189 205 -197 164 180 -172 139 156 -246 213 230 -139 139 131 -189 189 189 -156 156 156 -123 123 123 -213 189 65 -230 230 230 -255 255 255 -213 189 82 -172 148 41 diff --git a/graphics/pokemon_storage/desert_bg.pal b/graphics/pokemon_storage/desert_bg.pal deleted file mode 100644 index c5ca027d2..000000000 --- a/graphics/pokemon_storage/desert_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 238 189 -255 213 164 -230 189 139 -205 164 115 -180 139 90 -156 115 65 -131 90 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -164 139 82 -123 98 41 diff --git a/graphics/pokemon_storage/desert_frame.pal b/graphics/pokemon_storage/desert_frame.pal deleted file mode 100644 index 4cf04f8ae..000000000 --- a/graphics/pokemon_storage/desert_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 139 -205 189 131 -230 197 98 -230 180 90 -172 164 172 -57 57 57 -172 172 172 -123 123 123 -57 57 57 -213 189 98 -246 205 74 -255 230 106 -255 255 255 -164 139 82 -123 98 41 diff --git a/graphics/pokemon_storage/forest_bg.pal b/graphics/pokemon_storage/forest_bg.pal deleted file mode 100644 index 946becabb..000000000 --- a/graphics/pokemon_storage/forest_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -230 255 172 -205 255 148 -180 230 123 -156 205 98 -131 180 74 -106 156 49 -82 131 24 -0 0 0 -205 213 172 -172 180 139 -0 0 0 -0 0 0 -0 0 0 -164 139 82 -123 98 41 diff --git a/graphics/pokemon_storage/forest_frame.pal b/graphics/pokemon_storage/forest_frame.pal deleted file mode 100644 index 1b4166087..000000000 --- a/graphics/pokemon_storage/forest_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -246 255 230 -255 255 213 -222 255 189 -197 246 164 -156 255 139 -123 222 106 -90 189 74 -172 123 41 -205 213 172 -172 180 139 -148 156 115 -123 131 90 -255 255 255 -164 139 82 -123 98 41 diff --git a/graphics/pokemon_storage/machine_bg.pal b/graphics/pokemon_storage/machine_bg.pal deleted file mode 100644 index 4f75effd5..000000000 --- a/graphics/pokemon_storage/machine_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -230 222 131 -197 180 90 -213 197 98 -213 205 98 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -230 230 123 -172 139 65 -148 106 41 -197 172 90 -246 246 172 -156 115 65 -106 82 49 diff --git a/graphics/pokemon_storage/machine_frame.pal b/graphics/pokemon_storage/machine_frame.pal deleted file mode 100644 index aa74af16f..000000000 --- a/graphics/pokemon_storage/machine_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -246 246 189 -205 197 90 -230 230 123 -205 205 90 -238 238 148 -213 213 98 -238 238 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -156 115 65 -106 82 49 diff --git a/graphics/pokemon_storage/plain_bg.pal b/graphics/pokemon_storage/plain_bg.pal deleted file mode 100644 index 74e28306b..000000000 --- a/graphics/pokemon_storage/plain_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -246 246 246 -238 238 238 -230 230 230 -222 222 222 -255 255 255 -205 205 205 -180 180 180 -139 139 139 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -148 131 90 -106 90 57 diff --git a/graphics/pokemon_storage/plain_frame.pal b/graphics/pokemon_storage/plain_frame.pal deleted file mode 100644 index b68d724cd..000000000 --- a/graphics/pokemon_storage/plain_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -238 238 238 -213 213 213 -189 189 189 -164 164 164 -139 139 139 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -148 131 90 -106 90 57 diff --git a/graphics/pokemon_storage/pokecenter_bg.pal b/graphics/pokemon_storage/pokecenter_bg.pal deleted file mode 100644 index b029c1741..000000000 --- a/graphics/pokemon_storage/pokecenter_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -238 246 246 -222 255 255 -197 246 238 -172 222 213 -148 197 189 -123 172 164 -98 148 139 -255 164 139 -255 164 139 -238 139 115 -246 246 246 -230 230 230 -164 197 205 -148 148 172 -82 82 90 diff --git a/graphics/pokemon_storage/pokecenter_frame.pal b/graphics/pokemon_storage/pokecenter_frame.pal deleted file mode 100644 index 4a8074805..000000000 --- a/graphics/pokemon_storage/pokecenter_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 205 -255 255 255 -213 205 180 -213 180 180 -172 180 156 -0 0 0 -0 0 0 -255 238 139 -255 255 164 -230 172 131 -222 222 222 -213 213 205 -189 189 172 -148 148 172 -82 82 90 diff --git a/graphics/pokemon_storage/polkadot_bg.pal b/graphics/pokemon_storage/polkadot_bg.pal deleted file mode 100644 index b7bf06f47..000000000 --- a/graphics/pokemon_storage/polkadot_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 197 -255 255 164 -255 230 131 -255 197 98 -230 164 65 -197 131 32 -164 98 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -156 74 57 -115 16 0 diff --git a/graphics/pokemon_storage/polkadot_frame.pal b/graphics/pokemon_storage/polkadot_frame.pal deleted file mode 100644 index d90a6f0b2..000000000 --- a/graphics/pokemon_storage/polkadot_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 197 -255 255 164 -255 230 131 -255 197 98 -230 164 65 -197 131 32 -164 98 0 -255 205 164 -238 172 131 -222 139 98 -205 106 65 -189 74 32 -255 255 255 -156 74 57 -115 16 0 diff --git a/graphics/pokemon_storage/river_bg.pal b/graphics/pokemon_storage/river_bg.pal deleted file mode 100644 index 09d45090a..000000000 --- a/graphics/pokemon_storage/river_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -230 255 156 -197 255 123 -164 230 90 -131 197 57 -98 164 24 -65 131 0 -32 98 0 -230 255 255 -139 230 230 -164 255 255 -197 255 255 -238 238 238 -255 255 255 -180 148 106 -139 106 65 diff --git a/graphics/pokemon_storage/river_frame.pal b/graphics/pokemon_storage/river_frame.pal deleted file mode 100644 index 9fcc4cbca..000000000 --- a/graphics/pokemon_storage/river_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -238 255 255 -205 255 255 -164 255 255 -131 222 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -115 180 0 -148 213 24 -180 246 57 -230 230 230 -255 255 255 -180 148 106 -139 106 65 diff --git a/graphics/pokemon_storage/savanna_bg.pal b/graphics/pokemon_storage/savanna_bg.pal deleted file mode 100644 index d80816c35..000000000 --- a/graphics/pokemon_storage/savanna_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 131 -222 222 98 -189 189 65 -156 156 32 -123 123 0 -90 90 0 -57 57 0 -189 189 65 -131 180 57 -115 164 41 -205 205 82 -238 238 238 -255 255 255 -189 156 82 -148 115 41 diff --git a/graphics/pokemon_storage/savanna_frame.pal b/graphics/pokemon_storage/savanna_frame.pal deleted file mode 100644 index 1c1742cc2..000000000 --- a/graphics/pokemon_storage/savanna_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -222 222 222 -189 189 189 -238 255 255 -213 230 246 -189 205 222 -57 57 57 -222 222 98 -164 164 41 -115 164 41 -148 197 74 -189 189 65 -230 230 230 -255 255 255 -189 156 82 -148 115 41 diff --git a/graphics/pokemon_storage/scrolling_bg.pal b/graphics/pokemon_storage/scrolling_bg.pal deleted file mode 100644 index 76e448d81..000000000 --- a/graphics/pokemon_storage/scrolling_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 222 -255 246 189 -255 246 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/graphics/pokemon_storage/seafloor_bg.pal b/graphics/pokemon_storage/seafloor_bg.pal deleted file mode 100644 index 43b2eecab..000000000 --- a/graphics/pokemon_storage/seafloor_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -164 213 255 -131 180 255 -98 148 222 -65 115 189 -32 82 156 -0 49 123 -0 16 90 -139 90 115 -156 106 131 -115 65 90 -0 0 0 -238 238 238 -255 255 255 -148 180 41 -106 139 0 diff --git a/graphics/pokemon_storage/seafloor_frame.pal b/graphics/pokemon_storage/seafloor_frame.pal deleted file mode 100644 index 79c7650b4..000000000 --- a/graphics/pokemon_storage/seafloor_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -131 180 255 -98 148 222 -65 115 189 -32 82 156 -0 24 98 -0 0 0 -0 0 0 -139 90 115 -156 106 131 -115 65 90 -0 0 0 -230 230 230 -255 255 255 -148 180 41 -106 139 0 diff --git a/graphics/pokemon_storage/sky_bg.pal b/graphics/pokemon_storage/sky_bg.pal deleted file mode 100644 index 3d722ed6d..000000000 --- a/graphics/pokemon_storage/sky_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -238 255 255 -205 255 255 -164 255 255 -123 213 246 -90 180 213 -57 148 180 -24 115 148 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -238 238 238 -255 255 255 -205 139 41 -164 98 0 diff --git a/graphics/pokemon_storage/sky_frame.pal b/graphics/pokemon_storage/sky_frame.pal deleted file mode 100644 index 951f59ecf..000000000 --- a/graphics/pokemon_storage/sky_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -238 255 255 -205 255 255 -164 255 255 -123 213 246 -90 180 213 -57 148 180 -24 115 148 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -230 230 230 -255 255 255 -205 139 41 -164 98 0 diff --git a/graphics/pokemon_storage/snow_bg.pal b/graphics/pokemon_storage/snow_bg.pal deleted file mode 100644 index 01e46d027..000000000 --- a/graphics/pokemon_storage/snow_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -230 230 230 -205 205 205 -139 148 189 -106 115 156 -74 82 123 -41 49 90 -8 16 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -238 238 238 -255 255 255 -213 131 139 -172 90 98 diff --git a/graphics/pokemon_storage/snow_frame.pal b/graphics/pokemon_storage/snow_frame.pal deleted file mode 100644 index 437ccb934..000000000 --- a/graphics/pokemon_storage/snow_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -230 230 230 -205 205 205 -139 148 189 -106 115 156 -74 82 123 -172 180 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -230 230 230 -255 255 255 -213 131 139 -172 90 98 diff --git a/graphics/pokemon_storage/volcano_bg.pal b/graphics/pokemon_storage/volcano_bg.pal deleted file mode 100644 index 8ea563b6e..000000000 --- a/graphics/pokemon_storage/volcano_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 246 230 -255 238 205 -255 205 172 -246 172 139 -213 139 106 -180 106 74 -148 74 41 -246 156 98 -222 131 74 -205 115 57 -180 82 24 -238 238 238 -255 255 255 -213 131 139 -172 90 98 diff --git a/graphics/pokemon_storage/volcano_frame.pal b/graphics/pokemon_storage/volcano_frame.pal deleted file mode 100644 index 0378aff29..000000000 --- a/graphics/pokemon_storage/volcano_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -222 222 222 -189 189 189 -139 148 189 -106 115 156 -74 82 123 -172 180 222 -0 0 0 -222 131 74 -205 115 57 -180 82 24 -0 0 0 -230 230 230 -255 255 255 -213 131 139 -172 90 98 diff --git a/graphics/pokemon_storage/waveform.pal b/graphics/pokemon_storage/waveform.pal deleted file mode 100644 index 4998f9a42..000000000 --- a/graphics/pokemon_storage/waveform.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -148 148 172 -82 82 90 -255 255 255 -205 255 255 -90 189 238 -90 164 205 -82 131 164 -82 106 123 -82 82 90 -0 0 0 -0 0 0 -0 0 0 -148 148 172 -115 115 123 -82 82 90 diff --git a/graphics/pokenav/arrows.pal b/graphics/pokenav/arrows.pal deleted file mode 100644 index 5761a94e5..000000000 --- a/graphics/pokenav/arrows.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 123 0 -255 139 0 -49 65 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokenav/blue_light.pal b/graphics/pokenav/blue_light.pal deleted file mode 100644 index 0ec325cbc..000000000 --- a/graphics/pokenav/blue_light.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 148 0 -205 205 213 -172 172 189 -8 180 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokenav/brendan_icon.pal b/graphics/pokenav/brendan_icon.pal deleted file mode 100644 index 5aa5d68af..000000000 --- a/graphics/pokenav/brendan_icon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -16 32 57 -41 57 98 -57 74 123 -123 65 65 -197 65 65 -255 98 90 -0 0 0 -189 156 90 -222 148 115 -255 197 90 -255 197 148 -255 213 180 -222 230 238 -255 255 255 -0 0 0 diff --git a/graphics/pokenav/condition_search2.pal b/graphics/pokenav/condition_search2.pal deleted file mode 100644 index a5a556515..000000000 --- a/graphics/pokenav/condition_search2.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -65 65 65 -49 65 74 -106 115 123 -255 255 255 -90 123 164 -98 172 230 -197 222 255 -148 156 205 -156 164 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokenav/fly_target_icons.pal b/graphics/pokenav/fly_target_icons.pal deleted file mode 100644 index c0f2cc4e9..000000000 --- a/graphics/pokenav/fly_target_icons.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 0 0 -0 0 0 -0 0 0 -205 205 205 -0 0 0 -0 0 0 -255 213 222 -255 164 197 -197 98 115 -131 131 123 -98 90 90 -49 49 65 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/pokenav/icon.pal b/graphics/pokenav/icon.pal deleted file mode 100644 index 6130754f4..000000000 --- a/graphics/pokenav/icon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -172 98 41 -180 172 172 -255 197 115 -246 123 98 -98 98 246 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokenav/map_frame.pal b/graphics/pokenav/map_frame.pal deleted file mode 100644 index d460cfe4e..000000000 --- a/graphics/pokenav/map_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -205 238 255 -197 213 255 -98 98 98 -205 205 205 -189 123 0 -0 0 0 -123 180 213 -0 115 172 -32 74 139 -255 172 16 -255 57 16 -172 90 41 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/pokenav/map_squares.pal b/graphics/pokenav/map_squares.pal deleted file mode 100644 index 7325e7fb8..000000000 --- a/graphics/pokenav/map_squares.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -189 32 32 -255 0 0 -131 156 246 -0 0 255 -148 139 148 -255 255 255 -0 197 0 -205 131 82 -222 0 230 -156 255 255 -230 230 230 -148 49 49 -65 131 74 -0 0 0 diff --git a/graphics/pokenav/may_icon.pal b/graphics/pokenav/may_icon.pal deleted file mode 100644 index 2f81b350e..000000000 --- a/graphics/pokenav/may_icon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -74 49 57 -197 65 65 -255 98 90 -205 205 222 -255 255 255 -0 0 0 -123 90 82 -164 106 82 -222 164 148 -255 222 205 -205 131 115 -41 57 65 -98 98 115 -189 156 90 -255 197 90 diff --git a/graphics/pokenav/outline.pal b/graphics/pokenav/outline.pal deleted file mode 100644 index 06aea7128..000000000 --- a/graphics/pokenav/outline.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -205 205 213 -172 172 189 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokenav/sparkle.pal b/graphics/pokenav/sparkle.pal deleted file mode 100644 index 114155fe4..000000000 --- a/graphics/pokenav/sparkle.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -49 49 57 -148 148 164 -164 255 0 -189 255 0 -230 255 0 -255 255 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -197 205 255 diff --git a/graphics/roulette/azurill.pal b/graphics/roulette/azurill.pal deleted file mode 100644 index 2d6c464e3..000000000 --- a/graphics/roulette/azurill.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -57 57 65 -139 139 131 -255 255 255 -106 156 255 -255 156 139 -57 57 65 -139 139 131 -255 255 255 -106 156 255 -255 156 139 -57 57 65 -139 139 131 -255 255 255 -106 156 255 -255 156 139 diff --git a/graphics/roulette/ball.pal b/graphics/roulette/ball.pal deleted file mode 100644 index f72217a9b..000000000 --- a/graphics/roulette/ball.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -41 41 41 -123 123 131 -172 180 197 -255 255 255 -238 238 156 -189 180 106 -131 90 32 -255 131 90 -189 106 98 -230 222 255 -74 189 156 -255 255 255 -98 156 148 -255 255 255 -82 82 82 diff --git a/graphics/roulette/ball_counter.pal b/graphics/roulette/ball_counter.pal deleted file mode 100644 index e76199ced..000000000 --- a/graphics/roulette/ball_counter.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -57 57 65 -98 98 115 -156 156 164 -255 255 255 -131 230 82 -255 156 164 -106 156 255 -255 255 255 -156 255 106 -246 230 74 -255 230 123 -24 90 16 -255 255 156 -156 255 148 -205 156 255 diff --git a/graphics/roulette/credit.pal b/graphics/roulette/credit.pal deleted file mode 100644 index 4794c9622..000000000 --- a/graphics/roulette/credit.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -41 41 41 -98 98 115 -205 205 213 -255 255 255 -123 238 139 -255 172 139 -16 156 74 -197 164 255 -49 106 32 -115 197 131 -197 139 189 -255 82 57 -255 238 82 -205 180 8 -255 205 8 diff --git a/graphics/roulette/cursor.pal b/graphics/roulette/cursor.pal deleted file mode 100644 index f5ff00341..000000000 --- a/graphics/roulette/cursor.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -41 41 41 -123 131 164 -205 205 213 -255 255 255 -123 189 238 -255 57 57 -16 156 74 -98 164 213 -255 255 255 -255 255 255 -255 255 255 -255 57 8 -255 238 82 -74 106 156 -205 156 255 diff --git a/graphics/roulette/makuhita.pal b/graphics/roulette/makuhita.pal deleted file mode 100644 index 35a9a5307..000000000 --- a/graphics/roulette/makuhita.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -57 57 65 -139 139 131 -255 255 255 -255 230 123 -246 98 90 -57 57 65 -139 139 131 -255 255 255 -255 230 123 -246 98 90 -57 57 65 -139 139 131 -255 255 255 -255 230 123 -246 98 90 diff --git a/graphics/roulette/poke_icons.pal b/graphics/roulette/poke_icons.pal deleted file mode 100644 index f2d21a7e5..000000000 --- a/graphics/roulette/poke_icons.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -57 57 65 -139 139 131 -255 255 255 -255 255 255 -106 222 222 -246 98 90 -106 156 255 -255 255 255 -255 156 139 -246 246 156 -255 230 123 -255 255 255 -255 255 156 -156 255 148 -205 156 255 diff --git a/graphics/roulette/shadow.pal b/graphics/roulette/shadow.pal deleted file mode 100644 index 2ac26b064..000000000 --- a/graphics/roulette/shadow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 98 189 -0 0 0 -65 65 65 -82 82 82 -98 98 98 -115 115 115 -131 131 131 -148 148 148 -164 164 164 -180 180 180 -205 205 205 -255 0 0 -255 255 255 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/roulette/shroomish.pal b/graphics/roulette/shroomish.pal deleted file mode 100644 index 3a1fbff02..000000000 --- a/graphics/roulette/shroomish.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -65 65 65 -222 172 106 -246 222 164 -123 172 106 -172 222 148 -156 98 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/roulette/skitty.pal b/graphics/roulette/skitty.pal deleted file mode 100644 index cdfca277d..000000000 --- a/graphics/roulette/skitty.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -57 57 65 -139 139 131 -255 255 255 -255 156 139 -246 246 156 -57 57 65 -139 139 131 -255 255 255 -255 156 139 -246 246 156 -57 57 65 -139 139 131 -255 255 255 -255 156 139 -246 246 156 diff --git a/graphics/roulette/tailow.pal b/graphics/roulette/tailow.pal deleted file mode 100644 index 00b5a7054..000000000 --- a/graphics/roulette/tailow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -65 65 65 -57 57 139 -90 98 197 -189 205 246 -255 230 90 -255 82 65 -172 57 65 -255 255 255 -65 65 65 -156 123 82 -205 189 106 -164 82 65 -98 74 57 -213 213 213 -255 255 255 diff --git a/graphics/roulette/wynaut.pal b/graphics/roulette/wynaut.pal deleted file mode 100644 index 5eef080f8..000000000 --- a/graphics/roulette/wynaut.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 106 156 -57 57 65 -139 139 131 -255 255 255 -106 222 222 -246 98 90 -57 57 65 -139 139 131 -255 255 255 -106 222 222 -246 98 90 -57 57 65 -139 139 131 -255 255 255 -106 222 222 -246 98 90 diff --git a/graphics/text_window/1.pal b/graphics/text_window/1.pal deleted file mode 100644 index 08c365c84..000000000 --- a/graphics/text_window/1.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -41 49 49 -74 74 106 -115 106 131 -98 98 148 -115 115 172 -139 139 205 -172 189 172 -222 213 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -74 65 82 diff --git a/graphics/text_window/10.pal b/graphics/text_window/10.pal deleted file mode 100644 index 7ba0c53b6..000000000 --- a/graphics/text_window/10.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -255 180 131 -255 49 0 -255 131 82 -205 115 0 -164 123 49 -131 98 24 -172 139 65 -255 164 8 -189 180 123 -222 213 156 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/11.pal b/graphics/text_window/11.pal deleted file mode 100644 index 449263e0f..000000000 --- a/graphics/text_window/11.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -106 115 115 -32 57 205 -82 131 230 -131 156 222 -164 180 230 -189 205 238 -222 230 246 -0 0 0 -180 106 189 -213 148 238 -222 180 238 -238 213 246 -255 255 255 -74 65 82 diff --git a/graphics/text_window/12.pal b/graphics/text_window/12.pal deleted file mode 100644 index efb2c1ec3..000000000 --- a/graphics/text_window/12.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -74 74 106 -148 90 164 -115 131 65 -156 189 32 -205 246 0 -238 213 74 -255 230 148 -255 148 57 -98 115 123 -123 156 139 -156 205 156 -205 49 57 -255 255 255 -74 65 82 diff --git a/graphics/text_window/13.pal b/graphics/text_window/13.pal deleted file mode 100644 index 59540758f..000000000 --- a/graphics/text_window/13.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -180 189 180 -222 213 222 -255 0 255 -255 0 255 -123 115 90 -205 172 115 -238 205 139 -32 74 172 -90 205 213 -74 115 197 -255 0 255 -255 0 255 -255 255 255 -74 65 82 diff --git a/graphics/text_window/14.pal b/graphics/text_window/14.pal deleted file mode 100644 index 492f7de72..000000000 --- a/graphics/text_window/14.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -106 74 16 -180 189 180 -222 213 222 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -156 123 57 -205 172 106 -230 180 115 -230 189 115 -238 205 131 -255 230 164 -255 255 255 -74 65 82 diff --git a/graphics/text_window/15.pal b/graphics/text_window/15.pal deleted file mode 100644 index 8c1141e05..000000000 --- a/graphics/text_window/15.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -172 123 156 -106 90 115 -82 98 156 -189 156 213 -205 180 222 -222 205 230 -238 230 238 -197 197 197 -197 197 197 -197 197 197 -197 197 197 -197 197 197 -255 255 255 -74 65 82 diff --git a/graphics/text_window/16.pal b/graphics/text_window/16.pal deleted file mode 100644 index 8b827a70f..000000000 --- a/graphics/text_window/16.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -49 57 197 -32 41 115 -246 246 49 -123 123 49 -255 74 65 -156 41 32 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/17.pal b/graphics/text_window/17.pal deleted file mode 100644 index 627af66d5..000000000 --- a/graphics/text_window/17.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -106 115 115 -180 180 180 -82 98 156 -197 180 172 -205 197 189 -222 213 213 -238 230 230 -197 197 197 -197 197 197 -197 197 197 -197 197 197 -197 197 197 -255 255 246 -74 65 82 diff --git a/graphics/text_window/18.pal b/graphics/text_window/18.pal deleted file mode 100644 index e523123c7..000000000 --- a/graphics/text_window/18.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 164 -189 148 8 -255 189 0 -255 230 0 -255 255 148 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/19.pal b/graphics/text_window/19.pal deleted file mode 100644 index 4615c7881..000000000 --- a/graphics/text_window/19.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -180 189 180 -222 213 222 -98 131 57 -255 123 82 -222 98 49 -164 49 16 -238 255 164 -238 213 131 -255 0 255 -197 255 123 -164 213 82 -131 189 65 -255 255 255 -74 65 82 diff --git a/graphics/text_window/2.pal b/graphics/text_window/2.pal deleted file mode 100644 index ac32c4606..000000000 --- a/graphics/text_window/2.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -74 65 82 diff --git a/graphics/text_window/20.pal b/graphics/text_window/20.pal deleted file mode 100644 index a7f9e1fbd..000000000 --- a/graphics/text_window/20.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -0 0 0 -0 0 0 -0 0 0 -255 213 255 -255 180 222 -131 82 24 -255 131 131 -238 65 65 -156 213 156 -106 164 106 -49 106 49 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/3.pal b/graphics/text_window/3.pal deleted file mode 100644 index 3c5120d11..000000000 --- a/graphics/text_window/3.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -98 156 246 -255 123 115 -222 74 65 -106 49 41 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/4.pal b/graphics/text_window/4.pal deleted file mode 100644 index c8e024332..000000000 --- a/graphics/text_window/4.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -57 74 74 -106 123 123 -156 172 172 -205 222 222 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/5.pal b/graphics/text_window/5.pal deleted file mode 100644 index 5d81802e2..000000000 --- a/graphics/text_window/5.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -222 213 222 -0 222 255 -123 57 0 -230 123 0 -255 255 41 -0 106 0 -0 172 0 -115 255 41 -139 0 0 -205 49 0 -255 189 0 -0 0 180 -0 106 213 -255 255 255 -74 65 82 diff --git a/graphics/text_window/6.pal b/graphics/text_window/6.pal deleted file mode 100644 index 3bb5b2006..000000000 --- a/graphics/text_window/6.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 180 238 -82 115 115 -148 189 156 -0 41 0 -90 115 106 -115 148 131 -98 74 41 -189 205 197 -115 90 57 -65 74 65 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -74 65 82 diff --git a/graphics/text_window/7.pal b/graphics/text_window/7.pal deleted file mode 100644 index 142d57bc8..000000000 --- a/graphics/text_window/7.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -139 49 49 -172 57 57 -205 65 65 -230 74 74 -255 82 82 -189 106 106 -255 131 131 -164 156 156 -213 197 197 -238 230 230 -222 213 213 -0 0 0 -0 0 0 -255 255 255 -74 65 82 diff --git a/graphics/text_window/8.pal b/graphics/text_window/8.pal deleted file mode 100644 index 4d80d0f89..000000000 --- a/graphics/text_window/8.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -0 0 0 -0 0 0 -82 189 0 -139 246 41 -156 115 41 -131 98 24 -172 139 65 -246 98 131 -255 156 180 -255 246 0 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/text_window/9.pal b/graphics/text_window/9.pal deleted file mode 100644 index b0e3b49e6..000000000 --- a/graphics/text_window/9.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 98 -41 49 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -230 246 255 -90 131 189 -115 156 213 -156 197 255 -197 238 255 -180 189 180 -222 213 222 -255 255 255 -74 65 82 diff --git a/graphics/title_screen/logo_shine.pal b/graphics/title_screen/logo_shine.pal deleted file mode 100644 index 561ab8f8f..000000000 --- a/graphics/title_screen/logo_shine.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 156 98 -0 0 0 -148 156 164 -180 189 189 -222 222 238 -255 255 255 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 diff --git a/graphics/trade/ball.pal b/graphics/trade/ball.pal deleted file mode 100644 index 0e6b2fb5c..000000000 --- a/graphics/trade/ball.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -131 0 0 -172 0 0 -213 41 41 -255 156 123 -255 255 255 -148 148 148 -65 65 65 -24 24 24 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 -255 255 255 diff --git a/graphics/trade/cable_end.pal b/graphics/trade/cable_end.pal deleted file mode 100644 index 64a442293..000000000 --- a/graphics/trade/cable_end.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 230 238 -189 205 230 -156 180 222 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -230 230 230 -205 205 205 -180 180 180 -156 156 156 -213 180 106 -205 156 82 -49 255 106 diff --git a/graphics/trade/gba.pal b/graphics/trade/gba.pal deleted file mode 100644 index 64a442293..000000000 --- a/graphics/trade/gba.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 230 238 -189 205 230 -156 180 222 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -230 230 230 -205 205 205 -180 180 180 -156 156 156 -213 180 106 -205 156 82 -49 255 106 diff --git a/graphics/trade/selected_mon.pal b/graphics/trade/selected_mon.pal deleted file mode 100644 index bb74b34a2..000000000 --- a/graphics/trade/selected_mon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -123 131 222 -98 98 180 -123 106 222 -106 172 238 -82 148 205 -180 189 230 -148 156 189 -205 106 0 -255 189 49 -246 148 0 -255 213 115 -205 74 90 -255 98 32 -205 205 222 -255 98 32 diff --git a/graphics/trade/shadow.pal b/graphics/trade/shadow.pal deleted file mode 100644 index a4bec6478..000000000 --- a/graphics/trade/shadow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -222 230 238 -189 205 230 -156 180 222 -0 16 172 -32 32 106 -16 16 90 -0 0 74 -255 255 189 -230 230 164 -205 205 148 -189 180 115 -139 139 90 -74 74 57 -32 32 32 diff --git a/graphics/trainer_card/badges.pal b/graphics/trainer_card/badges.pal deleted file mode 100644 index dd9246d9d..000000000 --- a/graphics/trainer_card/badges.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -139 98 115 -255 255 255 -213 213 213 -180 180 180 -123 123 123 -255 139 57 -222 57 8 -106 189 255 -65 139 197 -255 213 98 -238 180 57 -197 123 197 -148 74 156 -106 189 255 -205 205 205 -0 0 0 diff --git a/graphics/trainers/aqua_admin_f/front.png b/graphics/trainers/aqua_admin_f.png Binary files differindex 3428944b6..3428944b6 100644 --- a/graphics/trainers/aqua_admin_f/front.png +++ b/graphics/trainers/aqua_admin_f.png diff --git a/graphics/trainers/aqua_admin_f/palette.pal b/graphics/trainers/aqua_admin_f/palette.pal deleted file mode 100644 index 4bad68770..000000000 --- a/graphics/trainers/aqua_admin_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -238 98 41 -180 65 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/aqua_admin_m/front.png b/graphics/trainers/aqua_admin_m.png Binary files differindex 91a434ec8..91a434ec8 100644 --- a/graphics/trainers/aqua_admin_m/front.png +++ b/graphics/trainers/aqua_admin_m.png diff --git a/graphics/trainers/aqua_admin_m/palette.pal b/graphics/trainers/aqua_admin_m/palette.pal deleted file mode 100644 index 2a7a46d46..000000000 --- a/graphics/trainers/aqua_admin_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 131 41 -189 156 90 -222 82 24 -164 49 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/aqua_grunt_f/front.png b/graphics/trainers/aqua_grunt_f.png Binary files differindex 5455700db..5455700db 100644 --- a/graphics/trainers/aqua_grunt_f/front.png +++ b/graphics/trainers/aqua_grunt_f.png diff --git a/graphics/trainers/aqua_grunt_f/palette.pal b/graphics/trainers/aqua_grunt_f/palette.pal deleted file mode 100644 index 4563eba48..000000000 --- a/graphics/trainers/aqua_grunt_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -164 74 65 -189 156 90 -255 106 98 -205 82 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/aqua_grunt_m/front.png b/graphics/trainers/aqua_grunt_m.png Binary files differindex 77ead55fd..77ead55fd 100644 --- a/graphics/trainers/aqua_grunt_m/front.png +++ b/graphics/trainers/aqua_grunt_m.png diff --git a/graphics/trainers/aqua_grunt_m/palette.pal b/graphics/trainers/aqua_grunt_m/palette.pal deleted file mode 100644 index c2b28ead9..000000000 --- a/graphics/trainers/aqua_grunt_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/archie/front.png b/graphics/trainers/archie.png Binary files differindex e7593b0f0..e7593b0f0 100644 --- a/graphics/trainers/archie/front.png +++ b/graphics/trainers/archie.png diff --git a/graphics/trainers/archie/palette.pal b/graphics/trainers/archie/palette.pal deleted file mode 100644 index a778ea6bb..000000000 --- a/graphics/trainers/archie/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -131 156 180 -106 123 148 -82 90 115 -57 65 98 -213 213 222 -82 90 156 -24 32 49 -148 156 222 -106 115 213 -255 255 255 -0 0 0 diff --git a/graphics/trainers/aroma_lady/front.png b/graphics/trainers/aroma_lady.png Binary files differindex 9f6eb814c..9f6eb814c 100644 --- a/graphics/trainers/aroma_lady/front.png +++ b/graphics/trainers/aroma_lady.png diff --git a/graphics/trainers/aroma_lady/palette.pal b/graphics/trainers/aroma_lady/palette.pal deleted file mode 100644 index eb9f3dfd4..000000000 --- a/graphics/trainers/aroma_lady/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 172 -238 197 148 -205 156 115 -115 82 65 -238 230 255 -205 197 213 -156 164 205 -106 98 148 -74 222 148 -172 115 41 -115 65 24 -238 90 131 -189 65 90 -106 255 156 -0 0 0 diff --git a/graphics/trainers/battle_girl/front.png b/graphics/trainers/battle_girl.png Binary files differindex fbce1299e..fbce1299e 100644 --- a/graphics/trainers/battle_girl/front.png +++ b/graphics/trainers/battle_girl.png diff --git a/graphics/trainers/battle_girl/palette.pal b/graphics/trainers/battle_girl/palette.pal deleted file mode 100644 index 7f172b169..000000000 --- a/graphics/trainers/battle_girl/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -255 164 82 -230 106 0 -197 65 65 -156 106 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/beauty/front.png b/graphics/trainers/beauty.png Binary files differindex aea688176..aea688176 100644 --- a/graphics/trainers/beauty/front.png +++ b/graphics/trainers/beauty.png diff --git a/graphics/trainers/beauty/palette.pal b/graphics/trainers/beauty/palette.pal deleted file mode 100644 index ab549df20..000000000 --- a/graphics/trainers/beauty/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 172 131 -205 131 115 -123 82 74 -148 131 139 -255 205 106 -213 172 74 -164 123 82 -115 90 115 -74 49 74 -255 82 57 -180 82 74 -131 74 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/bird_keeper/front.png b/graphics/trainers/bird_keeper.png Binary files differindex 7ad67c5d7..7ad67c5d7 100644 --- a/graphics/trainers/bird_keeper/front.png +++ b/graphics/trainers/bird_keeper.png diff --git a/graphics/trainers/bird_keeper/palette.pal b/graphics/trainers/bird_keeper/palette.pal deleted file mode 100644 index 87194c84a..000000000 --- a/graphics/trainers/bird_keeper/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -131 139 156 -90 98 115 -57 65 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/black_belt/front.png b/graphics/trainers/black_belt.png Binary files differindex fd3b51c66..fd3b51c66 100644 --- a/graphics/trainers/black_belt/front.png +++ b/graphics/trainers/black_belt.png diff --git a/graphics/trainers/black_belt/palette.pal b/graphics/trainers/black_belt/palette.pal deleted file mode 100644 index 869e5d8df..000000000 --- a/graphics/trainers/black_belt/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 172 148 -172 131 106 -90 65 49 -148 131 123 -106 90 82 -82 90 115 -49 57 82 -205 189 189 -189 164 164 -156 139 139 -255 98 90 -197 65 65 -246 230 230 -0 0 0 diff --git a/graphics/trainers/brawly/front.png b/graphics/trainers/brawly.png Binary files differindex a8d05b25d..a8d05b25d 100644 --- a/graphics/trainers/brawly/front.png +++ b/graphics/trainers/brawly.png diff --git a/graphics/trainers/brawly/palette.pal b/graphics/trainers/brawly/palette.pal deleted file mode 100644 index 5a5a482f2..000000000 --- a/graphics/trainers/brawly/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -49 49 74 -213 213 222 -255 164 197 -115 115 115 -255 139 65 -213 98 24 -255 255 255 -0 0 0 diff --git a/graphics/trainers/brendan/front.png b/graphics/trainers/brendan.png Binary files differindex c1110bf28..c1110bf28 100644 --- a/graphics/trainers/brendan/front.png +++ b/graphics/trainers/brendan.png diff --git a/graphics/trainers/brendan/palette.pal b/graphics/trainers/brendan/palette.pal deleted file mode 100644 index b5d3791c3..000000000 --- a/graphics/trainers/brendan/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 164 148 -205 131 115 -123 90 82 -98 123 156 -74 90 131 -49 65 106 -24 41 82 -222 230 238 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/brendan/back.png b/graphics/trainers/brendan_back.png Binary files differindex 51b360637..51b360637 100644 --- a/graphics/trainers/brendan/back.png +++ b/graphics/trainers/brendan_back.png diff --git a/graphics/trainers/bug_catcher/front.png b/graphics/trainers/bug_catcher.png Binary files differindex 8fe86d40e..8fe86d40e 100644 --- a/graphics/trainers/bug_catcher/front.png +++ b/graphics/trainers/bug_catcher.png diff --git a/graphics/trainers/bug_catcher/palette.pal b/graphics/trainers/bug_catcher/palette.pal deleted file mode 100644 index c68f56690..000000000 --- a/graphics/trainers/bug_catcher/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -222 222 164 -197 197 139 -156 139 74 -41 57 98 -197 197 238 -246 238 213 -189 49 57 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/bug_maniac/front.png b/graphics/trainers/bug_maniac.png Binary files differindex 239bba039..239bba039 100644 --- a/graphics/trainers/bug_maniac/front.png +++ b/graphics/trainers/bug_maniac.png diff --git a/graphics/trainers/bug_maniac/palette.pal b/graphics/trainers/bug_maniac/palette.pal deleted file mode 100644 index 2aa329179..000000000 --- a/graphics/trainers/bug_maniac/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -49 123 156 -49 65 131 -65 74 74 -222 222 164 -197 197 139 -205 213 213 -156 139 74 -98 164 222 -106 115 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/camper/front.png b/graphics/trainers/camper.png Binary files differindex 24d173dee..24d173dee 100644 --- a/graphics/trainers/camper/front.png +++ b/graphics/trainers/camper.png diff --git a/graphics/trainers/camper/palette.pal b/graphics/trainers/camper/palette.pal deleted file mode 100644 index e5c224fd2..000000000 --- a/graphics/trainers/camper/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/collector/front.png b/graphics/trainers/collector.png Binary files differindex 15187ce1c..15187ce1c 100644 --- a/graphics/trainers/collector/front.png +++ b/graphics/trainers/collector.png diff --git a/graphics/trainers/collector/palette.pal b/graphics/trainers/collector/palette.pal deleted file mode 100644 index d4d9221e2..000000000 --- a/graphics/trainers/collector/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -197 139 115 -123 90 82 -106 139 189 -65 98 148 -32 74 123 -255 98 90 -197 65 65 -213 222 230 -131 74 65 -115 123 131 -164 172 180 -255 255 255 -0 0 0 diff --git a/graphics/trainers/cool_trainer_f/front.png b/graphics/trainers/cool_trainer_f.png Binary files differindex 572aa811a..572aa811a 100644 --- a/graphics/trainers/cool_trainer_f/front.png +++ b/graphics/trainers/cool_trainer_f.png diff --git a/graphics/trainers/cool_trainer_f/palette.pal b/graphics/trainers/cool_trainer_f/palette.pal deleted file mode 100644 index 292d0fc78..000000000 --- a/graphics/trainers/cool_trainer_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 197 156 -205 156 115 -115 82 65 -238 156 115 -205 90 74 -0 189 222 -123 41 24 -180 230 139 -139 180 57 -74 90 32 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/cool_trainer_m/front.png b/graphics/trainers/cool_trainer_m.png Binary files differindex 6b998992e..6b998992e 100644 --- a/graphics/trainers/cool_trainer_m/front.png +++ b/graphics/trainers/cool_trainer_m.png diff --git a/graphics/trainers/cool_trainer_m/palette.pal b/graphics/trainers/cool_trainer_m/palette.pal deleted file mode 100644 index 52a32e925..000000000 --- a/graphics/trainers/cool_trainer_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -238 156 115 -230 98 82 -180 90 74 -131 49 32 -57 90 41 -164 180 106 -98 123 57 -255 246 189 -213 205 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/cycling_triathlete_f/front.png b/graphics/trainers/cycling_triathlete_f.png Binary files differindex b5c2662b3..b5c2662b3 100644 --- a/graphics/trainers/cycling_triathlete_f/front.png +++ b/graphics/trainers/cycling_triathlete_f.png diff --git a/graphics/trainers/cycling_triathlete_f/palette.pal b/graphics/trainers/cycling_triathlete_f/palette.pal deleted file mode 100644 index b72bb3011..000000000 --- a/graphics/trainers/cycling_triathlete_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -57 41 57 -57 74 106 -131 131 156 -139 156 238 -115 131 205 -98 106 172 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/cycling_triathlete_m/front.png b/graphics/trainers/cycling_triathlete_m.png Binary files differindex b2f55f0fc..b2f55f0fc 100644 --- a/graphics/trainers/cycling_triathlete_m/front.png +++ b/graphics/trainers/cycling_triathlete_m.png diff --git a/graphics/trainers/cycling_triathlete_m/palette.pal b/graphics/trainers/cycling_triathlete_m/palette.pal deleted file mode 100644 index 9255a4a94..000000000 --- a/graphics/trainers/cycling_triathlete_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -238 189 139 -189 148 115 -139 106 82 -57 41 57 -115 90 106 -156 131 156 -156 213 255 -106 164 222 -82 131 197 -205 197 255 -230 90 65 -189 74 41 -139 74 82 -255 255 255 -0 0 24 diff --git a/graphics/trainers/dragon_tamer/front.png b/graphics/trainers/dragon_tamer.png Binary files differindex 285f2207c..285f2207c 100644 --- a/graphics/trainers/dragon_tamer/front.png +++ b/graphics/trainers/dragon_tamer.png diff --git a/graphics/trainers/dragon_tamer/palette.pal b/graphics/trainers/dragon_tamer/palette.pal deleted file mode 100644 index 545c55b74..000000000 --- a/graphics/trainers/dragon_tamer/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -74 57 49 -164 57 246 -123 49 172 -131 139 148 -255 98 90 -197 65 65 -213 222 230 -74 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/drake/front.png b/graphics/trainers/drake.png Binary files differindex b27716719..b27716719 100644 --- a/graphics/trainers/drake/front.png +++ b/graphics/trainers/drake.png diff --git a/graphics/trainers/drake/palette.pal b/graphics/trainers/drake/palette.pal deleted file mode 100644 index 6ab0bae73..000000000 --- a/graphics/trainers/drake/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 172 148 -164 131 106 -98 57 65 -139 131 164 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -255 222 106 -189 156 90 -106 131 238 -65 106 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/expert_f/front.png b/graphics/trainers/expert_f.png Binary files differindex 5f69c2de6..5f69c2de6 100644 --- a/graphics/trainers/expert_f/front.png +++ b/graphics/trainers/expert_f.png diff --git a/graphics/trainers/expert_f/palette.pal b/graphics/trainers/expert_f/palette.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/expert_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/expert_m/front.png b/graphics/trainers/expert_m.png Binary files differindex 1c53bf71f..1c53bf71f 100644 --- a/graphics/trainers/expert_m/front.png +++ b/graphics/trainers/expert_m.png diff --git a/graphics/trainers/expert_m/palette.pal b/graphics/trainers/expert_m/palette.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/expert_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/fisherman/front.png b/graphics/trainers/fisherman.png Binary files differindex 8e90ccb17..8e90ccb17 100644 --- a/graphics/trainers/fisherman/front.png +++ b/graphics/trainers/fisherman.png diff --git a/graphics/trainers/fisherman/palette.pal b/graphics/trainers/fisherman/palette.pal deleted file mode 100644 index 3c18e8f1f..000000000 --- a/graphics/trainers/fisherman/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 213 189 -222 172 148 -180 131 115 -82 57 57 -123 98 106 -82 82 123 -213 172 82 -180 139 82 -205 205 222 -123 82 49 -49 49 74 -246 123 49 -189 106 49 -238 238 255 -0 0 24 diff --git a/graphics/trainers/flannery/front.png b/graphics/trainers/flannery.png Binary files differindex 942dc5b6b..942dc5b6b 100644 --- a/graphics/trainers/flannery/front.png +++ b/graphics/trainers/flannery.png diff --git a/graphics/trainers/flannery/palette.pal b/graphics/trainers/flannery/palette.pal deleted file mode 100644 index 20f2f8579..000000000 --- a/graphics/trainers/flannery/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -90 156 213 -65 115 164 -49 49 74 -213 213 222 -131 74 16 -115 115 115 -255 139 65 -197 98 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/gentleman/front.png b/graphics/trainers/gentleman.png Binary files differindex 85e4b024b..85e4b024b 100644 --- a/graphics/trainers/gentleman/front.png +++ b/graphics/trainers/gentleman.png diff --git a/graphics/trainers/gentleman/palette.pal b/graphics/trainers/gentleman/palette.pal deleted file mode 100644 index ef021d026..000000000 --- a/graphics/trainers/gentleman/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -180 148 115 -148 115 82 -123 90 57 -65 49 41 -255 238 156 -213 213 205 -180 180 172 -90 106 172 -57 74 123 -255 255 255 -0 0 0 diff --git a/graphics/trainers/glacia/front.png b/graphics/trainers/glacia.png Binary files differindex 7f135ff4b..7f135ff4b 100644 --- a/graphics/trainers/glacia/front.png +++ b/graphics/trainers/glacia.png diff --git a/graphics/trainers/glacia/palette.pal b/graphics/trainers/glacia/palette.pal deleted file mode 100644 index 75b5eb108..000000000 --- a/graphics/trainers/glacia/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -148 148 164 -148 90 164 -115 65 123 -82 41 82 -255 255 164 -213 197 90 -156 148 90 -222 230 238 -189 197 205 -255 255 255 -0 0 0 diff --git a/graphics/trainers/guitarist/front.png b/graphics/trainers/guitarist.png Binary files differindex 477f76bdc..477f76bdc 100644 --- a/graphics/trainers/guitarist/front.png +++ b/graphics/trainers/guitarist.png diff --git a/graphics/trainers/guitarist/palette.pal b/graphics/trainers/guitarist/palette.pal deleted file mode 100644 index 74e59e819..000000000 --- a/graphics/trainers/guitarist/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -172 172 164 -139 131 131 -106 98 98 -65 57 57 -255 238 156 -255 197 90 -205 180 148 -255 98 90 -189 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/hex_maniac/front.png b/graphics/trainers/hex_maniac.png Binary files differindex 8d66b4794..8d66b4794 100644 --- a/graphics/trainers/hex_maniac/front.png +++ b/graphics/trainers/hex_maniac.png diff --git a/graphics/trainers/hex_maniac/palette.pal b/graphics/trainers/hex_maniac/palette.pal deleted file mode 100644 index 549d7fac9..000000000 --- a/graphics/trainers/hex_maniac/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 123 156 -139 90 131 -106 65 106 -74 41 74 -213 222 230 -189 205 213 -205 57 82 -115 41 65 -180 49 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/hiker/front.png b/graphics/trainers/hiker.png Binary files differindex 6112a5f1e..6112a5f1e 100644 --- a/graphics/trainers/hiker/front.png +++ b/graphics/trainers/hiker.png diff --git a/graphics/trainers/hiker/palette.pal b/graphics/trainers/hiker/palette.pal deleted file mode 100644 index cb8fce7f6..000000000 --- a/graphics/trainers/hiker/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 164 148 -205 131 115 -74 65 57 -123 189 90 -115 148 90 -213 180 98 -172 148 98 -205 205 222 -148 148 148 -123 115 74 -230 98 90 -164 74 74 -255 255 255 -0 0 24 diff --git a/graphics/trainers/interviewer/front.png b/graphics/trainers/interviewer.png Binary files differindex ff2f9ca54..ff2f9ca54 100644 --- a/graphics/trainers/interviewer/front.png +++ b/graphics/trainers/interviewer.png diff --git a/graphics/trainers/interviewer/palette.pal b/graphics/trainers/interviewer/palette.pal deleted file mode 100644 index 61ace1935..000000000 --- a/graphics/trainers/interviewer/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 148 172 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -98 197 255 -90 156 189 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/kindler/front.png b/graphics/trainers/kindler.png Binary files differindex 01deeb1d9..01deeb1d9 100644 --- a/graphics/trainers/kindler/front.png +++ b/graphics/trainers/kindler.png diff --git a/graphics/trainers/kindler/palette.pal b/graphics/trainers/kindler/palette.pal deleted file mode 100644 index af6adf7e8..000000000 --- a/graphics/trainers/kindler/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -246 246 230 -222 222 189 -180 180 139 -123 115 74 -172 213 246 -115 180 205 -57 123 139 -255 82 57 -255 156 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/lady/front.png b/graphics/trainers/lady.png Binary files differindex 4914eb433..4914eb433 100644 --- a/graphics/trainers/lady/front.png +++ b/graphics/trainers/lady.png diff --git a/graphics/trainers/lady/palette.pal b/graphics/trainers/lady/palette.pal deleted file mode 100644 index b70873111..000000000 --- a/graphics/trainers/lady/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 222 -238 180 180 -156 123 106 -172 106 74 -82 82 32 -213 222 230 -255 230 106 -213 172 90 -222 98 123 -148 164 180 -180 238 106 -148 213 82 -123 189 65 -255 255 255 -0 0 24 diff --git a/graphics/trainers/lass/front.png b/graphics/trainers/lass.png Binary files differindex 5ccf1afcd..5ccf1afcd 100644 --- a/graphics/trainers/lass/front.png +++ b/graphics/trainers/lass.png diff --git a/graphics/trainers/lass/palette.pal b/graphics/trainers/lass/palette.pal deleted file mode 100644 index 89e78d683..000000000 --- a/graphics/trainers/lass/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -222 148 115 -123 90 82 -164 172 197 -90 98 148 -49 57 82 -41 57 98 -222 230 238 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/magma_admin_f/front.png b/graphics/trainers/magma_admin_f.png Binary files differindex c5890b11f..c5890b11f 100644 --- a/graphics/trainers/magma_admin_f/front.png +++ b/graphics/trainers/magma_admin_f.png diff --git a/graphics/trainers/magma_admin_f/palette.pal b/graphics/trainers/magma_admin_f/palette.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/magma_admin_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/magma_admin_m/front.png b/graphics/trainers/magma_admin_m.png Binary files differindex d7b5e4fb1..d7b5e4fb1 100644 --- a/graphics/trainers/magma_admin_m/front.png +++ b/graphics/trainers/magma_admin_m.png diff --git a/graphics/trainers/magma_admin_m/palette.pal b/graphics/trainers/magma_admin_m/palette.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/magma_admin_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/magma_grunt_f/front.png b/graphics/trainers/magma_grunt_f.png Binary files differindex 6fa81a6a7..6fa81a6a7 100644 --- a/graphics/trainers/magma_grunt_f/front.png +++ b/graphics/trainers/magma_grunt_f.png diff --git a/graphics/trainers/magma_grunt_f/palette.pal b/graphics/trainers/magma_grunt_f/palette.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/magma_grunt_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/magma_grunt_m/front.png b/graphics/trainers/magma_grunt_m.png Binary files differindex 4c7fa355a..4c7fa355a 100644 --- a/graphics/trainers/magma_grunt_m/front.png +++ b/graphics/trainers/magma_grunt_m.png diff --git a/graphics/trainers/magma_grunt_m/palette.pal b/graphics/trainers/magma_grunt_m/palette.pal deleted file mode 100644 index a987cdbc1..000000000 --- a/graphics/trainers/magma_grunt_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -123 123 123 -90 90 90 -82 98 148 -57 57 65 -65 74 115 -139 49 65 -189 189 180 -222 82 98 -189 57 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/maxie/front.png b/graphics/trainers/maxie.png Binary files differindex 679f62367..679f62367 100644 --- a/graphics/trainers/maxie/front.png +++ b/graphics/trainers/maxie.png diff --git a/graphics/trainers/maxie/palette.pal b/graphics/trainers/maxie/palette.pal deleted file mode 100644 index 151bf6d5b..000000000 --- a/graphics/trainers/maxie/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 180 197 -115 123 139 -74 82 98 -49 57 82 -213 213 222 -131 16 41 -24 32 49 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/may/front.png b/graphics/trainers/may.png Binary files differindex b795b4586..b795b4586 100644 --- a/graphics/trainers/may/front.png +++ b/graphics/trainers/may.png diff --git a/graphics/trainers/may/palette.pal b/graphics/trainers/may/palette.pal deleted file mode 100644 index e106ce693..000000000 --- a/graphics/trainers/may/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 164 148 -205 131 115 -123 90 82 -98 98 115 -41 57 65 -164 106 82 -74 49 57 -205 205 222 -255 197 90 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/may/back.png b/graphics/trainers/may_back.png Binary files differindex a6930037f..a6930037f 100644 --- a/graphics/trainers/may/back.png +++ b/graphics/trainers/may_back.png diff --git a/graphics/trainers/ninja_boy/front.png b/graphics/trainers/ninja_boy.png Binary files differindex f36849ca3..f36849ca3 100644 --- a/graphics/trainers/ninja_boy/front.png +++ b/graphics/trainers/ninja_boy.png diff --git a/graphics/trainers/ninja_boy/palette.pal b/graphics/trainers/ninja_boy/palette.pal deleted file mode 100644 index 524d3f4ba..000000000 --- a/graphics/trainers/ninja_boy/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -164 180 197 -131 139 156 -82 98 115 -49 57 82 -213 213 222 -131 16 41 -255 172 32 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/norman/front.png b/graphics/trainers/norman.png Binary files differindex ce9998b09..ce9998b09 100644 --- a/graphics/trainers/norman/front.png +++ b/graphics/trainers/norman.png diff --git a/graphics/trainers/norman/palette.pal b/graphics/trainers/norman/palette.pal deleted file mode 100644 index e53c16837..000000000 --- a/graphics/trainers/norman/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 197 230 -139 156 172 -74 98 123 -49 65 82 -213 213 222 -131 16 41 -115 115 115 -213 82 90 -180 41 57 -255 255 255 -0 0 0 diff --git a/graphics/trainers/old_couple/front.png b/graphics/trainers/old_couple.png Binary files differindex 71c527b72..71c527b72 100644 --- a/graphics/trainers/old_couple/front.png +++ b/graphics/trainers/old_couple.png diff --git a/graphics/trainers/old_couple/palette.pal b/graphics/trainers/old_couple/palette.pal deleted file mode 100644 index 2fa5f5202..000000000 --- a/graphics/trainers/old_couple/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -189 156 90 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/parasol_lady/front.png b/graphics/trainers/parasol_lady.png Binary files differindex 088d4d76e..088d4d76e 100644 --- a/graphics/trainers/parasol_lady/front.png +++ b/graphics/trainers/parasol_lady.png diff --git a/graphics/trainers/parasol_lady/palette.pal b/graphics/trainers/parasol_lady/palette.pal deleted file mode 100644 index dc5c6f67f..000000000 --- a/graphics/trainers/parasol_lady/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 82 65 -90 131 189 -65 90 139 -41 65 98 -255 98 90 -197 65 65 -255 156 106 -131 74 65 -255 205 106 -213 172 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/phoebe/front.png b/graphics/trainers/phoebe.png Binary files differindex 788908c6c..788908c6c 100644 --- a/graphics/trainers/phoebe/front.png +++ b/graphics/trainers/phoebe.png diff --git a/graphics/trainers/phoebe/palette.pal b/graphics/trainers/phoebe/palette.pal deleted file mode 100644 index 8c07c0d5b..000000000 --- a/graphics/trainers/phoebe/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -115 82 65 -57 131 255 -32 106 230 -16 82 205 -41 49 123 -164 205 255 -115 98 106 -74 57 65 -255 82 156 -197 65 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/picnicker/front.png b/graphics/trainers/picnicker.png Binary files differindex 06d4d3dea..06d4d3dea 100644 --- a/graphics/trainers/picnicker/front.png +++ b/graphics/trainers/picnicker.png diff --git a/graphics/trainers/picnicker/palette.pal b/graphics/trainers/picnicker/palette.pal deleted file mode 100644 index acd90e943..000000000 --- a/graphics/trainers/picnicker/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -131 213 205 -82 164 148 -180 189 222 -57 90 74 -24 49 90 -98 115 230 -57 82 131 -255 98 41 -189 74 41 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokefan_f/front.png b/graphics/trainers/pokefan_f.png Binary files differindex 4d4f9cffe..4d4f9cffe 100644 --- a/graphics/trainers/pokefan_f/front.png +++ b/graphics/trainers/pokefan_f.png diff --git a/graphics/trainers/pokefan_f/palette.pal b/graphics/trainers/pokefan_f/palette.pal deleted file mode 100644 index 09728f005..000000000 --- a/graphics/trainers/pokefan_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 172 189 -65 123 180 -255 0 255 -32 57 82 -197 205 213 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokefan_m/front.png b/graphics/trainers/pokefan_m.png Binary files differindex a6dc4a18e..a6dc4a18e 100644 --- a/graphics/trainers/pokefan_m/front.png +++ b/graphics/trainers/pokefan_m.png diff --git a/graphics/trainers/pokefan_m/palette.pal b/graphics/trainers/pokefan_m/palette.pal deleted file mode 100644 index 1d1f48875..000000000 --- a/graphics/trainers/pokefan_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -222 189 148 -197 156 115 -156 123 82 -49 57 49 -230 90 41 -131 172 222 -172 49 32 -82 123 172 -255 238 74 -213 189 41 -205 205 213 -98 98 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokemaniac/front.png b/graphics/trainers/pokemaniac.png Binary files differindex f35de383d..f35de383d 100644 --- a/graphics/trainers/pokemaniac/front.png +++ b/graphics/trainers/pokemaniac.png diff --git a/graphics/trainers/pokemaniac/palette.pal b/graphics/trainers/pokemaniac/palette.pal deleted file mode 100644 index 3ede03b14..000000000 --- a/graphics/trainers/pokemaniac/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -246 189 115 -213 123 74 -180 82 74 -139 57 41 -74 74 49 -255 230 57 -98 123 106 -230 82 24 -213 205 230 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokemon_breeder_f/front.png b/graphics/trainers/pokemon_breeder_f.png Binary files differindex d20122a7b..d20122a7b 100644 --- a/graphics/trainers/pokemon_breeder_f/front.png +++ b/graphics/trainers/pokemon_breeder_f.png diff --git a/graphics/trainers/pokemon_breeder_f/palette.pal b/graphics/trainers/pokemon_breeder_f/palette.pal deleted file mode 100644 index b15f5db8a..000000000 --- a/graphics/trainers/pokemon_breeder_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -255 98 90 -164 49 65 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokemon_breeder_m/front.png b/graphics/trainers/pokemon_breeder_m.png Binary files differindex da37f87dd..da37f87dd 100644 --- a/graphics/trainers/pokemon_breeder_m/front.png +++ b/graphics/trainers/pokemon_breeder_m.png diff --git a/graphics/trainers/pokemon_breeder_m/palette.pal b/graphics/trainers/pokemon_breeder_m/palette.pal deleted file mode 100644 index 6551f8482..000000000 --- a/graphics/trainers/pokemon_breeder_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 74 -255 98 90 -156 65 74 -255 148 131 -49 49 74 -213 222 230 -205 74 74 -115 148 197 -49 74 123 -57 115 164 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokemon_ranger_f/front.png b/graphics/trainers/pokemon_ranger_f.png Binary files differindex a5e00d751..a5e00d751 100644 --- a/graphics/trainers/pokemon_ranger_f/front.png +++ b/graphics/trainers/pokemon_ranger_f.png diff --git a/graphics/trainers/pokemon_ranger_f/palette.pal b/graphics/trainers/pokemon_ranger_f/palette.pal deleted file mode 100644 index 93220f5cb..000000000 --- a/graphics/trainers/pokemon_ranger_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -131 90 65 -82 49 49 -131 139 156 -82 90 115 -49 57 82 -213 213 222 -255 205 65 -255 131 74 -205 98 74 -156 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/pokemon_ranger_m/front.png b/graphics/trainers/pokemon_ranger_m.png Binary files differindex 84f17dab1..84f17dab1 100644 --- a/graphics/trainers/pokemon_ranger_m/front.png +++ b/graphics/trainers/pokemon_ranger_m.png diff --git a/graphics/trainers/pokemon_ranger_m/palette.pal b/graphics/trainers/pokemon_ranger_m/palette.pal deleted file mode 100644 index 2f16ca0cb..000000000 --- a/graphics/trainers/pokemon_ranger_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -139 106 82 -82 49 49 -131 139 156 -90 98 115 -49 57 82 -213 213 222 -255 205 65 -238 139 82 -197 82 74 -115 57 49 -255 255 255 -0 0 0 diff --git a/graphics/trainers/psychic_f/front.png b/graphics/trainers/psychic_f.png Binary files differindex b7e3ac406..b7e3ac406 100644 --- a/graphics/trainers/psychic_f/front.png +++ b/graphics/trainers/psychic_f.png diff --git a/graphics/trainers/psychic_f/palette.pal b/graphics/trainers/psychic_f/palette.pal deleted file mode 100644 index 232cfd755..000000000 --- a/graphics/trainers/psychic_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -246 205 156 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -255 0 246 -41 57 90 -213 131 255 -156 115 180 -115 82 148 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/psychic_m/front.png b/graphics/trainers/psychic_m.png Binary files differindex a0272a3a2..a0272a3a2 100644 --- a/graphics/trainers/psychic_m/front.png +++ b/graphics/trainers/psychic_m.png diff --git a/graphics/trainers/psychic_m/palette.pal b/graphics/trainers/psychic_m/palette.pal deleted file mode 100644 index 0ddd2894b..000000000 --- a/graphics/trainers/psychic_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -230 189 148 -205 156 115 -115 82 65 -98 123 180 -32 98 131 -0 255 0 -41 57 90 -213 131 255 -131 106 172 -90 74 131 -246 139 90 -197 90 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/rich_boy/front.png b/graphics/trainers/rich_boy.png Binary files differindex c0404a44e..c0404a44e 100644 --- a/graphics/trainers/rich_boy/front.png +++ b/graphics/trainers/rich_boy.png diff --git a/graphics/trainers/rich_boy/palette.pal b/graphics/trainers/rich_boy/palette.pal deleted file mode 100644 index 1ebb77204..000000000 --- a/graphics/trainers/rich_boy/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -213 222 230 -255 230 98 -222 180 90 -156 123 115 -115 82 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/roxanne/front.png b/graphics/trainers/roxanne.png Binary files differindex b996ee790..b996ee790 100644 --- a/graphics/trainers/roxanne/front.png +++ b/graphics/trainers/roxanne.png diff --git a/graphics/trainers/roxanne/palette.pal b/graphics/trainers/roxanne/palette.pal deleted file mode 100644 index c2b28ead9..000000000 --- a/graphics/trainers/roxanne/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 164 197 -189 156 90 -255 115 148 -213 82 115 -255 255 255 -0 0 0 diff --git a/graphics/trainers/ruin_maniac/front.png b/graphics/trainers/ruin_maniac.png Binary files differindex b234aabd5..b234aabd5 100644 --- a/graphics/trainers/ruin_maniac/front.png +++ b/graphics/trainers/ruin_maniac.png diff --git a/graphics/trainers/ruin_maniac/palette.pal b/graphics/trainers/ruin_maniac/palette.pal deleted file mode 100644 index bbc342a06..000000000 --- a/graphics/trainers/ruin_maniac/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -255 238 106 -246 246 230 -222 222 189 -180 180 139 -115 106 65 -222 213 246 -115 131 205 -222 189 8 -213 115 139 -172 74 90 -255 255 255 -0 0 0 diff --git a/graphics/trainers/running_triathlete_f/front.png b/graphics/trainers/running_triathlete_f.png Binary files differindex 29297cc82..29297cc82 100644 --- a/graphics/trainers/running_triathlete_f/front.png +++ b/graphics/trainers/running_triathlete_f.png diff --git a/graphics/trainers/running_triathlete_f/palette.pal b/graphics/trainers/running_triathlete_f/palette.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/running_triathlete_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/running_triathlete_m/front.png b/graphics/trainers/running_triathlete_m.png Binary files differindex 7fe34330f..7fe34330f 100644 --- a/graphics/trainers/running_triathlete_m/front.png +++ b/graphics/trainers/running_triathlete_m.png diff --git a/graphics/trainers/running_triathlete_m/palette.pal b/graphics/trainers/running_triathlete_m/palette.pal deleted file mode 100644 index 13a56a556..000000000 --- a/graphics/trainers/running_triathlete_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 180 -230 180 148 -180 139 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/sailor/front.png b/graphics/trainers/sailor.png Binary files differindex 298c2c6e1..298c2c6e1 100644 --- a/graphics/trainers/sailor/front.png +++ b/graphics/trainers/sailor.png diff --git a/graphics/trainers/sailor/palette.pal b/graphics/trainers/sailor/palette.pal deleted file mode 100644 index 3b6248576..000000000 --- a/graphics/trainers/sailor/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -180 180 172 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -139 139 131 -131 180 230 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/school_kid_f/front.png b/graphics/trainers/school_kid_f.png Binary files differindex 9107a4373..9107a4373 100644 --- a/graphics/trainers/school_kid_f/front.png +++ b/graphics/trainers/school_kid_f.png diff --git a/graphics/trainers/school_kid_f/palette.pal b/graphics/trainers/school_kid_f/palette.pal deleted file mode 100644 index ce758377a..000000000 --- a/graphics/trainers/school_kid_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -238 189 156 -205 148 115 -106 74 57 -255 139 164 -213 82 131 -131 139 255 -98 115 180 -57 74 131 -246 189 123 -197 131 65 -230 82 41 -139 90 32 -255 255 255 -0 0 0 diff --git a/graphics/trainers/school_kid_m/front.png b/graphics/trainers/school_kid_m.png Binary files differindex 614f99ae1..614f99ae1 100644 --- a/graphics/trainers/school_kid_m/front.png +++ b/graphics/trainers/school_kid_m.png diff --git a/graphics/trainers/school_kid_m/palette.pal b/graphics/trainers/school_kid_m/palette.pal deleted file mode 100644 index dc4298ea0..000000000 --- a/graphics/trainers/school_kid_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -172 164 115 -65 90 148 -49 57 82 -131 123 82 -197 197 238 -255 222 65 -205 189 123 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/trainers/sidney/front.png b/graphics/trainers/sidney.png Binary files differindex d43ab5cc3..d43ab5cc3 100644 --- a/graphics/trainers/sidney/front.png +++ b/graphics/trainers/sidney.png diff --git a/graphics/trainers/sidney/palette.pal b/graphics/trainers/sidney/palette.pal deleted file mode 100644 index d778e0ed6..000000000 --- a/graphics/trainers/sidney/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -131 106 74 -106 98 123 -41 49 57 -57 65 82 -197 197 213 -238 213 139 -197 164 106 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/sis_and_bro/front.png b/graphics/trainers/sis_and_bro.png Binary files differindex ba32a26c3..ba32a26c3 100644 --- a/graphics/trainers/sis_and_bro/front.png +++ b/graphics/trainers/sis_and_bro.png diff --git a/graphics/trainers/sis_and_bro/palette.pal b/graphics/trainers/sis_and_bro/palette.pal deleted file mode 100644 index 823ef66ef..000000000 --- a/graphics/trainers/sis_and_bro/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/sr_and_jr/front.png b/graphics/trainers/sr_and_jr.png Binary files differindex 124637452..124637452 100644 --- a/graphics/trainers/sr_and_jr/front.png +++ b/graphics/trainers/sr_and_jr.png diff --git a/graphics/trainers/sr_and_jr/palette.pal b/graphics/trainers/sr_and_jr/palette.pal deleted file mode 100644 index 72238881f..000000000 --- a/graphics/trainers/sr_and_jr/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -131 90 41 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/steven/front.png b/graphics/trainers/steven.png Binary files differindex a322cbe5a..a322cbe5a 100644 --- a/graphics/trainers/steven/front.png +++ b/graphics/trainers/steven.png diff --git a/graphics/trainers/steven/palette.pal b/graphics/trainers/steven/palette.pal deleted file mode 100644 index bb2fedd5f..000000000 --- a/graphics/trainers/steven/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 148 115 -123 90 82 -189 115 205 -164 82 172 -82 82 90 -49 49 57 -213 222 238 -172 189 213 -123 148 164 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/swimmer_f/front.png b/graphics/trainers/swimmer_f.png Binary files differindex 7018c85b8..7018c85b8 100644 --- a/graphics/trainers/swimmer_f/front.png +++ b/graphics/trainers/swimmer_f.png diff --git a/graphics/trainers/swimmer_f/palette.pal b/graphics/trainers/swimmer_f/palette.pal deleted file mode 100644 index 823ef66ef..000000000 --- a/graphics/trainers/swimmer_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -246 205 189 -222 164 148 -164 123 98 -74 57 49 -255 139 90 -230 82 74 -180 65 65 -90 65 82 -197 65 65 -213 222 230 -255 230 205 -139 172 213 -90 131 189 -255 255 255 -0 0 0 diff --git a/graphics/trainers/swimmer_m/front.png b/graphics/trainers/swimmer_m.png Binary files differindex da4909deb..da4909deb 100644 --- a/graphics/trainers/swimmer_m/front.png +++ b/graphics/trainers/swimmer_m.png diff --git a/graphics/trainers/swimmer_m/palette.pal b/graphics/trainers/swimmer_m/palette.pal deleted file mode 100644 index 259a53b9a..000000000 --- a/graphics/trainers/swimmer_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -230 197 172 -213 172 148 -172 123 106 -115 82 65 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -172 172 180 -139 65 65 -222 238 238 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/swimming_triathlete_f/front.png b/graphics/trainers/swimming_triathlete_f.png Binary files differindex 808c1c1c7..808c1c1c7 100644 --- a/graphics/trainers/swimming_triathlete_f/front.png +++ b/graphics/trainers/swimming_triathlete_f.png diff --git a/graphics/trainers/swimming_triathlete_f/palette.pal b/graphics/trainers/swimming_triathlete_f/palette.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/swimming_triathlete_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/swimming_triathlete_m/front.png b/graphics/trainers/swimming_triathlete_m.png Binary files differindex f649d0045..f649d0045 100644 --- a/graphics/trainers/swimming_triathlete_m/front.png +++ b/graphics/trainers/swimming_triathlete_m.png diff --git a/graphics/trainers/swimming_triathlete_m/palette.pal b/graphics/trainers/swimming_triathlete_m/palette.pal deleted file mode 100644 index 671c1593f..000000000 --- a/graphics/trainers/swimming_triathlete_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -90 131 189 -65 90 139 -41 65 98 -49 41 65 -205 213 222 -180 139 90 -139 65 65 -255 98 90 -197 65 65 -255 255 255 -0 0 0 diff --git a/graphics/trainers/tate_and_liza/front.png b/graphics/trainers/tate_and_liza.png Binary files differindex a4930e3f1..a4930e3f1 100644 --- a/graphics/trainers/tate_and_liza/front.png +++ b/graphics/trainers/tate_and_liza.png diff --git a/graphics/trainers/tate_and_liza/palette.pal b/graphics/trainers/tate_and_liza/palette.pal deleted file mode 100644 index ab64e9bea..000000000 --- a/graphics/trainers/tate_and_liza/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 172 65 -255 222 205 -238 180 148 -180 131 106 -106 74 74 -189 189 197 -123 123 131 -74 82 98 -41 49 65 -255 98 90 -164 49 57 -255 197 90 -106 189 255 -90 139 197 -255 255 255 -0 0 0 diff --git a/graphics/trainers/tuber_f/front.png b/graphics/trainers/tuber_f.png Binary files differindex 93dc6eea2..93dc6eea2 100644 --- a/graphics/trainers/tuber_f/front.png +++ b/graphics/trainers/tuber_f.png diff --git a/graphics/trainers/tuber_f/palette.pal b/graphics/trainers/tuber_f/palette.pal deleted file mode 100644 index b5cb0047a..000000000 --- a/graphics/trainers/tuber_f/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/tuber_m/front.png b/graphics/trainers/tuber_m.png Binary files differindex 19182aa59..19182aa59 100644 --- a/graphics/trainers/tuber_m/front.png +++ b/graphics/trainers/tuber_m.png diff --git a/graphics/trainers/tuber_m/palette.pal b/graphics/trainers/tuber_m/palette.pal deleted file mode 100644 index b5cb0047a..000000000 --- a/graphics/trainers/tuber_m/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -205 57 82 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/twins/front.png b/graphics/trainers/twins.png Binary files differindex f0c0e034e..f0c0e034e 100644 --- a/graphics/trainers/twins/front.png +++ b/graphics/trainers/twins.png diff --git a/graphics/trainers/twins/palette.pal b/graphics/trainers/twins/palette.pal deleted file mode 100644 index 3b162de25..000000000 --- a/graphics/trainers/twins/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -139 172 213 -90 131 189 -65 90 139 -57 57 57 -213 222 230 -255 230 74 -180 82 98 -238 180 57 -189 131 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/unused_aqua/front.png b/graphics/trainers/unused_aqua.png Binary files differindex 5a1163176..5a1163176 100644 --- a/graphics/trainers/unused_aqua/front.png +++ b/graphics/trainers/unused_aqua.png diff --git a/graphics/trainers/unused_aqua/palette.pal b/graphics/trainers/unused_aqua/palette.pal deleted file mode 100644 index e0323fba1..000000000 --- a/graphics/trainers/unused_aqua/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -164 197 213 -106 98 139 -65 90 90 -57 57 57 -205 222 189 -156 57 57 -189 156 90 -255 106 98 -205 82 74 -255 255 255 -0 0 0 diff --git a/graphics/trainers/wallace/front.png b/graphics/trainers/wallace.png Binary files differindex 3f0159cdb..3f0159cdb 100644 --- a/graphics/trainers/wallace/front.png +++ b/graphics/trainers/wallace.png diff --git a/graphics/trainers/wallace/palette.pal b/graphics/trainers/wallace/palette.pal deleted file mode 100644 index eaaed070f..000000000 --- a/graphics/trainers/wallace/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -222 180 148 -189 139 106 -98 57 65 -189 131 255 -148 106 172 -115 131 255 -82 106 180 -197 197 213 -57 74 115 -139 139 164 -57 41 57 -98 57 98 -255 255 255 -0 0 0 diff --git a/graphics/trainers/wally/front.png b/graphics/trainers/wally.png Binary files differindex 76338eb4d..76338eb4d 100644 --- a/graphics/trainers/wally/front.png +++ b/graphics/trainers/wally.png diff --git a/graphics/trainers/wally/palette.pal b/graphics/trainers/wally/palette.pal deleted file mode 100644 index 30e2e2a6c..000000000 --- a/graphics/trainers/wally/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 238 213 -222 180 164 -189 148 115 -123 90 82 -156 148 172 -115 106 131 -189 205 98 -148 172 74 -222 222 230 -98 148 49 -65 106 24 -98 156 222 -180 180 205 -255 255 255 -0 0 0 diff --git a/graphics/trainers/wally/back.png b/graphics/trainers/wally_back.png Binary files differindex b4c2f1fa3..b4c2f1fa3 100644 --- a/graphics/trainers/wally/back.png +++ b/graphics/trainers/wally_back.png diff --git a/graphics/trainers/wattson/front.png b/graphics/trainers/wattson.png Binary files differindex 7b9438a25..7b9438a25 100644 --- a/graphics/trainers/wattson/front.png +++ b/graphics/trainers/wattson.png diff --git a/graphics/trainers/wattson/palette.pal b/graphics/trainers/wattson/palette.pal deleted file mode 100644 index c8a4e1420..000000000 --- a/graphics/trainers/wattson/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -123 90 82 -164 139 90 -131 106 74 -139 131 106 -82 65 74 -213 213 222 -255 197 90 -189 156 90 -57 41 49 -222 115 131 -255 255 255 -0 0 0 diff --git a/graphics/trainers/winona/front.png b/graphics/trainers/winona.png Binary files differindex fc0e4a6dd..fc0e4a6dd 100644 --- a/graphics/trainers/winona/front.png +++ b/graphics/trainers/winona.png diff --git a/graphics/trainers/winona/palette.pal b/graphics/trainers/winona/palette.pal deleted file mode 100644 index 62783523b..000000000 --- a/graphics/trainers/winona/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -106 74 74 -172 189 213 -139 156 205 -74 98 148 -49 65 82 -205 213 222 -115 57 123 -255 197 90 -189 123 222 -148 90 172 -255 255 255 -0 0 0 diff --git a/graphics/trainers/young_couple/front.png b/graphics/trainers/young_couple.png Binary files differindex 6be8b73d8..6be8b73d8 100644 --- a/graphics/trainers/young_couple/front.png +++ b/graphics/trainers/young_couple.png diff --git a/graphics/trainers/young_couple/palette.pal b/graphics/trainers/young_couple/palette.pal deleted file mode 100644 index bba95c19a..000000000 --- a/graphics/trainers/young_couple/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -238 180 148 -197 139 106 -98 65 57 -148 164 172 -82 123 164 -57 82 106 -32 49 74 -205 213 222 -123 197 156 -90 164 131 -255 98 90 -197 65 65 -106 106 139 -0 0 0 diff --git a/graphics/trainers/youngster/front.png b/graphics/trainers/youngster.png Binary files differindex 311c49572..311c49572 100644 --- a/graphics/trainers/youngster/front.png +++ b/graphics/trainers/youngster.png diff --git a/graphics/trainers/youngster/palette.pal b/graphics/trainers/youngster/palette.pal deleted file mode 100644 index f91520d9b..000000000 --- a/graphics/trainers/youngster/palette.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 222 205 -230 180 148 -213 148 115 -123 90 82 -139 197 222 -65 90 148 -49 57 82 -41 57 98 -197 197 238 -255 222 65 -222 172 90 -98 164 222 -49 123 156 -255 255 255 -0 0 0 diff --git a/graphics/unknown/ball.pal b/graphics/unknown/ball.pal deleted file mode 100644 index b4e7ac7ca..000000000 --- a/graphics/unknown/ball.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 106 90 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unknown/unknown_D07B68.pal b/graphics/unknown/unknown_D07B68.pal deleted file mode 100644 index ca77648e6..000000000 --- a/graphics/unknown/unknown_D07B68.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 0 0 -255 255 255 -255 255 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unknown/unknown_D1C060.pal b/graphics/unknown/unknown_D1C060.pal deleted file mode 100644 index 0b2590f44..000000000 --- a/graphics/unknown/unknown_D1C060.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 255 255 -0 65 148 -148 65 148 -255 255 0 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unused/basic_frame.pal b/graphics/unused/basic_frame.pal deleted file mode 100644 index 70ff9b632..000000000 --- a/graphics/unused/basic_frame.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -106 123 164 -205 205 205 -255 255 255 -164 164 164 -0 0 0 -172 0 0 -222 0 0 -197 74 0 -255 24 0 -205 164 106 -255 222 164 -255 131 0 -255 255 255 -123 238 90 -131 172 246 diff --git a/graphics/unused/cherry.pal b/graphics/unused/cherry.pal deleted file mode 100644 index 01acf52c9..000000000 --- a/graphics/unused/cherry.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/unused/color_frames.pal b/graphics/unused/color_frames.pal deleted file mode 100644 index 56bf2a29c..000000000 --- a/graphics/unused/color_frames.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 255 255 -106 123 164 -205 205 205 -255 255 255 -164 164 164 -0 0 0 -172 0 0 -222 0 0 -197 74 0 -255 24 0 -205 164 106 -255 222 164 -255 131 0 -255 255 255 -123 238 90 -131 172 246 diff --git a/graphics/unused/goosuto.pal b/graphics/unused/goosuto.pal deleted file mode 100644 index 4315453b8..000000000 --- a/graphics/unused/goosuto.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -222 255 255 -0 65 148 -148 65 148 -255 255 0 -255 255 255 -255 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unused/line_sketch.pal b/graphics/unused/line_sketch.pal deleted file mode 100644 index dc1d51763..000000000 --- a/graphics/unused/line_sketch.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -205 255 255 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unused/numbers.pal b/graphics/unused/numbers.pal deleted file mode 100644 index 3955aa77a..000000000 --- a/graphics/unused/numbers.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -74 65 82 -255 255 255 -222 222 222 -172 172 197 -255 0 0 -0 0 255 -255 255 0 -0 197 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 164 131 diff --git a/graphics/unused/old_beatup.pal b/graphics/unused/old_beatup.pal deleted file mode 100644 index 31c43515e..000000000 --- a/graphics/unused/old_beatup.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 139 -0 0 0 -82 82 82 -164 164 164 -255 255 255 -213 213 164 -180 172 82 -148 131 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unused/old_charmap.pal b/graphics/unused/old_charmap.pal deleted file mode 100644 index cbcd5de4d..000000000 --- a/graphics/unused/old_charmap.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -24 0 0 -41 0 0 -255 255 255 -0 0 0 -255 255 255 -255 65 0 -0 0 0 -255 0 0 -255 24 0 -255 65 0 -255 98 0 -255 131 0 -255 180 0 -255 222 0 -255 255 255 diff --git a/graphics/unused/shadow.pal b/graphics/unused/shadow.pal deleted file mode 100644 index 72d9b7406..000000000 --- a/graphics/unused/shadow.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -238 238 238 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/unused/water_splash.pal b/graphics/unused/water_splash.pal deleted file mode 100644 index ada1391df..000000000 --- a/graphics/unused/water_splash.pal +++ /dev/null @@ -1,259 +0,0 @@ -JASC-PAL -0100 -256 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -205 255 255 -156 255 255 -106 255 255 -57 255 255 -8 255 255 -8 205 255 -8 156 255 -8 106 255 -8 57 255 -8 8 255 -8 8 106 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/include/battle.h b/include/battle.h index 47cb7cf8e..dc9ac93cc 100644 --- a/include/battle.h +++ b/include/battle.h @@ -19,6 +19,8 @@ #define BATTLE_TYPE_LEGENDARY 0x2000 #define BATTLE_TYPE_REGI 0x4000 +#define BATTLE_TYPE_LINK_DOUBLE (BATTLE_TYPE_MULTI | BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE) + #define BATTLE_WON 0x1 #define BATTLE_LOST 0x2 #define BATTLE_DREW 0x3 @@ -243,12 +245,11 @@ struct BattleStruct /* 0x2000000 */ /*0x16001*/ u8 turnEffectsBank; /*0x16002*/ u8 animTurn; /*0x16003*/ u8 scriptingActive; - /*0x16004*/ u8 wrappedMove1[4]; - /*0x16008*/ u8 wrappedMove2[4]; + /*0x16004*/ u8 wrappedMove[8]; /*0x1600C*/ u8 cmd49StateTracker; /*0x1600D*/ u8 unk1600D; /*0x1600E*/ u8 turncountersTracker; - /*0x1600F*/ u8 cmd23StateTracker; + /*0x1600F*/ u8 atk23StateTracker; /*0x16010*/ u8 moveTarget[4]; /*0x16014*/ u8 unk16014; /*0x16015*/ u8 unk16015; @@ -685,6 +686,32 @@ extern u8 ewram[]; #define ewram17840 (*(struct Struct2017840 *) (ewram + 0x17840)) #define ewram17000 ((u32 *) (ewram + 0x17100)) +// used in many battle files, it seems as though Hisashi Sogabe wrote +// some sort of macro to replace the use of actually calling memset. +// Perhaps it was thought calling memset was much slower? + +// The compiler wont allow us to locally declare ptr in this macro; some +// functions that invoke this macro will not match without this egregeous +// assumption about the variable names, so in order to avoid this assumption, +// we opt to pass the variables themselves, even though it is likely that +// Sogabe assumed the variables were named src and dest. Trust me: I tried to +// avoid assuming variable names, but the ROM just will not match without the +// assumptions. Therefore, these macros are bad practice, but I'm putting them +// here anyway. +#define MEMSET_ALT(data, c, size, var, dest) \ +{ \ + dest = (u8 *)data; \ + for(var = 0; var < (u32)size; var++) \ + dest[var] = c; \ +} \ + +#define MEMCPY_ALT(data, dest, size, var, src) \ +{ \ + src = (u8 *)data; \ + for(var = 0; var < (u32)size; var++) \ + dest[var] = src[var]; \ +} \ + typedef void (*BattleCmdFunc)(void); struct funcStack @@ -724,7 +751,6 @@ void EmitEffectivenessSound(u8 a, u16 sound); //0x2B void Emitcmd44(u8 a, u16 sound); //0x2C void EmitFaintingCry(u8 a); //0x2D void EmitIntroSlide(u8 a, u8 b); //0x2E -void Emitcmd48(u8 a, u8 *b, u8 c); //0x30 void Emitcmd49(u8 a); //0x31 void EmitSpriteInvisibility(u8 a, u8 b); //0x33 void EmitBattleAnimation(u8 a, u8 b, u16 c); //0x34 @@ -796,7 +822,7 @@ void BattleTurnPassed(void); // asm/battle_2.o void sub_8012324(void); void sub_8012FBC(u8, u8); -u8 b_first_side(u8, u8, u8); +u8 GetWhoStrikesFirst(u8, u8, u8); void TurnValuesCleanUp(u8); void SpecialStatusesClear(void); void sub_80138F0(void); diff --git a/include/battle_ai.h b/include/battle_ai.h index 2922da0b3..60ca5d000 100644 --- a/include/battle_ai.h +++ b/include/battle_ai.h @@ -1,11 +1,6 @@ #ifndef GUARD_BATTLEAI_H #define GUARD_BATTLEAI_H -#define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) -#define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8) -#define AIScriptRead8(ptr) ((ptr)[0]) -#define AIScriptReadPtr(ptr) (u8*) AIScriptRead32(ptr) - enum { TARGET, diff --git a/include/battle_anim.h b/include/battle_anim.h index 48ceece21..3db5ae967 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -3,10 +3,6 @@ #include "sprite.h" -#define SCRIPT_READ_8(ptr) ((ptr)[0]) -#define SCRIPT_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) -#define SCRIPT_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) - #define REG_BGnCNT_BITFIELD(n) (*(struct BGCntrlBitfield *)REG_ADDR_BG##n##CNT) #define REG_BG1CNT_BITFIELD REG_BGnCNT_BITFIELD(1) #define REG_BG2CNT_BITFIELD REG_BGnCNT_BITFIELD(2) @@ -53,15 +49,14 @@ struct UnknownStruct3 }; void DoMoveAnim(const u8 *const moveAnims[], u16 b, u8 c); -bool8 b_side_obj__get_some_boolean(u8 a); +bool8 IsAnimBankSpriteVisible(u8 a); void sub_8076034(u8, u8); -bool8 IsContest(void); +bool8 NotInBattle(void); void battle_anim_clear_some_data(void); void move_anim_8072740(struct Sprite *sprite); void DestroyAnimVisualTask(u8 task); void DestroyAnimVisualTask(u8 task); -bool8 b_side_obj__get_some_boolean(u8); -u8 IsContest(); +bool8 IsAnimBankSpriteVisible(u8); #endif diff --git a/include/battle_interface.h b/include/battle_interface.h index 8230c7502..db41ee735 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -29,7 +29,7 @@ u8 sub_8044804(u8, const struct BattleInterfaceStruct2 *, u8, u8); void sub_8044CA0(u8); void sub_8045A5C(u8, struct Pokemon *, u8); s32 sub_8045C78(u8, u8, u8, u8); -s16 sub_80460C8(struct BattleInterfaceStruct1 *, int *, void *, int); +s16 sub_80460C8(struct BattleInterfaceStruct1 *, int *, u16 *, int); u8 GetScaledHPFraction(s16, s16, u8); u8 GetHPBarLevel(s16, s16); void sub_80440EC(u8 a, s16 b, u8 c); diff --git a/include/battle_party_menu.h b/include/battle_party_menu.h index 71bd2cf51..200b0c653 100644 --- a/include/battle_party_menu.h +++ b/include/battle_party_menu.h @@ -4,6 +4,7 @@ extern u8 unk_2000000[]; #define EWRAM_1609D unk_2000000[0x1609D] -void SetUpBattlePokemonMenu(u8); +void HandleBattlePartyMenu(u8); +bool8 SetUpBattlePartyMenu(void); #endif diff --git a/include/battle_tower.h b/include/battle_tower.h index 75ea405ab..8f179a68c 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -1,8 +1,102 @@ #ifndef GUARD_BATTLE_TOWER_H #define GUARD_BATTLE_TOWER_H -void sub_8134AC0(void *); +#define BATTLE_TOWER_EREADER_TRAINER_ID 200 +#define BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID 100 + +enum +{ + F_EV_SPREAD_HP = 1 << 0, + F_EV_SPREAD_ATTACK = 1 << 1, + F_EV_SPREAD_DEFENSE = 1 << 2, + F_EV_SPREAD_SPEED = 1 << 3, + F_EV_SPREAD_SP_ATTACK = 1 << 4, + F_EV_SPREAD_SP_DEFENSE = 1 << 5, +}; + +enum +{ + BATTLE_TOWER_ITEM_NONE, + BATTLE_TOWER_ITEM_KINGS_ROCK, + BATTLE_TOWER_ITEM_SITRUS_BERRY, + BATTLE_TOWER_ITEM_ORAN_BERRY, + BATTLE_TOWER_ITEM_CHESTO_BERRY, + BATTLE_TOWER_ITEM_HARD_STONE, + BATTLE_TOWER_ITEM_FOCUS_BAND, + BATTLE_TOWER_ITEM_PERSIM_BERRY, + BATTLE_TOWER_ITEM_MIRACLE_SEED, + BATTLE_TOWER_ITEM_BERRY_JUICE, + BATTLE_TOWER_ITEM_MACHO_BRACE, + BATTLE_TOWER_ITEM_SILVER_POWDER, + BATTLE_TOWER_ITEM_CHERI_BERRY, + BATTLE_TOWER_ITEM_BLACK_GLASSES, + BATTLE_TOWER_ITEM_BLACK_BELT, + BATTLE_TOWER_ITEM_SOUL_DEW, + BATTLE_TOWER_ITEM_CHOICE_BAND, + BATTLE_TOWER_ITEM_MAGNET, + BATTLE_TOWER_ITEM_SILK_SCARF, + BATTLE_TOWER_ITEM_WHITE_HERB, + BATTLE_TOWER_ITEM_DEEP_SEA_SCALE, + BATTLE_TOWER_ITEM_DEEP_SEA_TOOTH, + BATTLE_TOWER_ITEM_MYSTIC_WATER, + BATTLE_TOWER_ITEM_SHARP_BEAK, + BATTLE_TOWER_ITEM_QUICK_CLAW, + BATTLE_TOWER_ITEM_LEFTOVERS, + BATTLE_TOWER_ITEM_RAWST_BERRY, + BATTLE_TOWER_ITEM_LIGHT_BALL, + BATTLE_TOWER_ITEM_POISON_BARB, + BATTLE_TOWER_ITEM_NEVER_MELT_ICE, + BATTLE_TOWER_ITEM_ASPEAR_BERRY, + BATTLE_TOWER_ITEM_SPELL_TAG, + BATTLE_TOWER_ITEM_BRIGHT_POWDER, + BATTLE_TOWER_ITEM_LEPPA_BERRY, + BATTLE_TOWER_ITEM_SCOPE_LENS, + BATTLE_TOWER_ITEM_TWISTED_SPOON, + BATTLE_TOWER_ITEM_METAL_COAT, + BATTLE_TOWER_ITEM_MENTAL_HERB, + BATTLE_TOWER_ITEM_CHARCOAL, + BATTLE_TOWER_ITEM_PECHA_BERRY, + BATTLE_TOWER_ITEM_SOFT_SAND, + BATTLE_TOWER_ITEM_LUM_BERRY, + BATTLE_TOWER_ITEM_DRAGON_SCALE, + BATTLE_TOWER_ITEM_DRAGON_FANG, + BATTLE_TOWER_ITEM_IAPAPA_BERRY, + BATTLE_TOWER_ITEM_WIKI_BERRY, + BATTLE_TOWER_ITEM_SEA_INCENSE, + BATTLE_TOWER_ITEM_SHELL_BELL, + BATTLE_TOWER_ITEM_SALAC_BERRY, + BATTLE_TOWER_ITEM_LANSAT_BERRY, + BATTLE_TOWER_ITEM_APICOT_BERRY, + BATTLE_TOWER_ITEM_STARF_BERRY, + BATTLE_TOWER_ITEM_LIECHI_BERRY, + BATTLE_TOWER_ITEM_STICK, + BATTLE_TOWER_ITEM_LAX_INCENSE, + BATTLE_TOWER_ITEM_AGUAV_BERRY, + BATTLE_TOWER_ITEM_FIGY_BERRY, + BATTLE_TOWER_ITEM_THICK_CLUB, + BATTLE_TOWER_ITEM_MAGO_BERRY, + BATTLE_TOWER_ITEM_METAL_POWDER, + BATTLE_TOWER_ITEM_PETAYA_BERRY, + BATTLE_TOWER_ITEM_LUCKY_PUNCH, + BATTLE_TOWER_ITEM_GANLON_BERRY, +}; + +struct BattleTowerPokemon +{ + /*0x00*/u16 species; + /*0x02*/u8 heldItem; // entry in sBattleTowerHeldItems + /*0x03*/u8 teamFlags; + /*0x04*/u16 moves[4]; + /*0x0C*/u8 evSpread; + /*0x0D*/u8 nature; +}; + +u16 GetCurrentBattleTowerWinStreak(u8); +void sub_8134AC0(struct BattleTowerRecord *); u16 sub_8135D3C(u8); -void sub_8135FF4(u8*); +void SetEReaderTrainerName(u8*); +u8 GetEReaderTrainerPicIndex(void); +u8 GetEReaderTrainerClassNameIndex(void); +void ValidateEReaderTrainer(void); #endif // GUARD_BATTLE_TOWER_H diff --git a/include/berry.h b/include/berry.h index f0acbe0ad..a7ac5ba94 100644 --- a/include/berry.h +++ b/include/berry.h @@ -11,38 +11,39 @@ enum BERRY_FIRMNESS_SUPER_HARD, }; -void ClearEnigmaBerries(void); +// berry stages +enum +{ + BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat. + BERRY_STAGE_PLANTED, + BERRY_STAGE_SPROUTED, + BERRY_STAGE_TALLER, + BERRY_STAGE_FLOWERING, + BERRY_STAGE_BERRIES, + BERRY_STAGE_SPARKLING = 0xFF, +}; + void SetEnigmaBerry(u8 *src); -u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry); bool32 IsEnigmaBerryValid(void); const struct Berry *GetBerryInfo(u8 berry); -struct BerryTree *GetBerryTreeInfo(u8 id); bool32 FieldObjectInteractionWaterBerryTree(void); -bool8 IsPlayerFacingPlantedBerryTree(void); +bool8 IsPlayerFacingUnplantedSoil(void); bool8 TryToWaterBerryTree(void); void ClearBerryTrees(void); -bool32 BerryTreeGrow(struct BerryTree *tree); void BerryTreeTimeUpdate(s32 minutes); void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle); void RemoveBerryTree(u8 id); u8 GetBerryTypeByBerryTreeId(u8 id); u8 GetStageByBerryTreeId(u8); u8 ItemIdToBerryType(u16 item); -u16 BerryTypeToItemId(u16 berry); void GetBerryNameByBerryType(u8 berry, u8 *string); void ResetBerryTreeSparkleFlag(u8 id); -u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree); -u8 GetNumStagesWateredByBerryTreeId(u8 id); -u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water); -u8 CalcBerryYield(struct BerryTree *tree); -u8 GetBerryCountByBerryTreeId(u8 id); -u16 GetStageDurationByBerryType(u8); void FieldObjectInteractionGetBerryTreeData(void); -void sub_80B4EE4(void); +void Berry_FadeAndGoToBerryBagMenu(void); void FieldObjectInteractionPlantBerryTree(void); void FieldObjectInteractionPickBerryTree(void); void FieldObjectInteractionRemoveBerryTree(void); -u8 PlayerHasBerries(void); +bool8 PlayerHasBerries(void); void ResetBerryTreeSparkleFlags(void); #endif // GUARD_BERRY_H diff --git a/include/bike.h b/include/bike.h index decbd1d49..28aa2037d 100644 --- a/include/bike.h +++ b/include/bike.h @@ -1,15 +1,17 @@ #ifndef GUARD_BIKE_H #define GUARD_BIKE_H -struct UnknownStruct1 +// the struct below is used for checking button combinations of the last input so that the acro can potentially perform a side/turn jump. +// its possible that at some point Game Freak intended for the acro bike to have more complex tricks: but only the acro jump combinations can be seen in the final ROM. +struct BikeHistoryInputInfo { - u32 unk0; - u32 unk4; - u32 unk8; - u32 unkC; - const u8 *unk10; - const u8 *unk14; - u32 unk18; + u32 dirHistoryMatch; // the direction you need to press + u32 abStartSelectHistoryMatch; // the button you need to press + u32 dirHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked + u32 abStartSelectHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked + const u8 *dirTimerHistoryList; // list of timers to check for direction before the button+dir combination can be verified. + const u8 *abStartSelectHistoryList; // list of timers to check for buttons before the button+dir combination can be verified. + u32 direction; // direction to jump }; // Player speeds @@ -22,7 +24,16 @@ enum SPEED_FASTEST, }; -//Acro bike states +// mach bike transitions enum +enum +{ + MACH_TRANS_FACE_DIRECTION, + MACH_TRANS_TURN_DIRECTION, + MACH_TRANS_KEEP_MOVING, + MACH_TRANS_START_MOVING +}; + +// Acro bike states enum { ACRO_STATE_NORMAL, @@ -30,27 +41,37 @@ enum ACRO_STATE_WHEELIE_STANDING, ACRO_STATE_BUNNY_HOP, ACRO_STATE_WHEELIE_MOVING, - ACRO_STATE_5, - ACRO_STATE_6, + ACRO_STATE_SIDE_JUMP, + ACRO_STATE_TURN_JUMP, }; -//Acro bike transitions +// Acro bike transitions enum { ACRO_TRANS_FACE_DIRECTION, - ACRO_TRANS_NORMAL_TO_WHEELIE = 3, + ACRO_TRANS_TURN_DIRECTION, + ACRO_TRANS_MOVING, + ACRO_TRANS_NORMAL_TO_WHEELIE, ACRO_TRANS_WHEELIE_TO_NORMAL, + ACRO_TRANS_WHEELIE_IDLE, + ACRO_TRANS_WHEELIE_HOPPING_STANDING, + ACRO_TRANS_WHEELIE_HOPPING_MOVING, + ACRO_TRANS_SIDE_JUMP, + ACRO_TRANS_TURN_JUMP, + ACRO_TRANS_WHEELIE_MOVING, + ACRO_TRANS_WHEELIE_RISING_MOVING, + ACRO_TRANS_WHEELIE_LOWERING_MOVING, }; void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys); -void sub_80E5B38(u16 a, u16 b); +void Bike_TryAcroBikeHistoryUpdate(u16 a, u16 b); bool8 IsRunningDisallowed(u8 tile); bool8 IsBikingDisallowedByPlayer(void); bool8 player_should_look_direction_be_enforced_upon_movement(void); void GetOnOffBike(u8 var); void BikeClearState(int var1, int var2); -void sub_80E6010(u8 var); +void Bike_UpdateBikeCounterSpeed(u8 var); s16 GetPlayerSpeed(void); -void sub_80E6084(void); +void Bike_HandleBumpySlopeJump(void); #endif diff --git a/include/choose_party.h b/include/choose_party.h index e31aa3c02..853202a89 100644 --- a/include/choose_party.h +++ b/include/choose_party.h @@ -3,11 +3,11 @@ void sub_8121E10(void); void sub_8121E34(void); -bool8 sub_8121E78(void); -void sub_81222B0(u8 taskId); -bool8 sub_8122854(void); -void sub_8122A48(u8 taskId); -void sub_8122E0C(u8 taskId); +bool8 SetupBattleTowerPartyMenu(void); +void HandleBattleTowerPartyMenu(u8 taskId); +bool8 SetupLinkMultiBattlePartyMenu(void); +void HandleLinkMultiBattlePartyMenu(u8 taskId); +void HandleDaycarePartyMenu(u8 taskId); void sub_8123138(u8 taskId); #endif // GUARD_CHOOSE_PARTY_H diff --git a/include/daycare.h b/include/daycare.h index b90c50610..e46351d72 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -1,14 +1,15 @@ #ifndef GUARD_DAYCARE_H #define GUARD_DAYCARE_H -u8 Daycare_CountPokemon(struct BoxPokemon *); -void sub_8041324(struct BoxPokemon *, struct RecordMixing_UnknownStruct *); -void sub_8041790(int i); +u8 Daycare_CountPokemon(struct DayCareData *); +void sub_8041324(struct BoxPokemon *, struct RecordMixingDayCareMail *); +void sub_8041790(u16 i); u16 sub_8041870(u16); void sub_8041940(void); void sub_8041950(void); void sub_8042044(struct Pokemon *mon, u16, u8); u8 sub_80422A0(void); u8 daycare_relationship_score_from_savegame(void); +bool8 NameHasGenderSymbol(const u8 *, u8); #endif // GUARD_DAYCARE_H diff --git a/include/decompress.h b/include/decompress.h index 84c1f29c0..01f66971c 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -3,7 +3,7 @@ #include "sprite.h" -void sub_800D238(const void *src, void *dest); +void LZDecompressWram(const void *src, void *dest); void LZDecompressVram(const void *src, void *dest); void LoadCompressedObjectPic(const struct CompressedSpriteSheet *a); void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *a, void *buffer); diff --git a/include/decoration.h b/include/decoration.h index 2e72e305a..70abc29bf 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -291,7 +291,9 @@ extern void sub_8134104(u8); // src/decoration_inventory extern bool8 sub_807D770(void); extern void sub_8109DAC(u8); // src/trader extern void ReshowPlayerPC(u8); // src/player_pc +void Task_SecretBasePC_Decoration(u8); +void Task_SecretBasePC_Decoration(u8 taskId); void sub_80FE2B4(void); void Task_DecorationPCProcessMenuInput(u8); void sub_80FE394(void); diff --git a/include/easy_chat.h b/include/easy_chat.h index 702082966..b59adedd5 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -27,1038 +27,1046 @@ enum EC_GROUP_POKEMON_2, }; -// TRAINER -#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0 -#define EC_WORD_GOTCHA (EC_GROUP_TRAINER << 9) | 0x1 -#define EC_WORD_TRADE (EC_GROUP_TRAINER << 9) | 0x2 -#define EC_WORD_SAPPHIRE (EC_GROUP_TRAINER << 9) | 0x3 -#define EC_WORD_EVOLVE (EC_GROUP_TRAINER << 9) | 0x4 -#define EC_WORD_ENCYCLOPEDIA (EC_GROUP_TRAINER << 9) | 0x5 -#define EC_WORD_NATURE (EC_GROUP_TRAINER << 9) | 0x6 -#define EC_WORD_CENTER (EC_GROUP_TRAINER << 9) | 0x7 -#define EC_WORD_EGG (EC_GROUP_TRAINER << 9) | 0x8 -#define EC_WORD_LINK (EC_GROUP_TRAINER << 9) | 0x9 -#define EC_WORD_SP_ABILITY (EC_GROUP_TRAINER << 9) | 0xa -#define EC_WORD_TRAINER (EC_GROUP_TRAINER << 9) | 0xb -#define EC_WORD_VERSION (EC_GROUP_TRAINER << 9) | 0xc -#define EC_WORD_POKENAV (EC_GROUP_TRAINER << 9) | 0xd -#define EC_WORD_POKEMON (EC_GROUP_TRAINER << 9) | 0xe -#define EC_WORD_GET (EC_GROUP_TRAINER << 9) | 0xf -#define EC_WORD_POKEDEX (EC_GROUP_TRAINER << 9) | 0x10 -#define EC_WORD_RUBY (EC_GROUP_TRAINER << 9) | 0x11 -#define EC_WORD_LEVEL (EC_GROUP_TRAINER << 9) | 0x12 - -// STATUS -#define EC_WORD_DARK (EC_GROUP_STATUS << 9) | 0x0 -#define EC_WORD_STENCH (EC_GROUP_STATUS << 9) | 0x1 -#define EC_WORD_THICK_FAT (EC_GROUP_STATUS << 9) | 0x2 -#define EC_WORD_RAIN_DISH (EC_GROUP_STATUS << 9) | 0x3 -#define EC_WORD_DRIZZLE (EC_GROUP_STATUS << 9) | 0x4 -#define EC_WORD_ARENA_TRAP (EC_GROUP_STATUS << 9) | 0x5 -#define EC_WORD_INTIMIDATE (EC_GROUP_STATUS << 9) | 0x6 -#define EC_WORD_ROCK_HEAD (EC_GROUP_STATUS << 9) | 0x7 -#define EC_WORD_COLOR (EC_GROUP_STATUS << 9) | 0x8 -#define EC_WORD_ALT_COLOR (EC_GROUP_STATUS << 9) | 0x9 -#define EC_WORD_ROCK (EC_GROUP_STATUS << 9) | 0xa -#define EC_WORD_BEAUTIFUL (EC_GROUP_STATUS << 9) | 0xb -#define EC_WORD_BEAUTY (EC_GROUP_STATUS << 9) | 0xc -#define EC_WORD_AIR_LOCK (EC_GROUP_STATUS << 9) | 0xd -#define EC_WORD_PSYCHIC (EC_GROUP_STATUS << 9) | 0xe -#define EC_WORD_HYPER_CUTTER (EC_GROUP_STATUS << 9) | 0xf -#define EC_WORD_FIGHTING (EC_GROUP_STATUS << 9) | 0x10 -#define EC_WORD_SHADOW_TAG (EC_GROUP_STATUS << 9) | 0x11 -#define EC_WORD_SMART (EC_GROUP_STATUS << 9) | 0x12 -#define EC_WORD_SMARTNESS (EC_GROUP_STATUS << 9) | 0x13 -#define EC_WORD_SPEED_BOOST (EC_GROUP_STATUS << 9) | 0x14 -#define EC_WORD_COOL (EC_GROUP_STATUS << 9) | 0x15 -#define EC_WORD_COOLNESS (EC_GROUP_STATUS << 9) | 0x16 -#define EC_WORD_BATTLE_ARMOR (EC_GROUP_STATUS << 9) | 0x17 -#define EC_WORD_CUTE (EC_GROUP_STATUS << 9) | 0x18 -#define EC_WORD_CUTENESS (EC_GROUP_STATUS << 9) | 0x19 -#define EC_WORD_STURDY (EC_GROUP_STATUS << 9) | 0x1a -#define EC_WORD_SUCTION_CUPS (EC_GROUP_STATUS << 9) | 0x1b -#define EC_WORD_GRASS (EC_GROUP_STATUS << 9) | 0x1c -#define EC_WORD_CLEAR_BODY (EC_GROUP_STATUS << 9) | 0x1d -#define EC_WORD_TORRENT (EC_GROUP_STATUS << 9) | 0x1e -#define EC_WORD_GHOST (EC_GROUP_STATUS << 9) | 0x1f -#define EC_WORD_ICE (EC_GROUP_STATUS << 9) | 0x20 -#define EC_WORD_GUTS (EC_GROUP_STATUS << 9) | 0x21 -#define EC_WORD_ROUGH_SKIN (EC_GROUP_STATUS << 9) | 0x22 -#define EC_WORD_SHELL_ARMOR (EC_GROUP_STATUS << 9) | 0x23 -#define EC_WORD_NATURAL_CURE (EC_GROUP_STATUS << 9) | 0x24 -#define EC_WORD_DAMP (EC_GROUP_STATUS << 9) | 0x25 -#define EC_WORD_GROUND (EC_GROUP_STATUS << 9) | 0x26 -#define EC_WORD_LIMBER (EC_GROUP_STATUS << 9) | 0x27 -#define EC_WORD_MAGNET_PULL (EC_GROUP_STATUS << 9) | 0x28 -#define EC_WORD_WHITE_SMOKE (EC_GROUP_STATUS << 9) | 0x29 -#define EC_WORD_SYNCHRONIZE (EC_GROUP_STATUS << 9) | 0x2a -#define EC_WORD_OVERGROW (EC_GROUP_STATUS << 9) | 0x2b -#define EC_WORD_SWIFT_SWIM (EC_GROUP_STATUS << 9) | 0x2c -#define EC_WORD_SAND_STREAM (EC_GROUP_STATUS << 9) | 0x2d -#define EC_WORD_SAND_VEIL (EC_GROUP_STATUS << 9) | 0x2e -#define EC_WORD_KEEN_EYE (EC_GROUP_STATUS << 9) | 0x2f -#define EC_WORD_INNER_FOCUS (EC_GROUP_STATUS << 9) | 0x30 -#define EC_WORD_STATIC (EC_GROUP_STATUS << 9) | 0x31 -#define EC_WORD_TYPE (EC_GROUP_STATUS << 9) | 0x32 -#define EC_WORD_TOUGH (EC_GROUP_STATUS << 9) | 0x33 -#define EC_WORD_TOUGHNESS (EC_GROUP_STATUS << 9) | 0x34 -#define EC_WORD_SHED_SKIN (EC_GROUP_STATUS << 9) | 0x35 -#define EC_WORD_HUGE_POWER (EC_GROUP_STATUS << 9) | 0x36 -#define EC_WORD_VOLT_ABSORB (EC_GROUP_STATUS << 9) | 0x37 -#define EC_WORD_WATER_ABSORB (EC_GROUP_STATUS << 9) | 0x38 -#define EC_WORD_ELECTRIC (EC_GROUP_STATUS << 9) | 0x39 -#define EC_WORD_FORECAST (EC_GROUP_STATUS << 9) | 0x3a -#define EC_WORD_SERENE_GRACE (EC_GROUP_STATUS << 9) | 0x3b -#define EC_WORD_POISON (EC_GROUP_STATUS << 9) | 0x3c -#define EC_WORD_POISON_POINT (EC_GROUP_STATUS << 9) | 0x3d -#define EC_WORD_DRAGON (EC_GROUP_STATUS << 9) | 0x3e -#define EC_WORD_TRACE (EC_GROUP_STATUS << 9) | 0x3f -#define EC_WORD_OBLIVIOUS (EC_GROUP_STATUS << 9) | 0x40 -#define EC_WORD_TRUANT (EC_GROUP_STATUS << 9) | 0x41 -#define EC_WORD_RUN_AWAY (EC_GROUP_STATUS << 9) | 0x42 -#define EC_WORD_STICKY_HOLD (EC_GROUP_STATUS << 9) | 0x43 -#define EC_WORD_CLOUD_NINE (EC_GROUP_STATUS << 9) | 0x44 -#define EC_WORD_NORMAL (EC_GROUP_STATUS << 9) | 0x45 -#define EC_WORD_STEEL (EC_GROUP_STATUS << 9) | 0x46 -#define EC_WORD_ILLUMINATE (EC_GROUP_STATUS << 9) | 0x47 -#define EC_WORD_EARLY_BIRD (EC_GROUP_STATUS << 9) | 0x48 -#define EC_WORD_HUSTLE (EC_GROUP_STATUS << 9) | 0x49 -#define EC_WORD_SHINE (EC_GROUP_STATUS << 9) | 0x4a -#define EC_WORD_FLYING (EC_GROUP_STATUS << 9) | 0x4b -#define EC_WORD_DROUGHT (EC_GROUP_STATUS << 9) | 0x4c -#define EC_WORD_LIGHTNINGROD (EC_GROUP_STATUS << 9) | 0x4d -#define EC_WORD_COMPOUNDEYES (EC_GROUP_STATUS << 9) | 0x4e -#define EC_WORD_MARVEL_SCALE (EC_GROUP_STATUS << 9) | 0x4f -#define EC_WORD_WONDER_GUARD (EC_GROUP_STATUS << 9) | 0x50 -#define EC_WORD_INSOMNIA (EC_GROUP_STATUS << 9) | 0x51 -#define EC_WORD_LEVITATE (EC_GROUP_STATUS << 9) | 0x52 -#define EC_WORD_PLUS (EC_GROUP_STATUS << 9) | 0x53 -#define EC_WORD_PRESSURE (EC_GROUP_STATUS << 9) | 0x54 -#define EC_WORD_LIQUID_OOZE (EC_GROUP_STATUS << 9) | 0x55 -#define EC_WORD_COLOR_CHANGE (EC_GROUP_STATUS << 9) | 0x56 -#define EC_WORD_SOUNDPROOF (EC_GROUP_STATUS << 9) | 0x57 -#define EC_WORD_EFFECT_SPORE (EC_GROUP_STATUS << 9) | 0x58 -#define EC_WORD_PKRS (EC_GROUP_STATUS << 9) | 0x59 -#define EC_WORD_FIRE (EC_GROUP_STATUS << 9) | 0x5a -#define EC_WORD_FLAME_BODY (EC_GROUP_STATUS << 9) | 0x5b -#define EC_WORD_MINUS (EC_GROUP_STATUS << 9) | 0x5c -#define EC_WORD_OWN_TEMPO (EC_GROUP_STATUS << 9) | 0x5d -#define EC_WORD_MAGMA_ARMOR (EC_GROUP_STATUS << 9) | 0x5e -#define EC_WORD_WATER (EC_GROUP_STATUS << 9) | 0x5f -#define EC_WORD_WATER_VEIL (EC_GROUP_STATUS << 9) | 0x60 -#define EC_WORD_BUG (EC_GROUP_STATUS << 9) | 0x61 -#define EC_WORD_SWARM (EC_GROUP_STATUS << 9) | 0x62 -#define EC_WORD_CUTE_CHARM (EC_GROUP_STATUS << 9) | 0x63 -#define EC_WORD_IMMUNITY (EC_GROUP_STATUS << 9) | 0x64 -#define EC_WORD_BLAZE (EC_GROUP_STATUS << 9) | 0x65 -#define EC_WORD_PICKUP (EC_GROUP_STATUS << 9) | 0x66 -#define EC_WORD_PATTERN (EC_GROUP_STATUS << 9) | 0x67 -#define EC_WORD_FLASH_FIRE (EC_GROUP_STATUS << 9) | 0x68 -#define EC_WORD_VITAL_SPIRIT (EC_GROUP_STATUS << 9) | 0x69 -#define EC_WORD_CHLOROPHYLL (EC_GROUP_STATUS << 9) | 0x6a -#define EC_WORD_PURE_POWER (EC_GROUP_STATUS << 9) | 0x6b -#define EC_WORD_SHIELD_DUST (EC_GROUP_STATUS << 9) | 0x6c - -// BATTLE -#define EC_WORD_MATCH_UP (EC_GROUP_BATTLE << 9) | 0x0 -#define EC_WORD_GO (EC_GROUP_BATTLE << 9) | 0x1 -#define EC_WORD_NO_1 (EC_GROUP_BATTLE << 9) | 0x2 -#define EC_WORD_DECIDE (EC_GROUP_BATTLE << 9) | 0x3 -#define EC_WORD_LET_ME_WIN (EC_GROUP_BATTLE << 9) | 0x4 -#define EC_WORD_WINS (EC_GROUP_BATTLE << 9) | 0x5 -#define EC_WORD_WIN (EC_GROUP_BATTLE << 9) | 0x6 -#define EC_WORD_WON (EC_GROUP_BATTLE << 9) | 0x7 -#define EC_WORD_IF_I_WIN (EC_GROUP_BATTLE << 9) | 0x8 -#define EC_WORD_WHEN_I_WIN (EC_GROUP_BATTLE << 9) | 0x9 -#define EC_WORD_CAN_T_WIN (EC_GROUP_BATTLE << 9) | 0xa -#define EC_WORD_CAN_WIN (EC_GROUP_BATTLE << 9) | 0xb -#define EC_WORD_NO_MATCH (EC_GROUP_BATTLE << 9) | 0xc -#define EC_WORD_SPIRIT (EC_GROUP_BATTLE << 9) | 0xd -#define EC_WORD_DECIDED (EC_GROUP_BATTLE << 9) | 0xe -#define EC_WORD_TRUMP_CARD (EC_GROUP_BATTLE << 9) | 0xf -#define EC_WORD_TAKE_THAT (EC_GROUP_BATTLE << 9) | 0x10 -#define EC_WORD_COME_ON (EC_GROUP_BATTLE << 9) | 0x11 -#define EC_WORD_ATTACK (EC_GROUP_BATTLE << 9) | 0x12 -#define EC_WORD_SURRENDER (EC_GROUP_BATTLE << 9) | 0x13 -#define EC_WORD_GUTSY (EC_GROUP_BATTLE << 9) | 0x14 -#define EC_WORD_TALENT (EC_GROUP_BATTLE << 9) | 0x15 -#define EC_WORD_STRATEGY (EC_GROUP_BATTLE << 9) | 0x16 -#define EC_WORD_SMITE (EC_GROUP_BATTLE << 9) | 0x17 -#define EC_WORD_MATCH (EC_GROUP_BATTLE << 9) | 0x18 -#define EC_WORD_VICTORY (EC_GROUP_BATTLE << 9) | 0x19 -#define EC_WORD_OFFENSIVE (EC_GROUP_BATTLE << 9) | 0x1a -#define EC_WORD_SENSE (EC_GROUP_BATTLE << 9) | 0x1b -#define EC_WORD_VERSUS (EC_GROUP_BATTLE << 9) | 0x1c -#define EC_WORD_FIGHTS (EC_GROUP_BATTLE << 9) | 0x1d -#define EC_WORD_POWER (EC_GROUP_BATTLE << 9) | 0x1e -#define EC_WORD_CHALLENGE (EC_GROUP_BATTLE << 9) | 0x1f -#define EC_WORD_STRONG (EC_GROUP_BATTLE << 9) | 0x20 -#define EC_WORD_TOO_STRONG (EC_GROUP_BATTLE << 9) | 0x21 -#define EC_WORD_GO_EASY (EC_GROUP_BATTLE << 9) | 0x22 -#define EC_WORD_FOE (EC_GROUP_BATTLE << 9) | 0x23 -#define EC_WORD_GENIUS (EC_GROUP_BATTLE << 9) | 0x24 -#define EC_WORD_LEGEND (EC_GROUP_BATTLE << 9) | 0x25 -#define EC_WORD_ESCAPE (EC_GROUP_BATTLE << 9) | 0x26 -#define EC_WORD_AIM (EC_GROUP_BATTLE << 9) | 0x27 -#define EC_WORD_BATTLE (EC_GROUP_BATTLE << 9) | 0x28 -#define EC_WORD_FIGHT (EC_GROUP_BATTLE << 9) | 0x29 -#define EC_WORD_RESUSCITATE (EC_GROUP_BATTLE << 9) | 0x2a -#define EC_WORD_POINTS (EC_GROUP_BATTLE << 9) | 0x2b -#define EC_WORD_SERIOUS (EC_GROUP_BATTLE << 9) | 0x2c -#define EC_WORD_GIVE_UP (EC_GROUP_BATTLE << 9) | 0x2d -#define EC_WORD_LOSS (EC_GROUP_BATTLE << 9) | 0x2e -#define EC_WORD_IF_I_LOSE (EC_GROUP_BATTLE << 9) | 0x2f -#define EC_WORD_LOST (EC_GROUP_BATTLE << 9) | 0x30 -#define EC_WORD_LOSE (EC_GROUP_BATTLE << 9) | 0x31 -#define EC_WORD_GUARD (EC_GROUP_BATTLE << 9) | 0x32 -#define EC_WORD_PARTNER (EC_GROUP_BATTLE << 9) | 0x33 -#define EC_WORD_REJECT (EC_GROUP_BATTLE << 9) | 0x34 -#define EC_WORD_ACCEPT (EC_GROUP_BATTLE << 9) | 0x35 -#define EC_WORD_INVINCIBLE (EC_GROUP_BATTLE << 9) | 0x36 -#define EC_WORD_RECEIVED (EC_GROUP_BATTLE << 9) | 0x37 -#define EC_WORD_EASY (EC_GROUP_BATTLE << 9) | 0x38 -#define EC_WORD_WEAK (EC_GROUP_BATTLE << 9) | 0x39 -#define EC_WORD_TOO_WEAK (EC_GROUP_BATTLE << 9) | 0x3a -#define EC_WORD_PUSHOVER (EC_GROUP_BATTLE << 9) | 0x3b -#define EC_WORD_LEADER (EC_GROUP_BATTLE << 9) | 0x3c -#define EC_WORD_RULE (EC_GROUP_BATTLE << 9) | 0x3d -#define EC_WORD_MOVE (EC_GROUP_BATTLE << 9) | 0x3e - -// GREETINGS -#define EC_WORD_THANKS (EC_GROUP_GREETINGS << 9) | 0x0 -#define EC_WORD_YES (EC_GROUP_GREETINGS << 9) | 0x1 -#define EC_WORD_HERE_GOES (EC_GROUP_GREETINGS << 9) | 0x2 -#define EC_WORD_HERE_I_COME (EC_GROUP_GREETINGS << 9) | 0x3 -#define EC_WORD_HERE_IT_IS (EC_GROUP_GREETINGS << 9) | 0x4 -#define EC_WORD_YEAH (EC_GROUP_GREETINGS << 9) | 0x5 -#define EC_WORD_WELCOME (EC_GROUP_GREETINGS << 9) | 0x6 -#define EC_WORD_OI (EC_GROUP_GREETINGS << 9) | 0x7 -#define EC_WORD_HOW_DO (EC_GROUP_GREETINGS << 9) | 0x8 -#define EC_WORD_CONGRATS (EC_GROUP_GREETINGS << 9) | 0x9 -#define EC_WORD_GIVE_ME (EC_GROUP_GREETINGS << 9) | 0xa -#define EC_WORD_SORRY (EC_GROUP_GREETINGS << 9) | 0xb -#define EC_WORD_APOLOGIZE (EC_GROUP_GREETINGS << 9) | 0xc -#define EC_WORD_FORGIVE (EC_GROUP_GREETINGS << 9) | 0xd -#define EC_WORD_HEY_THERE (EC_GROUP_GREETINGS << 9) | 0xe -#define EC_WORD_HELLO (EC_GROUP_GREETINGS << 9) | 0xf -#define EC_WORD_GOOD_BYE (EC_GROUP_GREETINGS << 9) | 0x10 -#define EC_WORD_THANK_YOU (EC_GROUP_GREETINGS << 9) | 0x11 -#define EC_WORD_I_VE_ARRIVED (EC_GROUP_GREETINGS << 9) | 0x12 -#define EC_WORD_PARDON (EC_GROUP_GREETINGS << 9) | 0x13 -#define EC_WORD_EXCUSE (EC_GROUP_GREETINGS << 9) | 0x14 -#define EC_WORD_SEE_YA (EC_GROUP_GREETINGS << 9) | 0x15 -#define EC_WORD_EXCUSE_ME (EC_GROUP_GREETINGS << 9) | 0x16 -#define EC_WORD_WELL_THEN (EC_GROUP_GREETINGS << 9) | 0x17 -#define EC_WORD_GO_AHEAD (EC_GROUP_GREETINGS << 9) | 0x18 -#define EC_WORD_APPRECIATE (EC_GROUP_GREETINGS << 9) | 0x19 -#define EC_WORD_HEY_QUES (EC_GROUP_GREETINGS << 9) | 0x1a -#define EC_WORD_WHAT_S_UP_QUES (EC_GROUP_GREETINGS << 9) | 0x1b -#define EC_WORD_HUH_QUES (EC_GROUP_GREETINGS << 9) | 0x1c -#define EC_WORD_NO (EC_GROUP_GREETINGS << 9) | 0x1d -#define EC_WORD_HI (EC_GROUP_GREETINGS << 9) | 0x1e -#define EC_WORD_YEAH_YEAH (EC_GROUP_GREETINGS << 9) | 0x1f -#define EC_WORD_BYE_BYE (EC_GROUP_GREETINGS << 9) | 0x20 -#define EC_WORD_MEET_YOU (EC_GROUP_GREETINGS << 9) | 0x21 -#define EC_WORD_HEY (EC_GROUP_GREETINGS << 9) | 0x22 -#define EC_WORD_SMELL (EC_GROUP_GREETINGS << 9) | 0x23 -#define EC_WORD_LISTENING (EC_GROUP_GREETINGS << 9) | 0x24 -#define EC_WORD_HOO_HAH (EC_GROUP_GREETINGS << 9) | 0x25 -#define EC_WORD_YAHOO (EC_GROUP_GREETINGS << 9) | 0x26 -#define EC_WORD_YO (EC_GROUP_GREETINGS << 9) | 0x27 -#define EC_WORD_COME_OVER (EC_GROUP_GREETINGS << 9) | 0x28 -#define EC_WORD_COUNT_ON (EC_GROUP_GREETINGS << 9) | 0x29 - -// PEOPLE -#define EC_WORD_OPPONENT (EC_GROUP_PEOPLE << 9) | 0x0 -#define EC_WORD_I (EC_GROUP_PEOPLE << 9) | 0x1 -#define EC_WORD_YOU (EC_GROUP_PEOPLE << 9) | 0x2 -#define EC_WORD_YOURS (EC_GROUP_PEOPLE << 9) | 0x3 -#define EC_WORD_SON (EC_GROUP_PEOPLE << 9) | 0x4 -#define EC_WORD_YOUR (EC_GROUP_PEOPLE << 9) | 0x5 -#define EC_WORD_YOU_RE (EC_GROUP_PEOPLE << 9) | 0x6 -#define EC_WORD_YOU_VE (EC_GROUP_PEOPLE << 9) | 0x7 -#define EC_WORD_MOTHER (EC_GROUP_PEOPLE << 9) | 0x8 -#define EC_WORD_GRANDFATHER (EC_GROUP_PEOPLE << 9) | 0x9 -#define EC_WORD_UNCLE (EC_GROUP_PEOPLE << 9) | 0xa -#define EC_WORD_FATHER (EC_GROUP_PEOPLE << 9) | 0xb -#define EC_WORD_BOY (EC_GROUP_PEOPLE << 9) | 0xc -#define EC_WORD_ADULT (EC_GROUP_PEOPLE << 9) | 0xd -#define EC_WORD_BROTHER (EC_GROUP_PEOPLE << 9) | 0xe -#define EC_WORD_SISTER (EC_GROUP_PEOPLE << 9) | 0xf -#define EC_WORD_GRANDMOTHER (EC_GROUP_PEOPLE << 9) | 0x10 -#define EC_WORD_AUNT (EC_GROUP_PEOPLE << 9) | 0x11 -#define EC_WORD_PARENT (EC_GROUP_PEOPLE << 9) | 0x12 -#define EC_WORD_MAN (EC_GROUP_PEOPLE << 9) | 0x13 -#define EC_WORD_ME (EC_GROUP_PEOPLE << 9) | 0x14 -#define EC_WORD_GIRL (EC_GROUP_PEOPLE << 9) | 0x15 -#define EC_WORD_BABE (EC_GROUP_PEOPLE << 9) | 0x16 -#define EC_WORD_FAMILY (EC_GROUP_PEOPLE << 9) | 0x17 -#define EC_WORD_HER (EC_GROUP_PEOPLE << 9) | 0x18 -#define EC_WORD_HIM (EC_GROUP_PEOPLE << 9) | 0x19 -#define EC_WORD_HE (EC_GROUP_PEOPLE << 9) | 0x1a -#define EC_WORD_PLACE (EC_GROUP_PEOPLE << 9) | 0x1b -#define EC_WORD_DAUGHTER (EC_GROUP_PEOPLE << 9) | 0x1c -#define EC_WORD_HIS (EC_GROUP_PEOPLE << 9) | 0x1d -#define EC_WORD_HE_S (EC_GROUP_PEOPLE << 9) | 0x1e -#define EC_WORD_AREN_T (EC_GROUP_PEOPLE << 9) | 0x1f -#define EC_WORD_SIBLINGS (EC_GROUP_PEOPLE << 9) | 0x20 -#define EC_WORD_KID (EC_GROUP_PEOPLE << 9) | 0x21 -#define EC_WORD_CHILDREN (EC_GROUP_PEOPLE << 9) | 0x22 -#define EC_WORD_MR (EC_GROUP_PEOPLE << 9) | 0x23 -#define EC_WORD_MRS (EC_GROUP_PEOPLE << 9) | 0x24 -#define EC_WORD_MYSELF (EC_GROUP_PEOPLE << 9) | 0x25 -#define EC_WORD_I_WAS (EC_GROUP_PEOPLE << 9) | 0x26 -#define EC_WORD_TO_ME (EC_GROUP_PEOPLE << 9) | 0x27 -#define EC_WORD_MY (EC_GROUP_PEOPLE << 9) | 0x28 -#define EC_WORD_I_AM (EC_GROUP_PEOPLE << 9) | 0x29 -#define EC_WORD_I_VE (EC_GROUP_PEOPLE << 9) | 0x2a -#define EC_WORD_WHO (EC_GROUP_PEOPLE << 9) | 0x2b -#define EC_WORD_SOMEONE (EC_GROUP_PEOPLE << 9) | 0x2c -#define EC_WORD_WHO_WAS (EC_GROUP_PEOPLE << 9) | 0x2d -#define EC_WORD_TO_WHOM (EC_GROUP_PEOPLE << 9) | 0x2e -#define EC_WORD_WHOSE (EC_GROUP_PEOPLE << 9) | 0x2f -#define EC_WORD_WHO_IS (EC_GROUP_PEOPLE << 9) | 0x30 -#define EC_WORD_IT_S (EC_GROUP_PEOPLE << 9) | 0x31 -#define EC_WORD_LADY (EC_GROUP_PEOPLE << 9) | 0x32 -#define EC_WORD_FRIEND (EC_GROUP_PEOPLE << 9) | 0x33 -#define EC_WORD_ALLY (EC_GROUP_PEOPLE << 9) | 0x34 -#define EC_WORD_PERSON (EC_GROUP_PEOPLE << 9) | 0x35 -#define EC_WORD_DUDE (EC_GROUP_PEOPLE << 9) | 0x36 -#define EC_WORD_THEY (EC_GROUP_PEOPLE << 9) | 0x37 -#define EC_WORD_THEY_WERE (EC_GROUP_PEOPLE << 9) | 0x38 -#define EC_WORD_TO_THEM (EC_GROUP_PEOPLE << 9) | 0x39 -#define EC_WORD_THEIR (EC_GROUP_PEOPLE << 9) | 0x3a -#define EC_WORD_THEY_RE (EC_GROUP_PEOPLE << 9) | 0x3b -#define EC_WORD_THEY_VE (EC_GROUP_PEOPLE << 9) | 0x3c -#define EC_WORD_WE (EC_GROUP_PEOPLE << 9) | 0x3d -#define EC_WORD_BEEN (EC_GROUP_PEOPLE << 9) | 0x3e -#define EC_WORD_TO_US (EC_GROUP_PEOPLE << 9) | 0x3f -#define EC_WORD_OUR (EC_GROUP_PEOPLE << 9) | 0x40 -#define EC_WORD_WE_RE (EC_GROUP_PEOPLE << 9) | 0x41 -#define EC_WORD_RIVAL (EC_GROUP_PEOPLE << 9) | 0x42 -#define EC_WORD_WE_VE (EC_GROUP_PEOPLE << 9) | 0x43 -#define EC_WORD_WOMAN (EC_GROUP_PEOPLE << 9) | 0x44 -#define EC_WORD_SHE (EC_GROUP_PEOPLE << 9) | 0x45 -#define EC_WORD_SHE_WAS (EC_GROUP_PEOPLE << 9) | 0x46 -#define EC_WORD_TO_HER (EC_GROUP_PEOPLE << 9) | 0x47 -#define EC_WORD_HERS (EC_GROUP_PEOPLE << 9) | 0x48 -#define EC_WORD_SHE_IS (EC_GROUP_PEOPLE << 9) | 0x49 -#define EC_WORD_SOME (EC_GROUP_PEOPLE << 9) | 0x4a - -// VOICES -#define EC_WORD_EXCL (EC_GROUP_VOICES << 9) | 0x0 -#define EC_WORD_EXCL_EXCL (EC_GROUP_VOICES << 9) | 0x1 -#define EC_WORD_QUES_EXCL (EC_GROUP_VOICES << 9) | 0x2 -#define EC_WORD_QUES (EC_GROUP_VOICES << 9) | 0x3 -#define EC_WORD_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x4 -#define EC_WORD_ELLIPSIS_EXCL (EC_GROUP_VOICES << 9) | 0x5 -#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x6 -#define EC_WORD_DASH (EC_GROUP_VOICES << 9) | 0x7 -#define EC_WORD_DASH_DASH_DASH (EC_GROUP_VOICES << 9) | 0x8 -#define EC_WORD_UH_OH (EC_GROUP_VOICES << 9) | 0x9 -#define EC_WORD_WAAAH (EC_GROUP_VOICES << 9) | 0xa -#define EC_WORD_AHAHA (EC_GROUP_VOICES << 9) | 0xb -#define EC_WORD_OH_QUES (EC_GROUP_VOICES << 9) | 0xc -#define EC_WORD_NOPE (EC_GROUP_VOICES << 9) | 0xd -#define EC_WORD_URGH (EC_GROUP_VOICES << 9) | 0xe -#define EC_WORD_HMM (EC_GROUP_VOICES << 9) | 0xf -#define EC_WORD_WHOAH (EC_GROUP_VOICES << 9) | 0x10 -#define EC_WORD_WROOOAAR_EXCL (EC_GROUP_VOICES << 9) | 0x11 -#define EC_WORD_WOW (EC_GROUP_VOICES << 9) | 0x12 -#define EC_WORD_GIGGLE (EC_GROUP_VOICES << 9) | 0x13 -#define EC_WORD_SIGH (EC_GROUP_VOICES << 9) | 0x14 -#define EC_WORD_UNBELIEVABLE (EC_GROUP_VOICES << 9) | 0x15 -#define EC_WORD_CRIES (EC_GROUP_VOICES << 9) | 0x16 -#define EC_WORD_AGREE (EC_GROUP_VOICES << 9) | 0x17 -#define EC_WORD_EH_QUES (EC_GROUP_VOICES << 9) | 0x18 -#define EC_WORD_CRY (EC_GROUP_VOICES << 9) | 0x19 -#define EC_WORD_EHEHE (EC_GROUP_VOICES << 9) | 0x1a -#define EC_WORD_OI_OI_OI (EC_GROUP_VOICES << 9) | 0x1b -#define EC_WORD_OH_YEAH (EC_GROUP_VOICES << 9) | 0x1c -#define EC_WORD_OH (EC_GROUP_VOICES << 9) | 0x1d -#define EC_WORD_OOPS (EC_GROUP_VOICES << 9) | 0x1e -#define EC_WORD_SHOCKED (EC_GROUP_VOICES << 9) | 0x1f -#define EC_WORD_EEK (EC_GROUP_VOICES << 9) | 0x20 -#define EC_WORD_GRAAAH (EC_GROUP_VOICES << 9) | 0x21 -#define EC_WORD_GWAHAHAHA (EC_GROUP_VOICES << 9) | 0x22 -#define EC_WORD_WAY (EC_GROUP_VOICES << 9) | 0x23 -#define EC_WORD_TCH (EC_GROUP_VOICES << 9) | 0x24 -#define EC_WORD_HEHE (EC_GROUP_VOICES << 9) | 0x25 -#define EC_WORD_HAH (EC_GROUP_VOICES << 9) | 0x26 -#define EC_WORD_YUP (EC_GROUP_VOICES << 9) | 0x27 -#define EC_WORD_HAHAHA (EC_GROUP_VOICES << 9) | 0x28 -#define EC_WORD_AIYEEH (EC_GROUP_VOICES << 9) | 0x29 -#define EC_WORD_HIYAH (EC_GROUP_VOICES << 9) | 0x2a -#define EC_WORD_FUFUFU (EC_GROUP_VOICES << 9) | 0x2b -#define EC_WORD_LOL (EC_GROUP_VOICES << 9) | 0x2c -#define EC_WORD_SNORT (EC_GROUP_VOICES << 9) | 0x2d -#define EC_WORD_HUMPH (EC_GROUP_VOICES << 9) | 0x2e -#define EC_WORD_HEHEHE (EC_GROUP_VOICES << 9) | 0x2f -#define EC_WORD_HEH (EC_GROUP_VOICES << 9) | 0x30 -#define EC_WORD_HOHOHO (EC_GROUP_VOICES << 9) | 0x31 -#define EC_WORD_UH_HUH (EC_GROUP_VOICES << 9) | 0x32 -#define EC_WORD_OH_DEAR (EC_GROUP_VOICES << 9) | 0x33 -#define EC_WORD_ARRGH (EC_GROUP_VOICES << 9) | 0x34 -#define EC_WORD_MUFUFU (EC_GROUP_VOICES << 9) | 0x35 -#define EC_WORD_MMM (EC_GROUP_VOICES << 9) | 0x36 -#define EC_WORD_OH_KAY (EC_GROUP_VOICES << 9) | 0x37 -#define EC_WORD_OKAY (EC_GROUP_VOICES << 9) | 0x38 -#define EC_WORD_LALALA (EC_GROUP_VOICES << 9) | 0x39 -#define EC_WORD_YAY (EC_GROUP_VOICES << 9) | 0x3a -#define EC_WORD_AWW (EC_GROUP_VOICES << 9) | 0x3b -#define EC_WORD_WOWEE (EC_GROUP_VOICES << 9) | 0x3c -#define EC_WORD_GWAH (EC_GROUP_VOICES << 9) | 0x3d -#define EC_WORD_WAHAHAHA (EC_GROUP_VOICES << 9) | 0x3e - -// SPEECH -#define EC_WORD_LISTEN (EC_GROUP_SPEECH << 9) | 0x0 -#define EC_WORD_NOT_VERY (EC_GROUP_SPEECH << 9) | 0x1 -#define EC_WORD_MEAN (EC_GROUP_SPEECH << 9) | 0x2 -#define EC_WORD_LIE (EC_GROUP_SPEECH << 9) | 0x3 -#define EC_WORD_LAY (EC_GROUP_SPEECH << 9) | 0x4 -#define EC_WORD_RECOMMEND (EC_GROUP_SPEECH << 9) | 0x5 -#define EC_WORD_NITWIT (EC_GROUP_SPEECH << 9) | 0x6 -#define EC_WORD_QUITE (EC_GROUP_SPEECH << 9) | 0x7 -#define EC_WORD_FROM (EC_GROUP_SPEECH << 9) | 0x8 -#define EC_WORD_FEELING (EC_GROUP_SPEECH << 9) | 0x9 -#define EC_WORD_BUT (EC_GROUP_SPEECH << 9) | 0xa -#define EC_WORD_HOWEVER (EC_GROUP_SPEECH << 9) | 0xb -#define EC_WORD_CASE (EC_GROUP_SPEECH << 9) | 0xc -#define EC_WORD_THE (EC_GROUP_SPEECH << 9) | 0xd -#define EC_WORD_MISS (EC_GROUP_SPEECH << 9) | 0xe -#define EC_WORD_HOW (EC_GROUP_SPEECH << 9) | 0xf -#define EC_WORD_HIT (EC_GROUP_SPEECH << 9) | 0x10 -#define EC_WORD_ENOUGH (EC_GROUP_SPEECH << 9) | 0x11 -#define EC_WORD_A_LOT (EC_GROUP_SPEECH << 9) | 0x12 -#define EC_WORD_A_LITTLE (EC_GROUP_SPEECH << 9) | 0x13 -#define EC_WORD_ABSOLUTELY (EC_GROUP_SPEECH << 9) | 0x14 -#define EC_WORD_AND (EC_GROUP_SPEECH << 9) | 0x15 -#define EC_WORD_ONLY (EC_GROUP_SPEECH << 9) | 0x16 -#define EC_WORD_AROUND (EC_GROUP_SPEECH << 9) | 0x17 -#define EC_WORD_PROBABLY (EC_GROUP_SPEECH << 9) | 0x18 -#define EC_WORD_IF (EC_GROUP_SPEECH << 9) | 0x19 -#define EC_WORD_VERY (EC_GROUP_SPEECH << 9) | 0x1a -#define EC_WORD_A_TINY_BIT (EC_GROUP_SPEECH << 9) | 0x1b -#define EC_WORD_WILD (EC_GROUP_SPEECH << 9) | 0x1c -#define EC_WORD_THAT_S (EC_GROUP_SPEECH << 9) | 0x1d -#define EC_WORD_JUST (EC_GROUP_SPEECH << 9) | 0x1e -#define EC_WORD_EVEN_SO (EC_GROUP_SPEECH << 9) | 0x1f -#define EC_WORD_MUST_BE (EC_GROUP_SPEECH << 9) | 0x20 -#define EC_WORD_NATURALLY (EC_GROUP_SPEECH << 9) | 0x21 -#define EC_WORD_FOR_NOW (EC_GROUP_SPEECH << 9) | 0x22 -#define EC_WORD_UNDERSTOOD (EC_GROUP_SPEECH << 9) | 0x23 -#define EC_WORD_JOKING (EC_GROUP_SPEECH << 9) | 0x24 -#define EC_WORD_READY (EC_GROUP_SPEECH << 9) | 0x25 -#define EC_WORD_SOMETHING (EC_GROUP_SPEECH << 9) | 0x26 -#define EC_WORD_SOMEHOW (EC_GROUP_SPEECH << 9) | 0x27 -#define EC_WORD_ALTHOUGH (EC_GROUP_SPEECH << 9) | 0x28 -#define EC_WORD_ALSO (EC_GROUP_SPEECH << 9) | 0x29 -#define EC_WORD_PERFECT (EC_GROUP_SPEECH << 9) | 0x2a -#define EC_WORD_AS_MUCH_AS (EC_GROUP_SPEECH << 9) | 0x2b -#define EC_WORD_REALLY (EC_GROUP_SPEECH << 9) | 0x2c -#define EC_WORD_TRULY (EC_GROUP_SPEECH << 9) | 0x2d -#define EC_WORD_SERIOUSLY (EC_GROUP_SPEECH << 9) | 0x2e -#define EC_WORD_TOTALLY (EC_GROUP_SPEECH << 9) | 0x2f -#define EC_WORD_UNTIL (EC_GROUP_SPEECH << 9) | 0x30 -#define EC_WORD_AS_IF (EC_GROUP_SPEECH << 9) | 0x31 -#define EC_WORD_MOOD (EC_GROUP_SPEECH << 9) | 0x32 -#define EC_WORD_RATHER (EC_GROUP_SPEECH << 9) | 0x33 -#define EC_WORD_AWFULLY (EC_GROUP_SPEECH << 9) | 0x34 -#define EC_WORD_MODE (EC_GROUP_SPEECH << 9) | 0x35 -#define EC_WORD_MORE (EC_GROUP_SPEECH << 9) | 0x36 -#define EC_WORD_TOO_LATE (EC_GROUP_SPEECH << 9) | 0x37 -#define EC_WORD_FINALLY (EC_GROUP_SPEECH << 9) | 0x38 -#define EC_WORD_ANY (EC_GROUP_SPEECH << 9) | 0x39 -#define EC_WORD_INSTEAD (EC_GROUP_SPEECH << 9) | 0x3a -#define EC_WORD_FANTASTIC (EC_GROUP_SPEECH << 9) | 0x3b - -// ENDINGS -#define EC_WORD_WILL (EC_GROUP_ENDINGS << 9) | 0x0 -#define EC_WORD_WILL_BE_HERE (EC_GROUP_ENDINGS << 9) | 0x1 -#define EC_WORD_OR (EC_GROUP_ENDINGS << 9) | 0x2 -#define EC_WORD_TIMES (EC_GROUP_ENDINGS << 9) | 0x3 -#define EC_WORD_WONDER (EC_GROUP_ENDINGS << 9) | 0x4 -#define EC_WORD_IS_IT_QUES (EC_GROUP_ENDINGS << 9) | 0x5 -#define EC_WORD_BE (EC_GROUP_ENDINGS << 9) | 0x6 -#define EC_WORD_GIMME (EC_GROUP_ENDINGS << 9) | 0x7 -#define EC_WORD_COULD (EC_GROUP_ENDINGS << 9) | 0x8 -#define EC_WORD_LIKELY_TO (EC_GROUP_ENDINGS << 9) | 0x9 -#define EC_WORD_WOULD (EC_GROUP_ENDINGS << 9) | 0xa -#define EC_WORD_IS (EC_GROUP_ENDINGS << 9) | 0xb -#define EC_WORD_ISN_T_IT_QUES (EC_GROUP_ENDINGS << 9) | 0xc -#define EC_WORD_LET_S (EC_GROUP_ENDINGS << 9) | 0xd -#define EC_WORD_OTHER (EC_GROUP_ENDINGS << 9) | 0xe -#define EC_WORD_ARE (EC_GROUP_ENDINGS << 9) | 0xf -#define EC_WORD_WAS (EC_GROUP_ENDINGS << 9) | 0x10 -#define EC_WORD_WERE (EC_GROUP_ENDINGS << 9) | 0x11 -#define EC_WORD_THOSE (EC_GROUP_ENDINGS << 9) | 0x12 -#define EC_WORD_ISN_T (EC_GROUP_ENDINGS << 9) | 0x13 -#define EC_WORD_WON_T (EC_GROUP_ENDINGS << 9) | 0x14 -#define EC_WORD_CAN_T (EC_GROUP_ENDINGS << 9) | 0x15 -#define EC_WORD_CAN (EC_GROUP_ENDINGS << 9) | 0x16 -#define EC_WORD_DON_T (EC_GROUP_ENDINGS << 9) | 0x17 -#define EC_WORD_DO (EC_GROUP_ENDINGS << 9) | 0x18 -#define EC_WORD_DOES (EC_GROUP_ENDINGS << 9) | 0x19 -#define EC_WORD_WHOM (EC_GROUP_ENDINGS << 9) | 0x1a -#define EC_WORD_WHICH (EC_GROUP_ENDINGS << 9) | 0x1b -#define EC_WORD_WASN_T (EC_GROUP_ENDINGS << 9) | 0x1c -#define EC_WORD_WEREN_T (EC_GROUP_ENDINGS << 9) | 0x1d -#define EC_WORD_HAVE (EC_GROUP_ENDINGS << 9) | 0x1e -#define EC_WORD_HAVEN_T (EC_GROUP_ENDINGS << 9) | 0x1f -#define EC_WORD_A (EC_GROUP_ENDINGS << 9) | 0x20 -#define EC_WORD_AN (EC_GROUP_ENDINGS << 9) | 0x21 -#define EC_WORD_NOT (EC_GROUP_ENDINGS << 9) | 0x22 -#define EC_WORD_THERE (EC_GROUP_ENDINGS << 9) | 0x23 -#define EC_WORD_OK_QUES (EC_GROUP_ENDINGS << 9) | 0x24 -#define EC_WORD_SO (EC_GROUP_ENDINGS << 9) | 0x25 -#define EC_WORD_MAYBE (EC_GROUP_ENDINGS << 9) | 0x26 -#define EC_WORD_ABOUT (EC_GROUP_ENDINGS << 9) | 0x27 -#define EC_WORD_OVER (EC_GROUP_ENDINGS << 9) | 0x28 -#define EC_WORD_IT (EC_GROUP_ENDINGS << 9) | 0x29 -#define EC_WORD_ALL (EC_GROUP_ENDINGS << 9) | 0x2a -#define EC_WORD_FOR (EC_GROUP_ENDINGS << 9) | 0x2b -#define EC_WORD_ON (EC_GROUP_ENDINGS << 9) | 0x2c -#define EC_WORD_OFF (EC_GROUP_ENDINGS << 9) | 0x2d -#define EC_WORD_AS (EC_GROUP_ENDINGS << 9) | 0x2e -#define EC_WORD_TO (EC_GROUP_ENDINGS << 9) | 0x2f -#define EC_WORD_WITH (EC_GROUP_ENDINGS << 9) | 0x30 -#define EC_WORD_BETTER (EC_GROUP_ENDINGS << 9) | 0x31 -#define EC_WORD_EVER (EC_GROUP_ENDINGS << 9) | 0x32 -#define EC_WORD_SINCE (EC_GROUP_ENDINGS << 9) | 0x33 -#define EC_WORD_OF (EC_GROUP_ENDINGS << 9) | 0x34 -#define EC_WORD_BELONGS_TO (EC_GROUP_ENDINGS << 9) | 0x35 -#define EC_WORD_AT (EC_GROUP_ENDINGS << 9) | 0x36 -#define EC_WORD_IN (EC_GROUP_ENDINGS << 9) | 0x37 -#define EC_WORD_OUT (EC_GROUP_ENDINGS << 9) | 0x38 -#define EC_WORD_TOO (EC_GROUP_ENDINGS << 9) | 0x39 -#define EC_WORD_LIKE (EC_GROUP_ENDINGS << 9) | 0x3a -#define EC_WORD_DID (EC_GROUP_ENDINGS << 9) | 0x3b -#define EC_WORD_DIDN_T (EC_GROUP_ENDINGS << 9) | 0x3c -#define EC_WORD_DOESN_T (EC_GROUP_ENDINGS << 9) | 0x3d -#define EC_WORD_WITHOUT (EC_GROUP_ENDINGS << 9) | 0x3e -#define EC_WORD_AFTER (EC_GROUP_ENDINGS << 9) | 0x3f -#define EC_WORD_BEFORE (EC_GROUP_ENDINGS << 9) | 0x40 -#define EC_WORD_WHILE (EC_GROUP_ENDINGS << 9) | 0x41 -#define EC_WORD_THAN (EC_GROUP_ENDINGS << 9) | 0x42 -#define EC_WORD_ONCE (EC_GROUP_ENDINGS << 9) | 0x43 -#define EC_WORD_ANYWHERE (EC_GROUP_ENDINGS << 9) | 0x44 - -// FEELINGS -#define EC_WORD_MEET (EC_GROUP_FEELINGS << 9) | 0x0 -#define EC_WORD_PLAY (EC_GROUP_FEELINGS << 9) | 0x1 -#define EC_WORD_HURRIED (EC_GROUP_FEELINGS << 9) | 0x2 -#define EC_WORD_GOES (EC_GROUP_FEELINGS << 9) | 0x3 -#define EC_WORD_GIDDY (EC_GROUP_FEELINGS << 9) | 0x4 -#define EC_WORD_HAPPY (EC_GROUP_FEELINGS << 9) | 0x5 -#define EC_WORD_HAPPINESS (EC_GROUP_FEELINGS << 9) | 0x6 -#define EC_WORD_EXCITE (EC_GROUP_FEELINGS << 9) | 0x7 -#define EC_WORD_IMPORTANT (EC_GROUP_FEELINGS << 9) | 0x8 -#define EC_WORD_FUNNY (EC_GROUP_FEELINGS << 9) | 0x9 -#define EC_WORD_GOT (EC_GROUP_FEELINGS << 9) | 0xa -#define EC_WORD_GO_HOME (EC_GROUP_FEELINGS << 9) | 0xb -#define EC_WORD_DISAPPOINTED (EC_GROUP_FEELINGS << 9) | 0xc -#define EC_WORD_DISAPPOINTS (EC_GROUP_FEELINGS << 9) | 0xd -#define EC_WORD_SAD (EC_GROUP_FEELINGS << 9) | 0xe -#define EC_WORD_TRY (EC_GROUP_FEELINGS << 9) | 0xf -#define EC_WORD_TRIES (EC_GROUP_FEELINGS << 9) | 0x10 -#define EC_WORD_HEARS (EC_GROUP_FEELINGS << 9) | 0x11 -#define EC_WORD_THINK (EC_GROUP_FEELINGS << 9) | 0x12 -#define EC_WORD_HEAR (EC_GROUP_FEELINGS << 9) | 0x13 -#define EC_WORD_WANTS (EC_GROUP_FEELINGS << 9) | 0x14 -#define EC_WORD_MISHEARD (EC_GROUP_FEELINGS << 9) | 0x15 -#define EC_WORD_DISLIKE (EC_GROUP_FEELINGS << 9) | 0x16 -#define EC_WORD_ANGRY (EC_GROUP_FEELINGS << 9) | 0x17 -#define EC_WORD_ANGER (EC_GROUP_FEELINGS << 9) | 0x18 -#define EC_WORD_SCARY (EC_GROUP_FEELINGS << 9) | 0x19 -#define EC_WORD_LONESOME (EC_GROUP_FEELINGS << 9) | 0x1a -#define EC_WORD_DISAPPOINT (EC_GROUP_FEELINGS << 9) | 0x1b -#define EC_WORD_JOY (EC_GROUP_FEELINGS << 9) | 0x1c -#define EC_WORD_GETS (EC_GROUP_FEELINGS << 9) | 0x1d -#define EC_WORD_NEVER (EC_GROUP_FEELINGS << 9) | 0x1e -#define EC_WORD_DARN (EC_GROUP_FEELINGS << 9) | 0x1f -#define EC_WORD_DOWNCAST (EC_GROUP_FEELINGS << 9) | 0x20 -#define EC_WORD_INCREDIBLE (EC_GROUP_FEELINGS << 9) | 0x21 -#define EC_WORD_LIKES (EC_GROUP_FEELINGS << 9) | 0x22 -#define EC_WORD_DISLIKES (EC_GROUP_FEELINGS << 9) | 0x23 -#define EC_WORD_BORING (EC_GROUP_FEELINGS << 9) | 0x24 -#define EC_WORD_CARE (EC_GROUP_FEELINGS << 9) | 0x25 -#define EC_WORD_CARES (EC_GROUP_FEELINGS << 9) | 0x26 -#define EC_WORD_ALL_RIGHT (EC_GROUP_FEELINGS << 9) | 0x27 -#define EC_WORD_ADORE (EC_GROUP_FEELINGS << 9) | 0x28 -#define EC_WORD_DISASTER (EC_GROUP_FEELINGS << 9) | 0x29 -#define EC_WORD_ENJOY (EC_GROUP_FEELINGS << 9) | 0x2a -#define EC_WORD_ENJOYS (EC_GROUP_FEELINGS << 9) | 0x2b -#define EC_WORD_EAT (EC_GROUP_FEELINGS << 9) | 0x2c -#define EC_WORD_LACKING (EC_GROUP_FEELINGS << 9) | 0x2d -#define EC_WORD_BAD (EC_GROUP_FEELINGS << 9) | 0x2e -#define EC_WORD_HARD (EC_GROUP_FEELINGS << 9) | 0x2f -#define EC_WORD_TERRIBLE (EC_GROUP_FEELINGS << 9) | 0x30 -#define EC_WORD_SHOULD (EC_GROUP_FEELINGS << 9) | 0x31 -#define EC_WORD_NICE (EC_GROUP_FEELINGS << 9) | 0x32 -#define EC_WORD_DRINK (EC_GROUP_FEELINGS << 9) | 0x33 -#define EC_WORD_SURPRISE (EC_GROUP_FEELINGS << 9) | 0x34 -#define EC_WORD_FEAR (EC_GROUP_FEELINGS << 9) | 0x35 -#define EC_WORD_WANT (EC_GROUP_FEELINGS << 9) | 0x36 -#define EC_WORD_WAIT (EC_GROUP_FEELINGS << 9) | 0x37 -#define EC_WORD_SATISFIED (EC_GROUP_FEELINGS << 9) | 0x38 -#define EC_WORD_SEE (EC_GROUP_FEELINGS << 9) | 0x39 -#define EC_WORD_RARE (EC_GROUP_FEELINGS << 9) | 0x3a -#define EC_WORD_NEGATIVE (EC_GROUP_FEELINGS << 9) | 0x3b -#define EC_WORD_DONE (EC_GROUP_FEELINGS << 9) | 0x3c -#define EC_WORD_DANGER (EC_GROUP_FEELINGS << 9) | 0x3d -#define EC_WORD_DEFEATED (EC_GROUP_FEELINGS << 9) | 0x3e -#define EC_WORD_BEAT (EC_GROUP_FEELINGS << 9) | 0x3f -#define EC_WORD_GREAT (EC_GROUP_FEELINGS << 9) | 0x40 -#define EC_WORD_ROMANTIC (EC_GROUP_FEELINGS << 9) | 0x41 -#define EC_WORD_QUESTION (EC_GROUP_FEELINGS << 9) | 0x42 -#define EC_WORD_UNDERSTAND (EC_GROUP_FEELINGS << 9) | 0x43 -#define EC_WORD_UNDERSTANDS (EC_GROUP_FEELINGS << 9) | 0x44 - -// CONDITIONS -#define EC_WORD_HOT (EC_GROUP_CONDITIONS << 9) | 0x0 -#define EC_WORD_EXISTS (EC_GROUP_CONDITIONS << 9) | 0x1 -#define EC_WORD_EXCESS (EC_GROUP_CONDITIONS << 9) | 0x2 -#define EC_WORD_APPROVED (EC_GROUP_CONDITIONS << 9) | 0x3 -#define EC_WORD_HAS (EC_GROUP_CONDITIONS << 9) | 0x4 -#define EC_WORD_GOOD (EC_GROUP_CONDITIONS << 9) | 0x5 -#define EC_WORD_LESS (EC_GROUP_CONDITIONS << 9) | 0x6 -#define EC_WORD_MOMENTUM (EC_GROUP_CONDITIONS << 9) | 0x7 -#define EC_WORD_GOING (EC_GROUP_CONDITIONS << 9) | 0x8 -#define EC_WORD_WEIRD (EC_GROUP_CONDITIONS << 9) | 0x9 -#define EC_WORD_BUSY (EC_GROUP_CONDITIONS << 9) | 0xa -#define EC_WORD_TOGETHER (EC_GROUP_CONDITIONS << 9) | 0xb -#define EC_WORD_FULL (EC_GROUP_CONDITIONS << 9) | 0xc -#define EC_WORD_ABSENT (EC_GROUP_CONDITIONS << 9) | 0xd -#define EC_WORD_BEING (EC_GROUP_CONDITIONS << 9) | 0xe -#define EC_WORD_NEED (EC_GROUP_CONDITIONS << 9) | 0xf -#define EC_WORD_TASTY (EC_GROUP_CONDITIONS << 9) | 0x10 -#define EC_WORD_SKILLED (EC_GROUP_CONDITIONS << 9) | 0x11 -#define EC_WORD_NOISY (EC_GROUP_CONDITIONS << 9) | 0x12 -#define EC_WORD_BIG (EC_GROUP_CONDITIONS << 9) | 0x13 -#define EC_WORD_LATE (EC_GROUP_CONDITIONS << 9) | 0x14 -#define EC_WORD_CLOSE (EC_GROUP_CONDITIONS << 9) | 0x15 -#define EC_WORD_DOCILE (EC_GROUP_CONDITIONS << 9) | 0x16 -#define EC_WORD_AMUSING (EC_GROUP_CONDITIONS << 9) | 0x17 -#define EC_WORD_ENTERTAINING (EC_GROUP_CONDITIONS << 9) | 0x18 -#define EC_WORD_PERFECTION (EC_GROUP_CONDITIONS << 9) | 0x19 -#define EC_WORD_PRETTY (EC_GROUP_CONDITIONS << 9) | 0x1a -#define EC_WORD_HEALTHY (EC_GROUP_CONDITIONS << 9) | 0x1b -#define EC_WORD_EXCELLENT (EC_GROUP_CONDITIONS << 9) | 0x1c -#define EC_WORD_UPSIDE_DOWN (EC_GROUP_CONDITIONS << 9) | 0x1d -#define EC_WORD_COLD (EC_GROUP_CONDITIONS << 9) | 0x1e -#define EC_WORD_REFRESHING (EC_GROUP_CONDITIONS << 9) | 0x1f -#define EC_WORD_UNAVOIDABLE (EC_GROUP_CONDITIONS << 9) | 0x20 -#define EC_WORD_MUCH (EC_GROUP_CONDITIONS << 9) | 0x21 -#define EC_WORD_OVERWHELMING (EC_GROUP_CONDITIONS << 9) | 0x22 -#define EC_WORD_FABULOUS (EC_GROUP_CONDITIONS << 9) | 0x23 -#define EC_WORD_ELSE (EC_GROUP_CONDITIONS << 9) | 0x24 -#define EC_WORD_EXPENSIVE (EC_GROUP_CONDITIONS << 9) | 0x25 -#define EC_WORD_CORRECT (EC_GROUP_CONDITIONS << 9) | 0x26 -#define EC_WORD_IMPOSSIBLE (EC_GROUP_CONDITIONS << 9) | 0x27 -#define EC_WORD_SMALL (EC_GROUP_CONDITIONS << 9) | 0x28 -#define EC_WORD_DIFFERENT (EC_GROUP_CONDITIONS << 9) | 0x29 -#define EC_WORD_TIRED (EC_GROUP_CONDITIONS << 9) | 0x2a -#define EC_WORD_SKILL (EC_GROUP_CONDITIONS << 9) | 0x2b -#define EC_WORD_TOP (EC_GROUP_CONDITIONS << 9) | 0x2c -#define EC_WORD_NON_STOP (EC_GROUP_CONDITIONS << 9) | 0x2d -#define EC_WORD_PREPOSTEROUS (EC_GROUP_CONDITIONS << 9) | 0x2e -#define EC_WORD_NONE (EC_GROUP_CONDITIONS << 9) | 0x2f -#define EC_WORD_NOTHING (EC_GROUP_CONDITIONS << 9) | 0x30 -#define EC_WORD_NATURAL (EC_GROUP_CONDITIONS << 9) | 0x31 -#define EC_WORD_BECOMES (EC_GROUP_CONDITIONS << 9) | 0x32 -#define EC_WORD_LUKEWARM (EC_GROUP_CONDITIONS << 9) | 0x33 -#define EC_WORD_FAST (EC_GROUP_CONDITIONS << 9) | 0x34 -#define EC_WORD_LOW (EC_GROUP_CONDITIONS << 9) | 0x35 -#define EC_WORD_AWFUL (EC_GROUP_CONDITIONS << 9) | 0x36 -#define EC_WORD_ALONE (EC_GROUP_CONDITIONS << 9) | 0x37 -#define EC_WORD_BORED (EC_GROUP_CONDITIONS << 9) | 0x38 -#define EC_WORD_SECRET (EC_GROUP_CONDITIONS << 9) | 0x39 -#define EC_WORD_MYSTERY (EC_GROUP_CONDITIONS << 9) | 0x3a -#define EC_WORD_LACKS (EC_GROUP_CONDITIONS << 9) | 0x3b -#define EC_WORD_BEST (EC_GROUP_CONDITIONS << 9) | 0x3c -#define EC_WORD_LOUSY (EC_GROUP_CONDITIONS << 9) | 0x3d -#define EC_WORD_MISTAKE (EC_GROUP_CONDITIONS << 9) | 0x3e -#define EC_WORD_KIND (EC_GROUP_CONDITIONS << 9) | 0x3f -#define EC_WORD_WELL (EC_GROUP_CONDITIONS << 9) | 0x40 -#define EC_WORD_WEAKENED (EC_GROUP_CONDITIONS << 9) | 0x41 -#define EC_WORD_SIMPLE (EC_GROUP_CONDITIONS << 9) | 0x42 -#define EC_WORD_SEEMS (EC_GROUP_CONDITIONS << 9) | 0x43 -#define EC_WORD_BADLY (EC_GROUP_CONDITIONS << 9) | 0x44 - -// ACTIONS -#define EC_WORD_MEETS (EC_GROUP_ACTIONS << 9) | 0x0 -#define EC_WORD_CONCEDE (EC_GROUP_ACTIONS << 9) | 0x1 -#define EC_WORD_GIVE (EC_GROUP_ACTIONS << 9) | 0x2 -#define EC_WORD_GIVES (EC_GROUP_ACTIONS << 9) | 0x3 -#define EC_WORD_PLAYED (EC_GROUP_ACTIONS << 9) | 0x4 -#define EC_WORD_PLAYS (EC_GROUP_ACTIONS << 9) | 0x5 -#define EC_WORD_COLLECT (EC_GROUP_ACTIONS << 9) | 0x6 -#define EC_WORD_WALKING (EC_GROUP_ACTIONS << 9) | 0x7 -#define EC_WORD_WALKS (EC_GROUP_ACTIONS << 9) | 0x8 -#define EC_WORD_SAYS (EC_GROUP_ACTIONS << 9) | 0x9 -#define EC_WORD_WENT (EC_GROUP_ACTIONS << 9) | 0xa -#define EC_WORD_SAID (EC_GROUP_ACTIONS << 9) | 0xb -#define EC_WORD_WAKE_UP (EC_GROUP_ACTIONS << 9) | 0xc -#define EC_WORD_WAKES_UP (EC_GROUP_ACTIONS << 9) | 0xd -#define EC_WORD_ANGERS (EC_GROUP_ACTIONS << 9) | 0xe -#define EC_WORD_TEACH (EC_GROUP_ACTIONS << 9) | 0xf -#define EC_WORD_TEACHES (EC_GROUP_ACTIONS << 9) | 0x10 -#define EC_WORD_PLEASE (EC_GROUP_ACTIONS << 9) | 0x11 -#define EC_WORD_LEARN (EC_GROUP_ACTIONS << 9) | 0x12 -#define EC_WORD_CHANGE (EC_GROUP_ACTIONS << 9) | 0x13 -#define EC_WORD_STORY (EC_GROUP_ACTIONS << 9) | 0x14 -#define EC_WORD_TRUST (EC_GROUP_ACTIONS << 9) | 0x15 -#define EC_WORD_LAVISH (EC_GROUP_ACTIONS << 9) | 0x16 -#define EC_WORD_LISTENS (EC_GROUP_ACTIONS << 9) | 0x17 -#define EC_WORD_HEARING (EC_GROUP_ACTIONS << 9) | 0x18 -#define EC_WORD_TRAINS (EC_GROUP_ACTIONS << 9) | 0x19 -#define EC_WORD_CHOOSE (EC_GROUP_ACTIONS << 9) | 0x1a -#define EC_WORD_COME (EC_GROUP_ACTIONS << 9) | 0x1b -#define EC_WORD_CAME (EC_GROUP_ACTIONS << 9) | 0x1c -#define EC_WORD_SEARCH (EC_GROUP_ACTIONS << 9) | 0x1d -#define EC_WORD_MAKE (EC_GROUP_ACTIONS << 9) | 0x1e -#define EC_WORD_CAUSE (EC_GROUP_ACTIONS << 9) | 0x1f -#define EC_WORD_KNOW (EC_GROUP_ACTIONS << 9) | 0x20 -#define EC_WORD_KNOWS (EC_GROUP_ACTIONS << 9) | 0x21 -#define EC_WORD_REFUSE (EC_GROUP_ACTIONS << 9) | 0x22 -#define EC_WORD_STORES (EC_GROUP_ACTIONS << 9) | 0x23 -#define EC_WORD_BRAG (EC_GROUP_ACTIONS << 9) | 0x24 -#define EC_WORD_IGNORANT (EC_GROUP_ACTIONS << 9) | 0x25 -#define EC_WORD_THINKS (EC_GROUP_ACTIONS << 9) | 0x26 -#define EC_WORD_BELIEVE (EC_GROUP_ACTIONS << 9) | 0x27 -#define EC_WORD_SLIDE (EC_GROUP_ACTIONS << 9) | 0x28 -#define EC_WORD_EATS (EC_GROUP_ACTIONS << 9) | 0x29 -#define EC_WORD_USE (EC_GROUP_ACTIONS << 9) | 0x2a -#define EC_WORD_USES (EC_GROUP_ACTIONS << 9) | 0x2b -#define EC_WORD_USING (EC_GROUP_ACTIONS << 9) | 0x2c -#define EC_WORD_COULDN_T (EC_GROUP_ACTIONS << 9) | 0x2d -#define EC_WORD_CAPABLE (EC_GROUP_ACTIONS << 9) | 0x2e -#define EC_WORD_DISAPPEAR (EC_GROUP_ACTIONS << 9) | 0x2f -#define EC_WORD_APPEAR (EC_GROUP_ACTIONS << 9) | 0x30 -#define EC_WORD_THROW (EC_GROUP_ACTIONS << 9) | 0x31 -#define EC_WORD_WORRY (EC_GROUP_ACTIONS << 9) | 0x32 -#define EC_WORD_SLEPT (EC_GROUP_ACTIONS << 9) | 0x33 -#define EC_WORD_SLEEP (EC_GROUP_ACTIONS << 9) | 0x34 -#define EC_WORD_RELEASE (EC_GROUP_ACTIONS << 9) | 0x35 -#define EC_WORD_DRINKS (EC_GROUP_ACTIONS << 9) | 0x36 -#define EC_WORD_RUNS (EC_GROUP_ACTIONS << 9) | 0x37 -#define EC_WORD_RUN (EC_GROUP_ACTIONS << 9) | 0x38 -#define EC_WORD_WORKS (EC_GROUP_ACTIONS << 9) | 0x39 -#define EC_WORD_WORKING (EC_GROUP_ACTIONS << 9) | 0x3a -#define EC_WORD_TALKING (EC_GROUP_ACTIONS << 9) | 0x3b -#define EC_WORD_TALK (EC_GROUP_ACTIONS << 9) | 0x3c -#define EC_WORD_SINK (EC_GROUP_ACTIONS << 9) | 0x3d -#define EC_WORD_SMACK (EC_GROUP_ACTIONS << 9) | 0x3e -#define EC_WORD_PRETEND (EC_GROUP_ACTIONS << 9) | 0x3f -#define EC_WORD_PRAISE (EC_GROUP_ACTIONS << 9) | 0x40 -#define EC_WORD_OVERDO (EC_GROUP_ACTIONS << 9) | 0x41 -#define EC_WORD_SHOW (EC_GROUP_ACTIONS << 9) | 0x42 -#define EC_WORD_LOOKS (EC_GROUP_ACTIONS << 9) | 0x43 -#define EC_WORD_SEES (EC_GROUP_ACTIONS << 9) | 0x44 -#define EC_WORD_SEEK (EC_GROUP_ACTIONS << 9) | 0x45 -#define EC_WORD_OWN (EC_GROUP_ACTIONS << 9) | 0x46 -#define EC_WORD_TAKE (EC_GROUP_ACTIONS << 9) | 0x47 -#define EC_WORD_ALLOW (EC_GROUP_ACTIONS << 9) | 0x48 -#define EC_WORD_FORGET (EC_GROUP_ACTIONS << 9) | 0x49 -#define EC_WORD_FORGETS (EC_GROUP_ACTIONS << 9) | 0x4a -#define EC_WORD_APPEARS (EC_GROUP_ACTIONS << 9) | 0x4b -#define EC_WORD_FAINT (EC_GROUP_ACTIONS << 9) | 0x4c -#define EC_WORD_FAINTED (EC_GROUP_ACTIONS << 9) | 0x4d - -// LIFESTYLE -#define EC_WORD_CHORES (EC_GROUP_LIFESTYLE << 9) | 0x0 -#define EC_WORD_HOME (EC_GROUP_LIFESTYLE << 9) | 0x1 -#define EC_WORD_MONEY (EC_GROUP_LIFESTYLE << 9) | 0x2 -#define EC_WORD_ALLOWANCE (EC_GROUP_LIFESTYLE << 9) | 0x3 -#define EC_WORD_BATH (EC_GROUP_LIFESTYLE << 9) | 0x4 -#define EC_WORD_CONVERSATION (EC_GROUP_LIFESTYLE << 9) | 0x5 -#define EC_WORD_SCHOOL (EC_GROUP_LIFESTYLE << 9) | 0x6 -#define EC_WORD_COMMEMORATE (EC_GROUP_LIFESTYLE << 9) | 0x7 -#define EC_WORD_HABIT (EC_GROUP_LIFESTYLE << 9) | 0x8 -#define EC_WORD_GROUP (EC_GROUP_LIFESTYLE << 9) | 0x9 -#define EC_WORD_WORD (EC_GROUP_LIFESTYLE << 9) | 0xa -#define EC_WORD_STORE (EC_GROUP_LIFESTYLE << 9) | 0xb -#define EC_WORD_SERVICE (EC_GROUP_LIFESTYLE << 9) | 0xc -#define EC_WORD_WORK (EC_GROUP_LIFESTYLE << 9) | 0xd -#define EC_WORD_SYSTEM (EC_GROUP_LIFESTYLE << 9) | 0xe -#define EC_WORD_TRAIN (EC_GROUP_LIFESTYLE << 9) | 0xf -#define EC_WORD_CLASS (EC_GROUP_LIFESTYLE << 9) | 0x10 -#define EC_WORD_LESSONS (EC_GROUP_LIFESTYLE << 9) | 0x11 -#define EC_WORD_INFORMATION (EC_GROUP_LIFESTYLE << 9) | 0x12 -#define EC_WORD_LIVING (EC_GROUP_LIFESTYLE << 9) | 0x13 -#define EC_WORD_TEACHER (EC_GROUP_LIFESTYLE << 9) | 0x14 -#define EC_WORD_TOURNAMENT (EC_GROUP_LIFESTYLE << 9) | 0x15 -#define EC_WORD_LETTER (EC_GROUP_LIFESTYLE << 9) | 0x16 -#define EC_WORD_EVENT (EC_GROUP_LIFESTYLE << 9) | 0x17 -#define EC_WORD_DIGITAL (EC_GROUP_LIFESTYLE << 9) | 0x18 -#define EC_WORD_TEST (EC_GROUP_LIFESTYLE << 9) | 0x19 -#define EC_WORD_DEPT_STORE (EC_GROUP_LIFESTYLE << 9) | 0x1a -#define EC_WORD_TELEVISION (EC_GROUP_LIFESTYLE << 9) | 0x1b -#define EC_WORD_PHONE (EC_GROUP_LIFESTYLE << 9) | 0x1c -#define EC_WORD_ITEM (EC_GROUP_LIFESTYLE << 9) | 0x1d -#define EC_WORD_NAME (EC_GROUP_LIFESTYLE << 9) | 0x1e -#define EC_WORD_NEWS (EC_GROUP_LIFESTYLE << 9) | 0x1f -#define EC_WORD_POPULAR (EC_GROUP_LIFESTYLE << 9) | 0x20 -#define EC_WORD_PARTY (EC_GROUP_LIFESTYLE << 9) | 0x21 -#define EC_WORD_STUDY (EC_GROUP_LIFESTYLE << 9) | 0x22 -#define EC_WORD_MACHINE (EC_GROUP_LIFESTYLE << 9) | 0x23 -#define EC_WORD_MAIL (EC_GROUP_LIFESTYLE << 9) | 0x24 -#define EC_WORD_MESSAGE (EC_GROUP_LIFESTYLE << 9) | 0x25 -#define EC_WORD_PROMISE (EC_GROUP_LIFESTYLE << 9) | 0x26 -#define EC_WORD_DREAM (EC_GROUP_LIFESTYLE << 9) | 0x27 -#define EC_WORD_KINDERGARTEN (EC_GROUP_LIFESTYLE << 9) | 0x28 -#define EC_WORD_LIFE (EC_GROUP_LIFESTYLE << 9) | 0x29 -#define EC_WORD_RADIO (EC_GROUP_LIFESTYLE << 9) | 0x2a -#define EC_WORD_RENTAL (EC_GROUP_LIFESTYLE << 9) | 0x2b -#define EC_WORD_WORLD (EC_GROUP_LIFESTYLE << 9) | 0x2c - -// HOBBIES -#define EC_WORD_IDOL (EC_GROUP_HOBBIES << 9) | 0x0 -#define EC_WORD_ANIME (EC_GROUP_HOBBIES << 9) | 0x1 -#define EC_WORD_SONG (EC_GROUP_HOBBIES << 9) | 0x2 -#define EC_WORD_MOVIE (EC_GROUP_HOBBIES << 9) | 0x3 -#define EC_WORD_SWEETS (EC_GROUP_HOBBIES << 9) | 0x4 -#define EC_WORD_CHAT (EC_GROUP_HOBBIES << 9) | 0x5 -#define EC_WORD_CHILD_S_PLAY (EC_GROUP_HOBBIES << 9) | 0x6 -#define EC_WORD_TOYS (EC_GROUP_HOBBIES << 9) | 0x7 -#define EC_WORD_MUSIC (EC_GROUP_HOBBIES << 9) | 0x8 -#define EC_WORD_CARDS (EC_GROUP_HOBBIES << 9) | 0x9 -#define EC_WORD_SHOPPING (EC_GROUP_HOBBIES << 9) | 0xa -#define EC_WORD_CAMERA (EC_GROUP_HOBBIES << 9) | 0xb -#define EC_WORD_VIEWING (EC_GROUP_HOBBIES << 9) | 0xc -#define EC_WORD_SPECTATOR (EC_GROUP_HOBBIES << 9) | 0xd -#define EC_WORD_GOURMET (EC_GROUP_HOBBIES << 9) | 0xe -#define EC_WORD_GAME (EC_GROUP_HOBBIES << 9) | 0xf -#define EC_WORD_RPG (EC_GROUP_HOBBIES << 9) | 0x10 -#define EC_WORD_COLLECTION (EC_GROUP_HOBBIES << 9) | 0x11 -#define EC_WORD_COMPLETE (EC_GROUP_HOBBIES << 9) | 0x12 -#define EC_WORD_MAGAZINE (EC_GROUP_HOBBIES << 9) | 0x13 -#define EC_WORD_WALK (EC_GROUP_HOBBIES << 9) | 0x14 -#define EC_WORD_BIKE (EC_GROUP_HOBBIES << 9) | 0x15 -#define EC_WORD_HOBBY (EC_GROUP_HOBBIES << 9) | 0x16 -#define EC_WORD_SPORTS (EC_GROUP_HOBBIES << 9) | 0x17 -#define EC_WORD_SOFTWARE (EC_GROUP_HOBBIES << 9) | 0x18 -#define EC_WORD_SONGS (EC_GROUP_HOBBIES << 9) | 0x19 -#define EC_WORD_DIET (EC_GROUP_HOBBIES << 9) | 0x1a -#define EC_WORD_TREASURE (EC_GROUP_HOBBIES << 9) | 0x1b -#define EC_WORD_TRAVEL (EC_GROUP_HOBBIES << 9) | 0x1c -#define EC_WORD_DANCE (EC_GROUP_HOBBIES << 9) | 0x1d -#define EC_WORD_CHANNEL (EC_GROUP_HOBBIES << 9) | 0x1e -#define EC_WORD_MAKING (EC_GROUP_HOBBIES << 9) | 0x1f -#define EC_WORD_FISHING (EC_GROUP_HOBBIES << 9) | 0x20 -#define EC_WORD_DATE (EC_GROUP_HOBBIES << 9) | 0x21 -#define EC_WORD_DESIGN (EC_GROUP_HOBBIES << 9) | 0x22 -#define EC_WORD_LOCOMOTIVE (EC_GROUP_HOBBIES << 9) | 0x23 -#define EC_WORD_PLUSH_DOLL (EC_GROUP_HOBBIES << 9) | 0x24 -#define EC_WORD_PC (EC_GROUP_HOBBIES << 9) | 0x25 -#define EC_WORD_FLOWERS (EC_GROUP_HOBBIES << 9) | 0x26 -#define EC_WORD_HERO (EC_GROUP_HOBBIES << 9) | 0x27 -#define EC_WORD_NAP (EC_GROUP_HOBBIES << 9) | 0x28 -#define EC_WORD_HEROINE (EC_GROUP_HOBBIES << 9) | 0x29 -#define EC_WORD_FASHION (EC_GROUP_HOBBIES << 9) | 0x2a -#define EC_WORD_ADVENTURE (EC_GROUP_HOBBIES << 9) | 0x2b -#define EC_WORD_BOARD (EC_GROUP_HOBBIES << 9) | 0x2c -#define EC_WORD_BALL (EC_GROUP_HOBBIES << 9) | 0x2d -#define EC_WORD_BOOK (EC_GROUP_HOBBIES << 9) | 0x2e -#define EC_WORD_FESTIVAL (EC_GROUP_HOBBIES << 9) | 0x2f -#define EC_WORD_COMICS (EC_GROUP_HOBBIES << 9) | 0x30 -#define EC_WORD_HOLIDAY (EC_GROUP_HOBBIES << 9) | 0x31 -#define EC_WORD_PLANS (EC_GROUP_HOBBIES << 9) | 0x32 -#define EC_WORD_TRENDY (EC_GROUP_HOBBIES << 9) | 0x33 -#define EC_WORD_VACATION (EC_GROUP_HOBBIES << 9) | 0x34 -#define EC_WORD_LOOK (EC_GROUP_HOBBIES << 9) | 0x35 - -// TIME -#define EC_WORD_FALL (EC_GROUP_TIME << 9) | 0x0 -#define EC_WORD_MORNING (EC_GROUP_TIME << 9) | 0x1 -#define EC_WORD_TOMORROW (EC_GROUP_TIME << 9) | 0x2 -#define EC_WORD_LAST (EC_GROUP_TIME << 9) | 0x3 -#define EC_WORD_DAY (EC_GROUP_TIME << 9) | 0x4 -#define EC_WORD_SOMETIME (EC_GROUP_TIME << 9) | 0x5 -#define EC_WORD_ALWAYS (EC_GROUP_TIME << 9) | 0x6 -#define EC_WORD_CURRENT (EC_GROUP_TIME << 9) | 0x7 -#define EC_WORD_FOREVER (EC_GROUP_TIME << 9) | 0x8 -#define EC_WORD_DAYS (EC_GROUP_TIME << 9) | 0x9 -#define EC_WORD_END (EC_GROUP_TIME << 9) | 0xa -#define EC_WORD_TUESDAY (EC_GROUP_TIME << 9) | 0xb -#define EC_WORD_YESTERDAY (EC_GROUP_TIME << 9) | 0xc -#define EC_WORD_TODAY (EC_GROUP_TIME << 9) | 0xd -#define EC_WORD_FRIDAY (EC_GROUP_TIME << 9) | 0xe -#define EC_WORD_MONDAY (EC_GROUP_TIME << 9) | 0xf -#define EC_WORD_LATER (EC_GROUP_TIME << 9) | 0x10 -#define EC_WORD_EARLIER (EC_GROUP_TIME << 9) | 0x11 -#define EC_WORD_ANOTHER (EC_GROUP_TIME << 9) | 0x12 -#define EC_WORD_TIME (EC_GROUP_TIME << 9) | 0x13 -#define EC_WORD_FINISH (EC_GROUP_TIME << 9) | 0x14 -#define EC_WORD_WEDNESDAY (EC_GROUP_TIME << 9) | 0x15 -#define EC_WORD_SOON (EC_GROUP_TIME << 9) | 0x16 -#define EC_WORD_START (EC_GROUP_TIME << 9) | 0x17 -#define EC_WORD_MONTH (EC_GROUP_TIME << 9) | 0x18 -#define EC_WORD_STOP (EC_GROUP_TIME << 9) | 0x19 -#define EC_WORD_NOW (EC_GROUP_TIME << 9) | 0x1a -#define EC_WORD_FINAL (EC_GROUP_TIME << 9) | 0x1b -#define EC_WORD_NEXT (EC_GROUP_TIME << 9) | 0x1c -#define EC_WORD_AGE (EC_GROUP_TIME << 9) | 0x1d -#define EC_WORD_SATURDAY (EC_GROUP_TIME << 9) | 0x1e -#define EC_WORD_SUMMER (EC_GROUP_TIME << 9) | 0x1f -#define EC_WORD_SUNDAY (EC_GROUP_TIME << 9) | 0x20 -#define EC_WORD_BEGINNING (EC_GROUP_TIME << 9) | 0x21 -#define EC_WORD_SPRING (EC_GROUP_TIME << 9) | 0x22 -#define EC_WORD_DAYTIME (EC_GROUP_TIME << 9) | 0x23 -#define EC_WORD_WINTER (EC_GROUP_TIME << 9) | 0x24 -#define EC_WORD_DAILY (EC_GROUP_TIME << 9) | 0x25 -#define EC_WORD_OLDEN (EC_GROUP_TIME << 9) | 0x26 -#define EC_WORD_ALMOST (EC_GROUP_TIME << 9) | 0x27 -#define EC_WORD_NEARLY (EC_GROUP_TIME << 9) | 0x28 -#define EC_WORD_THURSDAY (EC_GROUP_TIME << 9) | 0x29 -#define EC_WORD_NIGHTTIME (EC_GROUP_TIME << 9) | 0x2a -#define EC_WORD_NIGHT (EC_GROUP_TIME << 9) | 0x2b -#define EC_WORD_WEEK (EC_GROUP_TIME << 9) | 0x2c - -// MISC -#define EC_WORD_HIGHS (EC_GROUP_MISC << 9) | 0x0 -#define EC_WORD_LOWS (EC_GROUP_MISC << 9) | 0x1 -#define EC_WORD_UM (EC_GROUP_MISC << 9) | 0x2 -#define EC_WORD_REAR (EC_GROUP_MISC << 9) | 0x3 -#define EC_WORD_THINGS (EC_GROUP_MISC << 9) | 0x4 -#define EC_WORD_THING (EC_GROUP_MISC << 9) | 0x5 -#define EC_WORD_BELOW (EC_GROUP_MISC << 9) | 0x6 -#define EC_WORD_ABOVE (EC_GROUP_MISC << 9) | 0x7 -#define EC_WORD_BACK (EC_GROUP_MISC << 9) | 0x8 -#define EC_WORD_HIGH (EC_GROUP_MISC << 9) | 0x9 -#define EC_WORD_HERE (EC_GROUP_MISC << 9) | 0xa -#define EC_WORD_INSIDE (EC_GROUP_MISC << 9) | 0xb -#define EC_WORD_OUTSIDE (EC_GROUP_MISC << 9) | 0xc -#define EC_WORD_BESIDE (EC_GROUP_MISC << 9) | 0xd -#define EC_WORD_THIS_IS_IT_EXCL (EC_GROUP_MISC << 9) | 0xe -#define EC_WORD_THIS (EC_GROUP_MISC << 9) | 0xf -#define EC_WORD_EVERY (EC_GROUP_MISC << 9) | 0x10 -#define EC_WORD_THESE (EC_GROUP_MISC << 9) | 0x11 -#define EC_WORD_THESE_WERE (EC_GROUP_MISC << 9) | 0x12 -#define EC_WORD_DOWN (EC_GROUP_MISC << 9) | 0x13 -#define EC_WORD_THAT (EC_GROUP_MISC << 9) | 0x14 -#define EC_WORD_THOSE_ARE (EC_GROUP_MISC << 9) | 0x15 -#define EC_WORD_THOSE_WERE (EC_GROUP_MISC << 9) | 0x16 -#define EC_WORD_THAT_S_IT_EXCL (EC_GROUP_MISC << 9) | 0x17 -#define EC_WORD_AM (EC_GROUP_MISC << 9) | 0x18 -#define EC_WORD_THAT_WAS (EC_GROUP_MISC << 9) | 0x19 -#define EC_WORD_FRONT (EC_GROUP_MISC << 9) | 0x1a -#define EC_WORD_UP (EC_GROUP_MISC << 9) | 0x1b -#define EC_WORD_CHOICE (EC_GROUP_MISC << 9) | 0x1c -#define EC_WORD_FAR (EC_GROUP_MISC << 9) | 0x1d -#define EC_WORD_AWAY (EC_GROUP_MISC << 9) | 0x1e -#define EC_WORD_NEAR (EC_GROUP_MISC << 9) | 0x1f -#define EC_WORD_WHERE (EC_GROUP_MISC << 9) | 0x20 -#define EC_WORD_WHEN (EC_GROUP_MISC << 9) | 0x21 -#define EC_WORD_WHAT (EC_GROUP_MISC << 9) | 0x22 -#define EC_WORD_DEEP (EC_GROUP_MISC << 9) | 0x23 -#define EC_WORD_SHALLOW (EC_GROUP_MISC << 9) | 0x24 -#define EC_WORD_WHY (EC_GROUP_MISC << 9) | 0x25 -#define EC_WORD_CONFUSED (EC_GROUP_MISC << 9) | 0x26 -#define EC_WORD_OPPOSITE (EC_GROUP_MISC << 9) | 0x27 -#define EC_WORD_LEFT (EC_GROUP_MISC << 9) | 0x28 -#define EC_WORD_RIGHT (EC_GROUP_MISC << 9) | 0x29 - -// ADJECTIVES -#define EC_WORD_WANDERING (EC_GROUP_ADJECTIVES << 9) | 0x0 -#define EC_WORD_RICKETY (EC_GROUP_ADJECTIVES << 9) | 0x1 -#define EC_WORD_ROCK_SOLID (EC_GROUP_ADJECTIVES << 9) | 0x2 -#define EC_WORD_HUNGRY (EC_GROUP_ADJECTIVES << 9) | 0x3 -#define EC_WORD_TIGHT (EC_GROUP_ADJECTIVES << 9) | 0x4 -#define EC_WORD_TICKLISH (EC_GROUP_ADJECTIVES << 9) | 0x5 -#define EC_WORD_TWIRLING (EC_GROUP_ADJECTIVES << 9) | 0x6 -#define EC_WORD_SPIRALING (EC_GROUP_ADJECTIVES << 9) | 0x7 -#define EC_WORD_THIRSTY (EC_GROUP_ADJECTIVES << 9) | 0x8 -#define EC_WORD_LOLLING (EC_GROUP_ADJECTIVES << 9) | 0x9 -#define EC_WORD_SILKY (EC_GROUP_ADJECTIVES << 9) | 0xa -#define EC_WORD_SADLY (EC_GROUP_ADJECTIVES << 9) | 0xb -#define EC_WORD_HOPELESS (EC_GROUP_ADJECTIVES << 9) | 0xc -#define EC_WORD_USELESS (EC_GROUP_ADJECTIVES << 9) | 0xd -#define EC_WORD_DROOLING (EC_GROUP_ADJECTIVES << 9) | 0xe -#define EC_WORD_EXCITING (EC_GROUP_ADJECTIVES << 9) | 0xf -#define EC_WORD_THICK (EC_GROUP_ADJECTIVES << 9) | 0x10 -#define EC_WORD_SMOOTH (EC_GROUP_ADJECTIVES << 9) | 0x11 -#define EC_WORD_SLIMY (EC_GROUP_ADJECTIVES << 9) | 0x12 -#define EC_WORD_THIN (EC_GROUP_ADJECTIVES << 9) | 0x13 -#define EC_WORD_BREAK (EC_GROUP_ADJECTIVES << 9) | 0x14 -#define EC_WORD_VORACIOUS (EC_GROUP_ADJECTIVES << 9) | 0x15 -#define EC_WORD_SCATTER (EC_GROUP_ADJECTIVES << 9) | 0x16 -#define EC_WORD_AWESOME (EC_GROUP_ADJECTIVES << 9) | 0x17 -#define EC_WORD_WIMPY (EC_GROUP_ADJECTIVES << 9) | 0x18 -#define EC_WORD_WOBBLY (EC_GROUP_ADJECTIVES << 9) | 0x19 -#define EC_WORD_SHAKY (EC_GROUP_ADJECTIVES << 9) | 0x1a -#define EC_WORD_RIPPED (EC_GROUP_ADJECTIVES << 9) | 0x1b -#define EC_WORD_SHREDDED (EC_GROUP_ADJECTIVES << 9) | 0x1c -#define EC_WORD_INCREASING (EC_GROUP_ADJECTIVES << 9) | 0x1d -#define EC_WORD_YET (EC_GROUP_ADJECTIVES << 9) | 0x1e -#define EC_WORD_DESTROYED (EC_GROUP_ADJECTIVES << 9) | 0x1f -#define EC_WORD_FIERY (EC_GROUP_ADJECTIVES << 9) | 0x20 -#define EC_WORD_LOVEY_DOVEY (EC_GROUP_ADJECTIVES << 9) | 0x21 -#define EC_WORD_HAPPILY (EC_GROUP_ADJECTIVES << 9) | 0x22 -#define EC_WORD_ANTICIPATION (EC_GROUP_ADJECTIVES << 9) | 0x23 - -// EVENTS -#define EC_WORD_APPEAL (EC_GROUP_EVENTS << 9) | 0x0 -#define EC_WORD_EVENTS (EC_GROUP_EVENTS << 9) | 0x1 -#define EC_WORD_STAY_AT_HOME (EC_GROUP_EVENTS << 9) | 0x2 -#define EC_WORD_BERRY (EC_GROUP_EVENTS << 9) | 0x3 -#define EC_WORD_CONTEST (EC_GROUP_EVENTS << 9) | 0x4 -#define EC_WORD_MC (EC_GROUP_EVENTS << 9) | 0x5 -#define EC_WORD_JUDGE (EC_GROUP_EVENTS << 9) | 0x6 -#define EC_WORD_SUPER (EC_GROUP_EVENTS << 9) | 0x7 -#define EC_WORD_STAGE (EC_GROUP_EVENTS << 9) | 0x8 -#define EC_WORD_HALL_OF_FAME (EC_GROUP_EVENTS << 9) | 0x9 -#define EC_WORD_EVOLUTION (EC_GROUP_EVENTS << 9) | 0xa -#define EC_WORD_HYPER (EC_GROUP_EVENTS << 9) | 0xb -#define EC_WORD_BATTLE_TOWER (EC_GROUP_EVENTS << 9) | 0xc -#define EC_WORD_LEADERS (EC_GROUP_EVENTS << 9) | 0xd -#define EC_WORD_BATTLE_ROOM (EC_GROUP_EVENTS << 9) | 0xe -#define EC_WORD_HIDDEN (EC_GROUP_EVENTS << 9) | 0xf -#define EC_WORD_SECRET_BASE (EC_GROUP_EVENTS << 9) | 0x10 -#define EC_WORD_BLEND (EC_GROUP_EVENTS << 9) | 0x11 -#define EC_WORD_POKEBLOCK (EC_GROUP_EVENTS << 9) | 0x12 -#define EC_WORD_MASTER (EC_GROUP_EVENTS << 9) | 0x13 -#define EC_WORD_RANK (EC_GROUP_EVENTS << 9) | 0x14 -#define EC_WORD_RIBBON (EC_GROUP_EVENTS << 9) | 0x15 +enum { + EC_WORD_I_CHOOSE_YOU = EC_GROUP_TRAINER << 9, + EC_WORD_GOTCHA, + EC_WORD_TRADE, + EC_WORD_SAPPHIRE, + EC_WORD_EVOLVE, + EC_WORD_ENCYCLOPEDIA, + EC_WORD_NATURE, + EC_WORD_CENTER, + EC_WORD_EGG, + EC_WORD_LINK, + EC_WORD_SP_ABILITY, + EC_WORD_TRAINER, + EC_WORD_VERSION, + EC_WORD_POKENAV, + EC_WORD_POKEMON, + EC_WORD_GET, + EC_WORD_POKEDEX, + EC_WORD_RUBY, + EC_WORD_LEVEL +}; +enum { + EC_WORD_DARK = EC_GROUP_STATUS << 9, + EC_WORD_STENCH, + EC_WORD_THICK_FAT, + EC_WORD_RAIN_DISH, + EC_WORD_DRIZZLE, + EC_WORD_ARENA_TRAP, + EC_WORD_INTIMIDATE, + EC_WORD_ROCK_HEAD, + EC_WORD_COLOR, + EC_WORD_ALT_COLOR, + EC_WORD_ROCK, + EC_WORD_BEAUTIFUL, + EC_WORD_BEAUTY, + EC_WORD_AIR_LOCK, + EC_WORD_PSYCHIC, + EC_WORD_HYPER_CUTTER, + EC_WORD_FIGHTING, + EC_WORD_SHADOW_TAG, + EC_WORD_SMART, + EC_WORD_SMARTNESS, + EC_WORD_SPEED_BOOST, + EC_WORD_COOL, + EC_WORD_COOLNESS, + EC_WORD_BATTLE_ARMOR, + EC_WORD_CUTE, + EC_WORD_CUTENESS, + EC_WORD_STURDY, + EC_WORD_SUCTION_CUPS, + EC_WORD_GRASS, + EC_WORD_CLEAR_BODY, + EC_WORD_TORRENT, + EC_WORD_GHOST, + EC_WORD_ICE, + EC_WORD_GUTS, + EC_WORD_ROUGH_SKIN, + EC_WORD_SHELL_ARMOR, + EC_WORD_NATURAL_CURE, + EC_WORD_DAMP, + EC_WORD_GROUND, + EC_WORD_LIMBER, + EC_WORD_MAGNET_PULL, + EC_WORD_WHITE_SMOKE, + EC_WORD_SYNCHRONIZE, + EC_WORD_OVERGROW, + EC_WORD_SWIFT_SWIM, + EC_WORD_SAND_STREAM, + EC_WORD_SAND_VEIL, + EC_WORD_KEEN_EYE, + EC_WORD_INNER_FOCUS, + EC_WORD_STATIC, + EC_WORD_TYPE, + EC_WORD_TOUGH, + EC_WORD_TOUGHNESS, + EC_WORD_SHED_SKIN, + EC_WORD_HUGE_POWER, + EC_WORD_VOLT_ABSORB, + EC_WORD_WATER_ABSORB, + EC_WORD_ELECTRIC, + EC_WORD_FORECAST, + EC_WORD_SERENE_GRACE, + EC_WORD_POISON, + EC_WORD_POISON_POINT, + EC_WORD_DRAGON, + EC_WORD_TRACE, + EC_WORD_OBLIVIOUS, + EC_WORD_TRUANT, + EC_WORD_RUN_AWAY, + EC_WORD_STICKY_HOLD, + EC_WORD_CLOUD_NINE, + EC_WORD_NORMAL, + EC_WORD_STEEL, + EC_WORD_ILLUMINATE, + EC_WORD_EARLY_BIRD, + EC_WORD_HUSTLE, + EC_WORD_SHINE, + EC_WORD_FLYING, + EC_WORD_DROUGHT, + EC_WORD_LIGHTNINGROD, + EC_WORD_COMPOUNDEYES, + EC_WORD_MARVEL_SCALE, + EC_WORD_WONDER_GUARD, + EC_WORD_INSOMNIA, + EC_WORD_LEVITATE, + EC_WORD_PLUS, + EC_WORD_PRESSURE, + EC_WORD_LIQUID_OOZE, + EC_WORD_COLOR_CHANGE, + EC_WORD_SOUNDPROOF, + EC_WORD_EFFECT_SPORE, + EC_WORD_PKRS, + EC_WORD_FIRE, + EC_WORD_FLAME_BODY, + EC_WORD_MINUS, + EC_WORD_OWN_TEMPO, + EC_WORD_MAGMA_ARMOR, + EC_WORD_WATER, + EC_WORD_WATER_VEIL, + EC_WORD_BUG, + EC_WORD_SWARM, + EC_WORD_CUTE_CHARM, + EC_WORD_IMMUNITY, + EC_WORD_BLAZE, + EC_WORD_PICKUP, + EC_WORD_PATTERN, + EC_WORD_FLASH_FIRE, + EC_WORD_VITAL_SPIRIT, + EC_WORD_CHLOROPHYLL, + EC_WORD_PURE_POWER, + EC_WORD_SHIELD_DUST, +}; +enum { + EC_WORD_MATCH_UP = EC_GROUP_BATTLE << 9, + EC_WORD_GO, + EC_WORD_NO_1, + EC_WORD_DECIDE, + EC_WORD_LET_ME_WIN, + EC_WORD_WINS, + EC_WORD_WIN, + EC_WORD_WON, + EC_WORD_IF_I_WIN, + EC_WORD_WHEN_I_WIN, + EC_WORD_CAN_T_WIN, + EC_WORD_CAN_WIN, + EC_WORD_NO_MATCH, + EC_WORD_SPIRIT, + EC_WORD_DECIDED, + EC_WORD_TRUMP_CARD, + EC_WORD_TAKE_THAT, + EC_WORD_COME_ON, + EC_WORD_ATTACK, + EC_WORD_SURRENDER, + EC_WORD_GUTSY, + EC_WORD_TALENT, + EC_WORD_STRATEGY, + EC_WORD_SMITE, + EC_WORD_MATCH, + EC_WORD_VICTORY, + EC_WORD_OFFENSIVE, + EC_WORD_SENSE, + EC_WORD_VERSUS, + EC_WORD_FIGHTS, + EC_WORD_POWER, + EC_WORD_CHALLENGE, + EC_WORD_STRONG, + EC_WORD_TOO_STRONG, + EC_WORD_GO_EASY, + EC_WORD_FOE, + EC_WORD_GENIUS, + EC_WORD_LEGEND, + EC_WORD_ESCAPE, + EC_WORD_AIM, + EC_WORD_BATTLE, + EC_WORD_FIGHT, + EC_WORD_RESUSCITATE, + EC_WORD_POINTS, + EC_WORD_SERIOUS, + EC_WORD_GIVE_UP, + EC_WORD_LOSS, + EC_WORD_IF_I_LOSE, + EC_WORD_LOST, + EC_WORD_LOSE, + EC_WORD_GUARD, + EC_WORD_PARTNER, + EC_WORD_REJECT, + EC_WORD_ACCEPT, + EC_WORD_INVINCIBLE, + EC_WORD_RECEIVED, + EC_WORD_EASY, + EC_WORD_WEAK, + EC_WORD_TOO_WEAK, + EC_WORD_PUSHOVER, + EC_WORD_LEADER, + EC_WORD_RULE, + EC_WORD_MOVE +}; +enum { + EC_WORD_THANKS = EC_GROUP_GREETINGS << 9, + EC_WORD_YES, + EC_WORD_HERE_GOES, + EC_WORD_HERE_I_COME, + EC_WORD_HERE_IT_IS, + EC_WORD_YEAH, + EC_WORD_WELCOME, + EC_WORD_OI, + EC_WORD_HOW_DO, + EC_WORD_CONGRATS, + EC_WORD_GIVE_ME, + EC_WORD_SORRY, + EC_WORD_APOLOGIZE, + EC_WORD_FORGIVE, + EC_WORD_HEY_THERE, + EC_WORD_HELLO, + EC_WORD_GOOD_BYE, + EC_WORD_THANK_YOU, + EC_WORD_I_VE_ARRIVED, + EC_WORD_PARDON, + EC_WORD_EXCUSE, + EC_WORD_SEE_YA, + EC_WORD_EXCUSE_ME, + EC_WORD_WELL_THEN, + EC_WORD_GO_AHEAD, + EC_WORD_APPRECIATE, + EC_WORD_HEY_QUES, + EC_WORD_WHAT_S_UP_QUES, + EC_WORD_HUH_QUES, + EC_WORD_NO, + EC_WORD_HI, + EC_WORD_YEAH_YEAH, + EC_WORD_BYE_BYE, + EC_WORD_MEET_YOU, + EC_WORD_HEY, + EC_WORD_SMELL, + EC_WORD_LISTENING, + EC_WORD_HOO_HAH, + EC_WORD_YAHOO, + EC_WORD_YO, + EC_WORD_COME_OVER, + EC_WORD_COUNT_ON +}; +enum { + EC_WORD_OPPONENT = EC_GROUP_PEOPLE << 9, + EC_WORD_I, + EC_WORD_YOU, + EC_WORD_YOURS, + EC_WORD_SON, + EC_WORD_YOUR, + EC_WORD_YOU_RE, + EC_WORD_YOU_VE, + EC_WORD_MOTHER, + EC_WORD_GRANDFATHER, + EC_WORD_UNCLE, + EC_WORD_FATHER, + EC_WORD_BOY, + EC_WORD_ADULT, + EC_WORD_BROTHER, + EC_WORD_SISTER, + EC_WORD_GRANDMOTHER, + EC_WORD_AUNT, + EC_WORD_PARENT, + EC_WORD_MAN, + EC_WORD_ME, + EC_WORD_GIRL, + EC_WORD_BABE, + EC_WORD_FAMILY, + EC_WORD_HER, + EC_WORD_HIM, + EC_WORD_HE, + EC_WORD_PLACE, + EC_WORD_DAUGHTER, + EC_WORD_HIS, + EC_WORD_HE_S, + EC_WORD_AREN_T, + EC_WORD_SIBLINGS, + EC_WORD_KID, + EC_WORD_CHILDREN, + EC_WORD_MR, + EC_WORD_MRS, + EC_WORD_MYSELF, + EC_WORD_I_WAS, + EC_WORD_TO_ME, + EC_WORD_MY, + EC_WORD_I_AM, + EC_WORD_I_VE, + EC_WORD_WHO, + EC_WORD_SOMEONE, + EC_WORD_WHO_WAS, + EC_WORD_TO_WHOM, + EC_WORD_WHOSE, + EC_WORD_WHO_IS, + EC_WORD_IT_S, + EC_WORD_LADY, + EC_WORD_FRIEND, + EC_WORD_ALLY, + EC_WORD_PERSON, + EC_WORD_DUDE, + EC_WORD_THEY, + EC_WORD_THEY_WERE, + EC_WORD_TO_THEM, + EC_WORD_THEIR, + EC_WORD_THEY_RE, + EC_WORD_THEY_VE, + EC_WORD_WE, + EC_WORD_BEEN, + EC_WORD_TO_US, + EC_WORD_OUR, + EC_WORD_WE_RE, + EC_WORD_RIVAL, + EC_WORD_WE_VE, + EC_WORD_WOMAN, + EC_WORD_SHE, + EC_WORD_SHE_WAS, + EC_WORD_TO_HER, + EC_WORD_HERS, + EC_WORD_SHE_IS, + EC_WORD_SOME +}; +enum { + EC_WORD_EXCL = EC_GROUP_VOICES << 9, + EC_WORD_EXCL_EXCL, + EC_WORD_QUES_EXCL, + EC_WORD_QUES, + EC_WORD_ELLIPSIS, + EC_WORD_ELLIPSIS_EXCL, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_DASH, + EC_WORD_DASH_DASH_DASH, + EC_WORD_UH_OH, + EC_WORD_WAAAH, + EC_WORD_AHAHA, + EC_WORD_OH_QUES, + EC_WORD_NOPE, + EC_WORD_URGH, + EC_WORD_HMM, + EC_WORD_WHOAH, + EC_WORD_WROOOAAR_EXCL, + EC_WORD_WOW, + EC_WORD_GIGGLE, + EC_WORD_SIGH, + EC_WORD_UNBELIEVABLE, + EC_WORD_CRIES, + EC_WORD_AGREE, + EC_WORD_EH_QUES, + EC_WORD_CRY, + EC_WORD_EHEHE, + EC_WORD_OI_OI_OI, + EC_WORD_OH_YEAH, + EC_WORD_OH, + EC_WORD_OOPS, + EC_WORD_SHOCKED, + EC_WORD_EEK, + EC_WORD_GRAAAH, + EC_WORD_GWAHAHAHA, + EC_WORD_WAY, + EC_WORD_TCH, + EC_WORD_HEHE, + EC_WORD_HAH, + EC_WORD_YUP, + EC_WORD_HAHAHA, + EC_WORD_AIYEEH, + EC_WORD_HIYAH, + EC_WORD_FUFUFU, + EC_WORD_LOL, + EC_WORD_SNORT, + EC_WORD_HUMPH, + EC_WORD_HEHEHE, + EC_WORD_HEH, + EC_WORD_HOHOHO, + EC_WORD_UH_HUH, + EC_WORD_OH_DEAR, + EC_WORD_ARRGH, + EC_WORD_MUFUFU, + EC_WORD_MMM, + EC_WORD_OH_KAY, + EC_WORD_OKAY, + EC_WORD_LALALA, + EC_WORD_YAY, + EC_WORD_AWW, + EC_WORD_WOWEE, + EC_WORD_GWAH, + EC_WORD_WAHAHAHA +}; +enum { + EC_WORD_LISTEN = EC_GROUP_SPEECH << 9, + EC_WORD_NOT_VERY, + EC_WORD_MEAN, + EC_WORD_LIE, + EC_WORD_LAY, + EC_WORD_RECOMMEND, + EC_WORD_NITWIT, + EC_WORD_QUITE, + EC_WORD_FROM, + EC_WORD_FEELING, + EC_WORD_BUT, + EC_WORD_HOWEVER, + EC_WORD_CASE, + EC_WORD_THE, + EC_WORD_MISS, + EC_WORD_HOW, + EC_WORD_HIT, + EC_WORD_ENOUGH, + EC_WORD_A_LOT, + EC_WORD_A_LITTLE, + EC_WORD_ABSOLUTELY, + EC_WORD_AND, + EC_WORD_ONLY, + EC_WORD_AROUND, + EC_WORD_PROBABLY, + EC_WORD_IF, + EC_WORD_VERY, + EC_WORD_A_TINY_BIT, + EC_WORD_WILD, + EC_WORD_THAT_S, + EC_WORD_JUST, + EC_WORD_EVEN_SO, + EC_WORD_MUST_BE, + EC_WORD_NATURALLY, + EC_WORD_FOR_NOW, + EC_WORD_UNDERSTOOD, + EC_WORD_JOKING, + EC_WORD_READY, + EC_WORD_SOMETHING, + EC_WORD_SOMEHOW, + EC_WORD_ALTHOUGH, + EC_WORD_ALSO, + EC_WORD_PERFECT, + EC_WORD_AS_MUCH_AS, + EC_WORD_REALLY, + EC_WORD_TRULY, + EC_WORD_SERIOUSLY, + EC_WORD_TOTALLY, + EC_WORD_UNTIL, + EC_WORD_AS_IF, + EC_WORD_MOOD, + EC_WORD_RATHER, + EC_WORD_AWFULLY, + EC_WORD_MODE, + EC_WORD_MORE, + EC_WORD_TOO_LATE, + EC_WORD_FINALLY, + EC_WORD_ANY, + EC_WORD_INSTEAD, + EC_WORD_FANTASTIC +}; +enum { + EC_WORD_WILL = EC_GROUP_ENDINGS << 9, + EC_WORD_WILL_BE_HERE, + EC_WORD_OR, + EC_WORD_TIMES, + EC_WORD_WONDER, + EC_WORD_IS_IT_QUES, + EC_WORD_BE, + EC_WORD_GIMME, + EC_WORD_COULD, + EC_WORD_LIKELY_TO, + EC_WORD_WOULD, + EC_WORD_IS, + EC_WORD_ISN_T_IT_QUES, + EC_WORD_LET_S, + EC_WORD_OTHER, + EC_WORD_ARE, + EC_WORD_WAS, + EC_WORD_WERE, + EC_WORD_THOSE, + EC_WORD_ISN_T, + EC_WORD_WON_T, + EC_WORD_CAN_T, + EC_WORD_CAN, + EC_WORD_DON_T, + EC_WORD_DO, + EC_WORD_DOES, + EC_WORD_WHOM, + EC_WORD_WHICH, + EC_WORD_WASN_T, + EC_WORD_WEREN_T, + EC_WORD_HAVE, + EC_WORD_HAVEN_T, + EC_WORD_A, + EC_WORD_AN, + EC_WORD_NOT, + EC_WORD_THERE, + EC_WORD_OK_QUES, + EC_WORD_SO, + EC_WORD_MAYBE, + EC_WORD_ABOUT, + EC_WORD_OVER, + EC_WORD_IT, + EC_WORD_ALL, + EC_WORD_FOR, + EC_WORD_ON, + EC_WORD_OFF, + EC_WORD_AS, + EC_WORD_TO, + EC_WORD_WITH, + EC_WORD_BETTER, + EC_WORD_EVER, + EC_WORD_SINCE, + EC_WORD_OF, + EC_WORD_BELONGS_TO, + EC_WORD_AT, + EC_WORD_IN, + EC_WORD_OUT, + EC_WORD_TOO, + EC_WORD_LIKE, + EC_WORD_DID, + EC_WORD_DIDN_T, + EC_WORD_DOESN_T, + EC_WORD_WITHOUT, + EC_WORD_AFTER, + EC_WORD_BEFORE, + EC_WORD_WHILE, + EC_WORD_THAN, + EC_WORD_ONCE, + EC_WORD_ANYWHERE +}; +enum { + EC_WORD_MEET = EC_GROUP_FEELINGS << 9, + EC_WORD_PLAY, + EC_WORD_HURRIED, + EC_WORD_GOES, + EC_WORD_GIDDY, + EC_WORD_HAPPY, + EC_WORD_HAPPINESS, + EC_WORD_EXCITE, + EC_WORD_IMPORTANT, + EC_WORD_FUNNY, + EC_WORD_GOT, + EC_WORD_GO_HOME, + EC_WORD_DISAPPOINTED, + EC_WORD_DISAPPOINTS, + EC_WORD_SAD, + EC_WORD_TRY, + EC_WORD_TRIES, + EC_WORD_HEARS, + EC_WORD_THINK, + EC_WORD_HEAR, + EC_WORD_WANTS, + EC_WORD_MISHEARD, + EC_WORD_DISLIKE, + EC_WORD_ANGRY, + EC_WORD_ANGER, + EC_WORD_SCARY, + EC_WORD_LONESOME, + EC_WORD_DISAPPOINT, + EC_WORD_JOY, + EC_WORD_GETS, + EC_WORD_NEVER, + EC_WORD_DARN, + EC_WORD_DOWNCAST, + EC_WORD_INCREDIBLE, + EC_WORD_LIKES, + EC_WORD_DISLIKES, + EC_WORD_BORING, + EC_WORD_CARE, + EC_WORD_CARES, + EC_WORD_ALL_RIGHT, + EC_WORD_ADORE, + EC_WORD_DISASTER, + EC_WORD_ENJOY, + EC_WORD_ENJOYS, + EC_WORD_EAT, + EC_WORD_LACKING, + EC_WORD_BAD, + EC_WORD_HARD, + EC_WORD_TERRIBLE, + EC_WORD_SHOULD, + EC_WORD_NICE, + EC_WORD_DRINK, + EC_WORD_SURPRISE, + EC_WORD_FEAR, + EC_WORD_WANT, + EC_WORD_WAIT, + EC_WORD_SATISFIED, + EC_WORD_SEE, + EC_WORD_RARE, + EC_WORD_NEGATIVE, + EC_WORD_DONE, + EC_WORD_DANGER, + EC_WORD_DEFEATED, + EC_WORD_BEAT, + EC_WORD_GREAT, + EC_WORD_ROMANTIC, + EC_WORD_QUESTION, + EC_WORD_UNDERSTAND, + EC_WORD_UNDERSTANDS +}; +enum { + EC_WORD_HOT = EC_GROUP_CONDITIONS << 9, + EC_WORD_EXISTS, + EC_WORD_EXCESS, + EC_WORD_APPROVED, + EC_WORD_HAS, + EC_WORD_GOOD, + EC_WORD_LESS, + EC_WORD_MOMENTUM, + EC_WORD_GOING, + EC_WORD_WEIRD, + EC_WORD_BUSY, + EC_WORD_TOGETHER, + EC_WORD_FULL, + EC_WORD_ABSENT, + EC_WORD_BEING, + EC_WORD_NEED, + EC_WORD_TASTY, + EC_WORD_SKILLED, + EC_WORD_NOISY, + EC_WORD_BIG, + EC_WORD_LATE, + EC_WORD_CLOSE, + EC_WORD_DOCILE, + EC_WORD_AMUSING, + EC_WORD_ENTERTAINING, + EC_WORD_PERFECTION, + EC_WORD_PRETTY, + EC_WORD_HEALTHY, + EC_WORD_EXCELLENT, + EC_WORD_UPSIDE_DOWN, + EC_WORD_COLD, + EC_WORD_REFRESHING, + EC_WORD_UNAVOIDABLE, + EC_WORD_MUCH, + EC_WORD_OVERWHELMING, + EC_WORD_FABULOUS, + EC_WORD_ELSE, + EC_WORD_EXPENSIVE, + EC_WORD_CORRECT, + EC_WORD_IMPOSSIBLE, + EC_WORD_SMALL, + EC_WORD_DIFFERENT, + EC_WORD_TIRED, + EC_WORD_SKILL, + EC_WORD_TOP, + EC_WORD_NON_STOP, + EC_WORD_PREPOSTEROUS, + EC_WORD_NONE, + EC_WORD_NOTHING, + EC_WORD_NATURAL, + EC_WORD_BECOMES, + EC_WORD_LUKEWARM, + EC_WORD_FAST, + EC_WORD_LOW, + EC_WORD_AWFUL, + EC_WORD_ALONE, + EC_WORD_BORED, + EC_WORD_SECRET, + EC_WORD_MYSTERY, + EC_WORD_LACKS, + EC_WORD_BEST, + EC_WORD_LOUSY, + EC_WORD_MISTAKE, + EC_WORD_KIND, + EC_WORD_WELL, + EC_WORD_WEAKENED, + EC_WORD_SIMPLE, + EC_WORD_SEEMS, + EC_WORD_BADLY +}; +enum { + EC_WORD_MEETS = EC_GROUP_ACTIONS << 9, + EC_WORD_CONCEDE, + EC_WORD_GIVE, + EC_WORD_GIVES, + EC_WORD_PLAYED, + EC_WORD_PLAYS, + EC_WORD_COLLECT, + EC_WORD_WALKING, + EC_WORD_WALKS, + EC_WORD_SAYS, + EC_WORD_WENT, + EC_WORD_SAID, + EC_WORD_WAKE_UP, + EC_WORD_WAKES_UP, + EC_WORD_ANGERS, + EC_WORD_TEACH, + EC_WORD_TEACHES, + EC_WORD_PLEASE, + EC_WORD_LEARN, + EC_WORD_CHANGE, + EC_WORD_STORY, + EC_WORD_TRUST, + EC_WORD_LAVISH, + EC_WORD_LISTENS, + EC_WORD_HEARING, + EC_WORD_TRAINS, + EC_WORD_CHOOSE, + EC_WORD_COME, + EC_WORD_CAME, + EC_WORD_SEARCH, + EC_WORD_MAKE, + EC_WORD_CAUSE, + EC_WORD_KNOW, + EC_WORD_KNOWS, + EC_WORD_REFUSE, + EC_WORD_STORES, + EC_WORD_BRAG, + EC_WORD_IGNORANT, + EC_WORD_THINKS, + EC_WORD_BELIEVE, + EC_WORD_SLIDE, + EC_WORD_EATS, + EC_WORD_USE, + EC_WORD_USES, + EC_WORD_USING, + EC_WORD_COULDN_T, + EC_WORD_CAPABLE, + EC_WORD_DISAPPEAR, + EC_WORD_APPEAR, + EC_WORD_THROW, + EC_WORD_WORRY, + EC_WORD_SLEPT, + EC_WORD_SLEEP, + EC_WORD_RELEASE, + EC_WORD_DRINKS, + EC_WORD_RUNS, + EC_WORD_RUN, + EC_WORD_WORKS, + EC_WORD_WORKING, + EC_WORD_TALKING, + EC_WORD_TALK, + EC_WORD_SINK, + EC_WORD_SMACK, + EC_WORD_PRETEND, + EC_WORD_PRAISE, + EC_WORD_OVERDO, + EC_WORD_SHOW, + EC_WORD_LOOKS, + EC_WORD_SEES, + EC_WORD_SEEK, + EC_WORD_OWN, + EC_WORD_TAKE, + EC_WORD_ALLOW, + EC_WORD_FORGET, + EC_WORD_FORGETS, + EC_WORD_APPEARS, + EC_WORD_FAINT, + EC_WORD_FAINTED +}; +enum { + EC_WORD_CHORES = EC_GROUP_LIFESTYLE << 9, + EC_WORD_HOME, + EC_WORD_MONEY, + EC_WORD_ALLOWANCE, + EC_WORD_BATH, + EC_WORD_CONVERSATION, + EC_WORD_SCHOOL, + EC_WORD_COMMEMORATE, + EC_WORD_HABIT, + EC_WORD_GROUP, + EC_WORD_WORD, + EC_WORD_STORE, + EC_WORD_SERVICE, + EC_WORD_WORK, + EC_WORD_SYSTEM, + EC_WORD_TRAIN, + EC_WORD_CLASS, + EC_WORD_LESSONS, + EC_WORD_INFORMATION, + EC_WORD_LIVING, + EC_WORD_TEACHER, + EC_WORD_TOURNAMENT, + EC_WORD_LETTER, + EC_WORD_EVENT, + EC_WORD_DIGITAL, + EC_WORD_TEST, + EC_WORD_DEPT_STORE, + EC_WORD_TELEVISION, + EC_WORD_PHONE, + EC_WORD_ITEM, + EC_WORD_NAME, + EC_WORD_NEWS, + EC_WORD_POPULAR, + EC_WORD_PARTY, + EC_WORD_STUDY, + EC_WORD_MACHINE, + EC_WORD_MAIL, + EC_WORD_MESSAGE, + EC_WORD_PROMISE, + EC_WORD_DREAM, + EC_WORD_KINDERGARTEN, + EC_WORD_LIFE, + EC_WORD_RADIO, + EC_WORD_RENTAL, + EC_WORD_WORLD +}; +enum { + EC_WORD_IDOL = EC_GROUP_HOBBIES << 9, + EC_WORD_ANIME, + EC_WORD_SONG, + EC_WORD_MOVIE, + EC_WORD_SWEETS, + EC_WORD_CHAT, + EC_WORD_CHILD_S_PLAY, + EC_WORD_TOYS, + EC_WORD_MUSIC, + EC_WORD_CARDS, + EC_WORD_SHOPPING, + EC_WORD_CAMERA, + EC_WORD_VIEWING, + EC_WORD_SPECTATOR, + EC_WORD_GOURMET, + EC_WORD_GAME, + EC_WORD_RPG, + EC_WORD_COLLECTION, + EC_WORD_COMPLETE, + EC_WORD_MAGAZINE, + EC_WORD_WALK, + EC_WORD_BIKE, + EC_WORD_HOBBY, + EC_WORD_SPORTS, + EC_WORD_SOFTWARE, + EC_WORD_SONGS, + EC_WORD_DIET, + EC_WORD_TREASURE, + EC_WORD_TRAVEL, + EC_WORD_DANCE, + EC_WORD_CHANNEL, + EC_WORD_MAKING, + EC_WORD_FISHING, + EC_WORD_DATE, + EC_WORD_DESIGN, + EC_WORD_LOCOMOTIVE, + EC_WORD_PLUSH_DOLL, + EC_WORD_PC, + EC_WORD_FLOWERS, + EC_WORD_HERO, + EC_WORD_NAP, + EC_WORD_HEROINE, + EC_WORD_FASHION, + EC_WORD_ADVENTURE, + EC_WORD_BOARD, + EC_WORD_BALL, + EC_WORD_BOOK, + EC_WORD_FESTIVAL, + EC_WORD_COMICS, + EC_WORD_HOLIDAY, + EC_WORD_PLANS, + EC_WORD_TRENDY, + EC_WORD_VACATION, + EC_WORD_LOOK +}; +enum { + EC_WORD_FALL = EC_GROUP_TIME << 9, + EC_WORD_MORNING, + EC_WORD_TOMORROW, + EC_WORD_LAST, + EC_WORD_DAY, + EC_WORD_SOMETIME, + EC_WORD_ALWAYS, + EC_WORD_CURRENT, + EC_WORD_FOREVER, + EC_WORD_DAYS, + EC_WORD_END, + EC_WORD_TUESDAY, + EC_WORD_YESTERDAY, + EC_WORD_TODAY, + EC_WORD_FRIDAY, + EC_WORD_MONDAY, + EC_WORD_LATER, + EC_WORD_EARLIER, + EC_WORD_ANOTHER, + EC_WORD_TIME, + EC_WORD_FINISH, + EC_WORD_WEDNESDAY, + EC_WORD_SOON, + EC_WORD_START, + EC_WORD_MONTH, + EC_WORD_STOP, + EC_WORD_NOW, + EC_WORD_FINAL, + EC_WORD_NEXT, + EC_WORD_AGE, + EC_WORD_SATURDAY, + EC_WORD_SUMMER, + EC_WORD_SUNDAY, + EC_WORD_BEGINNING, + EC_WORD_SPRING, + EC_WORD_DAYTIME, + EC_WORD_WINTER, + EC_WORD_DAILY, + EC_WORD_OLDEN, + EC_WORD_ALMOST, + EC_WORD_NEARLY, + EC_WORD_THURSDAY, + EC_WORD_NIGHTTIME, + EC_WORD_NIGHT, + EC_WORD_WEEK +}; +enum { + EC_WORD_HIGHS = EC_GROUP_MISC << 9, + EC_WORD_LOWS, + EC_WORD_UM, + EC_WORD_REAR, + EC_WORD_THINGS, + EC_WORD_THING, + EC_WORD_BELOW, + EC_WORD_ABOVE, + EC_WORD_BACK, + EC_WORD_HIGH, + EC_WORD_HERE, + EC_WORD_INSIDE, + EC_WORD_OUTSIDE, + EC_WORD_BESIDE, + EC_WORD_THIS_IS_IT_EXCL, + EC_WORD_THIS, + EC_WORD_EVERY, + EC_WORD_THESE, + EC_WORD_THESE_WERE, + EC_WORD_DOWN, + EC_WORD_THAT, + EC_WORD_THOSE_ARE, + EC_WORD_THOSE_WERE, + EC_WORD_THAT_S_IT_EXCL, + EC_WORD_AM, + EC_WORD_THAT_WAS, + EC_WORD_FRONT, + EC_WORD_UP, + EC_WORD_CHOICE, + EC_WORD_FAR, + EC_WORD_AWAY, + EC_WORD_NEAR, + EC_WORD_WHERE, + EC_WORD_WHEN, + EC_WORD_WHAT, + EC_WORD_DEEP, + EC_WORD_SHALLOW, + EC_WORD_WHY, + EC_WORD_CONFUSED, + EC_WORD_OPPOSITE, + EC_WORD_LEFT, + EC_WORD_RIGHT +}; +enum { + EC_WORD_WANDERING = EC_GROUP_ADJECTIVES << 9, + EC_WORD_RICKETY, + EC_WORD_ROCK_SOLID, + EC_WORD_HUNGRY, + EC_WORD_TIGHT, + EC_WORD_TICKLISH, + EC_WORD_TWIRLING, + EC_WORD_SPIRALING, + EC_WORD_THIRSTY, + EC_WORD_LOLLING, + EC_WORD_SILKY, + EC_WORD_SADLY, + EC_WORD_HOPELESS, + EC_WORD_USELESS, + EC_WORD_DROOLING, + EC_WORD_EXCITING, + EC_WORD_THICK, + EC_WORD_SMOOTH, + EC_WORD_SLIMY, + EC_WORD_THIN, + EC_WORD_BREAK, + EC_WORD_VORACIOUS, + EC_WORD_SCATTER, + EC_WORD_AWESOME, + EC_WORD_WIMPY, + EC_WORD_WOBBLY, + EC_WORD_SHAKY, + EC_WORD_RIPPED, + EC_WORD_SHREDDED, + EC_WORD_INCREASING, + EC_WORD_YET, + EC_WORD_DESTROYED, + EC_WORD_FIERY, + EC_WORD_LOVEY_DOVEY, + EC_WORD_HAPPILY, + EC_WORD_ANTICIPATION +}; +enum { + EC_WORD_APPEAL = EC_GROUP_EVENTS << 9, + EC_WORD_EVENTS, + EC_WORD_STAY_AT_HOME, + EC_WORD_BERRY, + EC_WORD_CONTEST, + EC_WORD_MC, + EC_WORD_JUDGE, + EC_WORD_SUPER, + EC_WORD_STAGE, + EC_WORD_HALL_OF_FAME, + EC_WORD_EVOLUTION, + EC_WORD_HYPER, + EC_WORD_BATTLE_TOWER, + EC_WORD_LEADERS, + EC_WORD_BATTLE_ROOM, + EC_WORD_HIDDEN, + EC_WORD_SECRET_BASE, + EC_WORD_BLEND, + EC_WORD_POKEBLOCK, + EC_WORD_MASTER, + EC_WORD_RANK, + EC_WORD_RIBBON +}; +enum { + EC_WORD_KTHX_BYE = EC_GROUP_TRENDY_SAYING << 9, + EC_WORD_YES_SIR_EXCL, + EC_WORD_AVANT_GARDE, + EC_WORD_COUPLE, + EC_WORD_MUCH_OBLIGED, + EC_WORD_YEEHAW_EXCL, + EC_WORD_MEGA, + EC_WORD_1_HIT_KO_EXCL, + EC_WORD_DESTINY, + EC_WORD_CANCEL, + EC_WORD_NEW, + EC_WORD_FLATTEN, + EC_WORD_KIDDING, + EC_WORD_LOSER, + EC_WORD_LOSING, + EC_WORD_HAPPENING, + EC_WORD_HIP_AND, + EC_WORD_SHAKE, + EC_WORD_SHADY, + EC_WORD_UPBEAT, + EC_WORD_MODERN, + EC_WORD_SMELL_YA, + EC_WORD_BANG, + EC_WORD_KNOCKOUT, + EC_WORD_HASSLE, + EC_WORD_WINNER, + EC_WORD_FEVER, + EC_WORD_WANNABE, + EC_WORD_BABY, + EC_WORD_HEART, + EC_WORD_OLD, + EC_WORD_YOUNG, + EC_WORD_UGLY +}; -// TRENDY_SAYING -#define EC_WORD_KTHX_BYE (EC_GROUP_TRENDY_SAYING << 9) | 0x0 -#define EC_WORD_YES_SIR_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x1 -#define EC_WORD_AVANT_GARDE (EC_GROUP_TRENDY_SAYING << 9) | 0x2 -#define EC_WORD_COUPLE (EC_GROUP_TRENDY_SAYING << 9) | 0x3 -#define EC_WORD_MUCH_OBLIGED (EC_GROUP_TRENDY_SAYING << 9) | 0x4 -#define EC_WORD_YEEHAW_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x5 -#define EC_WORD_MEGA (EC_GROUP_TRENDY_SAYING << 9) | 0x6 -#define EC_WORD_1_HIT_KO_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x7 -#define EC_WORD_DESTINY (EC_GROUP_TRENDY_SAYING << 9) | 0x8 -#define EC_WORD_CANCEL (EC_GROUP_TRENDY_SAYING << 9) | 0x9 -#define EC_WORD_NEW (EC_GROUP_TRENDY_SAYING << 9) | 0xa -#define EC_WORD_FLATTEN (EC_GROUP_TRENDY_SAYING << 9) | 0xb -#define EC_WORD_KIDDING (EC_GROUP_TRENDY_SAYING << 9) | 0xc -#define EC_WORD_LOSER (EC_GROUP_TRENDY_SAYING << 9) | 0xd -#define EC_WORD_LOSING (EC_GROUP_TRENDY_SAYING << 9) | 0xe -#define EC_WORD_HAPPENING (EC_GROUP_TRENDY_SAYING << 9) | 0xf -#define EC_WORD_HIP_AND (EC_GROUP_TRENDY_SAYING << 9) | 0x10 -#define EC_WORD_SHAKE (EC_GROUP_TRENDY_SAYING << 9) | 0x11 -#define EC_WORD_SHADY (EC_GROUP_TRENDY_SAYING << 9) | 0x12 -#define EC_WORD_UPBEAT (EC_GROUP_TRENDY_SAYING << 9) | 0x13 -#define EC_WORD_MODERN (EC_GROUP_TRENDY_SAYING << 9) | 0x14 -#define EC_WORD_SMELL_YA (EC_GROUP_TRENDY_SAYING << 9) | 0x15 -#define EC_WORD_BANG (EC_GROUP_TRENDY_SAYING << 9) | 0x16 -#define EC_WORD_KNOCKOUT (EC_GROUP_TRENDY_SAYING << 9) | 0x17 -#define EC_WORD_HASSLE (EC_GROUP_TRENDY_SAYING << 9) | 0x18 -#define EC_WORD_WINNER (EC_GROUP_TRENDY_SAYING << 9) | 0x19 -#define EC_WORD_FEVER (EC_GROUP_TRENDY_SAYING << 9) | 0x1a -#define EC_WORD_WANNABE (EC_GROUP_TRENDY_SAYING << 9) | 0x1b -#define EC_WORD_BABY (EC_GROUP_TRENDY_SAYING << 9) | 0x1c -#define EC_WORD_HEART (EC_GROUP_TRENDY_SAYING << 9) | 0x1d -#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e -#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f -#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20 +#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) +#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) +#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move) +#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move) #define EC_GROUP(word) ((word) >> 9) #define EC_INDEX(word) ((word) & 0x1FF) +extern u8 gUnknown_020388AC; + u16 sub_80EB72C(u16 group); void sub_80EB6FC(u16 *, u16); void InitEasyChatPhrases(void); @@ -1072,6 +1080,7 @@ u8 sub_80EB868(u8); void sub_80EB890(u8); u8 sub_80EB8C0(void); u16 sub_80EB8EC(void); +u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3); #if GERMAN u32 de_sub_80EB748(u32, u32); diff --git a/include/field_camera.h b/include/field_camera.h index 4ce207541..17126d190 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -11,7 +11,7 @@ struct CameraSomething s32 unk14; }; -extern struct Camera gUnknown_0202E844; +extern struct Camera gCamera; void move_tilemap_camera_to_upper_left_corner(void); void sub_8057A58(void); diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index a85e02132..2d5693e40 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -30,7 +30,7 @@ u8 *sub_80682A8(struct MapPosition *, u8, u8); void overworld_poison_timer_set(void); void prev_quest_postbuffer_cursor_backup_reset(void); u8 *sub_8068E24(struct MapPosition *); -u8 *GetFieldObjectScriptPointerForComparison(); +u8 *GetFieldObjectScriptPointerPlayerFacing(void); bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *); bool8 sub_8068870(u16 a); bool8 sub_8068894(void); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 11e96254d..7bba24fa6 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_EFFECT_HELPERS_H #define GUARD_FIELD_EFFECT_HELPERS_H +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; + void sub_812869C(struct MapObject *); bool8 sub_81286C4(struct MapObject *); void oamc_shadow(struct Sprite *); @@ -26,9 +28,9 @@ void sub_8126BC4(u8 unk_1B, u8 r6, s16 x, s16 y); void sub_8127ED0(u8, u8); void sub_8127F28(u8, u8, s16); u8 sub_8128124(u8 id); -void ash(s16, s16, u16, u8); +void ash(s16, s16, u16, s16); void SetUpReflection(struct MapObject *mapObj, struct Sprite *sprite, u8 a); u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject); -u8 sub_8126FF0(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); +u8 sub_8126FF0(u8, u8, u8, s16, s16); #endif // GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index d2a1a9b1f..8e1fdc8bd 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -3,6 +3,8 @@ #include "sprite.h" +extern const u8 gUnknown_0830FD14[]; + #define fieldmap_object_cb(setup, callback, table) \ static u8 callback(struct MapObject *, struct Sprite *);\ void setup(struct Sprite *sprite)\ @@ -54,17 +56,15 @@ u8 sub_805CCAC(s16 a0, s16 a1, s16 a2, s16 a3); u8 sub_805CCE8(s16 a0, s16 a1, s16 a2, s16 a3); u8 sub_805CD24(s16 a0, s16 a1, s16 a2, s16 a3); -u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F3F0(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F438(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F4F0(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F5A8(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F660(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F760(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); -u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)); +u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 sub_805F3F0(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 sub_805F438(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 sub_805F4F0(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 sub_805F5A8(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 sub_805F660(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 sub_805F760(struct MapObject *, struct Sprite *, u8, bool8(u8)); +u8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8(u8)); extern struct CameraSomething gUnknown_03004880; extern u16 gUnknown_03004898; @@ -318,7 +318,7 @@ u8 get_go_fast_image_anim_num(u8); u8 get_go_faster_image_anim_num(u8); u8 sub_805FD78(u8); -int state_to_direction(u8, u8, u8); +u32 state_to_direction(u8, u32, u32); void sub_805AA98(); void sub_805AAB0(void); @@ -344,7 +344,7 @@ void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8); const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8); void FieldObjectHandleDynamicGraphicsId(struct MapObject *); void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); -void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); +void FieldObjectGetLocalIdAndMap(struct MapObject *, void *, void *, void *); void sub_805BCC0(s16 x, s16 y); void sub_805BCF0(u8, u8, u8, u8); void sub_805BD48(u8, u8, u8); @@ -379,14 +379,14 @@ u8 sub_805FDF8(u8); u8 sub_805FE08(u8); void npc_set_running_behaviour_etc(struct MapObject *, u8); u8 npc_running_behaviour_by_direction(u8); -u8 npc_block_way(struct MapObject *, s16, s16, u8); +u8 npc_block_way(struct MapObject *, s16, s16, u32); u8 sub_8060024(struct MapObject *, s16, s16, u8); -u8 sub_8060234(u8, u8, u8); +bool8 IsBerryTreeSparkling(u8, u8, u8); void sub_8060288(u8, u8, u8); void sub_8060388(s16, s16, s16 *, s16 *); void sub_80603CC(s16 x, s16 y, s16 *pInt, s16 *pInt1); void GetFieldObjectMovingCameraOffset(s16 *, s16 *); -void FieldObjectMoveDestCoords(struct MapObject *pObject, u8 unk_19, s16 *pInt, s16 *pInt1); +void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1); bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *); bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); bool8 FieldObjectSetSpecialAnim(struct MapObject *, u8); @@ -396,21 +396,23 @@ void FieldObjectClearAnim(struct MapObject *); bool8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *); u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); u8 FieldObjectGetSpecialAnim(struct MapObject *); -u8 GetFaceDirectionAnimId(u8); -u8 GetSimpleGoAnimId(u8); -u8 GetGoSpeed0AnimId(u8 a); -u8 sub_8060744(u8 a); -u8 d2s_08064034(u8 a); -u8 sub_806079C(u8 a); -u8 sub_80607F4(u8 a); -u8 GetJumpLedgeAnimId(u8 a); -u8 sub_806084C(u8); -u8 sub_8060878(u8); -u8 sub_80608D0(u8); -u8 GetStepInPlaceDelay32AnimId(u8 a); -u8 GetStepInPlaceDelay16AnimId(u8); -u8 GetStepInPlaceDelay8AnimId(u8 a); -u8 GetStepInPlaceDelay4AnimId(u8 a); +u8 GetFaceDirectionAnimId(u32); +u8 GetSimpleGoAnimId(u32); +u8 GetGoSpeed0AnimId(u32); +u8 sub_8060744(u32); +u8 d2s_08064034(u32); +u8 sub_806079C(u32); +u8 sub_80607C8(u32); +u8 sub_80607F4(u32); +u8 GetJumpLedgeAnimId(u32); +u8 sub_806084C(u32); +u8 sub_8060878(u32); +u8 sub_80608A4(u32); +u8 sub_80608D0(u32); +u8 GetStepInPlaceDelay32AnimId(u32); +u8 GetStepInPlaceDelay16AnimId(u32); +u8 GetStepInPlaceDelay8AnimId(u32); +u8 GetStepInPlaceDelay4AnimId(u32); u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8); u8 sub_80609D8(u8); u8 sub_8060A04(u8); @@ -427,5 +429,9 @@ void sub_80634D0(struct MapObject *, struct Sprite *); u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); void CameraObjectSetFollowedObjectId(u8); u8 sub_805ADDC(u8); +void sub_8060320(u32, s16 *, s16 *, s16, s16); +u8 obj_unfreeze(struct Sprite *, s16, s16, u8); +u16 npc_paltag_by_palslot(u8); +void sub_8060470(s16 *, s16 *, s16, s16); #endif // GUARD_FIELD_MAP_OBJ_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 86b1af3fb..250ed8469 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -19,7 +19,7 @@ u8 ForcedMovement_SlideSouth(void); u8 ForcedMovement_SlideNorth(void); u8 ForcedMovement_SlideWest(void); u8 ForcedMovement_SlideEast(void); -u8 sub_8058C04(void); +u8 ForcedMovement_MatJump(void); u8 sub_8058C10(void); u8 ForcedMovement_MuddySlope(void); void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys); @@ -37,23 +37,23 @@ void sub_80591F4(struct MapObject *a); void sub_8059204(void); u8 player_get_x22(void); void PlayerSetAnimId(u8 a, u8 b); -void PlayerGoSpeed0(u8 a); -void sub_80593C4(u8 a); +void PlayerGoSpeed1(u8 a); +void PlayerGoSpeed2(u8 a); void npc_use_some_d2s(u8 a); -void sub_80593F4(u8 a); +void PlayerGoSpeed4(u8 a); void sub_805940C(u8 a); void PlayerOnBikeCollide(u8); void PlayerFaceDirection(u8 a); void PlayerTurnInPlace(u8 a); void PlayerJumpLedge(u8 a); void sub_80594C0(void); -void sub_8059504(u8 a); +void PlayerIdleWheelie(u8 a); void PlayerStartWheelie(u8 a); -void sub_8059534(u8 a); -void sub_805954C(u8 a); -void sub_8059570(u8 a); -void sub_8059594(u8 a); -void sub_80595B8(u8 a); +void PlayerEndWheelie(u8 a); +void PlayerStandingHoppingWheelie(u8 a); +void PlayerMovingHoppingWheelie(u8 a); +void PlayerLedgeHoppingWheelie(u8 a); +void PlayerAcroTurnJump(u8 a); void sub_80595DC(u8 a); void sub_8059600(u8 a); void sub_8059618(u8 a); @@ -87,7 +87,7 @@ void sub_8059C94(u8); u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c); u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c); u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c); -u8 sub_805A000(struct Task *task, struct MapObject *mapObject); +u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject); u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject); u8 sub_805A100(struct Task *task, struct MapObject *mapObject); u8 sub_805A178(struct Task *task, struct MapObject *mapObject); diff --git a/include/field_special_scene.h b/include/field_special_scene.h index d674f09df..240e9ecb6 100644 --- a/include/field_special_scene.h +++ b/include/field_special_scene.h @@ -1,8 +1,8 @@ #ifndef GUARD_FIELD_SPECIAL_SCENE_H #define GUARD_FIELD_SPECIAL_SCENE_H -s32 GetTruckCameraBobbingY(int a1); -s32 GetTruckBoxMovement(int a1); +s16 GetTruckCameraBobbingY(int a1); +s16 GetTruckBoxMovement(int a1); void Task_Truck1(u8 taskId); void Task_Truck2(u8 taskId); void Task_Truck3(u8 taskId); diff --git a/include/field_specials.h b/include/field_specials.h index d61aa3b20..52325879c 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -25,5 +25,6 @@ void ScriptShowElevatorMenu(void); void SetShoalItemFlag(u16); u8 GetLeadMonIndex(void); void ResetFanClub(void); +u8 sub_810FB10(u8 a0); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/gba/defines.h b/include/gba/defines.h index 0f7f06755..7fd429d9e 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -29,15 +29,16 @@ #define BG_VRAM VRAM #define BG_VRAM_SIZE 0x10000 -#define BG_CHAR_ADDR(n) (BG_VRAM + (0x4000 * (n))) -#define BG_SCREEN_ADDR(n) (BG_VRAM + (0x800 * (n))) +#define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n))) +#define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n))) +#define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n))) // text-mode BG -#define OBJ_VRAM0 (VRAM + 0x10000) +#define OBJ_VRAM0 (void *)(VRAM + 0x10000) #define OBJ_VRAM0_SIZE 0x8000 // bitmap-mode BG -#define OBJ_VRAM1 (VRAM + 0x14000) +#define OBJ_VRAM1 (void *)(VRAM + 0x14000) #define OBJ_VRAM1_SIZE 0x4000 #define OAM 0x7000000 diff --git a/include/gba/flash_internal.h b/include/gba/flash_internal.h index cbcfb5466..39e14ef73 100644 --- a/include/gba/flash_internal.h +++ b/include/gba/flash_internal.h @@ -35,7 +35,7 @@ struct FlashType { struct FlashSetupInfo { u16 (*programFlashByte)(u16, u32, u8); - u16 (*programFlashSector)(u16, u8 *); + u16 (*programFlashSector)(u16, void *); u16 (*eraseFlashChip)(void); u16 (*eraseFlashSector)(u16); u16 (*WaitForFlashWrite)(u8, u8 *, u8); @@ -46,7 +46,7 @@ struct FlashSetupInfo extern u16 gFlashNumRemainingBytes; extern u16 (*ProgramFlashByte)(u16, u32, u8); -extern u16 (*ProgramFlashSector)(u16, u8 *); +extern u16 (*ProgramFlashSector)(u16, void *); extern u16 (*EraseFlashChip)(void); extern u16 (*EraseFlashSector)(u16); extern u16 (*WaitForFlashWrite)(u8, u8 *, u8); @@ -67,15 +67,15 @@ void SetReadFlash1(u16 *dest); void StopFlashTimer(void); u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src); -void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size); -u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n); +void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size); +u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n); u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData); u16 EraseFlashChip_MX(void); u16 EraseFlashSector_MX(u16 sectorNum); u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data); -u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src); +u16 ProgramFlashSector_MX(u16 sectorNum, void *src); // agb_flash_1m u16 IdentifyFlash(void); diff --git a/include/gba/macro.h b/include/gba/macro.h index 230fb4383..1e0254806 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -84,4 +84,38 @@ dmaRegs[5]; \ } +#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaCopy##bit(dmaNum, _src, _dest, (block)); \ + _src += (block); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaCopy##bit(dmaNum, _src, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) + +#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) + +#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + DmaCopy##bit(dmaNum, _src, _dest, _size); \ +} + +#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) +#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) + #endif // GUARD_GBA_MACRO_H diff --git a/include/global.berry.h b/include/global.berry.h index 6632e55e2..21a0dd500 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -3,33 +3,33 @@ struct Berry { - const u8 name[7]; - u8 firmness; - u16 size; - u8 maxYield; - u8 minYield; - const u8 *description1; - const u8 *description2; - u8 stageDuration; - u8 spicy; - u8 dry; - u8 sweet; - u8 bitter; - u8 sour; - u8 smoothness; + /*0x00*/ const u8 name[7]; + /*0x07*/ u8 firmness; + /*0x08*/ u16 size; + /*0x0A*/ u8 maxYield; + /*0x0B*/ u8 minYield; + /*0x0C*/ const u8 *description1; + /*0x10*/ const u8 *description2; + /*0x14*/ u8 stageDuration; + /*0x15*/ u8 spicy; + /*0x16*/ u8 dry; + /*0x17*/ u8 sweet; + /*0x18*/ u8 bitter; + /*0x19*/ u8 sour; + /*0x1A*/ u8 smoothness; }; struct EnigmaBerry { - struct Berry berry; - u8 pic[(6 * 6) * TILE_SIZE_4BPP]; - u16 palette[16]; - u8 description1[45]; - u8 description2[45]; - u8 itemEffect[18]; - u8 holdEffect; - u8 holdEffectParam; - u32 checksum; + /*0x000*/ struct Berry berry; + /*0x01B*/ u8 pic[(6 * 6) * TILE_SIZE_4BPP]; + /*0x49C*/ u16 palette[16]; + /*0x4BC*/ u8 description1[45]; + /*0x4E9*/ u8 description2[45]; + /*0x516*/ u8 itemEffect[18]; + /*0x528*/ u8 holdEffect; + /*0x529*/ u8 holdEffectParam; + /*0x52C*/ u32 checksum; }; struct BattleEnigmaBerry @@ -42,16 +42,21 @@ struct BattleEnigmaBerry struct BerryTree { - u8 berry; - u8 stage:7; - u8 growthSparkle:1; - u16 minutesUntilNextStage; - u8 berryYield; - u8 regrowthCount:4; - u8 watered1:1; - u8 watered2:1; - u8 watered3:1; - u8 watered4:1; + /*0x00*/ u8 berry; + /*0x01*/ u8 stage:7; + /* + A berry sparkle is a state that a berry tree + can be in after growing within the player's + viewport. + */ + /*0x01*/ bool8 growthSparkle:1; + /*0x02*/ u16 minutesUntilNextStage; + /*0x04*/ u8 berryYield; + /*0x05*/ u8 regrowthCount:4; + /*0x05*/ u8 watered1:1; + /*0x05*/ u8 watered2:1; + /*0x05*/ u8 watered3:1; + /*0x05*/ u8 watered4:1; }; #endif // GUARD_GLOBAL_BERRY_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 5c93eb8ab..488cc11d9 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -111,11 +111,11 @@ struct CoordEvent struct BgEvent { - u16 x, y; - u8 unk4; - u8 kind; - // 0x2 padding for the union beginning. - union { // carried over from diego's FR/LG work, seems to be the same struct + /*0x00*/u16 x; + /*0x02*/u16 y; + /*0x04*/u8 unk4; + /*0x05*/u8 kind; + /*0x08*/union { // carried over from diego's FR/LG work, seems to be the same struct // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union. u8 *script; @@ -353,25 +353,42 @@ enum COLLISION_LEDGE_JUMP = 6 }; +// player running states +enum +{ + NOT_MOVING, + TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles + MOVING, +}; + +// player tile transition states +enum +{ + T_NOT_MOVING, + T_TILE_TRANSITION, + T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary. +}; + struct PlayerAvatar /* 0x202E858 */ { /*0x00*/ u8 flags; - /*0x01*/ u8 bike; - /*0x02*/ u8 running2; - /*0x03*/ u8 running1; + /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags + /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. + /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; /*0x05*/ u8 mapObjectId; - /*0x06*/ u8 unk6; + /*0x06*/ bool8 preventStep; /*0x07*/ u8 gender; - u8 acroBikeState; - u8 unk9; - u8 bikeFrameCounter; - u8 unkB; - u32 unkC; - u32 unk10; - u8 unk14[8]; - u8 unk1C[8]; - // TODO: rest of struct + /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie + /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here. + /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike. + /*0x0B*/ u8 bikeSpeed; + // acro bike only + /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs. + /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only + // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update. + /*0x14*/ u8 dirTimerHistory[8]; + /*0x1C*/ u8 abStartSelectTimerHistory[8]; }; struct Camera diff --git a/include/global.h b/include/global.h index 79269937f..647f66bc8 100644 --- a/include/global.h +++ b/include/global.h @@ -37,6 +37,7 @@ fndec\ #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) +#define POKEMON_SLOTS_NUMBER 412 #define POKEMON_NAME_LENGTH 10 #define OT_NAME_LENGTH 7 @@ -54,6 +55,24 @@ enum B_32 = 4 }; +// There are many quirks in the source code which have overarching behavioral differences from +// a number of other files. For example, diploma.c seems to declare rodata before each use while +// other files declare out of order and must be at the beginning. There are also a number of +// macros which differ from one file to the next due to the method of obtaining the result, such +// as these below. Because of this, there is a theory (Two Team Theory) that states that these +// programming projects had more than 1 "programming team" which utilized different macros for +// each of the files that were worked on. +#define T1_READ_8(ptr) ((ptr)[0]) +#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) +#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24)) +#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr) + +// T2_READ_8 is a duplicate to remain consistent with each group. +#define T2_READ_8(ptr) ((ptr)[0]) +#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) +#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) +#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) + enum { VERSION_SAPPHIRE = 1, @@ -129,13 +148,13 @@ struct UCoords16 struct SecretBaseRecord { - /*ID?*/ /*0x1A08*/ u8 sbr_field_0; + /*0x1A08*/ u8 secretBaseId; /*0x1A09*/ u8 sbr_field_1_0:4; /*0x1A09*/ u8 gender:1; /*0x1A09*/ u8 sbr_field_1_5:1; /*0x1A09*/ u8 sbr_field_1_6:2; - /*0x1A0A*/ u8 sbr_field_2[7]; // 0xFF bytes? - /*0x1A12*/ u8 trainerId[4]; // byte 0 is used for determining trainer class + /*0x1A0A*/ u8 playerName[OT_NAME_LENGTH]; + /*0x1A11*/ u8 trainerId[4]; // byte 0 is used for determining trainer class /*0x1A16*/ u16 sbr_field_e; /*0x1A18*/ u8 sbr_field_10; /*0x1A19*/ u8 sbr_field_11; @@ -560,18 +579,34 @@ struct GabbyAndTyData /*2b1b*/ u8 valB_5:3; }; -struct RecordMixing_UnknownStructSub +struct DayCareMail { - u32 unk0; - u8 data[0x34]; - //u8 data[0x38]; + /*0x00*/ struct MailStruct message; + /*0x24*/ u8 names[19]; +}; + +struct DayCareStepCountersEtc { + u32 steps[2]; + u16 personalityLo; + u8 unk_11a; }; -struct RecordMixing_UnknownStruct +struct RecordMixingDayCareMail { - struct RecordMixing_UnknownStructSub data[2]; + struct DayCareMail mail[2]; u32 unk70; - u16 unk74[0x2]; + u16 unk74[2]; +}; + +struct DayCareMisc +{ + struct DayCareMail mail[2]; + struct DayCareStepCountersEtc countersEtc; +}; + +struct DayCareData { + struct BoxPokemon mons[2]; + struct DayCareMisc misc; }; struct LinkBattleRecord @@ -597,15 +632,20 @@ struct RecordMixingGift struct RecordMixingGiftData data; }; +// there should be enough flags for all 412 slots +// each slot takes up 8 flags +// if the value is not divisible by 8, we need to account for the reminder as well +#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0)) + struct SaveBlock1 /* 0x02025734 */ { /*0x00*/ struct Coords16 pos; /*0x04*/ struct WarpData location; /*0x0C*/ struct WarpData warp1; /*0x14*/ struct WarpData warp2; - /*0x1C*/ struct WarpData warp3; + /*0x1C*/ struct WarpData lastHealLocation; /*0x24*/ struct WarpData warp4; - /*0x2C*/ u16 battleMusic; + /*0x2C*/ u16 savedMusic; /*0x2E*/ u8 weather; /*0x2F*/ u8 filler_2F; /*0x30*/ u8 flashLevel; // flash level on current map, 0 being normal and 4 being the darkest @@ -623,7 +663,7 @@ struct SaveBlock1 /* 0x02025734 */ /*0x640*/ struct ItemSlot bagPocket_TMHM[64]; /*0x740*/ struct ItemSlot bagPocket_Berries[46]; /*0x7F8*/ struct Pokeblock pokeblocks[40]; - /*0x938*/ u8 unk938[52]; // pokedex related + /*0x938*/ u8 dexSeen2[DEX_FLAGS_NO]; /*0x96C*/ u16 berryBlenderRecords[3]; /*0x972*/ u8 filler_972[0x6]; /*0x978*/ u16 trainerRematchStepCounter; @@ -659,10 +699,12 @@ struct SaveBlock1 /* 0x02025734 */ /*0x2B0D*/ u8 outbreakPokemonProbability; /*0x2B0E*/ u16 outbreakUnk5; /*0x2B10*/ struct GabbyAndTyData gabbyAndTyData; - /*0x2B1C*/ u16 unk2B1C[6]; - /*0x2B28*/ u16 unk2B28[6]; - /*0x2B34*/ u16 unk2B34[6]; - /*0x2B40*/ u16 unk2B40[6]; + /*0x2B1C*/ struct { + /*0x2B1C*/ u16 unk2B1C[6]; + /*0x2B28*/ u16 unk2B28[6]; + /*0x2B34*/ u16 unk2B34[6]; + /*0x2B40*/ u16 unk2B40[6]; + } easyChats; /*0x2B4C*/ struct MailStruct mail[16]; /*0x2D8C*/ u8 unk2D8C[4]; /*0x2D90*/ u8 filler_2D90[0x4]; @@ -670,20 +712,16 @@ struct SaveBlock1 /* 0x02025734 */ /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff /*0x2DFC*/ u8 filler_2DFC[0x8]; /*0x2E04*/ SB_Struct sbStruct; - /*0x2F9C*/ struct BoxPokemon daycareData[2]; - /*0x303C*/ struct RecordMixing_UnknownStruct filler_303C; - /*0x30AC*/ u8 filler_30B4[0x2]; - /*0x30B6*/ u8 filler_30B6; - /*0x30B7*/ u8 filler_30B7[1]; + /*0x2F9C*/ struct DayCareData daycareData; /*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5]; /*0x3108*/ u8 filler_3108[8]; - /*0x3110*/ u8 giftRibbons[7]; - /*0x3117*/ u8 filler_311B[0x2D]; + /*0x3110*/ u8 giftRibbons[11]; + /*0x3117*/ u8 filler_311B[0x29]; /*0x3144*/ struct Roamer roamer; /*0x3160*/ struct EnigmaBerry enigmaBerry; /*0x3690*/ struct RamScript ramScript; /*0x3A7C*/ struct RecordMixingGift recordMixingGift; - /*0x3A8C*/ u8 unk3A8C[52]; //pokedex related + /*0x3A8C*/ u8 dexSeen3[DEX_FLAGS_NO]; }; extern struct SaveBlock1 gSaveBlock1; @@ -705,30 +743,78 @@ struct Pokedex /*0x04*/ u32 unownPersonality; // set when you first see Unown /*0x08*/ u32 spindaPersonality; // set when you first see Spinda /*0x0C*/ u32 unknown3; - /*0x10*/ u8 owned[52]; - /*0x44*/ u8 seen[52]; + /*0x10*/ u8 owned[DEX_FLAGS_NO]; + /*0x44*/ u8 seen[DEX_FLAGS_NO]; }; -struct SaveBlock2_Sub +struct BattleTowerTrainer { - /*0x0000, 0x00A8*/ u8 filler_000[0x3D8]; - /*0x03D8, 0x0480*/ u16 var_480; - /*0x03DA, 0x0482*/ u16 var_482; - /*0x03DC, 0x0484*/ u8 filler_3DC[0x14]; - /*0x03F0, 0x0498*/ u8 ereaderTrainer[0xBC]; - /*0x04AC, 0x0554*/ u8 var_4AC; - /*0x04AD, 0x0555*/ u8 var_4AD; + u8 trainerClass; + u8 name[8]; + u8 teamFlags; + struct { + u16 easyChat[6]; + } greeting; +}; + +struct BattleTowerRecord // record mixing +{ + /*0x00*/u8 battleTowerLevelType; // 0 = level 50, 1 = level 100 + /*0x01*/u8 trainerClass; + /*0x02*/u16 winStreak; + /*0x04*/u8 name[8]; + /*0x0C*/u8 trainerId[4]; + /*0x10*/struct { + u16 easyChat[6]; + } greeting; + /*0x1C*/struct UnknownPokemonStruct party[3]; + /*0xA0*/u32 checksum; +}; + +struct BattleTowerEReaderTrainer +{ + /*0x00*/u8 unk0; + /*0x01*/u8 trainerClass; + /*0x02*/u16 winStreak; + /*0x04*/u8 name[8]; + /*0x0C*/u8 trainerId[4]; + /*0x10*/struct { + u16 easyChat[6]; + } greeting; + /*0x1C*/struct { + u16 easyChat[6]; + } farewellPlayerLost; + /*0x28*/struct { + u16 easyChat[6]; + } farewellPlayerWon; + /*0x34*/struct UnknownPokemonStruct party[3]; + /*0xB8*/u32 checksum; +}; + +struct BattleTowerData +{ + /*0x0000, 0x00A8*/ struct BattleTowerRecord playerRecord; + /*0x00A4, 0x014C*/ struct BattleTowerRecord records[5]; // from record mixing + /*0x03D8, 0x0480*/ u16 firstMonSpecies; // species of the first pokemon in the player's battle tower party + /*0x03DA, 0x0482*/ u16 defeatedBySpecies; // species of the pokemon that defated the player + /*0x03DC, 0x0484*/ u8 defeatedByTrainerName[8]; + /*0x03E4, 0x048C*/ u8 firstMonNickname[POKEMON_NAME_LENGTH]; // nickname of the first pokemon in the player's battle tower party + /*0x03F0, 0x0498*/ struct BattleTowerEReaderTrainer ereaderTrainer; + /*0x04AC, 0x0554*/ u8 battleTowerLevelType:1; // 0 = level 50; 1 = level 100 + /*0x04AC, 0x0554*/ u8 unk_554:1; + /*0x04AD, 0x0555*/ u8 battleOutcome; /*0x04AE, 0x0556*/ u8 var_4AE[2]; - /*0x04B0, 0x0558*/ u16 var_4B0; - /*0x04B2, 0x055A*/ u16 var_4B2; - /*0x04B4, 0x055C*/ u16 var_4B4; - /*0x04B6, 0x055E*/ u16 var_4B6; - /*0x04B8, 0x0560*/ u16 recordWinStreak[2]; - /*0x04BC, 0x0564*/ u8 filler_4BC[0xC]; - /*0x04C8, 0x0570*/ u16 var_4C8; - /*0x04CA, 0x0572*/ u16 var_4CA; - /*0x04CC, 0x0574*/ u16 winStreak[2]; - /*0x04D0, 0x0578*/ u8 var_4D0; + /*0x04B0, 0x0558*/ u16 curChallengeBattleNum[2]; // 1-based index of battle in the current challenge. (challenges consist of 7 battles) + /*0x04B4, 0x055C*/ u16 curStreakChallengesNum[2]; // 1-based index of the current challenge in the current streak. + /*0x04B8, 0x0560*/ u16 recordWinStreaks[2]; + /*0x04BC, 0x0564*/ u8 battleTowerTrainerId; // index for gBattleTowerTrainers table + /*0x04BD, 0x0565*/ u8 selectedPartyMons[0x3]; // indices of the 3 selected player party mons. + /*0x04C0, 0x0568*/ u16 prizeItem; + /*0x04C2, 0x056A*/ u8 filler_4C2[0x6]; + /*0x04C8, 0x0570*/ u16 totalBattleTowerWins; + /*0x04CA, 0x0572*/ u16 bestBattleTowerWinStreak; + /*0x04CC, 0x0574*/ u16 currentWinStreaks[2]; + /*0x04D0, 0x0578*/ u8 lastStreakLevelType; // 0 = level 50, 1 = level 100. level type of the last streak. Used by tv to report the level mode. /*0x04D1, 0x0579*/ u8 filler_4D1[0x317]; }; @@ -753,7 +839,7 @@ struct SaveBlock2 /* 0x02024EA4 */ /*0x90*/ u8 filler_90[0x8]; /*0x98*/ struct Time localTimeOffset; /*0xA0*/ struct Time lastBerryTreeUpdate; - /*0xA8*/ struct SaveBlock2_Sub filler_A8; + /*0xA8*/ struct BattleTowerData battleTower; }; struct MapPosition diff --git a/include/graphics.h b/include/graphics.h index 5632cb831..f3a722b40 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2564,4 +2564,13 @@ extern const u8 gUnknown_08E8CFC0[]; extern const u8 gUnknown_08E8D4C0[]; extern const u8 gUnknown_08E8D9C0[]; +extern const u8 gUnknown_08EA1DEC[]; +extern const u16 gUnknown_08EA0328[]; +extern const u16 gUnknown_08EA02C8[]; +extern const u16 gUnknown_08EA0348[]; +extern const u16 gUnknown_08EA15C8[]; +extern const u16 gTradeMonBoxTilemap[]; +extern const u8 gUnknown_08D00000[]; +extern const u16 gUnknown_08D00524[]; +extern const u8 gUnknown_08D004E0[]; #endif // GUARD_GRAPHICS_H diff --git a/include/items.h b/include/items.h index 69515f18e..44b0f2013 100644 --- a/include/items.h +++ b/include/items.h @@ -386,4 +386,7 @@ enum ITEM_OLD_SEA_MAP, // 0x178 }; +#define NUM_TECHNICAL_MACHINES 50 +#define NUM_HIDDEN_MACHINES 8 + #endif // GUARD_ITEMS_H diff --git a/include/mail_data.h b/include/mail_data.h index df4b385a1..2659c0d37 100644 --- a/include/mail_data.h +++ b/include/mail_data.h @@ -11,6 +11,6 @@ u8 GiveMailToMon2(struct Pokemon *, struct MailStruct *); void TakeMailFromMon(struct Pokemon *); u8 TakeMailFromMon2(struct Pokemon *); bool8 ItemIsMail(u16); -bool8 ItemIsMail(u16); +bool8 MonHasMail(struct Pokemon *); #endif // GUARD_MAIL_DATA_H diff --git a/include/menu.h b/include/menu.h index 3cf47b9b8..9a5ca62a0 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,6 +1,7 @@ #ifndef GUARD_MENU_H #define GUARD_MENU_H +#include "task.h" #include "text.h" struct MenuAction @@ -12,7 +13,7 @@ struct MenuAction struct MenuAction2 { const u8 *text; - void (*func)(u8); + TaskFunc func; }; extern const struct MenuAction gMenuYesNoItems[]; diff --git a/include/menu_cursor.h b/include/menu_cursor.h index ca82ef244..6d31cc29f 100644 --- a/include/menu_cursor.h +++ b/include/menu_cursor.h @@ -21,4 +21,8 @@ void sub_814AD7C(u8 a1, u8 a2); void sub_814ADC8(void); void sub_814ADF4(u8 a1); +#if GERMAN +extern const u32 gUnknown_0842F798[2]; +#endif + #endif // GUARD_MENU_CURSOR_H diff --git a/include/overworld.h b/include/overworld.h index fcdc8ed97..0954f1b63 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -26,23 +26,23 @@ extern const struct UCoords32 gUnknown_0821664C[]; extern void (*gFieldCallback)(void); // sub_8052F5C -void flag_var_implications_of_teleport_(void); +void Overworld_ResetStateAfterFly(void); void Overworld_ResetStateAfterTeleport(void); -void sub_8053014(void); -void sub_8053050(void); +void Overworld_ResetStateAfterDigEscRope(void); +void Overworld_ResetStateAfterWhiteOut(void); // sub_805308C void ResetGameStats(void); void IncrementGameStat(u8 index); u32 GetGameStat(u8 index); void SetGameStat(u8, u32); -// sub_8053154 +// LoadMapObjTemplatesFromHeader // LoadSaveblockMapObjScripts -void Overworld_SaveMapObjCoords(u8, s16, s16); -void Overworld_SaveMapObjMovementType(u8, u8); +void Overworld_SetMapObjTemplateCoords(u8, s16, s16); +void Overworld_SetMapObjTemplateMovementType(u8, u8); // mapdata_load_assets_to_gpu_and_full_redraw // get_mapdata_header -// warp_shift -// warp_set +// ApplyCurrentWarp +// SetWarpData // warp_data_is_not_neg_1 struct MapHeader * const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); struct MapHeader * const warp1_get_mapheader(void); @@ -50,14 +50,14 @@ struct MapHeader * const warp1_get_mapheader(void); // LoadSaveblockMapHeader // sub_80533CC void warp_in(void); -void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId); void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void sub_8053538(u8); -void sub_8053570(void); -void sub_8053588(u8); +void Overworld_SetWarpDestToLastHealLoc(void); +void Overworld_SetHealLocationWarp(u8); void sub_80535C4(s16 a1, s16 a2); void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void sub_8053678(void); @@ -69,7 +69,7 @@ void sub_8053720(s16, s16); // unref_sub_8053790 void sub_80537CC(u8); void gpu_sync_bg_hide(); -// sub_8053818 +// GetMapConnection // sub_8053850 bool8 sub_80538B0(u16 x, u16 y); bool8 sub_80538D0(u16 x, u16 y); @@ -81,7 +81,7 @@ void walkrun_find_lowest_active_bit_in_bitfield(void); u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3); u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8, u16, u8); u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void); -bool32 Overworld_IsBikeAllowedOnCurrentMap(void); +bool32 Overworld_IsBikingAllowed(void); void SetDefaultFlashLevel(void); void Overworld_SetFlashLevel(s32 a1); u8 Overworld_GetFlashLevel(void); @@ -89,19 +89,19 @@ void sub_8053D14(u16); // sub_8053D30 // sub_8053D6C // GetLocationMusic -// sav1_map_get_music -// warp1_target_get_music -// call_map_music_set_to_zero -void sub_8053E90(void); -void sav1_set_battle_music_maybe(u16); -void sav1_reset_battle_music_maybe(void); +// GetCurrLocationDefaultMusic +// GetWarpDestinationMusic +// Overworld_ResetMapMusic +void Overworld_PlaySpecialMapMusic(void); +void Overworld_SetSavedMusic(u16); +void Overworld_ClearSavedMusic(void); void sub_8053F0C(void); -void sub_8053F84(void); +void Overworld_ChangeMusicToDefault(void); void Overworld_ChangeMusicTo(u16); // GetMapMusicFadeoutSpeed void sub_8053FF8(void); bool8 sub_8054034(void); -void sub_8054044(void); +void Overworld_FadeOutMapMusic(void); // PlayAmbientCry void UpdateAmbientCry(s16 *, u16 *); void ChooseAmbientCrySpecies(void); @@ -233,5 +233,6 @@ u8 npc_something3(u8, u8); u8 LinkPlayerDetectCollision(u8, u8, s16, s16); void CreateLinkPlayerSprite(u8); void SpriteCB_LinkPlayer(struct Sprite *); +void sub_805465C(void); #endif // GUARD_ROM4_H diff --git a/include/party_menu.h b/include/party_menu.h index 5250486bb..f13c2c2df 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,36 +1,53 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H +#include "menu.h" #include "task.h" -struct PartyMenuItem + +enum +{ + PARTY_MENU_TYPE_STANDARD, + PARTY_MENU_TYPE_BATTLE, + PARTY_MENU_TYPE_CONTEST, + PARTY_MENU_TYPE_IN_GAME_TRADE, + PARTY_MENU_TYPE_BATTLE_TOWER, + PARTY_MENU_TYPE_LINK_MULTI_BATTLE, + PARTY_MENU_TYPE_DAYCARE, + PARTY_MENU_TYPE_MOVE_TUTOR, +}; + +// The party menu screen is presented differently depending on which menu layout is set. +enum { - const u8 *text; - TaskFunc func; + PARTY_MENU_LAYOUT_STANDARD, + PARTY_MENU_LAYOUT_DOUBLE_BATTLE, + PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, + PARTY_MENU_LAYOUT_MULTI_BATTLE, }; struct PartyPopupMenu { - u8 unk0; - u8 unk1; - const u8 *unk4; + /*0x0*/u8 numChoices; // number of menu choices + /*0x1*/u8 width; // menu width (number of characters it can fit horizontally) + /*0x4*/const u8 *items; // menu item ids (ids for a MenuAction2 array) }; // TODO: Unify these two structs -#define DATA_COUNT (6) struct Unk201B000 { - //u8 filler0[0x260]; struct Pokemon unk0[6]; - u8 filler258[1]; - u8 unk259; - u8 filler25A[6]; - u8 unk260; + u8 menuType; + u8 promptTextId; + u8 filler25A[2]; + TaskFunc menuHandler; + u8 menuHandlerTaskId; u8 unk261; u8 unk262; u8 unk263; - s16 unk264[DATA_COUNT * 2]; // This may be a union + // Stat growth upon level-up. First 6 bytes = old stats, Second 6 bytes = new stats. + s16 statGrowths[NUM_STATS * 2]; u8 filler27C[2]; s16 unk27E; s16 unk280; @@ -40,14 +57,15 @@ struct Unk201B000 struct Struct201B000 { u8 filler0[0x259]; - u8 unk259; + u8 promptTextId; u8 filler25A[6]; - u8 unk260; + u8 menuHandlerTaskId; u8 unk261; u8 unk262; - s16 unk264; - s16 unk266; - u8 filler268[10]; + s16 setupState; + s16 monIndex; + s16 unk268; + u8 filler26A[8]; u16 unk272; u8 filler274[14]; u16 unk282; @@ -63,71 +81,93 @@ struct Unk2001000 u8 unk5; u8 unk6; u8 unk7; - u8 unk8; - u8 unk9; - u8 unkA; - u8 unkB; - void* unkC; + s16 unk8; + s16 unkA; + TaskFunc unkC; u16 array[53561]; }; +struct UnknownPokemonStruct2 +{ + /*0x00*/ u16 species; + /*0x02*/ u16 heldItem; + /*0x04*/ u8 nickname[11]; + /*0x0F*/ u8 level; + /*0x10*/ u16 hp; + /*0x12*/ u16 maxhp; + /*0x14*/ u32 status; + /*0x18*/ u32 personality; + /*0x1C*/ u8 gender; + /*0x1D*/ u8 language; +}; + extern u8 ewram[]; #define ewram01000 (*(struct Unk2001000 *)(ewram + 0x01000)) #define ewram1B000 (*(struct Unk201B000 *)(ewram + 0x1B000)) #define ewram1B000_alt (*(struct Struct201B000 *)(ewram + 0x1B000)) #define EWRAM_1B000 ewram1B000_alt -void sub_806AEDC(void); -void sub_806AF4C(u8 arg0, u8 arg1, void* arg2, u8 arg3); -void OpenPartyMenu(u8, u8); -void OpenPartyMenu(); -bool8 sub_806B124(void); -u8 IsLinkDoubleBattle(void); -u8 sub_806B58C(u8); -u8 sub_806B58C(u8); +void CB2_PartyMenuMain(void); +void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed); +void SetPartyMenuSettings(u8 menuType, u8 battleTypeFlags, TaskFunc menuHandlerFunc, u8 textId); +void OpenPartyMenu(u8 menuType, u8 battleFlags); +bool8 InitPartyMenu(void); +bool8 IsLinkDoubleBattle(void); +u8 DrawPartyMonBackground(u8); +void sub_806B908(void); void sub_806BC3C(u8, u8); +void sub_806BCE8(void); u8 sub_806BD58(u8, u8); u8 sub_806BD58(u8, u8); -u16 sub_806BD80(u8); -void task_pc_turn_off(); -void sub_806BF74(u8 arg0, u8 arg1); -void sub_806C994(u8 arg0, u8 arg1); +u16 HandleDefaultPartyMenuInput(u8 taskId); +u16 HandleBattleTowerPartyMenuInput(u8 taskId); +void task_pc_turn_off(const u8 *a, u8 b); +void ChangePartyMenuSelection(u8 taskId, s8 directionPressed); +void SelectBattleTowerOKButton(u8 taskId); +void sub_806C994(u8 taskId, u8 b); u8 sub_806CA38(u8 taskID); -void sub_806CB74(u8 taskId); +void HandlePartyMenuSwitchPokemonInput(u8 taskId); void sub_806CCE4(void); void sub_806CD44(u8 taskId); -void sub_806D538(u8 arg0, u8 arg1); +void sub_806D3B4(u8 taskId, u16 species1, u16 species2); +void sub_806D4AC(u8 taskId, u16 species, u8 c); +void sub_806D50C(u8 taskId, u8 monIndex); +void PrintPartyMenuPromptText(u8 textId, u8 b); void sub_806D5A4(void); -void SetMonIconAnim(); -void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *); +void SetMonIconAnim(u8 spriteId, struct Pokemon *pokemon); +void CreatePartyMenuMonIcon(u8 taskId, u8 monIndex, u8 c, struct Pokemon *pokemon); +void TryCreatePartyMenuMonIcon(u8 a, u8 monIndex, struct Pokemon *pokemon); void LoadHeldItemIconGraphics(void); void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c); -void CreateHeldItemIcons_806DC34(); // undefined args -void CreateHeldItemIcons_806DC34(); -u8 GetMonIconSpriteId_maybe(); -void SetHeldItemIconVisibility(); -void TryPrintPartyMenuMonNickname(); -void PrintPartyMenuMonNicknames(void); +void SetMonIconSpriteId(u8 taskId, u8 monIndex, u8 spriteId); +void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item); +void CreateHeldItemIcons_806DC34(u8 taskId); +void CreateHeldItemIcons(u8 *a, u8 *b, u8 c); +void SetHeldItemIconVisibility(u8 a, u8 monIndex); +void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer); +void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon); void PrintPartyMenuMonNicknames(void); -void GetMonNickname(struct Pokemon *mon, u8 *nickname); -void PartyMenuClearLevelStatusTilemap(); -void PartyMenuPrintMonLevelOrStatus(); +void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct UnknownPokemonStruct2 *pokemon); +u8 *GetMonNickname(struct Pokemon *pokemon, u8 *stringBuffer); +void PartyMenuPutStatusTilemap(u8 monIndex, u8 b, u8 status); +void PartyMenuDoPrintLevel(u8 monIndex, u8 b, u8 level); +void PartyMenuPrintLevel(u8 monIndex, u8 b, struct Pokemon *pokemon); +void PartyMenuPrintMonLevelOrStatus(u8 monIndex, struct Pokemon *pokemon); void PartyMenuPrintMonsLevelOrStatus(void); -void PartyMenuPrintMonsLevelOrStatus(void); -void PartyMenuDoPrintHP(u8, int, u16, u16); +void PartyMenuDoPrintGenderIcon(u16 species, u8 gender, u8 c, u8 monIndex, u8 *nickname); +void PartyMenuPrintGenderIcon(u8 monIndex, u8 b, struct Pokemon *pokemon); +void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP); void PartyMenuTryPrintMonsHP(void); void nullsub_13(void); +void PartyMenuDoDrawHPBar(u8 monIndex, u8 b, u16 currentHP, u16 maxHP); +void PartyMenuDrawHPBar(u8 monIndex, u8 b, struct Pokemon *pokemon); +void PartyMenuTryDrawHPBar(u8 monIndex, struct Pokemon *pokemon); void PartyMenuDrawHPBars(void); -void sub_806E6F0(); -void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int); -void sub_806E7D0(u8, const struct PartyPopupMenu *); -TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8); -void sub_8070968(); -void sub_8070A20(); -void Task_RareCandy3(u8); -void sub_8070C54(); -void DoEvolutionStoneItemEffect(u8, u16, TaskFunc); -u8 GetItemEffectType(); +void SwapPokemon(struct Pokemon *a, struct Pokemon *b); +void SetPartyPopupMenuOffsets(u8 menuIndex, u8 *left, u8 *top, const struct PartyPopupMenu *menu); +void ShowPartyPopupMenu(u8 menuIndex, const struct PartyPopupMenu *menu, const struct MenuAction2 *menuActions, u8 cursorPos); +void ClosePartyPopupMenu(u8 index, const struct PartyPopupMenu *menu); +TaskFunc PartyMenuGetPopupMenuFunc(u8 menuIndex, const struct PartyPopupMenu *menus, const struct MenuAction2 *menuActions, u8 itemIndex); u8 sub_806E834(const u8 *message, u8 arg1); void sub_806E8D0(u8 taskId, u16 b, TaskFunc c); void party_menu_link_mon_held_item_object(u8); @@ -167,13 +207,19 @@ void DoPPUpItemEffect(u8, u16, TaskFunc); void DoRareCandyItemEffect(u8, u16, TaskFunc); void Task_RareCandy1(u8); void Task_RareCandy2(u8); -void sub_8070848(u8 taskId); -void sub_806CA60(u8 taskId); +void PrintStatGrowthsInLevelUpWindow(u8 taskId); +void PrintNewStatsInLevelUpWindow(u8 taskId); +void RedrawPokemonInfoInMenu(u8, struct Pokemon *); +void Task_RareCandy3(u8); +void TeachMonMoveInPartyMenu(u8); +void DoEvolutionStoneItemEffect(u8 taskId, u16 evolutionStoneItem, TaskFunc c); +u8 GetItemEffectType(u16 item); +void SetupDefaultPartyMenuSwitchPokemon(u8 taskId); void sub_806CD5C(u8 taskId); void DoTakeMail(u8 taskId, TaskFunc func); void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func); void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func); -void sub_806D668(u8 partyID); +void sub_806D668(u8 monIndex); void TaughtMove(u8 taskId); void StopTryingToTeachMove_806F588(u8 taskId); diff --git a/include/pokeball.h b/include/pokeball.h index 19f813415..0a709c869 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -7,5 +7,6 @@ void CreatePokeballSprite(u8 r0, u8 r1, u8 r2, u8 r3, u8 s1, u8 s2, u8 s3, u32 s void sub_804777C(u8); void sub_80478DC(u8); void sub_804794C(u8); +u8 sub_8047580(u8, u8, u8, u8, u8, u8, u8, u32); #endif // GUARD_POKEBALL_H diff --git a/include/pokedex.h b/include/pokedex.h index 1bc63a4ff..c47494e1f 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -9,7 +9,17 @@ void CB2_InitPokedex(void); u8 sub_809070C(u16 dexNum, u32 b, u32 c); const u8 *GetPokemonCategory(u16); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); -s8 GetNationalPokedexFlag(u16, u8); + +enum +{ + FLAG_GET_SEEN, + FLAG_GET_CAUGHT, + FLAG_SET_SEEN, + FLAG_SET_CAUGHT +}; + +s8 GetSetPokedexFlag(u16, u8); + u16 GetNationalPokedexCount(u8); u16 GetHoennPokedexCount(u8); bool8 sub_8090FC0(void); diff --git a/include/pokemon.h b/include/pokemon.h index 9c6f16442..7fc8e181f 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -32,7 +32,7 @@ #define MON_DATA_HP_EV 26 #define MON_DATA_ATK_EV 27 #define MON_DATA_DEF_EV 28 -#define MON_DATA_SPD_EV 29 +#define MON_DATA_SPEED_EV 29 #define MON_DATA_SPATK_EV 30 #define MON_DATA_SPDEF_EV 31 #define MON_DATA_FRIENDSHIP 32 @@ -45,7 +45,7 @@ #define MON_DATA_HP_IV 39 #define MON_DATA_ATK_IV 40 #define MON_DATA_DEF_IV 41 -#define MON_DATA_SPD_IV 42 +#define MON_DATA_SPEED_IV 42 #define MON_DATA_SPATK_IV 43 #define MON_DATA_SPDEF_IV 44 #define MON_DATA_IS_EGG 45 @@ -64,7 +64,7 @@ #define MON_DATA_MAX_HP 58 #define MON_DATA_ATK 59 #define MON_DATA_DEF 60 -#define MON_DATA_SPD 61 +#define MON_DATA_SPEED 61 #define MON_DATA_SPATK 62 #define MON_DATA_SPDEF 63 #define MON_DATA_MAIL 64 @@ -89,10 +89,12 @@ #define MON_DATA_83 83 #define MON_DATA_ATK2 84 #define MON_DATA_DEF2 85 -#define MON_DATA_SPD2 86 +#define MON_DATA_SPEED2 86 #define MON_DATA_SPATK2 87 #define MON_DATA_SPDEF2 88 +#define MAX_LEVEL 100 + #define MON_MALE 0x00 #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF @@ -286,29 +288,29 @@ struct Pokemon struct UnknownPokemonStruct { - u16 species; - u16 heldItem; - u16 moves[4]; - u8 level; - u8 ppBonuses; - u8 hpEV; - u8 attackEV; - u8 defenseEV; - u8 speedEV; - u8 spAttackEV; - u8 spDefenseEV; - u32 otId; - u32 hpIV:5; - u32 attackIV:5; - u32 defenseIV:5; - u32 speedIV:5; - u32 spAttackIV:5; - u32 spDefenseIV:5; - u32 gap:1; - u32 altAbility:1; - u32 personality; - u8 nickname[POKEMON_NAME_LENGTH + 1]; - u8 friendship; + /*0x00*/u16 species; + /*0x02*/u16 heldItem; + /*0x04*/u16 moves[4]; + /*0x0C*/u8 level; + /*0x0D*/u8 ppBonuses; + /*0x0E*/u8 hpEV; + /*0x0F*/u8 attackEV; + /*0x10*/u8 defenseEV; + /*0x11*/u8 speedEV; + /*0x12*/u8 spAttackEV; + /*0x13*/u8 spDefenseEV; + /*0x14*/u32 otId; + /*0x18*/u32 hpIV:5; + /*0x18*/u32 attackIV:5; + /*0x19*/u32 defenseIV:5; + /*0x19*/u32 speedIV:5; + /*0x1A*/u32 spAttackIV:5; + /*0x1A*/u32 spDefenseIV:5; + /*0x1B*/u32 gap:1; + /*0x1B*/u32 altAbility:1; + /*0x1C*/u32 personality; + /*0x20*/u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x2B*/u8 friendship; }; struct BattlePokemon @@ -391,7 +393,7 @@ struct BaseStats /*0x17*/ u8 ability2; /*0x18*/ u8 safariZoneFleeRate; /*0x19*/ u8 bodyColor:7; - u8 unk19_7:1; + u8 noFlip:1; }; struct BattleMove @@ -510,7 +512,7 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src); void sub_803AF78(struct Pokemon *mon, struct UnknownPokemonStruct *dest); u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); void CalculateMonStats(struct Pokemon *mon); -void sub_803B4B4(struct Pokemon *src, struct Pokemon *dest); +void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest); u8 GetLevelFromMonExp(struct Pokemon *mon); u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon); u16 GiveMoveToMon(struct Pokemon *mon, u16 move); @@ -520,7 +522,7 @@ void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot); void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot); void GiveMonInitialMoveset(struct Pokemon *mon); void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon); -u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 a2); +u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); @@ -539,11 +541,13 @@ union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, // but they are not used since some code erroneously omits the third arg. // u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data); // u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data); +// void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg); +// void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg); u32 GetMonData(); u32 GetBoxMonData(); +void SetMonData(); +void SetBoxMonData(); -void SetMonData(struct Pokemon *mon, s32 field, const u8 *data); -void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data); void CopyMon(void *dest, void *src, size_t size); u8 GiveMonToPlayer(struct Pokemon *mon); u8 SendMonToPC(struct Pokemon *mon); @@ -566,6 +570,8 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); + u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex); void MonRestorePP(struct Pokemon *); @@ -589,15 +595,22 @@ u8 sub_8040574(struct Pokemon *party); void ClearBattleMonForms(void); void sub_80408BC(); void current_map_music_set__default_for_battle(u16); -const u8 *pokemon_get_pal(struct Pokemon *mon); -const u8 *species_and_otid_get_pal(u16, u32, u32); -const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32); +const u8 *GetMonSpritePal(struct Pokemon *mon); +const u8 *GetMonSpritePalFromOtIdPersonality(u16, u32, u32); +const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16, u32, u32); bool8 IsOtherTrainer(u32, u8 *); void sub_8040B8C(void); void SetWildMonHeldItem(void); u8 *sub_8040D08(); -bool32 sub_8040D3C(u16 species, u8 *name, u8 language); +bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language); +bool32 ShouldHideGenderIcon(u16 species, u8 *name); s8 sub_8040A54(struct Pokemon *, u8); u16 GetMonEVCount(struct Pokemon *); +u16 GetEvolutionTargetSpecies(struct Pokemon *, u8, u16); +const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *); +bool8 IsPokeSpriteNotFlipped(u16); +u8 GetLevelUpMovesBySpecies(u16, u16 *); +u8 TryIncrementMonLevel(struct Pokemon *); + #endif // GUARD_POKEMON_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 98f984564..7e26c1c9b 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -1,7 +1,8 @@ #ifndef GUARD_POKEMON_ICON_H #define GUARD_POKEMON_ICON_H -u8 CreateMonIcon(); +u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); +u8 UpdateMonIconFrame(struct Sprite *sprite); u8 sub_809D3A4(u16 arg0, void (*)(struct Sprite *), int, u8 arg3, u32 arg4); u16 GetUnownLetterByPersonality(u32); u16 sub_809D4A8(u16); @@ -9,6 +10,7 @@ void sub_809D510(struct Sprite *); void sub_809D51C(void); void sub_809D580(u16); void sub_809D608(u16); -void UpdateMonIconFrame(struct Sprite *sprite); +void sub_809D62C(struct Sprite *sprite); +void sub_809D824(struct Sprite *sprite, u8 animNum); #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokemon_menu.h b/include/pokemon_menu.h index 06f905577..57a313d89 100644 --- a/include/pokemon_menu.h +++ b/include/pokemon_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_MENU_H #define GUARD_POKEMON_MENU_H +#include "menu.h" + #define POKEMENU_FIRST_FIELD_MOVE_ID 10 enum @@ -34,9 +36,11 @@ enum extern u8 gLastFieldPokeMenuOpened; extern void (*gUnknown_03005CE4)(void); +void HandleDefaultPartyMenu(u8 taskID); void sub_808B5B4(u32 taskID); void sub_8089A70(void); -void sub_808A004(u8 taskID); +void sub_8089C50(u8 arg0, u8 arg1, u8 arg2, u8 noOfOptions, const struct MenuAction2 *menuActions, const u8 *order); +void DoPokemonMenu_Switch(u8 taskID); void FieldCallback_Teleport(void); void sub_808AD58(void); void sub_808B020(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index bd4e7915b..9fe3436ef 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -2,5 +2,7 @@ #define GUARD_POKEMON_STORAGE_SYSTEM_H void ResetPokemonStorageSystem(void); +void BoxMonRestorePP(struct BoxPokemon *); +void party_compaction(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/record_mixing.h b/include/record_mixing.h index ca60b04a7..96105f3f7 100644 --- a/include/record_mixing.h +++ b/include/record_mixing.h @@ -21,7 +21,7 @@ u16 *GetPlayerRecvBuffer(u8 player); void sub_80B9A78(void); void sub_80B9A88(u8 *a); void sub_80B9B1C(u8 *a, size_t size, u8 index); -void sub_80B9B70(u8 *a, size_t size, u8 index); +void sub_80B9B70(void *a, u32 size, u8 index); u8 sub_80B9BBC(u16 *a); void sub_80B9BC4(u8 *, size_t, u8[][2], u8 d, u8 e); u8 sub_80B9C4C(u8 *a); diff --git a/include/rom3.h b/include/rom3.h index 81bb56df1..19c6def25 100644 --- a/include/rom3.h +++ b/include/rom3.h @@ -1,6 +1,12 @@ #ifndef GUARD_ROM3_H #define GUARD_ROM3_H +struct HpAndStatus +{ + u16 hp; + u32 status; +}; + struct DisableStruct; void sub_800B858(void); @@ -55,7 +61,7 @@ void Emitcmd44(u8 a, u16 b); void EmitFaintingCry(u8 a); void EmitIntroSlide(u8 a, u8 b); void EmitTrainerBallThrow(u8 a); -void Emitcmd48(u8 a, u8 *b, u8 c); +void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30 void Emitcmd49(u8 a); void Emitcmd50(u8 a); void EmitSpriteInvisibility(u8 a, u8 b); diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h index 11e94e1f5..94e535df5 100644 --- a/include/rom_8077ABC.h +++ b/include/rom_8077ABC.h @@ -4,10 +4,18 @@ #include "sprite.h" #include "task.h" +enum +{ + ANIM_BANK_ATK, + ANIM_BANK_DEF, + ANIM_BANK_ATK_PARTNER, + ANIM_BANK_DEF_PARTNER +}; + u8 sub_8077ABC(u8, u8); u8 sub_8077E44(u8 slot, u16 species, u8 a3); -u8 obj_id_for_side_relative_to_move(u8 side); -void oamt_set_x3A_32(struct Sprite *sprite, void(*callback)(struct Sprite *)); +u8 GetAnimBankSpriteId(u8 side); +void StoreSpriteCallbackInData6(struct Sprite *sprite, void(*callback)(struct Sprite *)); void sub_8078314(struct Sprite *sprite); void sub_8078364(struct Sprite *sprite); void sub_8078458(struct Sprite *sprite); @@ -22,8 +30,8 @@ u8 GetBankIdentity(u8 slot); u8 GetBankByPlayerAI(u8); u8 GetBankByPlayerAI(u8); u8 GetBankByPlayerAI(u8 state); -u8 sub_8078874(u8); -bool8 sub_8078874(u8); +u8 AnimBankSpriteExists(u8); +bool8 AnimBankSpriteExists(u8); bool8 IsDoubleBattle(); u8 IsDoubleBattle(void); bool8 IsDoubleBattle(void); @@ -55,5 +63,6 @@ void sub_807A784(u8 taskId); void sub_807A850(struct Task *task, u8 taskId); void sub_807A8D4(struct Sprite *sprite); void sub_807A960(struct Sprite *sprite); +void sub_8078A34(struct Sprite *sprite); #endif // GUARD_ROM_8077ABC_H diff --git a/include/save.h b/include/save.h index 6c47c6f60..c35ad547a 100644 --- a/include/save.h +++ b/include/save.h @@ -3,7 +3,7 @@ struct SaveSectionLocation { - void *data; + u8 *data; u16 size; }; diff --git a/include/script_movement.h b/include/script_movement.h index dc6d7e51b..17c1abed7 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -1,7 +1,7 @@ #ifndef GUARD_SCRIPT_MOVEMENT_H #define GUARD_SCRIPT_MOVEMENT_H -bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *); +bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); void sub_80A2178(void); diff --git a/include/script_pokemon_80F9.h b/include/script_pokemon_80F9.h index d65c99c15..fa5d57f0e 100644 --- a/include/script_pokemon_80F9.h +++ b/include/script_pokemon_80F9.h @@ -9,9 +9,13 @@ struct UnknownStruct2018000 extern struct UnknownStruct2018000 unk_2018000; -void sub_80F9A8C(u8); +void OpenPartyMenuFromScriptContext(u8 taskId); void sub_80F9C00(void); void sub_80F9E1C(void); void sub_80F99CC(void); +void HandleSelectPartyMenu(u8 taskId); +bool8 SetupContestPartyMenu(void); +void HandleMoveTutorPartyMenu(u8 taskId); +bool8 SetupMoveTutorPartyMenu(void); #endif diff --git a/include/secret_base.h b/include/secret_base.h index bb747bb02..07784556f 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -1,17 +1,20 @@ #ifndef GUARD_SECRET_BASE_H #define GUARD_SECRET_BASE_H +// Maximum number of secret bases the game can store. This include 1 for the player, and up to 19 others from linked players. +#define MAX_SECRET_BASES 20 + void ResetSecretBases(void); -void sub_80BB970(struct MapEvents *); +void sub_80BB970(struct MapEvents *events); u8 sub_80BBB24(void); -void sub_80BBCCC(u8); -void sub_80BC038(); +void sub_80BBCCC(u8 flagIn); +void sub_80BC038(struct MapPosition *, struct MapEvents *); u8 sub_80BC050(); -u8 *GetSecretBaseMapName(u8 *); +u8 *GetSecretBaseMapName(u8 *dest); void sub_80BC300(); -const u8 sub_80BCCA4(u8); -u8 *sub_80BCCE8(void); -void sub_80BCF1C(u8); -void sub_80BD674(void *, u32, u8); +u8 sub_80BCCA4(u8 secretBaseIndex); +const u8 *sub_80BCCE8(void); +void sub_80BCF1C(u8 taskId); +void sub_80BD674(void *playerRecords, u32 size, u8 c); #endif // GUARD_SECRET_BASE_H diff --git a/include/sprite.h b/include/sprite.h index 5682a7c1d..38687ebd8 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -252,12 +252,12 @@ void SetOamMatrix(u8 matrixNum, u16 a, u16 b, u16 c, u16 d); void CalcCenterToCornerVec(struct Sprite *sprite, u8 shape, u8 size, u8 affineMode); void SpriteCallbackDummy(struct Sprite *sprite); void ProcessSpriteCopyRequests(void); -void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size); +void RequestSpriteCopy(const void *src, u8 *dest, u16 size); void FreeSpriteTiles(struct Sprite *sprite); void FreeSpritePalette(struct Sprite *sprite); void FreeSpriteOamMatrix(struct Sprite *sprite); void DestroySpriteAndFreeResources(struct Sprite *sprite); -void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5); +void DrawPartyMenuMonText(u32 a1, u32 a2, const u16 *a3, u16 a4, u32 a5); void AnimateSprite(struct Sprite *sprite); void StartSpriteAnim(struct Sprite *sprite, u8 animNum); void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum); @@ -299,4 +299,6 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; +extern const struct SpriteTemplate gDummySpriteTemplate; + #endif // GUARD_SPRITE_H diff --git a/include/string_util.h b/include/string_util.h index 7a4bfa4c1..55fa988b4 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -29,7 +29,7 @@ u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 u8 *ConvertIntToDecimalString(u8 *dest, s32 value); u8 *StringExpandPlaceholders(u8 *dest, const u8 *src); u8 *StringBraille(u8 *dest, const u8 *src); -u8 *GetExpandedPlaceholder(u32 id); +const u8 *GetExpandedPlaceholder(u32 id); u8 *StringFill(u8 *dest, u8 c, u16 n); u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n); u8 *StringFillWithTerminator(u8 *dest, u16 n); diff --git a/include/strings2.h b/include/strings2.h index 600bb2d31..8052c6c4a 100644 --- a/include/strings2.h +++ b/include/strings2.h @@ -319,4 +319,8 @@ extern const u8 gOtherText_OK[]; // wallclock extern const u8 gOtherText_CorrectTimePrompt[]; +#if GERMAN +extern const u8 deuOtherText_ForgotAndLearned[]; +#endif + #endif // GUARD_STRINGS2_H diff --git a/include/text.h b/include/text.h index 7125bc803..ebc4ebe7e 100644 --- a/include/text.h +++ b/include/text.h @@ -126,7 +126,7 @@ struct Window /*0x20*/ const u8 *text; /*0x24*/ u8 *tileData; /*0x28*/ u16 *tilemap; - /*0x2C*/ struct WindowConfig *config; + /*0x2C*/ const struct WindowConfig *config; }; extern vu16 *const gBGControlRegs[]; @@ -203,6 +203,7 @@ extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; extern u8 gStringVar4[]; +extern u8 gTileBuffer[]; void LoadFontDefaultPalette(const struct WindowConfig *winConfig); void SetUpWindowConfig(const struct WindowConfig *winConfig); @@ -245,8 +246,8 @@ u8 sub_8004D38(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 l u8 sub_8004DB0(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top, u16 a6); u8 sub_8004E24(struct Window *win); void sub_8004E28(struct Window *win, u8 *foreground, u8 *background, u8 *shadow); -void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text); -u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s); +void sub_8004E3C(const struct WindowConfig *winConfig, u8 *tileData, const u8 *text); +u8 GetStringWidthGivenWindowConfig(const struct WindowConfig *winConfig, const u8 *s); void ConvertInternationalString(u8 *s, u8 language); void StripExtCtrlCodes(u8 *str); s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2); diff --git a/include/trade.h b/include/trade.h index a4f05e8ed..642bdcd65 100644 --- a/include/trade.h +++ b/include/trade.h @@ -1,18 +1,64 @@ + #ifndef GUARD_TRADE_H #define GUARD_TRADE_H -struct SomeTradeStruct -{ - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - struct Window field_4; - u8 field_34; +struct TradeEwramSubstruct2 { + /*0x0000*/ u8 filler_0000; + /*0x0004*/ struct Window window; + /*0x0034*/ u8 textWindowBaseTileNum; + /*0x0038*/ struct Pokemon pokemon; + /*0x009c*/ u8 unk_009c; + /*0x009d*/ u8 unk_009d; + /*0x009e*/ u16 linkData[10]; + /*0x00b2*/ u8 unk_00b2; + /*0x00b3*/ u8 unk_00b3; + /*0x00b4*/ u16 unk_00b4; + /*0x00b6*/ u16 unk_00b6; + // Sprite indices + /*0x00b8*/ u8 pokePicSpriteIdxs[2]; + /*0x00ba*/ u8 unk_00ba; + /*0x00bb*/ u8 unk_00bb; + /*0x00bc*/ u8 unk_00bc; + /*0x00bd*/ u8 unk_00bd; + // Timer + /*0x00c0*/ u32 unk_00c0; + // Scene index + /*0x00c4*/ u16 unk_00c4; + /*0x00c6*/ u8 filler_00c6[0x3c]; + /*0x0102*/ u8 unk_0102; + /*0x0103*/ u8 unk_0103; + /*0x0104*/ u16 unk_0104; + /*0x0106*/ u16 unk_0106; + /*0x0108*/ u16 unk_0108; + /*0x010a*/ u16 unk_010a; + /*0x010c*/ u16 unk_010c; + /*0x010e*/ s16 unk_010e; + /*0x0110*/ s16 bg1vofs; + /*0x0112*/ s16 bg1hofs; + /*0x0114*/ s16 bg2vofs; + /*0x0116*/ s16 bg2hofs; + /*0x0118*/ u16 unk_0118; + /*0x011a*/ u16 unk_011a; + /*0x011c*/ u16 unk_011c; + /*0x011e*/ u8 isLinkTrade; + /*0x0120*/ u16 tradeSpecies[2]; + /*0x0124*/ u16 unk_0124; }; -extern struct SomeTradeStruct* gUnknown_03004828; +extern struct TradeEwramSubstruct2 *gUnknown_03004828; +extern const u16 gUnknown_0820C9F8[][16]; +extern const u32 gUnknown_0820CA98[]; +extern const u16 gUnknown_0820F798[]; + +void sub_8047CD8(void); +u16 sub_804DB2C(void); +void sub_804DB68(void); +void sub_804E174(void); +extern const u8 gOtherText_MaleSymbol3[2]; +extern const u8 gOtherText_FemaleSymbol3[2]; +extern const u8 gOtherText_GenderlessSymbol[2]; void sub_804E22C(void); +u16 sub_804D89C(void); -#endif // GUARD_TRADE_H +#endif //POKERUBY_TRADE_H diff --git a/include/tv.h b/include/tv.h index 3243fff2c..a933e1779 100644 --- a/include/tv.h +++ b/include/tv.h @@ -107,5 +107,6 @@ void sub_80BE3BC(void); void UpdateTVShowsPerDay(u16); void sub_80C045C(); void sub_80BF088(u8, s32); +void sub_80BFD20(void); #endif // GUARD_TV_H diff --git a/include/use_pokeblock.h b/include/use_pokeblock.h new file mode 100644 index 000000000..978476d89 --- /dev/null +++ b/include/use_pokeblock.h @@ -0,0 +1,13 @@ +// +// Created by Scott Norton on 5/31/17. +// + +#ifndef POKERUBY_USE_POKEBLOCK_H +#define POKERUBY_USE_POKEBLOCK_H + +extern void *gUnknown_02030400; +extern s16 gUnknown_02039312; + +void sub_8136130(struct Pokeblock *, MainCallback); + +#endif //POKERUBY_USE_POKEBLOCK_H diff --git a/include/util.h b/include/util.h index cd50b75cc..87fa4aecc 100644 --- a/include/util.h +++ b/include/util.h @@ -10,5 +10,6 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); void StoreWordInTwoHalfwords(u16 *, u32); void LoadWordFromTwoHalfwords(u16 *, u32 *); u16 CalcCRC16(u8 *data, int length); +void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); #endif // GUARD_UTIL_H diff --git a/include/vars.h b/include/vars.h index 179fd6f93..631b9a41d 100644 --- a/include/vars.h +++ b/include/vars.h @@ -1,6 +1,8 @@ #ifndef GUARD_VARS_H #define GUARD_VARS_H +#define VAR_0x3F20 0x3F20 + #define VAR_0x4000 0x4000 #define VAR_0x4001 0x4001 #define VAR_0x4002 0x4002 diff --git a/ld_script.txt b/ld_script.txt index 9240cb191..50146a168 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -25,7 +25,7 @@ SECTIONS { <BSS> /* .bss.code starts at 0x3000F60 */ - src/m4a_2.o(.bss.code); + src/libs/m4a_2.o(.bss.code); /* COMMON starts at 0x3001760 */ <COMMON> @@ -39,232 +39,222 @@ SECTIONS { ALIGN(4) { asm/crt0.o(.text); - src/main.o(.text); - src/sprite.o(.text); - src/text.o(.text); - src/string_util.o(.text); - src/link.o(.text); - src/rtc.o(.text); - src/main_menu.o(.text); + src/engine/main.o(.text); + src/engine/sprite.o(.text); + src/engine/text.o(.text); + src/engine/string_util.o(.text); + src/engine/link.o(.text); + src/engine/rtc.o(.text); + src/engine/main_menu.o(.text); src/rom3.o(.text); - src/decompress.o(.text); + src/engine/decompress.o(.text); asm/battle_1.o(.text); src/rom_800D42C.o(.text); asm/battle_1.o(.text_800DC24); - src/battle_2.o(.text); + src/battle/battle_2.o(.text); asm/battle_2.o(.text); - src/battle_3.o(.text); - src/battle_4.o(.text); - src/battle_controller_player.o(.text); - src/battle_7.o(.text); - src/battle_controller_opponent.o(.text); + src/battle/battle_3.o(.text); + src/battle/battle_4.o(.text); + src/battle/battle_controller_player.o(.text); + src/battle/battle_7.o(.text); + src/battle/battle_controller_opponent.o(.text); asm/battle_9.o(.text); - src/battle_controller_linkopponent.o(.text); - src/pokemon_1.o(.text); - src/calculate_base_damage.o(.text); - src/pokemon_2.o(.text); + src/battle/battle_controller_linkopponent.o(.text); + src/pokemon/pokemon_1.o(.text); + src/battle/calculate_base_damage.o(.text); + src/pokemon/pokemon_2.o(.text); asm/pokemon_item_effect.o(.text); - src/pokemon_3.o(.text); + src/pokemon/pokemon_3.o(.text); src/de_rom_8040FE0.o(.text); - src/trig.o(.text); - src/rng.o(.text); - src/util.o(.text); - src/blend_palette.o(.text); - src/daycare.o(.text); - asm/daycare.o(.text); - src/egg_hatch.o(.text); - src/battle_interface.o(.text); - src/smokescreen.o(.text); - src/pokeball.o(.text); - src/load_save.o(.text); - asm/trade.o(.text); - src/trade.o(.text); - asm/trade.o(.text.sub_804A9F4); - src/trade.o(.text.sub_804DAD4); - asm/trade.o(.text.sub_804DB2C); - src/berry_blender.o(.text); - src/play_time.o(.text); - src/new_game.o(.text); - src/overworld.o(.text); - src/fieldmap.o(.text); - src/metatile_behavior.o(.text); - src/field_camera.o(.text); - src/field_door.o(.text); - src/field_player_avatar.o(.text); - src/field_map_obj.o(.text); - asm/field_map_obj.o(.text); - src/field_map_obj.o(.text_fmocb2_c); - src/field_ground_effect.o(.text); - src/field_map_obj_helpers.o(.text); - src/field_message_box.o(.text); - src/map_obj_lock.o(.text); - src/text_window.o(.text); - src/script.o(.text); - src/scrcmd.o(.text); - src/field_control_avatar.o(.text); - src/event_data.o(.text); - src/coord_event_weather.o(.text); - src/field_tasks.o(.text); - src/clock.o(.text); - src/reset_rtc_screen.o(.text); - asm/party_menu.o(.text); - src/party_menu.o(.text); - asm/party_menu.o(.text_8070968); - src/start_menu.o(.text); - src/menu.o(.text); - src/tileset_anim.o(.text); - src/palette.o(.text); - src/sound.o(.text); - src/battle_anim.o(.text); + src/engine/trig.o(.text); + src/engine/rng.o(.text); + src/engine/util.o(.text); + src/engine/blend_palette.o(.text); + src/field/daycare.o(.text); + src/scene/egg_hatch.o(.text); + src/battle/battle_interface.o(.text); + src/battle/smokescreen.o(.text); + src/battle/pokeball.o(.text); + src/engine/load_save.o(.text); + src/engine/trade.o(.text); + src/scene/berry_blender.o(.text); + src/engine/play_time.o(.text); + src/scene/new_game.o(.text); + src/field/overworld.o(.text); + src/field/fieldmap.o(.text); + src/field/metatile_behavior.o(.text); + src/field/field_camera.o(.text); + src/field/field_door.o(.text); + src/field/field_player_avatar.o(.text); + src/field/field_map_obj.o(.text); + src/field/field_ground_effect.o(.text); + src/field/field_map_obj_helpers.o(.text); + src/field/field_message_box.o(.text); + src/field/map_obj_lock.o(.text); + src/engine/text_window.o(.text); + src/engine/script.o(.text); + src/field/scrcmd.o(.text); + src/field/field_control_avatar.o(.text); + src/field/event_data.o(.text); + src/field/coord_event_weather.o(.text); + src/field/field_tasks.o(.text); + src/engine/clock.o(.text); + src/engine/reset_rtc_screen.o(.text); + src/field/party_menu.o(.text); + src/field/start_menu.o(.text); + src/engine/menu.o(.text); + src/engine/tileset_anim.o(.text); + src/engine/palette.o(.text); + src/engine/sound.o(.text); + src/battle/battle_anim.o(.text); src/rom_8077ABC.o(.text); - src/task.o(.text); - src/reshow_battle_screen.o(.text); - src/battle_anim_807B69C.o(.text); - src/title_screen.o(.text); - src/field_weather.o(.text); + src/engine/task.o(.text); + src/battle/reshow_battle_screen.o(.text); + src/battle/battle_anim_807B69C.o(.text); + src/scene/title_screen.o(.text); + src/field/field_weather.o(.text); asm/field_weather.o(.text); - src/field_fadetransition.o(.text); - src/field_screen_effect.o(.text); - src/battle_setup.o(.text); - src/cable_club.o(.text); - src/mori_debug_menu.o(.text); - src/trainer_see.o(.text); - src/wild_encounter.o(.text); - src/field_effect.o(.text); + src/field/field_fadetransition.o(.text); + src/field/field_screen_effect.o(.text); + src/battle/battle_setup.o(.text); + src/engine/cable_club.o(.text); + src/debug/mori_debug_menu.o(.text); + src/field/trainer_see.o(.text); + src/field/wild_encounter.o(.text); + src/field/field_effect.o(.text); src/unknown_task.o(.text); - src/pokemon_menu.o(.text); - src/option_menu.o(.text); - src/pokedex.o(.text); - src/trainer_card.o(.text); - src/save_menu_util.o(.text); - src/battle_party_menu.o(.text); + src/pokemon/pokemon_menu.o(.text); + src/engine/option_menu.o(.text); + src/pokemon/pokedex.o(.text); + src/engine/trainer_card.o(.text); + src/engine/save_menu_util.o(.text); + src/battle/battle_party_menu.o(.text); asm/pokemon_storage_system.o(.text); - src/pokemon_storage_system.o(.text); + src/pokemon/pokemon_storage_system.o(.text); asm/pokemon_storage_system.o(.text_8098A38); - src/pokemon_icon.o(.text); + src/pokemon/pokemon_icon.o(.text); asm/pokemon_summary_screen.o(.text); - src/pokemon_summary_screen.o(.text); + src/pokemon/pokemon_summary_screen.o(.text); asm/pokemon_summary_screen.o(.text_80A0958); - src/script_movement.o(.text); - src/fldeff_cut.o(.text); - src/mail_data.o(.text); - src/map_name_popup.o(.text); - src/item_menu.o(.text); - src/battle_anim_80A7E7C.o(.text); - src/item.o(.text); - src/matsuda_debug_menu.o(.text); + src/field/script_movement.o(.text); + src/field/fldeff_cut.o(.text); + src/pokemon/mail_data.o(.text); + src/field/map_name_popup.o(.text); + src/field/item_menu.o(.text); + src/battle/battle_anim_80A7E7C.o(.text); + src/field/item.o(.text); + src/debug/matsuda_debug_menu.o(.text); asm/contest.o(.text); - src/shop.o(.text); - src/berry.o(.text); - src/script_menu.o(.text); - src/naming_screen.o(.text); - src/money.o(.text); + src/field/shop.o(.text); + src/field/berry.o(.text); + src/field/script_menu.o(.text); + src/engine/naming_screen.o(.text); + src/field/money.o(.text); asm/contest_effect.o(.text); - src/record_mixing.o(.text); - src/sound_check_menu.o(.text); - src/secret_base.o(.text); - asm/secret_base.o(.text_80BC1D0); - src/tv.o(.text); + src/engine/record_mixing.o(.text); + src/debug/sound_check_menu.o(.text); + src/field/secret_base.o(.text); + src/field/tv.o(.text); asm/contest_link_80C2020.o(.text); src/script_pokemon_util_80C4BF0.o(.text); - src/field_poison.o(.text); - src/pokemon_size_record.o(.text); + src/field/field_poison.o(.text); + src/pokemon/pokemon_size_record.o(.text); asm/fldeff_80C5CD4.o(.text); - src/field_special_scene.o(.text); - src/rotating_gate.o(.text); - src/safari_zone.o(.text); + src/field/field_special_scene.o(.text); + src/field/rotating_gate.o(.text); + src/field/safari_zone.o(.text); asm/contest_link_80C857C.o(.text); - src/contest_link_80C857C.o(.text); - src/item_use.o(.text); + src/battle/contest_link_80C857C.o(.text); + src/field/item_use.o(.text); asm/battle_anim_80CA710.o(.text); - src/bike.o(.text); + src/field/bike.o(.text); asm/easy_chat.o(.text); - src/easy_chat.o(.text); + src/field/easy_chat.o(.text); asm/pokenav.o(.text); - src/pokenav.o(.text); + src/field/pokenav.o(.text); asm/pokenav.o(.text_80F708C); - src/mon_markings.o(.text); - src/mauville_man.o(.text); - src/mail.o(.text); - src/menu_helpers.o(.text); + src/pokemon/mon_markings.o(.text); + src/field/mauville_man.o(.text); + src/pokemon/mail.o(.text); + src/field/menu_helpers.o(.text); src/script_pokemon_util_80F99CC.o(.text); - src/dewford_trend.o(.text); - src/heal_location.o(.text); - src/region_map.o(.text); - src/cute_sketch.o(.text); + src/field/dewford_trend.o(.text); + src/field/heal_location.o(.text); + src/field/region_map.o(.text); + src/scene/cute_sketch.o(.text); asm/cute_sketch.o(.text); - src/decoration.o(.text); + src/field/decoration.o(.text); asm/slot_machine.o(.text); - src/slot_machine.o(.text); + src/field/slot_machine.o(.text); asm/slot_machine.o(.text_8104D30) - src/slot_machine.o(.text_b); - src/contest_painting.o(.text); - src/battle_ai.o(.text); - src/trader.o(.text); - src/starter_choose.o(.text); - src/wallclock.o(.text); + src/field/slot_machine.o(.text_b); + src/scene/contest_painting.o(.text); + src/battle/battle_ai.o(.text); + src/field/trader.o(.text); + src/field/starter_choose.o(.text); + src/field/wallclock.o(.text); src/rom6.o(.text); - src/pokeblock.o(.text); - src/fldeff_flash.o(.text); - src/post_battle_event_funcs.o(.text); - src/time_events.o(.text); - src/birch_pc.o(.text); - src/hof_pc.o(.text); - src/field_specials.o(.text); - src/battle_records.o(.text); + src/field/pokeblock.o(.text); + src/field/fldeff_flash.o(.text); + src/battle/post_battle_event_funcs.o(.text); + src/engine/time_events.o(.text); + src/field/birch_pc.o(.text); + src/field/hof_pc.o(.text); + src/field/field_specials.o(.text); + src/battle/battle_records.o(.text); asm/pokedex_area_screen.o(.text); - src/evolution_scene.o(.text); + src/scene/evolution_scene.o(.text); asm/roulette.o(.text); asm/pokedex_cry_screen.o(.text); - src/pokedex_cry_screen.o(.text); + src/pokemon/pokedex_cry_screen.o(.text); asm/pokedex_cry_screen.o(.text_811A4F8); - src/coins.o(.text); - src/landmark.o(.text); - src/fldeff_strength.o(.text); - src/battle_transition.o(.text); - src/battle_controller_linkpartner.o(.text); - src/battle_message.o(.text); - src/choose_party.o(.text); + src/field/coins.o(.text); + src/field/landmark.o(.text); + src/field/fldeff_strength.o(.text); + src/battle/battle_transition.o(.text); + src/battle/battle_controller_linkpartner.o(.text); + src/battle/battle_message.o(.text); + src/field/choose_party.o(.text); asm/cable_car.o(.text); asm/roulette_util.o(.text); asm/cable_car_util.o(.text); src/unused_8124F94.o(.text); - src/save.o(.text); - src/mystery_event_script.o(.text); - asm/field_effect_helpers.o(.text); + src/engine/save.o(.text); + src/engine/mystery_event_script.o(.text); + src/field/field_effect_helpers.o(.text); asm/contest_ai.o(.text); asm/battle_anim_81258BC.o(.text); - src/battle_controller_safari.o(.text); - src/fldeff_sweetscent.o(.text); + src/battle/battle_controller_safari.o(.text); + src/field/fldeff_sweetscent.o(.text); asm/battle_anim_812C144.o(.text); - src/learn_move.o(.text); - src/fldeff_softboiled.o(.text); - src/decoration_inventory.o(.text); - src/roamer.o(.text); - asm/battle_tower.o(.text); - src/use_pokeblock.o(.text); - src/battle_controller_wally.o(.text); - src/player_pc.o(.text); - src/intro.o(.text); - src/field_region_map.o(.text); + src/pokemon/learn_move.o(.text); + src/field/fldeff_softboiled.o(.text); + src/field/decoration_inventory.o(.text); + src/field/roamer.o(.text); + src/field/battle_tower.o(.text); + src/field/use_pokeblock.o(.text); + src/battle/battle_controller_wally.o(.text); + src/field/player_pc.o(.text); + src/scene/intro.o(.text); + src/field/field_region_map.o(.text); asm/battle_anim_813F0F4.o(.text); - src/hall_of_fame.o(.text); - src/credits.o(.text); - src/lottery_corner.o(.text); - src/diploma.o(.text); - src/berry_tag_screen.o(.text); - src/mystery_event_menu.o(.text); - src/save_failed_screen.o(.text); - src/braille_puzzles.o(.text); - src/pokeblock_feed.o(.text); - src/clear_save_data_menu.o(.text); - src/intro_credits_graphics.o(.text); - src/evolution_graphics.o(.text); - src/bard_music.o(.text); - src/fldeff_teleport.o(.text); - src/unknown_debug_menu.o(.text); - src/name_string_util.o(.text); - src/menu_cursor.o(.text); + src/scene/hall_of_fame.o(.text); + src/scene/credits.o(.text); + src/field/lottery_corner.o(.text); + src/field/diploma.o(.text); + src/field/berry_tag_screen.o(.text); + src/engine/mystery_event_menu.o(.text); + src/engine/save_failed_screen.o(.text); + src/field/braille_puzzles.o(.text); + src/pokemon/pokeblock_feed.o(.text); + src/engine/clear_save_data_menu.o(.text); + src/scene/intro_credits_graphics.o(.text); + src/scene/evolution_graphics.o(.text); + src/field/bard_music.o(.text); + src/field/fldeff_teleport.o(.text); + src/debug/unknown_debug_menu.o(.text); + src/engine/name_string_util.o(.text); + src/engine/menu_cursor.o(.text); } =0 script_data : @@ -286,13 +276,13 @@ SECTIONS { { asm/libgcnmultiboot.o(.text); asm/m4a_1.o(.text); - src/m4a_2.o(.text); + src/libs/m4a_2.o(.text); asm/m4a_3.o(.text); - src/m4a_4.o(.text); - src/agb_flash.o(.text); - src/agb_flash_1m.o(.text); - src/agb_flash_mx.o(.text); - src/siirtc.o(.text); + src/libs/m4a_4.o(.text); + src/libs/agb_flash.o(.text); + src/libs/agb_flash_1m.o(.text); + src/libs/agb_flash_mx.o(.text); + src/libs/siirtc.o(.text); asm/libagbsyscall.o(.text); tools/agbcc/lib/libgcc.a:_call_via_rX.o(.text); tools/agbcc/lib/libgcc.a:_divsi3.o(.text); @@ -308,176 +298,175 @@ SECTIONS { tools/agbcc/lib/libgcc.a:fp-bit.o(.text); tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text); tools/agbcc/lib/libgcc.a:_negdi2.o(.text); - src/libc.o(.text); + src/libs/libc.o(.text); } =0 .rodata : ALIGN(4) { - src/main.o(.rodata); - src/sprite.o(.rodata); + src/engine/main.o(.rodata); + src/engine/sprite.o(.rodata); . += 0x8; /* Why the gap? */ - src/text.o(.rodata); - src/string_util.o(.rodata); - src/link.o(.rodata); - src/rtc.o(.rodata); + src/engine/text.o(.rodata); + src/engine/string_util.o(.rodata); + src/engine/link.o(.rodata); + src/engine/rtc.o(.rodata); data/main_menu.o(.rodata); data/data2a.o(.rodata); - src/battle_4.o(.rodata); - src/battle_controller_player.o(.rodata); + src/battle/battle_4.o(.rodata); + src/battle/battle_controller_player.o(.rodata); data/data2b.o(.rodata); - src/battle_controller_opponent.o(.rodata); - src/battle_controller_linkopponent.o(.rodata); + src/battle/battle_controller_opponent.o(.rodata); + src/battle/battle_controller_linkopponent.o(.rodata); data/battle_moves.o(.rodata); - src/battle_3.o(.rodata); - src/pokemon_data.o(.rodata); + src/battle/battle_3.o(.rodata); + src/pokemon/pokemon_data.o(.rodata); . = ALIGN(4); - src/trig.o(.rodata); - src/util.o(.rodata); - data/daycare.o(.rodata); - src/egg_hatch.o(.rodata); + src/engine/trig.o(.rodata); + src/engine/util.o(.rodata); + src/field/daycare.o(.rodata); + src/scene/egg_hatch.o(.rodata); data/battle_interface.o(.rodata); - src/pokeball.o(.rodata); - data/trade.o(.rodata); - src/berry_blender.o(.rodata); - src/new_game.o(.rodata); - src/overworld.o(.rodata); + src/battle/pokeball.o(.rodata); + src/engine/trade.o(.rodata); + src/scene/berry_blender.o(.rodata); + src/scene/new_game.o(.rodata); + src/field/overworld.o(.rodata); data/tilesets.o(.rodata); data/maps.o(.rodata); - src/fieldmap.o(.rodata); - src/metatile_behavior.o(.rodata); + src/field/fieldmap.o(.rodata); + src/field/metatile_behavior.o(.rodata); data/field_door.o(.rodata); - src/field_player_avatar.o(.rodata); - src/field_map_obj.o(.rodata); - src/field_ground_effect.o(.rodata); + src/field/field_player_avatar.o(.rodata); + src/field/field_map_obj.o(.rodata); + src/field/field_ground_effect.o(.rodata); data/field_map_obj_helpers.o(.rodata); data/text_window.o(.rodata); - src/script.o(.rodata); - src/scrcmd.o(.rodata); - src/coord_event_weather.o(.rodata); - src/field_tasks.o(.rodata); + src/engine/script.o(.rodata); + src/field/scrcmd.o(.rodata); + src/field/coord_event_weather.o(.rodata); + src/field/field_tasks.o(.rodata); data/reset_rtc_screen.o(.rodata); - data/party_menu.o(.rodata); - src/start_menu.o(.rodata); - src/menu.o(.rodata); + src/field/party_menu.o(.rodata); + src/field/start_menu.o(.rodata); + src/engine/menu.o(.rodata); data/tileset_anim.o(.rodata); - src/palette.o(.rodata); - src/sound.o(.rodata); + src/engine/palette.o(.rodata); + src/engine/sound.o(.rodata); data/battle_anim.o(.rodata); - src/battle_anim.o(.rodata); + src/battle/battle_anim.o(.rodata); src/rom_8077ABC.o(.rodata); data/map_events.o(.rodata); data/data_8393054.o(.rodata); - src/task.o(.rodata); - src/battle_anim_807B69C.o(.rodata); - src/title_screen.o(.rodata); - src/field_weather.o(.rodata); + src/engine/task.o(.rodata); + src/battle/battle_anim_807B69C.o(.rodata); + src/scene/title_screen.o(.rodata); + src/field/field_weather.o(.rodata); data/field_weather.o(.rodata); - src/field_screen_effect.o(.rodata); - src/battle_setup.o(.rodata); + src/field/field_screen_effect.o(.rodata); + src/battle/battle_setup.o(.rodata); data/cable_club.o(.rodata); data/mori_debug_menu.o(.rodata); - src/trainer_see.o(.rodata); + src/field/trainer_see.o(.rodata); data/trainer_see.o(.rodata); - src/wild_encounter.o(.rodata); + src/field/wild_encounter.o(.rodata); data/wild_encounter.o(.rodata); - src/field_effect.o(.rodata); - src/pokemon_menu.o(.rodata); - src/option_menu.o(.rodata); - src/pokedex.o(.rodata); - src/trainer_card.o(.rodata); - src/battle_party_menu.o(.rodata); + src/field/field_effect.o(.rodata); + src/pokemon/pokemon_menu.o(.rodata); + src/engine/option_menu.o(.rodata); + src/pokemon/pokedex.o(.rodata); + src/engine/trainer_card.o(.rodata); + src/battle/battle_party_menu.o(.rodata); data/pokemon_storage_system.o(.rodata); - src/pokemon_icon.o(.rodata); + src/pokemon/pokemon_icon.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/fldeff_cut.o(.rodata); - src/item_menu.o(.rodata); + src/field/item_menu.o(.rodata); data/battle_anim_80A7E7C.o(.rodata); - src/item.o(.rodata); + src/field/item.o(.rodata); data/matsuda_debug_menu.o(.rodata); data/contest.o(.rodata); - src/shop.o(.rodata); - src/berry.o(.rodata); - src/script_menu.o(.rodata); - src/naming_screen.o(.rodata); + src/field/shop.o(.rodata); + src/field/berry.o(.rodata); + src/field/script_menu.o(.rodata); + src/engine/naming_screen.o(.rodata); data/naming_screen.o(.rodata); data/money.o(.rodata); data/contest_effect.o(.rodata); - src/record_mixing.o(.data); - src/record_mixing.o(.rodata); - src/sound_check_menu.o(.rodata); - data/secret_base.o(.rodata); + src/engine/record_mixing.o(.data); + src/engine/record_mixing.o(.rodata); + src/debug/sound_check_menu.o(.rodata); + src/field/secret_base.o(.rodata); data/tv.o(.rodata); data/contest_link_80C2020.o(.rodata); - src/pokemon_size_record.o(.rodata); + src/pokemon/pokemon_size_record.o(.rodata); data/fldeff_80C5CD4.o(.rodata); - src/field_special_scene.o(.rodata); - data/field_special_scene.o(.rodata); - src/rotating_gate.o(.rodata); - src/item_use.o(.rodata); + src/field/field_special_scene.o(.rodata); + src/field/rotating_gate.o(.rodata); + src/field/item_use.o(.rodata); data/battle_anim_80CA710.o(.rodata); - src/bike.o(.rodata); + src/field/bike.o(.rodata); data/easy_chat.o(.rodata); data/pokenav.o(.rodata); data/mon_markings.o(.rodata); - src/mauville_man.o(.rodata); + src/field/mauville_man.o(.rodata); data/mail.o(.rodata); - src/menu_helpers.o(.rodata); - src/heal_location.o(.rodata); - src/region_map.o(.rodata); + src/field/menu_helpers.o(.rodata); + src/field/heal_location.o(.rodata); + src/field/region_map.o(.rodata); data/cute_sketch.o(.rodata); - src/decoration.o(.rodata); + src/field/decoration.o(.rodata); data/slot_machine.o(.rodata); - src/contest_painting.o(.rodata); - src/battle_ai.o(.rodata); - src/trader.o(.rodata); - src/starter_choose.o(.rodata); - src/wallclock.o(.rodata); - src/pokeblock.o(.rodata); + src/scene/contest_painting.o(.rodata); + src/battle/battle_ai.o(.rodata); + src/field/trader.o(.rodata); + src/field/starter_choose.o(.rodata); + src/field/wallclock.o(.rodata); + src/field/pokeblock.o(.rodata); data/fldeff_flash.o(.rodata); - src/time_events.o(.rodata); - src/field_specials.o(.rodata); + src/engine/time_events.o(.rodata); + src/field/field_specials.o(.rodata); data/pokedex_area_screen.o(.rodata); - src/evolution_scene.o(.rodata); + src/scene/evolution_scene.o(.rodata); data/roulette.o(.rodata); data/pokedex_cry_screen.o(.rodata); data/landmark.o(.rodata); - src/battle_transition.o(.rodata); - src/battle_controller_linkpartner.o(.rodata); + src/battle/battle_transition.o(.rodata); + src/battle/battle_controller_linkpartner.o(.rodata); data/battle_message.o(.rodata); - src/choose_party.o(.rodata); + src/field/choose_party.o(.rodata); data/cable_car.o(.rodata); - src/save.o(.rodata); - data/field_effect_helpers.o(.rodata); + src/engine/save.o(.rodata); + src/field/field_effect_helpers.o(.rodata); data/contest_ai.o(.rodata); - src/battle_controller_safari.o(.rodata); + src/battle/battle_controller_safari.o(.rodata); data/battle_anim_812C144.o(.rodata); - src/learn_move.o(.rodata); - src/decoration_inventory.o(.rodata); - src/roamer.o(.rodata); - data/battle_tower.o(.rodata); - src/use_pokeblock.o(.rodata); - src/battle_controller_wally.o(.rodata); - src/player_pc.o(.rodata); - src/intro.o(.rodata); + src/pokemon/learn_move.o(.rodata); + src/field/decoration_inventory.o(.rodata); + src/field/roamer.o(.rodata); + src/field/battle_tower.o(.rodata); + src/field/use_pokeblock.o(.rodata); + src/battle/battle_controller_wally.o(.rodata); + src/field/player_pc.o(.rodata); + src/scene/intro.o(.rodata); data/battle_anim_813F0F4.o(.rodata); - src/hall_of_fame.o(.rodata); - src/credits.o(.rodata); + src/scene/hall_of_fame.o(.rodata); + src/scene/credits.o(.rodata); data/credits.o(.rodata); - src/lottery_corner.o(.rodata); - src/diploma.o(.rodata); + src/field/lottery_corner.o(.rodata); + src/field/diploma.o(.rodata); src/strings.o(.rodata); - src/berry_tag_screen.o(.rodata); - src/save_failed_screen.o(.rodata); - src/pokeblock_feed.o(.rodata); + src/field/berry_tag_screen.o(.rodata); + src/engine/save_failed_screen.o(.rodata); + src/pokemon/pokeblock_feed.o(.rodata); data/intro_credits_graphics.o(.rodata); - src/evolution_graphics.o(.rodata); + src/scene/evolution_graphics.o(.rodata); data/bard_music.o(.rodata); data/unknown_debug_menu.o(.rodata); data/strings2.o(.rodata); data/menu_cursor.o(.rodata); data/mystery_event_msg.o(.rodata); - src/m4a_tables.o(.rodata); + src/libs/m4a_tables.o(.rodata); data/sound_data.o(.rodata); } =0 @@ -906,11 +895,11 @@ SECTIONS { lib_rodata : ALIGN(4) { - src/agb_flash.o(.rodata); - src/agb_flash_1m.o(.rodata); - src/agb_flash_mx.o(.rodata); - src/agb_flash_le.o(.rodata); - src/siirtc.o(.rodata); + src/libs/agb_flash.o(.rodata); + src/libs/agb_flash_1m.o(.rodata); + src/libs/agb_flash_mx.o(.rodata); + src/libs/agb_flash_le.o(.rodata); + src/libs/siirtc.o(.rodata); tools/agbcc/lib/libgcc.a:_udivdi3.o(.rodata); } =0 diff --git a/src/battle_2.c b/src/battle/battle_2.c index 3cdea07be..1aec075db 100644 --- a/src/battle_2.c +++ b/src/battle/battle_2.c @@ -53,20 +53,6 @@ struct UnknownStruct8 u8 unk1A; }; -struct UnknownPokemonStruct2 -{ - /*0x00*/ u16 species; - /*0x02*/ u16 heldItem; - /*0x04*/ u8 nickname[11]; - /*0x0F*/ u8 level; - /*0x10*/ u16 hp; - /*0x12*/ u16 maxhp; - /*0x14*/ u32 status; - /*0x18*/ u32 personality; - /*0x1C*/ u8 gender; - /*0x1D*/ u8 language; -}; - struct UnknownStruct12 { u32 unk0; @@ -612,7 +598,7 @@ void sub_800F104(void) *pSavedCallback = gMain.savedCallback; *pSavedBattleTypeFlags = gBattleTypeFlags; gMain.savedCallback = sub_800F104; - OpenPartyMenu(5, 0); + OpenPartyMenu(PARTY_MENU_TYPE_LINK_MULTI_BATTLE, 0); } break; case 2: @@ -1013,7 +999,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) for (j = 0; j < 4; j++) { - SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); } break; @@ -1028,7 +1014,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) fixedIV = partyData[i].iv * 31 / 255; CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0); - SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem); + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); break; } case 3: @@ -1041,10 +1027,10 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) fixedIV = partyData[i].iv * 31 / 255; CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0); - SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem); + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); for (j = 0; j < 4; j++) { - SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); } break; @@ -1389,6 +1375,7 @@ void sub_8010384(struct Sprite *sprite) void sub_8010494(struct Sprite *sprite) { s32 i; + u8 *dst; sprite->data4--; if (sprite->data4 == 0) @@ -1403,8 +1390,8 @@ void sub_8010494(struct Sprite *sprite) } else { - u8 *dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); - + // this should use a MEMSET_ALT, but *(dst++) wont match with it. + dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; StartSpriteAnim(sprite, gBattleMonForms[sprite->data0]); @@ -1581,10 +1568,7 @@ void sub_8010874(void) { gStatuses3[i] = 0; - r4 = (u8 *)&gDisableStructs[i]; - for (j = 0; j < (u32)0x1C; j++) - r4[j] = 0; - + MEMSET_ALT(&gDisableStructs[i], 0, 0x1C, j, r4); gDisableStructs[i].isFirstTurn= 2; gUnknown_02024C70[i] = 0; gLastUsedMove[i] = 0; @@ -1600,19 +1584,14 @@ void sub_8010874(void) for (i = 0; i < 2; i++) { gSideAffecting[i] = 0; - - r4 = (u8 *)&gSideTimer[i]; - for (j = 0; j < 12; j++) - r4[j] = 0; + MEMSET_ALT(&gSideTimer[i], 0, 12, j, r4); } gBankAttacker = 0; gBankTarget = 0; gBattleWeather = 0; - r4 = (u8 *)&gWishFutureKnock; - for (i = 0; i < (u32)0x2C; i++) - r4[i] = 0; + MEMSET_ALT(&gWishFutureKnock, 0, 0x2C, i, r4); gHitMarker = 0; if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE) @@ -1735,9 +1714,7 @@ void SwitchInClearStructs(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - ptr = (u8 *)&gDisableStructs[gActiveBank]; - for (i = 0; i < (u32)0x1C; i++) - ptr[i] = 0; + MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { @@ -1792,9 +1769,7 @@ void UndoEffectsAfterFainting(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - ptr = (u8 *)&gDisableStructs[gActiveBank]; - for (i = 0; i < (u32)0x1C; i++) - ptr[i] = 0; + MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); gProtectStructs[gActiveBank].protected = 0; gProtectStructs[gActiveBank].endured = 0; gProtectStructs[gActiveBank].onlyStruggle = 0; @@ -1887,18 +1862,13 @@ void sub_8011384(void) if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBankSide(gActiveBank) == 0) { - ptr = (u8 *)&gBattleMons[gActiveBank]; - for (i = 0; i < (u32)0x58; i++) - ptr[i] = 0; + MEMSET_ALT(&gBattleMons[gActiveBank], 0, 0x58, i, ptr); } else { u8 r0; - ptr = (u8 *)&gBattleMons[gActiveBank]; - for (i = 0; i < (u32)0x58; i++) - ptr[i] = gBattleBufferB[gActiveBank][4 + i]; - + MEMSET_ALT(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr); gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); @@ -1924,14 +1894,14 @@ void sub_8011384(void) } if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); } else { if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); EmitLoadPokeSprite(0); MarkBufferBankForExecution(gActiveBank); } @@ -1957,11 +1927,7 @@ void bc_801333C(void) if (gBattleExecBuffer == 0) { - struct - { - u16 hp; - u32 status; - } sp0[6]; + struct HpAndStatus hpStatus[6]; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { @@ -1970,17 +1936,17 @@ void bc_801333C(void) if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == 0 || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) { - sp0[i].hp = 0xFFFF; - sp0[i].status = 0; + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; } else { - sp0[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); - sp0[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); + hpStatus[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); } } gActiveBank = GetBankByPlayerAI(1); - Emitcmd48(0, (u8 *)sp0, 0x80); + EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBank); for (i = 0; i < 6; i++) @@ -1988,17 +1954,17 @@ void bc_801333C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0 || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) { - sp0[i].hp = 0xFFFF; - sp0[i].status = 0; + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; } else { - sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } gActiveBank = GetBankByPlayerAI(0); - Emitcmd48(0, (u8 *)sp0, 0x80); + EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBank); gBattleMainFunc = bc_battle_begin_message; @@ -2013,13 +1979,13 @@ void bc_801333C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0 || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) { - sp0[i].hp = 0xFFFF; - sp0[i].status = 0; + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; } else { - sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } @@ -2086,7 +2052,7 @@ void bc_801362C(void) { if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); } gBattleMainFunc = sub_8011970; } @@ -2168,7 +2134,7 @@ void BattleBeginFirstTurn(void) { for (j = i + 1; j < gNoOfAllBanks; j++) { - if (b_first_side(gTurnOrder[i], gTurnOrder[j], 1) != 0) + if (GetWhoStrikesFirst(gTurnOrder[i], gTurnOrder[j], 1) != 0) sub_8012FBC(i, j); } } diff --git a/src/battle_3.c b/src/battle/battle_3.c index f04e722c4..346ca6d79 100644 --- a/src/battle_3.c +++ b/src/battle/battle_3.c @@ -378,7 +378,7 @@ u8 UpdateTurnCounters(void) s32 j; for (j = i + 1; j < gNoOfAllBanks; j++) { - if (b_first_side(gTurnOrder[i], gTurnOrder[j], 0)) + if (GetWhoStrikesFirst(gTurnOrder[i], gTurnOrder[j], 0)) sub_8012FBC(i, j); } } @@ -1434,8 +1434,6 @@ u8 CastformDataTypeChange(u8 bank) return formChange; } -#ifdef NONMATCHING - struct Struct2017100 { u32 arr[4]; @@ -1475,13 +1473,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) // why isn't that check done at the beginning? { - //_08018436 - int i; // r4 + u8 moveType; + s32 i; u16 move; - // Hmm... - #define moveType moveArg - //u16 moveType; u8 side; + u8 target1; if (special) gLastUsedAbility = special; @@ -1607,17 +1603,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_AIR_LOCK: //_080187DC { - u8 i; - - for (i = 0; i < gNoOfAllBanks; i++) + // that's a weird choice for a variable, why not use i or bank? + for (target1 = 0; target1 < gNoOfAllBanks; target1++) { - // TODO: i should be in r6 here - //asm("":::"r4","r5"); - effect = CastformDataTypeChange(i); + effect = CastformDataTypeChange(target1); if (effect != 0) { b_push_move_exec(BattleScript_CastformChange); - BATTLE_STRUCT->scriptingActive = i; + BATTLE_STRUCT->scriptingActive = target1; BATTLE_STRUCT->castformToChangeInto = effect - 1; break; } @@ -1637,7 +1630,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY) && gBattleMons[bank].maxHP > gBattleMons[bank].hp) { - gLastUsedAbility = ABILITY_RAIN_DISH; //why + gLastUsedAbility = ABILITY_RAIN_DISH; // why b_push_move_exec(BattleScript_RainDishActivates); gBattleMoveDamage = gBattleMons[bank].maxHP / 16; if (gBattleMoveDamage == 0) @@ -1660,7 +1653,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[bank].status1 & STATUS_FREEZE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); gBattleMons[bank].status1 = 0; - //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); fixed in Emerald + // BUG: The nightmare status does not get cleared here. This was fixed in Emerald. + //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); BATTLE_STRUCT->scriptingActive = gActiveBank = bank; b_push_move_exec(BattleScript_ShedSkinActivates); EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); @@ -1759,9 +1753,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[bank].maxHP == gBattleMons[bank].hp) { if ((gProtectStructs[gBankAttacker].notFirstStrike)) - gBattlescriptCurrInstr = BattleScript_MoveHPDrain; + gBattlescriptCurrInstr = BattleScript_MoveHPDrain_FullHP; else - gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; + gBattlescriptCurrInstr = BattleScript_MoveHPDrain_FullHP_PPLoss; } else { @@ -1910,27 +1904,26 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITYEFFECT_IMMUNITY: // 5 //_08019448 { - #define i bank - for (i = 0; i < gNoOfAllBanks; i++) + for (bank = 0; bank < gNoOfAllBanks; bank++) { - switch (gBattleMons[i].ability) + switch (gBattleMons[bank].ability) { case ABILITY_IMMUNITY: - if (gBattleMons[i].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | 0xF00)) // TODO: what is 0xF00? + if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | 0xF00)) // TODO: what is 0xF00? { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); effect = 1; } break; case ABILITY_OWN_TEMPO: - if (gBattleMons[i].status2 & STATUS2_CONFUSION) + if (gBattleMons[bank].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); effect = 2; } break; case ABILITY_LIMBER: - if (gBattleMons[i].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); effect = 1; @@ -1938,29 +1931,29 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_INSOMNIA: case ABILITY_VITAL_SPIRIT: - if (gBattleMons[i].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS_SLEEP) { - gBattleMons[i].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); effect = 1; } break; case ABILITY_WATER_VEIL: - if (gBattleMons[i].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); effect = 1; } break; case ABILITY_MAGMA_ARMOR: - if (gBattleMons[i].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); effect = 1; } break; case ABILITY_OBLIVIOUS: - if (gBattleMons[i].status2 & STATUS2_INFATUATION) + if (gBattleMons[bank].status2 & STATUS2_INFATUATION) { StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); effect = 3; @@ -1972,46 +1965,43 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (effect) { case 1: // status cleared - gBattleMons[i].status1 = 0; + gBattleMons[bank].status1 = 0; break; case 2: // get rid of confusion - gBattleMons[i].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); break; case 3: // get rid of infatuation - gBattleMons[i].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); break; } b_movescr_stack_push_cursor(); gBattlescriptCurrInstr = gUnknown_081D9956; - BATTLE_STRUCT->scriptingActive = i; - gActiveBank = i; + BATTLE_STRUCT->scriptingActive = bank; + gActiveBank = bank; EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); MarkBufferBankForExecution(gActiveBank); return effect; } } - #undef i } break; case ABILITYEFFECT_FORECAST: // 6 //_080197B4 { - #define i bank - for (i = 0; i < gNoOfAllBanks; i++) + for (bank = 0; bank < gNoOfAllBanks; bank++) { - if (gBattleMons[i].ability == ABILITY_FORECAST) + if (gBattleMons[bank].ability == ABILITY_FORECAST) { - effect = CastformDataTypeChange(i); + effect = CastformDataTypeChange(bank); if (effect) { b_push_move_exec(BattleScript_CastformChange); - BATTLE_STRUCT->scriptingActive = i; + BATTLE_STRUCT->scriptingActive = bank; BATTLE_STRUCT->castformToChangeInto = effect - 1; return effect; } } } - #undef i } break; case ABILITYEFFECT_SYNCHRONIZE: // 7 @@ -2067,16 +2057,17 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { - u8 opposite = (GetBankIdentity(i) ^ 1) & 1; - u8 target1 = GetBankByPlayerAI(opposite); - u8 target2 = GetBankByPlayerAI(opposite + 2); + u8 target2; + side = (GetBankIdentity(i) ^ 1) & 1; + target1 = GetBankByPlayerAI(side); + target2 = GetBankByPlayerAI(side + 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { //_080199AE - gActiveBank = GetBankByPlayerAI(((Random() & 1) * 2) | opposite); + gActiveBank = GetBankByPlayerAI(((Random() & 1) * 2) | side); gBattleMons[i].ability = gBattleMons[gActiveBank].ability; gLastUsedAbility = gBattleMons[gActiveBank].ability; effect++; @@ -2266,3355 +2257,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) return effect; } -#else -__attribute__((naked)) -u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x28\n\ - ldr r4, [sp, 0x48]\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x4]\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r10, r1\n\ - lsls r2, 24\n\ - lsrs r6, r2, 24\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - mov r8, r3\n\ - lsls r4, 16\n\ - lsrs r4, 16\n\ - movs r0, 0\n\ - mov r9, r0\n\ - ldr r5, _08018380 @ =gBankAttacker\n\ - ldr r1, _08018384 @ =gNoOfAllBanks\n\ - ldrb r0, [r5]\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc _08018360\n\ - mov r1, r10\n\ - strb r1, [r5]\n\ -_08018360:\n\ - ldrb r0, [r5]\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _08018390\n\ - ldr r1, _08018388 @ =gBattlePartyID\n\ - ldrb r0, [r5]\n\ - lsls r0, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - movs r0, 0x64\n\ - muls r1, r0\n\ - ldr r0, _0801838C @ =gPlayerParty\n\ - b _080183A0\n\ - .align 2, 0\n\ -_08018380: .4byte gBankAttacker\n\ -_08018384: .4byte gNoOfAllBanks\n\ -_08018388: .4byte gBattlePartyID\n\ -_0801838C: .4byte gPlayerParty\n\ -_08018390:\n\ - ldr r1, _080183D0 @ =gBattlePartyID\n\ - ldrb r0, [r5]\n\ - lsls r0, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - movs r0, 0x64\n\ - muls r1, r0\n\ - ldr r0, _080183D4 @ =gEnemyParty\n\ -_080183A0:\n\ - adds r7, r1, r0\n\ - ldr r5, _080183D8 @ =gBankTarget\n\ - ldr r1, _080183DC @ =gNoOfAllBanks\n\ - ldrb r0, [r5]\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc _080183B2\n\ - mov r2, r10\n\ - strb r2, [r5]\n\ -_080183B2:\n\ - ldrb r0, [r5]\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080183E4\n\ - ldr r1, _080183D0 @ =gBattlePartyID\n\ - ldrb r0, [r5]\n\ - lsls r0, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - movs r0, 0x64\n\ - muls r1, r0\n\ - ldr r0, _080183E0 @ =gPlayerParty\n\ - b _080183F4\n\ - .align 2, 0\n\ -_080183D0: .4byte gBattlePartyID\n\ -_080183D4: .4byte gEnemyParty\n\ -_080183D8: .4byte gBankTarget\n\ -_080183DC: .4byte gNoOfAllBanks\n\ -_080183E0: .4byte gPlayerParty\n\ -_080183E4:\n\ - ldr r1, _08018444 @ =gBattlePartyID\n\ - ldrb r0, [r5]\n\ - lsls r0, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - movs r0, 0x64\n\ - muls r1, r0\n\ - ldr r0, _08018448 @ =gEnemyParty\n\ -_080183F4:\n\ - adds r5, r1, r0\n\ - adds r0, r7, 0\n\ - movs r1, 0xB\n\ - bl GetMonData\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0x8]\n\ - adds r0, r7, 0\n\ - movs r1, 0\n\ - bl GetMonData\n\ - str r0, [sp, 0x10]\n\ - adds r0, r5, 0\n\ - movs r1, 0xB\n\ - bl GetMonData\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0xC]\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl GetMonData\n\ - str r0, [sp, 0x14]\n\ - ldr r0, _0801844C @ =gBattleTypeFlags\n\ - ldrh r1, [r0]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018436\n\ - bl _08019F92\n\ -_08018436:\n\ - mov r3, r8\n\ - cmp r3, 0\n\ - beq _08018454\n\ - ldr r0, _08018450 @ =gLastUsedAbility\n\ - strb r3, [r0]\n\ - mov r8, r0\n\ - b _0801846A\n\ - .align 2, 0\n\ -_08018444: .4byte gBattlePartyID\n\ -_08018448: .4byte gEnemyParty\n\ -_0801844C: .4byte gBattleTypeFlags\n\ -_08018450: .4byte gLastUsedAbility\n\ -_08018454:\n\ - ldr r2, _08018474 @ =gLastUsedAbility\n\ - ldr r1, _08018478 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r5, r10\n\ - muls r5, r0\n\ - adds r0, r5, 0\n\ - adds r0, r1\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - strb r0, [r2]\n\ - mov r8, r2\n\ -_0801846A:\n\ - cmp r4, 0\n\ - beq _0801847C\n\ - adds r3, r4, 0\n\ - b _08018480\n\ - .align 2, 0\n\ -_08018474: .4byte gLastUsedAbility\n\ -_08018478: .4byte gBattleMons\n\ -_0801847C:\n\ - ldr r0, _08018494 @ =gCurrentMove\n\ - ldrh r3, [r0]\n\ -_08018480:\n\ - ldr r1, _08018498 @ =0x02000000\n\ - ldr r2, _0801849C @ =0x0001601c\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - adds r7, r1, 0\n\ - cmp r0, 0\n\ - beq _080184A0\n\ - movs r4, 0x3F\n\ - ands r4, r0\n\ - b _080184AC\n\ - .align 2, 0\n\ -_08018494: .4byte gCurrentMove\n\ -_08018498: .4byte 0x02000000\n\ -_0801849C: .4byte 0x0001601c\n\ -_080184A0:\n\ - ldr r1, _080184C0 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r4, [r0, 0x2]\n\ -_080184AC:\n\ - ldr r5, [sp, 0x4]\n\ - cmp r5, 0x13\n\ - bls _080184B6\n\ - bl _08019F76\n\ -_080184B6:\n\ - lsls r0, r5, 2\n\ - ldr r1, _080184C4 @ =_080184C8\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_080184C0: .4byte gBattleMoves\n\ -_080184C4: .4byte _080184C8\n\ - .align 2, 0\n\ -_080184C8:\n\ - .4byte _08018518\n\ - .4byte _08018814\n\ - .4byte _08018A40\n\ - .4byte _08018AD8\n\ - .4byte _08018CF0\n\ - .4byte _08019448\n\ - .4byte _080197B4\n\ - .4byte _08019804\n\ - .4byte _08019880\n\ - .4byte _080198FC\n\ - .4byte _08019B1C\n\ - .4byte _08019940\n\ - .4byte _08019B60\n\ - .4byte _08019BBC\n\ - .4byte _08019C18\n\ - .4byte _08019D18\n\ - .4byte _08019D5C\n\ - .4byte _08019DB8\n\ - .4byte _08019F44\n\ - .4byte _08019CD4\n\ -_08018518:\n\ - ldr r2, _0801854C @ =gBankAttacker\n\ - ldr r0, _08018550 @ =gNoOfAllBanks\n\ - ldrb r1, [r2]\n\ - adds r5, r0, 0\n\ - ldrb r0, [r5]\n\ - cmp r1, r0\n\ - bcc _0801852A\n\ - mov r1, r10\n\ - strb r1, [r2]\n\ -_0801852A:\n\ - mov r2, r8\n\ - ldrb r0, [r2]\n\ - cmp r0, 0x2D\n\ - bne _08018534\n\ - b _080186B8\n\ -_08018534:\n\ - cmp r0, 0x2D\n\ - bgt _08018564\n\ - cmp r0, 0xD\n\ - bne _0801853E\n\ - b _080187DC\n\ -_0801853E:\n\ - cmp r0, 0xD\n\ - bgt _08018554\n\ - cmp r0, 0x2\n\ - bne _08018548\n\ - b _08018680\n\ -_08018548:\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_0801854C: .4byte gBankAttacker\n\ -_08018550: .4byte gNoOfAllBanks\n\ -_08018554:\n\ - cmp r0, 0x16\n\ - bne _0801855A\n\ - b _08018728\n\ -_0801855A:\n\ - cmp r0, 0x24\n\ - bne _08018560\n\ - b _080187A0\n\ -_08018560:\n\ - bl _08019F76\n\ -_08018564:\n\ - cmp r0, 0x46\n\ - bne _0801856A\n\ - b _080186F0\n\ -_0801856A:\n\ - cmp r0, 0x46\n\ - bgt _08018578\n\ - cmp r0, 0x3B\n\ - bne _08018574\n\ - b _0801875C\n\ -_08018574:\n\ - bl _08019F76\n\ -_08018578:\n\ - cmp r0, 0x4D\n\ - bne _0801857E\n\ - b _080187DC\n\ -_0801857E:\n\ - cmp r0, 0xFF\n\ - beq _08018586\n\ - bl _08019F76\n\ -_08018586:\n\ - bl weather_get_current\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - subs r0, 0x3\n\ - cmp r0, 0xA\n\ - bhi _0801864C\n\ - lsls r0, 2\n\ - ldr r1, _080185A0 @ =_080185A4\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_080185A0: .4byte _080185A4\n\ - .align 2, 0\n\ -_080185A4:\n\ - .4byte _080185D0\n\ - .4byte _0801864C\n\ - .4byte _080185D0\n\ - .4byte _0801864C\n\ - .4byte _0801864C\n\ - .4byte _080185F8\n\ - .4byte _0801864C\n\ - .4byte _0801864C\n\ - .4byte _0801864C\n\ - .4byte _08018620\n\ - .4byte _080185D0\n\ -_080185D0:\n\ - ldr r2, _080185EC @ =gBattleWeather\n\ - ldrh r1, [r2]\n\ - movs r0, 0x7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801864C\n\ - movs r0, 0x5\n\ - strh r0, [r2]\n\ - ldr r0, _080185F0 @ =0x02000000\n\ - ldr r3, _080185F4 @ =0x000160a4\n\ - adds r2, r0, r3\n\ - movs r1, 0xA\n\ - b _08018638\n\ - .align 2, 0\n\ -_080185EC: .4byte gBattleWeather\n\ -_080185F0: .4byte 0x02000000\n\ -_080185F4: .4byte 0x000160a4\n\ -_080185F8:\n\ - ldr r3, _08018614 @ =gBattleWeather\n\ - ldrh r1, [r3]\n\ - movs r2, 0x18\n\ - adds r0, r2, 0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801864C\n\ - strh r2, [r3]\n\ - ldr r0, _08018618 @ =0x02000000\n\ - ldr r3, _0801861C @ =0x000160a4\n\ - adds r2, r0, r3\n\ - movs r1, 0xC\n\ - b _08018638\n\ - .align 2, 0\n\ -_08018614: .4byte gBattleWeather\n\ -_08018618: .4byte 0x02000000\n\ -_0801861C: .4byte 0x000160a4\n\ -_08018620:\n\ - ldr r3, _08018668 @ =gBattleWeather\n\ - ldrh r1, [r3]\n\ - movs r2, 0x60\n\ - adds r0, r2, 0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801864C\n\ - strh r2, [r3]\n\ - ldr r0, _0801866C @ =0x02000000\n\ - ldr r3, _08018670 @ =0x000160a4\n\ - adds r2, r0, r3\n\ - movs r1, 0xB\n\ -_08018638:\n\ - strb r1, [r2]\n\ - ldr r5, _08018674 @ =0x00016003\n\ - adds r0, r5\n\ - mov r1, r10\n\ - strb r1, [r0]\n\ - mov r0, r9\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_0801864C:\n\ - mov r2, r9\n\ - cmp r2, 0\n\ - bne _08018656\n\ - bl _08019F92\n\ -_08018656:\n\ - bl weather_get_current\n\ - ldr r1, _08018678 @ =gBattleCommunication\n\ - strb r0, [r1, 0x5]\n\ - ldr r0, _0801867C @ =gUnknown_081D901D\n\ - bl b_push_move_exec\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018668: .4byte gBattleWeather\n\ -_0801866C: .4byte 0x02000000\n\ -_08018670: .4byte 0x000160a4\n\ -_08018674: .4byte 0x00016003\n\ -_08018678: .4byte gBattleCommunication\n\ -_0801867C: .4byte gUnknown_081D901D\n\ -_08018680:\n\ - ldr r2, _080186A8 @ =gBattleWeather\n\ - ldrh r1, [r2]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018690\n\ - bl _08019F76\n\ -_08018690:\n\ - movs r0, 0x5\n\ - strh r0, [r2]\n\ - ldr r0, _080186AC @ =BattleScript_DrizzleActivates\n\ - bl b_push_move_exec\n\ - ldr r0, _080186B0 @ =0x02000000\n\ - ldr r3, _080186B4 @ =0x00016003\n\ - adds r0, r3\n\ - mov r5, r10\n\ - strb r5, [r0]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_080186A8: .4byte gBattleWeather\n\ -_080186AC: .4byte BattleScript_DrizzleActivates\n\ -_080186B0: .4byte 0x02000000\n\ -_080186B4: .4byte 0x00016003\n\ -_080186B8:\n\ - ldr r2, _080186E0 @ =gBattleWeather\n\ - ldrh r1, [r2]\n\ - movs r0, 0x10\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080186C8\n\ - bl _08019F76\n\ -_080186C8:\n\ - movs r0, 0x18\n\ - strh r0, [r2]\n\ - ldr r0, _080186E4 @ =BattleScript_SandstreamActivates\n\ - bl b_push_move_exec\n\ - ldr r0, _080186E8 @ =0x02000000\n\ - ldr r1, _080186EC @ =0x00016003\n\ - adds r0, r1\n\ - mov r2, r10\n\ - strb r2, [r0]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_080186E0: .4byte gBattleWeather\n\ -_080186E4: .4byte BattleScript_SandstreamActivates\n\ -_080186E8: .4byte 0x02000000\n\ -_080186EC: .4byte 0x00016003\n\ -_080186F0:\n\ - ldr r2, _08018718 @ =gBattleWeather\n\ - ldrh r1, [r2]\n\ - movs r0, 0x40\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018700\n\ - bl _08019F76\n\ -_08018700:\n\ - movs r0, 0x60\n\ - strh r0, [r2]\n\ - ldr r0, _0801871C @ =BattleScript_DroughtActivates\n\ - bl b_push_move_exec\n\ - ldr r0, _08018720 @ =0x02000000\n\ - ldr r3, _08018724 @ =0x00016003\n\ - adds r0, r3\n\ - mov r5, r10\n\ - strb r5, [r0]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08018718: .4byte gBattleWeather\n\ -_0801871C: .4byte BattleScript_DroughtActivates\n\ -_08018720: .4byte 0x02000000\n\ -_08018724: .4byte 0x00016003\n\ -_08018728:\n\ - ldr r0, _08018754 @ =gSpecialStatuses\n\ - mov r1, r10\n\ - lsls r2, r1, 2\n\ - adds r1, r2, r1\n\ - lsls r1, 2\n\ - adds r3, r1, r0\n\ - ldrb r0, [r3]\n\ - lsls r0, 28\n\ - cmp r0, 0\n\ - bge _08018740\n\ - bl _08019F76\n\ -_08018740:\n\ - ldr r1, _08018758 @ =gStatuses3\n\ - adds r1, r2, r1\n\ - ldr r0, [r1]\n\ - movs r2, 0x80\n\ - lsls r2, 12\n\ - orrs r0, r2\n\ - str r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x8\n\ - b _080187CA\n\ - .align 2, 0\n\ -_08018754: .4byte gSpecialStatuses\n\ -_08018758: .4byte gStatuses3\n\ -_0801875C:\n\ - mov r0, r10\n\ - bl CastformDataTypeChange\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - cmp r0, 0\n\ - bne _08018770\n\ - bl _08019F92\n\ -_08018770:\n\ - ldr r0, _08018790 @ =BattleScript_CastformChange\n\ - bl b_push_move_exec\n\ - ldr r0, _08018794 @ =0x02000000\n\ - ldr r2, _08018798 @ =0x00016003\n\ - adds r1, r0, r2\n\ - mov r3, r10\n\ - strb r3, [r1]\n\ - mov r1, r9\n\ - subs r1, 0x1\n\ - ldr r5, _0801879C @ =0x0001609b\n\ - adds r0, r5\n\ - strb r1, [r0]\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018790: .4byte BattleScript_CastformChange\n\ -_08018794: .4byte 0x02000000\n\ -_08018798: .4byte 0x00016003\n\ -_0801879C: .4byte 0x0001609b\n\ -_080187A0:\n\ - ldr r0, _080187D4 @ =gSpecialStatuses\n\ - mov r1, r10\n\ - lsls r2, r1, 2\n\ - adds r1, r2, r1\n\ - lsls r1, 2\n\ - adds r3, r1, r0\n\ - ldrb r0, [r3]\n\ - lsls r0, 27\n\ - cmp r0, 0\n\ - bge _080187B8\n\ - bl _08019F76\n\ -_080187B8:\n\ - ldr r1, _080187D8 @ =gStatuses3\n\ - adds r1, r2, r1\n\ - ldr r0, [r1]\n\ - movs r2, 0x80\n\ - lsls r2, 13\n\ - orrs r0, r2\n\ - str r0, [r1]\n\ - ldrb r0, [r3]\n\ - movs r1, 0x10\n\ -_080187CA:\n\ - orrs r0, r1\n\ - strb r0, [r3]\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_080187D4: .4byte gSpecialStatuses\n\ -_080187D8: .4byte gStatuses3\n\ -_080187DC:\n\ - movs r6, 0\n\ - ldrb r5, [r5]\n\ - cmp r6, r5\n\ - bcc _080187E8\n\ - bl _08019F76\n\ -_080187E8:\n\ - adds r0, r6, 0\n\ - bl CastformDataTypeChange\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - cmp r0, 0\n\ - beq _080187FC\n\ - bl _08019E14\n\ -_080187FC:\n\ - adds r0, r6, 0x1\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - ldr r0, _08018810 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r6, r0\n\ - bcc _080187E8\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018810: .4byte gNoOfAllBanks\n\ -_08018814:\n\ - ldr r2, _08018844 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r1, r10\n\ - muls r1, r0\n\ - adds r4, r1, r2\n\ - ldrh r0, [r4, 0x28]\n\ - cmp r0, 0\n\ - bne _08018828\n\ - bl _08019F76\n\ -_08018828:\n\ - ldr r0, _08018848 @ =gBankAttacker\n\ - mov r3, r10\n\ - strb r3, [r0]\n\ - mov r3, r8\n\ - ldrb r5, [r3]\n\ - cmp r5, 0x2C\n\ - beq _0801885A\n\ - cmp r5, 0x2C\n\ - bgt _0801884C\n\ - cmp r5, 0x3\n\ - bne _08018840\n\ - b _080189B8\n\ -_08018840:\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018844: .4byte gBattleMons\n\ -_08018848: .4byte gBankAttacker\n\ -_0801884C:\n\ - cmp r5, 0x36\n\ - bne _08018852\n\ - b _08018A18\n\ -_08018852:\n\ - cmp r5, 0x3D\n\ - beq _080188DC\n\ - bl _08019F76\n\ -_0801885A:\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - movs r0, 0x13\n\ - movs r1, 0\n\ - movs r2, 0xD\n\ - movs r3, 0\n\ - bl AbilityBattleEffects\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0\n\ - beq _08018876\n\ - bl _08019F76\n\ -_08018876:\n\ - str r0, [sp]\n\ - movs r0, 0x13\n\ - movs r1, 0\n\ - movs r2, 0x4D\n\ - movs r3, 0\n\ - bl AbilityBattleEffects\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0801888E\n\ - bl _08019F76\n\ -_0801888E:\n\ - ldr r0, _080188D0 @ =gBattleWeather\n\ - ldrh r1, [r0]\n\ - movs r0, 0x7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801889E\n\ - bl _08019F76\n\ -_0801889E:\n\ - ldrh r0, [r4, 0x2C]\n\ - ldrh r1, [r4, 0x28]\n\ - cmp r0, r1\n\ - bhi _080188AA\n\ - bl _08019F76\n\ -_080188AA:\n\ - mov r2, r8\n\ - strb r5, [r2]\n\ - ldr r0, _080188D4 @ =BattleScript_RainDishActivates\n\ - bl b_push_move_exec\n\ - ldr r1, _080188D8 @ =gBattleMoveDamage\n\ - ldrh r0, [r4, 0x2C]\n\ - lsrs r0, 4\n\ - str r0, [r1]\n\ - cmp r0, 0\n\ - bne _080188C4\n\ - movs r0, 0x1\n\ - str r0, [r1]\n\ -_080188C4:\n\ - ldr r0, [r1]\n\ - negs r0, r0\n\ - str r0, [r1]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_080188D0: .4byte gBattleWeather\n\ -_080188D4: .4byte BattleScript_RainDishActivates\n\ -_080188D8: .4byte gBattleMoveDamage\n\ -_080188DC:\n\ - adds r0, r2, 0\n\ - adds r0, 0x4C\n\ - adds r5, r1, r0\n\ - ldrb r0, [r5]\n\ - cmp r0, 0\n\ - bne _080188EC\n\ - bl _08019F76\n\ -_080188EC:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - cmp r4, 0\n\ - beq _08018906\n\ - bl _08019F76\n\ -_08018906:\n\ - ldr r0, [r5]\n\ - movs r1, 0x88\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018918\n\ - ldr r0, _08018990 @ =gBattleTextBuff1\n\ - ldr r1, _08018994 @ =gStatusConditionString_PoisonJpn\n\ - bl StringCopy\n\ -_08018918:\n\ - ldr r0, [r5]\n\ - movs r1, 0x7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0801892A\n\ - ldr r0, _08018990 @ =gBattleTextBuff1\n\ - ldr r1, _08018998 @ =gStatusConditionString_SleepJpn\n\ - bl StringCopy\n\ -_0801892A:\n\ - ldr r0, [r5]\n\ - movs r1, 0x40\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0801893C\n\ - ldr r0, _08018990 @ =gBattleTextBuff1\n\ - ldr r1, _0801899C @ =gStatusConditionString_ParalysisJpn\n\ - bl StringCopy\n\ -_0801893C:\n\ - ldr r0, [r5]\n\ - movs r1, 0x10\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0801894E\n\ - ldr r0, _08018990 @ =gBattleTextBuff1\n\ - ldr r1, _080189A0 @ =gStatusConditionString_BurnJpn\n\ - bl StringCopy\n\ -_0801894E:\n\ - ldr r0, [r5]\n\ - movs r1, 0x20\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018960\n\ - ldr r0, _08018990 @ =gBattleTextBuff1\n\ - ldr r1, _080189A4 @ =gStatusConditionString_IceJpn\n\ - bl StringCopy\n\ -_08018960:\n\ - str r4, [r5]\n\ - ldr r0, _080189A8 @ =0x02000000\n\ - ldr r4, _080189AC @ =gActiveBank\n\ - mov r3, r10\n\ - strb r3, [r4]\n\ - ldr r1, _080189B0 @ =0x00016003\n\ - adds r0, r1\n\ - strb r3, [r0]\n\ - ldr r0, _080189B4 @ =BattleScript_ShedSkinActivates\n\ - bl b_push_move_exec\n\ - str r5, [sp]\n\ - movs r0, 0\n\ - movs r1, 0x28\n\ - movs r2, 0\n\ - movs r3, 0x4\n\ - bl EmitSetAttributes\n\ - ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08018990: .4byte gBattleTextBuff1\n\ -_08018994: .4byte gStatusConditionString_PoisonJpn\n\ -_08018998: .4byte gStatusConditionString_SleepJpn\n\ -_0801899C: .4byte gStatusConditionString_ParalysisJpn\n\ -_080189A0: .4byte gStatusConditionString_BurnJpn\n\ -_080189A4: .4byte gStatusConditionString_IceJpn\n\ -_080189A8: .4byte 0x02000000\n\ -_080189AC: .4byte gActiveBank\n\ -_080189B0: .4byte 0x00016003\n\ -_080189B4: .4byte BattleScript_ShedSkinActivates\n\ -_080189B8:\n\ - ldrb r2, [r4, 0x1B]\n\ - movs r0, 0x1B\n\ - ldrsb r0, [r4, r0]\n\ - cmp r0, 0xB\n\ - ble _080189C6\n\ - bl _08019F76\n\ -_080189C6:\n\ - ldr r0, _08018A04 @ =gDisableStructs\n\ - mov r3, r10\n\ - lsls r1, r3, 3\n\ - subs r1, r3\n\ - lsls r1, 2\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x16]\n\ - cmp r0, 0x2\n\ - bne _080189DC\n\ - bl _08019F76\n\ -_080189DC:\n\ - adds r0, r2, 0x1\n\ - movs r2, 0\n\ - strb r0, [r4, 0x1B]\n\ - ldr r5, _08018A08 @ =0x000160a4\n\ - adds r1, r7, r5\n\ - movs r0, 0x11\n\ - strb r0, [r1]\n\ - ldr r1, _08018A0C @ =0x000160a5\n\ - adds r0, r7, r1\n\ - strb r2, [r0]\n\ - ldr r0, _08018A10 @ =BattleScript_SpeedBoostActivates\n\ - bl b_push_move_exec\n\ - ldr r2, _08018A14 @ =0x00016003\n\ - adds r0, r7, r2\n\ - mov r3, r10\n\ - strb r3, [r0]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08018A04: .4byte gDisableStructs\n\ -_08018A08: .4byte 0x000160a4\n\ -_08018A0C: .4byte 0x000160a5\n\ -_08018A10: .4byte BattleScript_SpeedBoostActivates\n\ -_08018A14: .4byte 0x00016003\n\ -_08018A18:\n\ - ldr r2, _08018A3C @ =gDisableStructs\n\ - ldrb r0, [r0]\n\ - lsls r1, r0, 3\n\ - subs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r2\n\ - ldrb r3, [r1, 0x18]\n\ - lsls r0, r3, 31\n\ - lsrs r0, 31\n\ - movs r2, 0x1\n\ - eors r2, r0\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - ands r0, r3\n\ - orrs r0, r2\n\ - strb r0, [r1, 0x18]\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018A3C: .4byte gDisableStructs\n\ -_08018A40:\n\ - mov r5, r8\n\ - ldrb r0, [r5]\n\ - cmp r0, 0x2B\n\ - beq _08018A4C\n\ - bl _08019F76\n\ -_08018A4C:\n\ - movs r4, 0\n\ - ldr r0, _08018ABC @ =gSoundMovesTable\n\ - ldrh r2, [r0]\n\ - ldr r5, _08018AC0 @ =0x0000ffff\n\ - adds r1, r0, 0\n\ - cmp r2, r5\n\ - bne _08018A5E\n\ - bl _08019F76\n\ -_08018A5E:\n\ - cmp r2, r3\n\ - beq _08018A76\n\ - adds r2, r1, 0\n\ -_08018A64:\n\ - adds r2, 0x2\n\ - adds r4, 0x1\n\ - ldrh r0, [r2]\n\ - cmp r0, r5\n\ - bne _08018A72\n\ - bl _08019F76\n\ -_08018A72:\n\ - cmp r0, r3\n\ - bne _08018A64\n\ -_08018A76:\n\ - lsls r0, r4, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - ldr r0, _08018AC0 @ =0x0000ffff\n\ - cmp r1, r0\n\ - bne _08018A86\n\ - bl _08019F76\n\ -_08018A86:\n\ - ldr r1, _08018AC4 @ =gBattleMons\n\ - ldr r0, _08018AC8 @ =gBankAttacker\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r1, 0x50\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x80\n\ - lsls r1, 5\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018AAC\n\ - ldr r0, _08018ACC @ =gHitMarker\n\ - ldr r1, [r0]\n\ - movs r2, 0x80\n\ - lsls r2, 4\n\ - orrs r1, r2\n\ - str r1, [r0]\n\ -_08018AAC:\n\ - ldr r1, _08018AD0 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018AD4 @ =BattleScript_SoundproofProtected\n\ - str r0, [r1]\n\ - movs r0, 0x1\n\ - mov r9, r0\n\ - bl _08019F7C\n\ - .align 2, 0\n\ -_08018ABC: .4byte gSoundMovesTable\n\ -_08018AC0: .4byte 0x0000ffff\n\ -_08018AC4: .4byte gBattleMons\n\ -_08018AC8: .4byte gBankAttacker\n\ -_08018ACC: .4byte gHitMarker\n\ -_08018AD0: .4byte gBattlescriptCurrInstr\n\ -_08018AD4: .4byte BattleScript_SoundproofProtected\n\ -_08018AD8:\n\ - cmp r3, 0\n\ - bne _08018AE0\n\ - bl _08019F76\n\ -_08018AE0:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, 0xB\n\ - beq _08018B50\n\ - cmp r0, 0xB\n\ - bgt _08018AF2\n\ - cmp r0, 0xA\n\ - beq _08018AF8\n\ - b _08018C6A\n\ -_08018AF2:\n\ - cmp r0, 0x12\n\ - beq _08018BA8\n\ - b _08018C6A\n\ -_08018AF8:\n\ - cmp r4, 0xD\n\ - beq _08018AFE\n\ - b _08018C6A\n\ -_08018AFE:\n\ - ldr r0, _08018B28 @ =gBattleMoves\n\ - lsls r1, r3, 1\n\ - adds r1, r3\n\ - lsls r1, 2\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - cmp r0, 0\n\ - bne _08018B10\n\ - b _08018C6A\n\ -_08018B10:\n\ - ldr r1, _08018B2C @ =gProtectStructs\n\ - ldr r0, _08018B30 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x2]\n\ - lsls r0, 28\n\ - cmp r0, 0\n\ - bge _08018B3C\n\ - ldr r1, _08018B34 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018B38 @ =BattleScript_MoveHPDrain\n\ - b _08018B40\n\ - .align 2, 0\n\ -_08018B28: .4byte gBattleMoves\n\ -_08018B2C: .4byte gProtectStructs\n\ -_08018B30: .4byte gBankAttacker\n\ -_08018B34: .4byte gBattlescriptCurrInstr\n\ -_08018B38: .4byte BattleScript_MoveHPDrain\n\ -_08018B3C:\n\ - ldr r1, _08018B48 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018B4C @ =BattleScript_MoveHPDrain_PPLoss\n\ -_08018B40:\n\ - str r0, [r1]\n\ - movs r2, 0x1\n\ - b _08018C68\n\ - .align 2, 0\n\ -_08018B48: .4byte gBattlescriptCurrInstr\n\ -_08018B4C: .4byte BattleScript_MoveHPDrain_PPLoss\n\ -_08018B50:\n\ - cmp r4, 0xB\n\ - beq _08018B56\n\ - b _08018C6A\n\ -_08018B56:\n\ - ldr r0, _08018B80 @ =gBattleMoves\n\ - lsls r1, r3, 1\n\ - adds r1, r3\n\ - lsls r1, 2\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - cmp r0, 0\n\ - bne _08018B68\n\ - b _08018C6A\n\ -_08018B68:\n\ - ldr r1, _08018B84 @ =gProtectStructs\n\ - ldr r0, _08018B88 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x2]\n\ - lsls r0, 28\n\ - cmp r0, 0\n\ - bge _08018B94\n\ - ldr r1, _08018B8C @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018B90 @ =BattleScript_MoveHPDrain\n\ - b _08018B98\n\ - .align 2, 0\n\ -_08018B80: .4byte gBattleMoves\n\ -_08018B84: .4byte gProtectStructs\n\ -_08018B88: .4byte gBankAttacker\n\ -_08018B8C: .4byte gBattlescriptCurrInstr\n\ -_08018B90: .4byte BattleScript_MoveHPDrain\n\ -_08018B94:\n\ - ldr r1, _08018BA0 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018BA4 @ =BattleScript_MoveHPDrain_PPLoss\n\ -_08018B98:\n\ - str r0, [r1]\n\ - movs r3, 0x1\n\ - mov r9, r3\n\ - b _08018C6A\n\ - .align 2, 0\n\ -_08018BA0: .4byte gBattlescriptCurrInstr\n\ -_08018BA4: .4byte BattleScript_MoveHPDrain_PPLoss\n\ -_08018BA8:\n\ - cmp r4, 0xA\n\ - bne _08018C6A\n\ - ldr r1, _08018BF4 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r5, r10\n\ - muls r5, r0\n\ - adds r0, r5, 0\n\ - adds r1, 0x4C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x20\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _08018C6A\n\ - ldr r2, _08018BF8 @ =0x02017100\n\ - mov r0, r10\n\ - lsls r1, r0, 2\n\ - adds r0, r1, r2\n\ - ldr r3, [r0]\n\ - movs r4, 0x1\n\ - ands r3, r4\n\ - adds r5, r1, 0\n\ - cmp r3, 0\n\ - bne _08018C30\n\ - ldr r0, _08018BFC @ =gBattleCommunication\n\ - strb r3, [r0, 0x5]\n\ - ldr r1, _08018C00 @ =gProtectStructs\n\ - ldr r0, _08018C04 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x2]\n\ - lsls r0, 28\n\ - cmp r0, 0\n\ - bge _08018C10\n\ - ldr r1, _08018C08 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018C0C @ =BattleScript_FlashFireBoost\n\ - b _08018C14\n\ - .align 2, 0\n\ -_08018BF4: .4byte gBattleMons\n\ -_08018BF8: .4byte 0x02017100\n\ -_08018BFC: .4byte gBattleCommunication\n\ -_08018C00: .4byte gProtectStructs\n\ -_08018C04: .4byte gBankAttacker\n\ -_08018C08: .4byte gBattlescriptCurrInstr\n\ -_08018C0C: .4byte BattleScript_FlashFireBoost\n\ -_08018C10:\n\ - ldr r1, _08018C28 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018C2C @ =BattleScript_FlashFireBoost_PPLoss\n\ -_08018C14:\n\ - str r0, [r1]\n\ - adds r0, r5, r2\n\ - ldr r1, [r0]\n\ - movs r2, 0x1\n\ - orrs r1, r2\n\ - str r1, [r0]\n\ - movs r1, 0x2\n\ - mov r9, r1\n\ - b _08018C6A\n\ - .align 2, 0\n\ -_08018C28: .4byte gBattlescriptCurrInstr\n\ -_08018C2C: .4byte BattleScript_FlashFireBoost_PPLoss\n\ -_08018C30:\n\ - ldr r0, _08018C4C @ =gBattleCommunication\n\ - strb r4, [r0, 0x5]\n\ - ldr r1, _08018C50 @ =gProtectStructs\n\ - ldr r0, _08018C54 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x2]\n\ - lsls r0, 28\n\ - cmp r0, 0\n\ - bge _08018C60\n\ - ldr r1, _08018C58 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018C5C @ =BattleScript_FlashFireBoost\n\ - b _08018C64\n\ - .align 2, 0\n\ -_08018C4C: .4byte gBattleCommunication\n\ -_08018C50: .4byte gProtectStructs\n\ -_08018C54: .4byte gBankAttacker\n\ -_08018C58: .4byte gBattlescriptCurrInstr\n\ -_08018C5C: .4byte BattleScript_FlashFireBoost\n\ -_08018C60:\n\ - ldr r1, _08018CA4 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018CA8 @ =BattleScript_FlashFireBoost_PPLoss\n\ -_08018C64:\n\ - str r0, [r1]\n\ - movs r2, 0x2\n\ -_08018C68:\n\ - mov r9, r2\n\ -_08018C6A:\n\ - mov r3, r9\n\ - cmp r3, 0x1\n\ - beq _08018C74\n\ - bl _08019F76\n\ -_08018C74:\n\ - ldr r1, _08018CAC @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r5, r10\n\ - muls r5, r0\n\ - adds r0, r5, 0\n\ - adds r1, r0, r1\n\ - ldrh r0, [r1, 0x2C]\n\ - ldrh r2, [r1, 0x28]\n\ - cmp r0, r2\n\ - bne _08018CD0\n\ - ldr r1, _08018CB0 @ =gProtectStructs\n\ - ldr r0, _08018CB4 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x2]\n\ - lsls r0, 28\n\ - cmp r0, 0\n\ - bge _08018CBC\n\ - ldr r1, _08018CA4 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018CB8 @ =BattleScript_MoveHPDrain_FullHP\n\ - str r0, [r1]\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018CA4: .4byte gBattlescriptCurrInstr\n\ -_08018CA8: .4byte BattleScript_FlashFireBoost_PPLoss\n\ -_08018CAC: .4byte gBattleMons\n\ -_08018CB0: .4byte gProtectStructs\n\ -_08018CB4: .4byte gBankAttacker\n\ -_08018CB8: .4byte BattleScript_MoveHPDrain_FullHP\n\ -_08018CBC:\n\ - ldr r1, _08018CC8 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018CCC @ =BattleScript_MoveHPDrain_FullHP_PPLoss\n\ - str r0, [r1]\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018CC8: .4byte gBattlescriptCurrInstr\n\ -_08018CCC: .4byte BattleScript_MoveHPDrain_FullHP_PPLoss\n\ -_08018CD0:\n\ - ldr r2, _08018CEC @ =gBattleMoveDamage\n\ - ldrh r0, [r1, 0x2C]\n\ - lsrs r0, 2\n\ - str r0, [r2]\n\ - cmp r0, 0\n\ - bne _08018CE0\n\ - mov r3, r9\n\ - str r3, [r2]\n\ -_08018CE0:\n\ - ldr r0, [r2]\n\ - negs r0, r0\n\ - str r0, [r2]\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_08018CEC: .4byte gBattleMoveDamage\n\ -_08018CF0:\n\ - mov r5, r8\n\ - ldrb r0, [r5]\n\ - subs r0, 0x9\n\ - cmp r0, 0x2F\n\ - bls _08018CFE\n\ - bl _08019F76\n\ -_08018CFE:\n\ - lsls r0, 2\n\ - ldr r1, _08018D08 @ =_08018D0C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08018D08: .4byte _08018D0C\n\ - .align 2, 0\n\ -_08018D0C:\n\ - .4byte _08019128\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08018DCC\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08018E94\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08018F54\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _0801904C\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019204\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _08019F76\n\ - .4byte _080192E0\n\ -_08018DCC:\n\ - ldr r0, _08018E74 @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018DDC\n\ - bl _08019F76\n\ -_08018DDC:\n\ - cmp r3, 0xA5\n\ - bne _08018DE4\n\ - bl _08019F76\n\ -_08018DE4:\n\ - ldr r0, _08018E78 @ =gBattleMoves\n\ - lsls r1, r3, 1\n\ - adds r1, r3\n\ - lsls r1, 2\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - cmp r0, 0\n\ - bne _08018DF8\n\ - bl _08019F76\n\ -_08018DF8:\n\ - ldr r2, _08018E7C @ =gSpecialStatuses\n\ - ldr r0, _08018E80 @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r1, r0, 2\n\ - adds r0, r2, 0\n\ - adds r0, 0x8\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08018E20\n\ - adds r0, r2, 0\n\ - adds r0, 0xC\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08018E20\n\ - bl _08019F76\n\ -_08018E20:\n\ - ldr r1, _08018E84 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r2, r10\n\ - muls r2, r0\n\ - adds r0, r2, 0\n\ - adds r1, r0, r1\n\ - adds r3, r1, 0\n\ - adds r3, 0x21\n\ - ldrb r0, [r3]\n\ - cmp r0, r4\n\ - bne _08018E3A\n\ - bl _08019F76\n\ -_08018E3A:\n\ - adds r2, r1, 0\n\ - adds r2, 0x22\n\ - ldrb r0, [r2]\n\ - cmp r0, r4\n\ - bne _08018E48\n\ - bl _08019F76\n\ -_08018E48:\n\ - ldrh r0, [r1, 0x28]\n\ - cmp r0, 0\n\ - bne _08018E52\n\ - bl _08019F76\n\ -_08018E52:\n\ - strb r4, [r3]\n\ - strb r4, [r2]\n\ - ldr r1, _08018E88 @ =gBattleTextBuff1\n\ - movs r0, 0xFD\n\ - strb r0, [r1]\n\ - movs r0, 0x3\n\ - strb r0, [r1, 0x1]\n\ - strb r4, [r1, 0x2]\n\ - movs r0, 0xFF\n\ - strb r0, [r1, 0x3]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08018E8C @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018E90 @ =BattleScript_ColorChangeActivates\n\ - str r0, [r1]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08018E74: .4byte gBattleMoveFlags\n\ -_08018E78: .4byte gBattleMoves\n\ -_08018E7C: .4byte gSpecialStatuses\n\ -_08018E80: .4byte gBankTarget\n\ -_08018E84: .4byte gBattleMons\n\ -_08018E88: .4byte gBattleTextBuff1\n\ -_08018E8C: .4byte gBattlescriptCurrInstr\n\ -_08018E90: .4byte BattleScript_ColorChangeActivates\n\ -_08018E94:\n\ - ldr r0, _08018F2C @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018EA4\n\ - bl _08019F76\n\ -_08018EA4:\n\ - ldr r1, _08018F30 @ =gBattleMons\n\ - ldr r0, _08018F34 @ =gBankAttacker\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r4, r0, r1\n\ - ldrh r0, [r4, 0x28]\n\ - cmp r0, 0\n\ - bne _08018EBA\n\ - bl _08019F76\n\ -_08018EBA:\n\ - ldr r0, _08018F38 @ =gProtectStructs\n\ - lsls r1, r2, 4\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - lsls r0, 31\n\ - cmp r0, 0\n\ - beq _08018ECC\n\ - bl _08019F76\n\ -_08018ECC:\n\ - ldr r2, _08018F3C @ =gSpecialStatuses\n\ - ldr r0, _08018F40 @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r1, r0, 2\n\ - adds r0, r2, 0\n\ - adds r0, 0x8\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08018EF4\n\ - adds r0, r2, 0\n\ - adds r0, 0xC\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08018EF4\n\ - bl _08019F76\n\ -_08018EF4:\n\ - ldr r1, _08018F44 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r1, [r0, 0x8]\n\ - movs r2, 0x1\n\ - adds r0, r2, 0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _08018F0E\n\ - bl _08019F76\n\ -_08018F0E:\n\ - ldr r1, _08018F48 @ =gBattleMoveDamage\n\ - ldrh r0, [r4, 0x2C]\n\ - lsrs r0, 4\n\ - str r0, [r1]\n\ - cmp r0, 0\n\ - bne _08018F1C\n\ - str r2, [r1]\n\ -_08018F1C:\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08018F4C @ =gBattlescriptCurrInstr\n\ - ldr r0, _08018F50 @ =BattleScript_RoughSkinActivates\n\ - str r0, [r1]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08018F2C: .4byte gBattleMoveFlags\n\ -_08018F30: .4byte gBattleMons\n\ -_08018F34: .4byte gBankAttacker\n\ -_08018F38: .4byte gProtectStructs\n\ -_08018F3C: .4byte gSpecialStatuses\n\ -_08018F40: .4byte gBankTarget\n\ -_08018F44: .4byte gBattleMoves\n\ -_08018F48: .4byte gBattleMoveDamage\n\ -_08018F4C: .4byte gBattlescriptCurrInstr\n\ -_08018F50: .4byte BattleScript_RoughSkinActivates\n\ -_08018F54:\n\ - ldr r0, _08019020 @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08018F64\n\ - bl _08019F76\n\ -_08018F64:\n\ - ldr r1, _08019024 @ =gBattleMons\n\ - ldr r0, _08019028 @ =gBankAttacker\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r0, r1\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - bne _08018F7A\n\ - bl _08019F76\n\ -_08018F7A:\n\ - ldr r0, _0801902C @ =gProtectStructs\n\ - lsls r1, r2, 4\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - lsls r0, 31\n\ - cmp r0, 0\n\ - beq _08018F8C\n\ - bl _08019F76\n\ -_08018F8C:\n\ - ldr r2, _08019030 @ =gSpecialStatuses\n\ - ldr r0, _08019034 @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r1, r0, 2\n\ - adds r0, r2, 0\n\ - adds r0, 0x8\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08018FB4\n\ - adds r0, r2, 0\n\ - adds r0, 0xC\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08018FB4\n\ - bl _08019F76\n\ -_08018FB4:\n\ - ldr r1, _08019038 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r1, [r0, 0x8]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _08018FCC\n\ - bl _08019F76\n\ -_08018FCC:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0xA\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - beq _08018FE4\n\ - bl _08019F76\n\ -_08018FE4:\n\ - ldr r5, _0801903C @ =gBattleCommunication\n\ - movs r4, 0x3\n\ -_08018FE8:\n\ - bl Random\n\ - ands r0, r4\n\ - strb r0, [r5, 0x3]\n\ - cmp r0, 0\n\ - beq _08018FE8\n\ - ldr r1, _0801903C @ =gBattleCommunication\n\ - ldrb r0, [r1, 0x3]\n\ - cmp r0, 0x3\n\ - bne _08019000\n\ - adds r0, 0x2\n\ - strb r0, [r1, 0x3]\n\ -_08019000:\n\ - ldrb r0, [r1, 0x3]\n\ - adds r0, 0x40\n\ - strb r0, [r1, 0x3]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08019040 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08019044 @ =BattleScript_ApplySecondaryEffect\n\ - str r0, [r1]\n\ - ldr r2, _08019048 @ =gHitMarker\n\ - ldr r0, [r2]\n\ - movs r1, 0x80\n\ - lsls r1, 6\n\ - orrs r0, r1\n\ - str r0, [r2]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08019020: .4byte gBattleMoveFlags\n\ -_08019024: .4byte gBattleMons\n\ -_08019028: .4byte gBankAttacker\n\ -_0801902C: .4byte gProtectStructs\n\ -_08019030: .4byte gSpecialStatuses\n\ -_08019034: .4byte gBankTarget\n\ -_08019038: .4byte gBattleMoves\n\ -_0801903C: .4byte gBattleCommunication\n\ -_08019040: .4byte gBattlescriptCurrInstr\n\ -_08019044: .4byte BattleScript_ApplySecondaryEffect\n\ -_08019048: .4byte gHitMarker\n\ -_0801904C:\n\ - ldr r0, _080190FC @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0801905C\n\ - bl _08019F76\n\ -_0801905C:\n\ - ldr r1, _08019100 @ =gBattleMons\n\ - ldr r0, _08019104 @ =gBankAttacker\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r0, r1\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - bne _08019072\n\ - bl _08019F76\n\ -_08019072:\n\ - ldr r0, _08019108 @ =gProtectStructs\n\ - lsls r1, r2, 4\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - lsls r0, 31\n\ - cmp r0, 0\n\ - beq _08019084\n\ - bl _08019F76\n\ -_08019084:\n\ - ldr r2, _0801910C @ =gSpecialStatuses\n\ - ldr r0, _08019110 @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r1, r0, 2\n\ - adds r0, r2, 0\n\ - adds r0, 0x8\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _080190AC\n\ - adds r0, r2, 0\n\ - adds r0, 0xC\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _080190AC\n\ - bl _08019F76\n\ -_080190AC:\n\ - ldr r1, _08019114 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r1, [r0, 0x8]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080190C4\n\ - bl _08019F76\n\ -_080190C4:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - beq _080190DC\n\ - bl _08019F76\n\ -_080190DC:\n\ - ldr r1, _08019118 @ =gBattleCommunication\n\ - movs r0, 0x42\n\ - strb r0, [r1, 0x3]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _0801911C @ =gBattlescriptCurrInstr\n\ - ldr r0, _08019120 @ =BattleScript_ApplySecondaryEffect\n\ - str r0, [r1]\n\ - ldr r2, _08019124 @ =gHitMarker\n\ - ldr r0, [r2]\n\ - movs r1, 0x80\n\ - lsls r1, 6\n\ - orrs r0, r1\n\ - str r0, [r2]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_080190FC: .4byte gBattleMoveFlags\n\ -_08019100: .4byte gBattleMons\n\ -_08019104: .4byte gBankAttacker\n\ -_08019108: .4byte gProtectStructs\n\ -_0801910C: .4byte gSpecialStatuses\n\ -_08019110: .4byte gBankTarget\n\ -_08019114: .4byte gBattleMoves\n\ -_08019118: .4byte gBattleCommunication\n\ -_0801911C: .4byte gBattlescriptCurrInstr\n\ -_08019120: .4byte BattleScript_ApplySecondaryEffect\n\ -_08019124: .4byte gHitMarker\n\ -_08019128:\n\ - ldr r0, _080191D8 @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08019138\n\ - bl _08019F76\n\ -_08019138:\n\ - ldr r1, _080191DC @ =gBattleMons\n\ - ldr r0, _080191E0 @ =gBankAttacker\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r0, r1\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - bne _0801914E\n\ - bl _08019F76\n\ -_0801914E:\n\ - ldr r0, _080191E4 @ =gProtectStructs\n\ - lsls r1, r2, 4\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - lsls r0, 31\n\ - cmp r0, 0\n\ - beq _08019160\n\ - bl _08019F76\n\ -_08019160:\n\ - ldr r2, _080191E8 @ =gSpecialStatuses\n\ - ldr r0, _080191EC @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r1, r0, 2\n\ - adds r0, r2, 0\n\ - adds r0, 0x8\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08019188\n\ - adds r0, r2, 0\n\ - adds r0, 0xC\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _08019188\n\ - bl _08019F76\n\ -_08019188:\n\ - ldr r1, _080191F0 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r1, [r0, 0x8]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080191A0\n\ - bl _08019F76\n\ -_080191A0:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - beq _080191B8\n\ - bl _08019F76\n\ -_080191B8:\n\ - ldr r1, _080191F4 @ =gBattleCommunication\n\ - movs r0, 0x45\n\ - strb r0, [r1, 0x3]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _080191F8 @ =gBattlescriptCurrInstr\n\ - ldr r0, _080191FC @ =BattleScript_ApplySecondaryEffect\n\ - str r0, [r1]\n\ - ldr r2, _08019200 @ =gHitMarker\n\ - ldr r0, [r2]\n\ - movs r1, 0x80\n\ - lsls r1, 6\n\ - orrs r0, r1\n\ - str r0, [r2]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_080191D8: .4byte gBattleMoveFlags\n\ -_080191DC: .4byte gBattleMons\n\ -_080191E0: .4byte gBankAttacker\n\ -_080191E4: .4byte gProtectStructs\n\ -_080191E8: .4byte gSpecialStatuses\n\ -_080191EC: .4byte gBankTarget\n\ -_080191F0: .4byte gBattleMoves\n\ -_080191F4: .4byte gBattleCommunication\n\ -_080191F8: .4byte gBattlescriptCurrInstr\n\ -_080191FC: .4byte BattleScript_ApplySecondaryEffect\n\ -_08019200: .4byte gHitMarker\n\ -_08019204:\n\ - ldr r0, _080192B4 @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08019214\n\ - bl _08019F76\n\ -_08019214:\n\ - ldr r1, _080192B8 @ =gBattleMons\n\ - ldr r0, _080192BC @ =gBankAttacker\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r0, r1\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - bne _0801922A\n\ - bl _08019F76\n\ -_0801922A:\n\ - ldr r0, _080192C0 @ =gProtectStructs\n\ - lsls r1, r2, 4\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - lsls r0, 31\n\ - cmp r0, 0\n\ - beq _0801923C\n\ - bl _08019F76\n\ -_0801923C:\n\ - ldr r1, _080192C4 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r1, [r0, 0x8]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _08019254\n\ - bl _08019F76\n\ -_08019254:\n\ - ldr r2, _080192C8 @ =gSpecialStatuses\n\ - ldr r0, _080192CC @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r1, r0, 2\n\ - adds r0, r2, 0\n\ - adds r0, 0x8\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _0801927C\n\ - adds r0, r2, 0\n\ - adds r0, 0xC\n\ - adds r0, r1, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _0801927C\n\ - bl _08019F76\n\ -_0801927C:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - beq _08019294\n\ - bl _08019F76\n\ -_08019294:\n\ - ldr r1, _080192D0 @ =gBattleCommunication\n\ - movs r0, 0x43\n\ - strb r0, [r1, 0x3]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _080192D4 @ =gBattlescriptCurrInstr\n\ - ldr r0, _080192D8 @ =BattleScript_ApplySecondaryEffect\n\ - str r0, [r1]\n\ - ldr r2, _080192DC @ =gHitMarker\n\ - ldr r0, [r2]\n\ - movs r1, 0x80\n\ - lsls r1, 6\n\ - orrs r0, r1\n\ - str r0, [r2]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_080192B4: .4byte gBattleMoveFlags\n\ -_080192B8: .4byte gBattleMons\n\ -_080192BC: .4byte gBankAttacker\n\ -_080192C0: .4byte gProtectStructs\n\ -_080192C4: .4byte gBattleMoves\n\ -_080192C8: .4byte gSpecialStatuses\n\ -_080192CC: .4byte gBankTarget\n\ -_080192D0: .4byte gBattleCommunication\n\ -_080192D4: .4byte gBattlescriptCurrInstr\n\ -_080192D8: .4byte BattleScript_ApplySecondaryEffect\n\ -_080192DC: .4byte gHitMarker\n\ -_080192E0:\n\ - ldr r0, _08019420 @ =gBattleMoveFlags\n\ - ldrb r1, [r0]\n\ - movs r0, 0x29\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080192F0\n\ - bl _08019F76\n\ -_080192F0:\n\ - ldr r5, _08019424 @ =gBattleMons\n\ - ldr r7, _08019428 @ =gBankAttacker\n\ - ldrb r1, [r7]\n\ - movs r6, 0x58\n\ - adds r0, r1, 0\n\ - muls r0, r6\n\ - adds r0, r5\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - bne _08019308\n\ - bl _08019F76\n\ -_08019308:\n\ - ldr r0, _0801942C @ =gProtectStructs\n\ - lsls r1, 4\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - lsls r0, 31\n\ - cmp r0, 0\n\ - beq _0801931A\n\ - bl _08019F76\n\ -_0801931A:\n\ - ldr r1, _08019430 @ =gBattleMoves\n\ - lsls r0, r3, 1\n\ - adds r0, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r1, [r0, 0x8]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _08019332\n\ - bl _08019F76\n\ -_08019332:\n\ - ldr r3, _08019434 @ =gSpecialStatuses\n\ - ldr r0, _08019438 @ =gBankTarget\n\ - mov r8, r0\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 2\n\ - adds r0, r1\n\ - lsls r2, r0, 2\n\ - adds r0, r3, 0\n\ - adds r0, 0x8\n\ - adds r0, r2, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _0801935C\n\ - adds r0, r3, 0\n\ - adds r0, 0xC\n\ - adds r0, r2, r0\n\ - ldr r0, [r0]\n\ - cmp r0, 0\n\ - bne _0801935C\n\ - bl _08019F76\n\ -_0801935C:\n\ - adds r0, r1, 0\n\ - muls r0, r6\n\ - adds r0, r5\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - bne _0801936C\n\ - bl _08019F76\n\ -_0801936C:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - cmp r0, 0\n\ - beq _08019384\n\ - bl _08019F76\n\ -_08019384:\n\ - ldrb r0, [r7]\n\ - muls r0, r6\n\ - adds r0, r5\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0xC\n\ - bne _08019396\n\ - bl _08019F76\n\ -_08019396:\n\ - ldr r0, [sp, 0x8]\n\ - ldr r1, [sp, 0x10]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - adds r4, r0, 0\n\ - ldr r0, [sp, 0xC]\n\ - ldr r1, [sp, 0x14]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsls r4, 24\n\ - lsls r0, 24\n\ - cmp r4, r0\n\ - bne _080193B4\n\ - bl _08019F76\n\ -_080193B4:\n\ - ldrb r0, [r7]\n\ - muls r0, r6\n\ - adds r4, r5, 0\n\ - adds r4, 0x50\n\ - adds r0, r4\n\ - ldr r0, [r0]\n\ - movs r1, 0xF0\n\ - lsls r1, 12\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080193CE\n\ - bl _08019F76\n\ -_080193CE:\n\ - ldr r0, [sp, 0x8]\n\ - ldr r1, [sp, 0x10]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0xFF\n\ - bne _080193E2\n\ - bl _08019F76\n\ -_080193E2:\n\ - ldr r0, [sp, 0xC]\n\ - ldr r1, [sp, 0x14]\n\ - bl GetGenderFromSpeciesAndPersonality\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0xFF\n\ - bne _080193F6\n\ - bl _08019F76\n\ -_080193F6:\n\ - ldrb r0, [r7]\n\ - adds r2, r0, 0\n\ - muls r2, r6\n\ - adds r2, r4\n\ - ldr r1, _0801943C @ =gBitTable\n\ - mov r3, r8\n\ - ldrb r0, [r3]\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldr r1, [r0]\n\ - lsls r1, 16\n\ - ldr r0, [r2]\n\ - orrs r0, r1\n\ - str r0, [r2]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08019440 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08019444 @ =BattleScript_CuteCharmActivates\n\ - str r0, [r1]\n\ - bl _08019F22\n\ - .align 2, 0\n\ -_08019420: .4byte gBattleMoveFlags\n\ -_08019424: .4byte gBattleMons\n\ -_08019428: .4byte gBankAttacker\n\ -_0801942C: .4byte gProtectStructs\n\ -_08019430: .4byte gBattleMoves\n\ -_08019434: .4byte gSpecialStatuses\n\ -_08019438: .4byte gBankTarget\n\ -_0801943C: .4byte gBitTable\n\ -_08019440: .4byte gBattlescriptCurrInstr\n\ -_08019444: .4byte BattleScript_CuteCharmActivates\n\ -_08019448:\n\ - movs r5, 0\n\ - mov r10, r5\n\ - ldr r0, _0801947C @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r10, r0\n\ - bcc _08019458\n\ - bl _08019F76\n\ -_08019458:\n\ - ldr r1, _08019480 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r2, r10\n\ - muls r2, r0\n\ - adds r0, r2, 0\n\ - adds r0, r1\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - subs r0, 0x7\n\ - adds r2, r1, 0\n\ - cmp r0, 0x41\n\ - bls _08019472\n\ - b _080196D6\n\ -_08019472:\n\ - lsls r0, 2\n\ - ldr r1, _08019484 @ =_08019488\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_0801947C: .4byte gNoOfAllBanks\n\ -_08019480: .4byte gBattleMons\n\ -_08019484: .4byte _08019488\n\ - .align 2, 0\n\ -_08019488:\n\ - .4byte _080195EC\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196B0\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _08019614\n\ - .4byte _080196D6\n\ - .4byte _08019590\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080195BC\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _08019680\n\ - .4byte _08019650\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _080196D6\n\ - .4byte _08019614\n\ -_08019590:\n\ - movs r0, 0x58\n\ - mov r3, r10\n\ - muls r3, r0\n\ - adds r0, r3, 0\n\ - adds r1, r2, 0\n\ - adds r1, 0x4C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - ldr r1, _080195B0 @ =0x00000f88\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080195AA\n\ - b _080196D6\n\ -_080195AA:\n\ - ldr r0, _080195B4 @ =gBattleTextBuff1\n\ - ldr r1, _080195B8 @ =gStatusConditionString_PoisonJpn\n\ - b _0801969C\n\ - .align 2, 0\n\ -_080195B0: .4byte 0x00000f88\n\ -_080195B4: .4byte gBattleTextBuff1\n\ -_080195B8: .4byte gStatusConditionString_PoisonJpn\n\ -_080195BC:\n\ - movs r0, 0x58\n\ - mov r1, r10\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - adds r1, r2, 0\n\ - adds r1, 0x50\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080195D6\n\ - b _080196D6\n\ -_080195D6:\n\ - ldr r0, _080195E4 @ =gBattleTextBuff1\n\ - ldr r1, _080195E8 @ =gStatusConditionString_ConfusionJpn\n\ - bl StringCopy\n\ - movs r2, 0x2\n\ - mov r9, r2\n\ - b _080196DC\n\ - .align 2, 0\n\ -_080195E4: .4byte gBattleTextBuff1\n\ -_080195E8: .4byte gStatusConditionString_ConfusionJpn\n\ -_080195EC:\n\ - movs r0, 0x58\n\ - mov r3, r10\n\ - muls r3, r0\n\ - adds r0, r3, 0\n\ - adds r1, r2, 0\n\ - adds r1, 0x4C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x40\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080196D6\n\ - ldr r0, _0801960C @ =gBattleTextBuff1\n\ - ldr r1, _08019610 @ =gStatusConditionString_ParalysisJpn\n\ - b _0801969C\n\ - .align 2, 0\n\ -_0801960C: .4byte gBattleTextBuff1\n\ -_08019610: .4byte gStatusConditionString_ParalysisJpn\n\ -_08019614:\n\ - movs r0, 0x58\n\ - mov r3, r10\n\ - muls r3, r0\n\ - adds r0, r2, 0\n\ - adds r0, 0x4C\n\ - adds r0, r3, r0\n\ - ldr r0, [r0]\n\ - movs r1, 0x7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080196D6\n\ - adds r2, 0x50\n\ - adds r2, r3, r2\n\ - ldr r0, [r2]\n\ - ldr r1, _08019644 @ =0xf7ffffff\n\ - ands r0, r1\n\ - str r0, [r2]\n\ - ldr r0, _08019648 @ =gBattleTextBuff1\n\ - ldr r1, _0801964C @ =gStatusConditionString_SleepJpn\n\ - bl StringCopy\n\ - movs r0, 0x1\n\ - mov r9, r0\n\ - b _080196DC\n\ - .align 2, 0\n\ -_08019644: .4byte 0xf7ffffff\n\ -_08019648: .4byte gBattleTextBuff1\n\ -_0801964C: .4byte gStatusConditionString_SleepJpn\n\ -_08019650:\n\ - movs r0, 0x58\n\ - mov r1, r10\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - adds r1, r2, 0\n\ - adds r1, 0x4C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x10\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080196D6\n\ - ldr r0, _08019678 @ =gBattleTextBuff1\n\ - ldr r1, _0801967C @ =gStatusConditionString_BurnJpn\n\ - bl StringCopy\n\ - movs r2, 0x1\n\ - mov r9, r2\n\ - b _080196DC\n\ - .align 2, 0\n\ -_08019678: .4byte gBattleTextBuff1\n\ -_0801967C: .4byte gStatusConditionString_BurnJpn\n\ -_08019680:\n\ - movs r0, 0x58\n\ - mov r3, r10\n\ - muls r3, r0\n\ - adds r0, r3, 0\n\ - adds r1, r2, 0\n\ - adds r1, 0x4C\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x20\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080196D6\n\ - ldr r0, _080196A8 @ =gBattleTextBuff1\n\ - ldr r1, _080196AC @ =gStatusConditionString_IceJpn\n\ -_0801969C:\n\ - bl StringCopy\n\ - movs r5, 0x1\n\ - mov r9, r5\n\ - b _080196DC\n\ - .align 2, 0\n\ -_080196A8: .4byte gBattleTextBuff1\n\ -_080196AC: .4byte gStatusConditionString_IceJpn\n\ -_080196B0:\n\ - movs r0, 0x58\n\ - mov r1, r10\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - adds r1, r2, 0\n\ - adds r1, 0x50\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0xF0\n\ - lsls r1, 12\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080196D6\n\ - ldr r0, _080196EC @ =gBattleTextBuff1\n\ - ldr r1, _080196F0 @ =gStatusConditionString_LoveJpn\n\ - bl StringCopy\n\ - movs r2, 0x3\n\ - mov r9, r2\n\ -_080196D6:\n\ - mov r3, r9\n\ - cmp r3, 0\n\ - beq _08019798\n\ -_080196DC:\n\ - mov r5, r9\n\ - cmp r5, 0x2\n\ - beq _08019710\n\ - cmp r5, 0x2\n\ - bgt _080196F4\n\ - cmp r5, 0x1\n\ - beq _080196FC\n\ - b _0801973C\n\ - .align 2, 0\n\ -_080196EC: .4byte gBattleTextBuff1\n\ -_080196F0: .4byte gStatusConditionString_LoveJpn\n\ -_080196F4:\n\ - mov r0, r9\n\ - cmp r0, 0x3\n\ - beq _08019728\n\ - b _0801973C\n\ -_080196FC:\n\ - ldr r1, _0801970C @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r2, r10\n\ - muls r2, r0\n\ - adds r1, 0x4C\n\ - adds r2, r1\n\ - movs r0, 0\n\ - b _0801973A\n\ - .align 2, 0\n\ -_0801970C: .4byte gBattleMons\n\ -_08019710:\n\ - ldr r1, _08019724 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r2, r10\n\ - muls r2, r0\n\ - adds r1, 0x50\n\ - adds r2, r1\n\ - ldr r0, [r2]\n\ - movs r1, 0x8\n\ - negs r1, r1\n\ - b _08019738\n\ - .align 2, 0\n\ -_08019724: .4byte gBattleMons\n\ -_08019728:\n\ - ldr r1, _08019778 @ =gBattleMons\n\ - movs r0, 0x58\n\ - mov r2, r10\n\ - muls r2, r0\n\ - adds r1, 0x50\n\ - adds r2, r1\n\ - ldr r0, [r2]\n\ - ldr r1, _0801977C @ =0xfff0ffff\n\ -_08019738:\n\ - ands r0, r1\n\ -_0801973A:\n\ - str r0, [r2]\n\ -_0801973C:\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08019780 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08019784 @ =gUnknown_081D9956\n\ - str r0, [r1]\n\ - ldr r0, _08019788 @ =0x02000000\n\ - ldr r1, _0801978C @ =0x00016003\n\ - adds r0, r1\n\ - mov r2, r10\n\ - strb r2, [r0]\n\ - ldr r4, _08019790 @ =gActiveBank\n\ - strb r2, [r4]\n\ - ldrb r1, [r4]\n\ - movs r0, 0x58\n\ - muls r0, r1\n\ - ldr r1, _08019794 @ =gUnknown_02024ACC\n\ - adds r0, r1\n\ - str r0, [sp]\n\ - movs r0, 0\n\ - movs r1, 0x28\n\ - movs r2, 0\n\ - movs r3, 0x4\n\ - bl EmitSetAttributes\n\ - ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ - bl _08019F92\n\ - .align 2, 0\n\ -_08019778: .4byte gBattleMons\n\ -_0801977C: .4byte 0xfff0ffff\n\ -_08019780: .4byte gBattlescriptCurrInstr\n\ -_08019784: .4byte gUnknown_081D9956\n\ -_08019788: .4byte 0x02000000\n\ -_0801978C: .4byte 0x00016003\n\ -_08019790: .4byte gActiveBank\n\ -_08019794: .4byte gUnknown_02024ACC\n\ -_08019798:\n\ - mov r0, r10\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r10, r0\n\ - ldr r0, _080197B0 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r10, r0\n\ - bcs _080197AC\n\ - b _08019458\n\ -_080197AC:\n\ - bl _08019F76\n\ - .align 2, 0\n\ -_080197B0: .4byte gNoOfAllBanks\n\ -_080197B4:\n\ - movs r3, 0\n\ - mov r10, r3\n\ - ldr r0, _080197FC @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r10, r0\n\ - bcc _080197C2\n\ - b _08019F76\n\ -_080197C2:\n\ - ldr r4, _08019800 @ =gBattleMons\n\ -_080197C4:\n\ - movs r0, 0x58\n\ - mov r5, r10\n\ - muls r5, r0\n\ - adds r0, r5, 0\n\ - adds r0, r4\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x3B\n\ - bne _080197E8\n\ - mov r0, r10\n\ - bl CastformDataTypeChange\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - cmp r0, 0\n\ - beq _080197E8\n\ - b _08019E40\n\ -_080197E8:\n\ - mov r0, r10\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r10, r0\n\ - ldr r0, _080197FC @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r10, r0\n\ - bcc _080197C4\n\ - b _08019F76\n\ - .align 2, 0\n\ -_080197FC: .4byte gNoOfAllBanks\n\ -_08019800: .4byte gBattleMons\n\ -_08019804:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x1C\n\ - beq _0801980E\n\ - b _08019F76\n\ -_0801980E:\n\ - ldr r4, _08019860 @ =gHitMarker\n\ - ldr r1, [r4]\n\ - movs r0, 0x80\n\ - lsls r0, 7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801981E\n\ - b _08019F76\n\ -_0801981E:\n\ - ldr r0, _08019864 @ =0xffffbfff\n\ - ands r1, r0\n\ - str r1, [r4]\n\ - ldr r3, _08019868 @ =0x000160ca\n\ - adds r2, r7, r3\n\ - ldrb r1, [r2]\n\ - movs r0, 0x3F\n\ - ands r0, r1\n\ - strb r0, [r2]\n\ - cmp r0, 0x6\n\ - bne _08019838\n\ - movs r0, 0x2\n\ - strb r0, [r2]\n\ -_08019838:\n\ - ldr r1, _0801986C @ =gBattleCommunication\n\ - ldrb r0, [r2]\n\ - adds r0, 0x40\n\ - strb r0, [r1, 0x3]\n\ - ldr r0, _08019870 @ =gBankTarget\n\ - ldrb r1, [r0]\n\ - ldr r5, _08019874 @ =0x00016003\n\ - adds r0, r7, r5\n\ - strb r1, [r0]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08019878 @ =gBattlescriptCurrInstr\n\ - ldr r0, _0801987C @ =BattleScript_SynchronizeActivates\n\ - str r0, [r1]\n\ - ldr r0, [r4]\n\ - movs r1, 0x80\n\ - lsls r1, 6\n\ - orrs r0, r1\n\ - str r0, [r4]\n\ - b _08019F22\n\ - .align 2, 0\n\ -_08019860: .4byte gHitMarker\n\ -_08019864: .4byte 0xffffbfff\n\ -_08019868: .4byte 0x000160ca\n\ -_0801986C: .4byte gBattleCommunication\n\ -_08019870: .4byte gBankTarget\n\ -_08019874: .4byte 0x00016003\n\ -_08019878: .4byte gBattlescriptCurrInstr\n\ -_0801987C: .4byte BattleScript_SynchronizeActivates\n\ -_08019880:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x1C\n\ - beq _0801988A\n\ - b _08019F76\n\ -_0801988A:\n\ - ldr r4, _080198DC @ =gHitMarker\n\ - ldr r1, [r4]\n\ - movs r0, 0x80\n\ - lsls r0, 7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801989A\n\ - b _08019F76\n\ -_0801989A:\n\ - ldr r0, _080198E0 @ =0xffffbfff\n\ - ands r1, r0\n\ - str r1, [r4]\n\ - ldr r3, _080198E4 @ =0x000160ca\n\ - adds r2, r7, r3\n\ - ldrb r1, [r2]\n\ - movs r0, 0x3F\n\ - ands r0, r1\n\ - strb r0, [r2]\n\ - cmp r0, 0x6\n\ - bne _080198B4\n\ - movs r0, 0x2\n\ - strb r0, [r2]\n\ -_080198B4:\n\ - ldr r1, _080198E8 @ =gBattleCommunication\n\ - ldrb r0, [r2]\n\ - strb r0, [r1, 0x3]\n\ - ldr r0, _080198EC @ =gBankAttacker\n\ - ldrb r1, [r0]\n\ - ldr r5, _080198F0 @ =0x00016003\n\ - adds r0, r7, r5\n\ - strb r1, [r0]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _080198F4 @ =gBattlescriptCurrInstr\n\ - ldr r0, _080198F8 @ =BattleScript_SynchronizeActivates\n\ - str r0, [r1]\n\ - ldr r0, [r4]\n\ - movs r1, 0x80\n\ - lsls r1, 6\n\ - orrs r0, r1\n\ - str r0, [r4]\n\ - b _08019F22\n\ - .align 2, 0\n\ -_080198DC: .4byte gHitMarker\n\ -_080198E0: .4byte 0xffffbfff\n\ -_080198E4: .4byte 0x000160ca\n\ -_080198E8: .4byte gBattleCommunication\n\ -_080198EC: .4byte gBankAttacker\n\ -_080198F0: .4byte 0x00016003\n\ -_080198F4: .4byte gBattlescriptCurrInstr\n\ -_080198F8: .4byte BattleScript_SynchronizeActivates\n\ -_080198FC:\n\ - movs r4, 0\n\ - ldr r0, _08019934 @ =gNoOfAllBanks\n\ - ldrb r1, [r0]\n\ - cmp r4, r1\n\ - blt _08019908\n\ - b _08019F76\n\ -_08019908:\n\ - ldr r0, _08019938 @ =gBattleMons\n\ - adds r5, r1, 0\n\ - ldr r2, _0801993C @ =gStatuses3\n\ - adds r3, r0, 0\n\ - adds r3, 0x20\n\ - movs r6, 0x80\n\ - lsls r6, 12\n\ -_08019916:\n\ - ldrb r1, [r3]\n\ - cmp r1, 0x16\n\ - bne _08019926\n\ - ldr r0, [r2]\n\ - ands r0, r6\n\ - cmp r0, 0\n\ - beq _08019926\n\ - b _08019E6C\n\ -_08019926:\n\ - adds r2, 0x4\n\ - adds r3, 0x58\n\ - adds r4, 0x1\n\ - cmp r4, r5\n\ - blt _08019916\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019934: .4byte gNoOfAllBanks\n\ -_08019938: .4byte gBattleMons\n\ -_0801993C: .4byte gStatuses3\n\ -_08019940:\n\ - movs r4, 0\n\ - ldr r0, _08019A1C @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _0801994C\n\ - b _08019F76\n\ -_0801994C:\n\ - ldr r0, _08019A20 @ =gActiveBank\n\ - mov r8, r0\n\ - ldr r1, _08019A24 @ =gBattleMons\n\ - adds r1, 0x20\n\ - str r1, [sp, 0x1C]\n\ - movs r2, 0\n\ - str r2, [sp, 0x20]\n\ -_0801995A:\n\ - ldr r3, [sp, 0x1C]\n\ - ldrb r0, [r3]\n\ - cmp r0, 0x24\n\ - beq _08019964\n\ - b _08019AF6\n\ -_08019964:\n\ - ldr r0, _08019A28 @ =gStatuses3\n\ - ldr r5, [sp, 0x20]\n\ - adds r0, r5, r0\n\ - ldr r1, [r0]\n\ - movs r0, 0x80\n\ - lsls r0, 13\n\ - ands r1, r0\n\ - str r5, [sp, 0x18]\n\ - cmp r1, 0\n\ - bne _0801997A\n\ - b _08019AF6\n\ -_0801997A:\n\ - lsls r0, r4, 24\n\ - lsrs r0, 24\n\ - bl GetBankIdentity\n\ - movs r1, 0x1\n\ - adds r5, r0, 0\n\ - eors r5, r1\n\ - ands r5, r1\n\ - adds r0, r5, 0\n\ - bl GetBankByPlayerAI\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - adds r0, r5, 0x2\n\ - bl GetBankByPlayerAI\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - ldr r0, _08019A2C @ =gBattleTypeFlags\n\ - ldrh r1, [r0]\n\ - movs r2, 0x1\n\ - adds r0, r2, 0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080199AE\n\ - b _08019ABC\n\ -_080199AE:\n\ - movs r1, 0x58\n\ - adds r0, r6, 0\n\ - muls r0, r1\n\ - ldr r3, _08019A24 @ =gBattleMons\n\ - adds r1, r0, r3\n\ - adds r0, r1, 0\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08019A78\n\ - ldrh r0, [r1, 0x28]\n\ - cmp r0, 0\n\ - beq _08019A34\n\ - movs r1, 0x58\n\ - adds r0, r7, 0\n\ - muls r0, r1\n\ - adds r1, r0, r3\n\ - adds r0, r1, 0\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08019A34\n\ - ldrh r0, [r1, 0x28]\n\ - cmp r0, 0\n\ - beq _08019A34\n\ - str r2, [sp, 0x24]\n\ - bl Random\n\ - ldr r2, [sp, 0x24]\n\ - adds r1, r2, 0\n\ - ands r1, r0\n\ - lsls r1, 1\n\ - orrs r5, r1\n\ - adds r0, r5, 0\n\ - bl GetBankByPlayerAI\n\ - mov r2, r8\n\ - strb r0, [r2]\n\ - ldrb r0, [r2]\n\ - movs r3, 0x58\n\ - muls r0, r3\n\ - ldr r5, _08019A24 @ =gBattleMons\n\ - adds r0, r5\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - ldr r1, [sp, 0x1C]\n\ - strb r0, [r1]\n\ - ldrb r0, [r2]\n\ - muls r0, r3\n\ - adds r0, r5\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - ldr r2, _08019A30 @ =gLastUsedAbility\n\ - strb r0, [r2]\n\ - b _08019AE4\n\ - .align 2, 0\n\ -_08019A1C: .4byte gNoOfAllBanks\n\ -_08019A20: .4byte gActiveBank\n\ -_08019A24: .4byte gBattleMons\n\ -_08019A28: .4byte gStatuses3\n\ -_08019A2C: .4byte gBattleTypeFlags\n\ -_08019A30: .4byte gLastUsedAbility\n\ -_08019A34:\n\ - ldr r3, _08019A74 @ =gBattleMons\n\ - movs r2, 0x58\n\ - adds r0, r6, 0\n\ - muls r0, r2\n\ - adds r1, r0, r3\n\ - adds r0, r1, 0\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08019A78\n\ - ldrh r0, [r1, 0x28]\n\ - cmp r0, 0\n\ - beq _08019A78\n\ - mov r5, r8\n\ - strb r6, [r5]\n\ - adds r1, r4, 0\n\ - muls r1, r2\n\ - adds r1, r3\n\ - ldrb r0, [r5]\n\ - muls r0, r2\n\ - adds r0, r3\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - adds r1, 0x20\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - muls r0, r2\n\ - adds r0, r3\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - b _08019AE0\n\ - .align 2, 0\n\ -_08019A74: .4byte gBattleMons\n\ -_08019A78:\n\ - ldr r3, _08019AB8 @ =gBattleMons\n\ - movs r2, 0x58\n\ - adds r0, r7, 0\n\ - muls r0, r2\n\ - adds r1, r0, r3\n\ - adds r0, r1, 0\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08019AEE\n\ - ldrh r0, [r1, 0x28]\n\ - cmp r0, 0\n\ - beq _08019AEE\n\ - mov r5, r8\n\ - strb r7, [r5]\n\ - adds r1, r4, 0\n\ - muls r1, r2\n\ - adds r1, r3\n\ - ldrb r0, [r5]\n\ - muls r0, r2\n\ - adds r0, r3\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - adds r1, 0x20\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - muls r0, r2\n\ - adds r0, r3\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - b _08019AE0\n\ - .align 2, 0\n\ -_08019AB8: .4byte gBattleMons\n\ -_08019ABC:\n\ - mov r2, r8\n\ - strb r6, [r2]\n\ - movs r3, 0x58\n\ - adds r0, r6, 0\n\ - muls r0, r3\n\ - ldr r5, _08019B10 @ =gBattleMons\n\ - adds r0, r5\n\ - adds r2, r0, 0\n\ - adds r2, 0x20\n\ - ldrb r1, [r2]\n\ - cmp r1, 0\n\ - beq _08019AEE\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - beq _08019AEE\n\ - ldr r0, [sp, 0x1C]\n\ - strb r1, [r0]\n\ - ldrb r0, [r2]\n\ -_08019AE0:\n\ - ldr r1, _08019B14 @ =gLastUsedAbility\n\ - strb r0, [r1]\n\ -_08019AE4:\n\ - mov r0, r9\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019AEE:\n\ - mov r2, r9\n\ - cmp r2, 0\n\ - beq _08019AF6\n\ - b _08019E88\n\ -_08019AF6:\n\ - ldr r3, [sp, 0x1C]\n\ - adds r3, 0x58\n\ - str r3, [sp, 0x1C]\n\ - ldr r5, [sp, 0x20]\n\ - adds r5, 0x4\n\ - str r5, [sp, 0x20]\n\ - adds r4, 0x1\n\ - ldr r0, _08019B18 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - bge _08019B0E\n\ - b _0801995A\n\ -_08019B0E:\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019B10: .4byte gBattleMons\n\ -_08019B14: .4byte gLastUsedAbility\n\ -_08019B18: .4byte gNoOfAllBanks\n\ -_08019B1C:\n\ - movs r4, 0\n\ - ldr r0, _08019B54 @ =gNoOfAllBanks\n\ - ldrb r1, [r0]\n\ - cmp r4, r1\n\ - blt _08019B28\n\ - b _08019F76\n\ -_08019B28:\n\ - ldr r0, _08019B58 @ =gBattleMons\n\ - adds r5, r1, 0\n\ - ldr r2, _08019B5C @ =gStatuses3\n\ - adds r3, r0, 0\n\ - adds r3, 0x20\n\ - movs r6, 0x80\n\ - lsls r6, 12\n\ -_08019B36:\n\ - ldrb r1, [r3]\n\ - cmp r1, 0x16\n\ - bne _08019B46\n\ - ldr r0, [r2]\n\ - ands r0, r6\n\ - cmp r0, 0\n\ - beq _08019B46\n\ - b _08019F04\n\ -_08019B46:\n\ - adds r2, 0x4\n\ - adds r3, 0x58\n\ - adds r4, 0x1\n\ - cmp r4, r5\n\ - blt _08019B36\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019B54: .4byte gNoOfAllBanks\n\ -_08019B58: .4byte gBattleMons\n\ -_08019B5C: .4byte gStatuses3\n\ -_08019B60:\n\ - mov r0, r10\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - movs r4, 0\n\ - ldr r0, _08019BB0 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019B76\n\ - b _08019F76\n\ -_08019B76:\n\ - ldr r7, _08019BB4 @ =gBattleMons\n\ -_08019B78:\n\ - lsls r0, r4, 24\n\ - lsrs r0, 24\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r3, r4, 0x1\n\ - cmp r0, r5\n\ - beq _08019BA2\n\ - movs r0, 0x58\n\ - muls r0, r4\n\ - adds r0, r7\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne _08019BA2\n\ - ldr r0, _08019BB8 @ =gLastUsedAbility\n\ - strb r6, [r0]\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019BA2:\n\ - adds r4, r3, 0\n\ - ldr r0, _08019BB0 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019B78\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019BB0: .4byte gNoOfAllBanks\n\ -_08019BB4: .4byte gBattleMons\n\ -_08019BB8: .4byte gLastUsedAbility\n\ -_08019BBC:\n\ - mov r0, r10\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - movs r4, 0\n\ - ldr r0, _08019C0C @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019BD2\n\ - b _08019F76\n\ -_08019BD2:\n\ - ldr r7, _08019C10 @ =gBattleMons\n\ -_08019BD4:\n\ - lsls r0, r4, 24\n\ - lsrs r0, 24\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r3, r4, 0x1\n\ - cmp r0, r5\n\ - bne _08019BFE\n\ - movs r0, 0x58\n\ - muls r0, r4\n\ - adds r0, r7\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne _08019BFE\n\ - ldr r0, _08019C14 @ =gLastUsedAbility\n\ - strb r6, [r0]\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019BFE:\n\ - adds r4, r3, 0\n\ - ldr r0, _08019C0C @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019BD4\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019C0C: .4byte gNoOfAllBanks\n\ -_08019C10: .4byte gBattleMons\n\ -_08019C14: .4byte gLastUsedAbility\n\ -_08019C18:\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - cmp r0, 0xFD\n\ - beq _08019C40\n\ - cmp r0, 0xFE\n\ - beq _08019C78\n\ - movs r4, 0\n\ - ldr r0, _08019C38 @ =gNoOfAllBanks\n\ - adds r5, r0, 0\n\ - ldrb r2, [r5]\n\ - cmp r4, r2\n\ - blt _08019C32\n\ - b _08019F76\n\ -_08019C32:\n\ - ldr r2, _08019C3C @ =gBattleMons\n\ - b _08019CB0\n\ - .align 2, 0\n\ -_08019C38: .4byte gNoOfAllBanks\n\ -_08019C3C: .4byte gBattleMons\n\ -_08019C40:\n\ - movs r4, 0\n\ - ldr r0, _08019C70 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019C4C\n\ - b _08019F76\n\ -_08019C4C:\n\ - ldr r5, _08019C74 @ =gStatuses3\n\ - movs r2, 0x80\n\ - lsls r2, 9\n\ - adds r1, r0, 0\n\ -_08019C54:\n\ - lsls r0, r4, 2\n\ - adds r0, r5\n\ - ldr r0, [r0]\n\ - ands r0, r2\n\ - adds r3, r4, 0x1\n\ - cmp r0, 0\n\ - beq _08019C68\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019C68:\n\ - adds r4, r3, 0\n\ - cmp r4, r1\n\ - blt _08019C54\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019C70: .4byte gNoOfAllBanks\n\ -_08019C74: .4byte gStatuses3\n\ -_08019C78:\n\ - movs r4, 0\n\ - ldr r0, _08019CA8 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019C84\n\ - b _08019F76\n\ -_08019C84:\n\ - ldr r5, _08019CAC @ =gStatuses3\n\ - movs r2, 0x80\n\ - lsls r2, 10\n\ - adds r1, r0, 0\n\ -_08019C8C:\n\ - lsls r0, r4, 2\n\ - adds r0, r5\n\ - ldr r0, [r0]\n\ - ands r0, r2\n\ - adds r3, r4, 0x1\n\ - cmp r0, 0\n\ - beq _08019CA0\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019CA0:\n\ - adds r4, r3, 0\n\ - cmp r4, r1\n\ - blt _08019C8C\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019CA8: .4byte gNoOfAllBanks\n\ -_08019CAC: .4byte gStatuses3\n\ -_08019CB0:\n\ - movs r0, 0x58\n\ - muls r0, r4\n\ - adds r0, r2\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - adds r3, r4, 0x1\n\ - cmp r0, r6\n\ - bne _08019CCA\n\ - mov r0, r8\n\ - strb r6, [r0]\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019CCA:\n\ - adds r4, r3, 0\n\ - ldrb r1, [r5]\n\ - cmp r4, r1\n\ - blt _08019CB0\n\ - b _08019F76\n\ -_08019CD4:\n\ - movs r4, 0\n\ - ldr r0, _08019D10 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019CE0\n\ - b _08019F76\n\ -_08019CE0:\n\ - ldr r7, _08019D14 @ =gBattleMons\n\ - adds r2, r0, 0\n\ - movs r5, 0x58\n\ -_08019CE6:\n\ - adds r0, r4, 0\n\ - muls r0, r5\n\ - adds r1, r0, r7\n\ - adds r0, r1, 0\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - adds r3, r4, 0x1\n\ - cmp r0, r6\n\ - bne _08019D08\n\ - ldrh r0, [r1, 0x28]\n\ - cmp r0, 0\n\ - beq _08019D08\n\ - mov r0, r8\n\ - strb r6, [r0]\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019D08:\n\ - adds r4, r3, 0\n\ - cmp r4, r2\n\ - blt _08019CE6\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019D10: .4byte gNoOfAllBanks\n\ -_08019D14: .4byte gBattleMons\n\ -_08019D18:\n\ - movs r4, 0\n\ - ldr r0, _08019D50 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019D24\n\ - b _08019F76\n\ -_08019D24:\n\ - ldr r7, _08019D54 @ =gBattleMons\n\ - adds r1, r0, 0\n\ - movs r5, 0x58\n\ - ldr r2, _08019D58 @ =gLastUsedAbility\n\ -_08019D2C:\n\ - adds r0, r4, 0\n\ - muls r0, r5\n\ - adds r0, r7\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - adds r3, r4, 0x1\n\ - cmp r0, r6\n\ - bne _08019D48\n\ - cmp r4, r10\n\ - beq _08019D48\n\ - strb r6, [r2]\n\ - lsls r0, r3, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019D48:\n\ - adds r4, r3, 0\n\ - cmp r4, r1\n\ - blt _08019D2C\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019D50: .4byte gNoOfAllBanks\n\ -_08019D54: .4byte gBattleMons\n\ -_08019D58: .4byte gLastUsedAbility\n\ -_08019D5C:\n\ - mov r0, r10\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - movs r4, 0\n\ - ldr r0, _08019DAC @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019D72\n\ - b _08019F76\n\ -_08019D72:\n\ - ldr r7, _08019DB0 @ =gBattleMons\n\ -_08019D74:\n\ - lsls r0, r4, 24\n\ - lsrs r0, 24\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, r5\n\ - beq _08019DA0\n\ - movs r0, 0x58\n\ - muls r0, r4\n\ - adds r0, r7\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne _08019DA0\n\ - ldr r0, _08019DB4 @ =gLastUsedAbility\n\ - strb r6, [r0]\n\ - mov r0, r9\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019DA0:\n\ - adds r4, 0x1\n\ - ldr r0, _08019DAC @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019D74\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019DAC: .4byte gNoOfAllBanks\n\ -_08019DB0: .4byte gBattleMons\n\ -_08019DB4: .4byte gLastUsedAbility\n\ -_08019DB8:\n\ - mov r0, r10\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - movs r4, 0\n\ - ldr r0, _08019E08 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019DCE\n\ - b _08019F76\n\ -_08019DCE:\n\ - ldr r7, _08019E0C @ =gBattleMons\n\ -_08019DD0:\n\ - lsls r0, r4, 24\n\ - lsrs r0, 24\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, r5\n\ - bne _08019DFC\n\ - movs r0, 0x58\n\ - muls r0, r4\n\ - adds r0, r7\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, r6\n\ - bne _08019DFC\n\ - ldr r0, _08019E10 @ =gLastUsedAbility\n\ - strb r6, [r0]\n\ - mov r0, r9\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019DFC:\n\ - adds r4, 0x1\n\ - ldr r0, _08019E08 @ =gNoOfAllBanks\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - blt _08019DD0\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019E08: .4byte gNoOfAllBanks\n\ -_08019E0C: .4byte gBattleMons\n\ -_08019E10: .4byte gLastUsedAbility\n\ -_08019E14:\n\ - ldr r0, _08019E30 @ =BattleScript_CastformChange\n\ - bl b_push_move_exec\n\ - ldr r0, _08019E34 @ =0x02000000\n\ - ldr r2, _08019E38 @ =0x00016003\n\ - adds r1, r0, r2\n\ - strb r6, [r1]\n\ - mov r1, r9\n\ - subs r1, 0x1\n\ - ldr r3, _08019E3C @ =0x0001609b\n\ - adds r0, r3\n\ - strb r1, [r0]\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019E30: .4byte BattleScript_CastformChange\n\ -_08019E34: .4byte 0x02000000\n\ -_08019E38: .4byte 0x00016003\n\ -_08019E3C: .4byte 0x0001609b\n\ -_08019E40:\n\ - ldr r0, _08019E5C @ =BattleScript_CastformChange\n\ - bl b_push_move_exec\n\ - ldr r0, _08019E60 @ =0x02000000\n\ - ldr r5, _08019E64 @ =0x00016003\n\ - adds r1, r0, r5\n\ - mov r2, r10\n\ - strb r2, [r1]\n\ - mov r1, r9\n\ - subs r1, 0x1\n\ - ldr r3, _08019E68 @ =0x0001609b\n\ - adds r0, r3\n\ - strb r1, [r0]\n\ - b _08019F92\n\ - .align 2, 0\n\ -_08019E5C: .4byte BattleScript_CastformChange\n\ -_08019E60: .4byte 0x02000000\n\ -_08019E64: .4byte 0x00016003\n\ -_08019E68: .4byte 0x0001609b\n\ -_08019E6C:\n\ - mov r5, r8\n\ - strb r1, [r5]\n\ - ldr r0, [r2]\n\ - ldr r1, _08019E80 @ =0xfff7ffff\n\ - ands r0, r1\n\ - str r0, [r2]\n\ - ldr r0, _08019E84 @ =gUnknown_081D978C\n\ - bl b_push_move_exec\n\ - b _08019F1A\n\ - .align 2, 0\n\ -_08019E80: .4byte 0xfff7ffff\n\ -_08019E84: .4byte gUnknown_081D978C\n\ -_08019E88:\n\ - ldr r0, _08019EDC @ =BattleScript_TraceActivates\n\ - bl b_push_move_exec\n\ - ldr r1, _08019EE0 @ =gStatuses3\n\ - ldr r2, [sp, 0x18]\n\ - adds r1, r2, r1\n\ - ldr r0, [r1]\n\ - ldr r2, _08019EE4 @ =0xffefffff\n\ - ands r0, r2\n\ - str r0, [r1]\n\ - ldr r0, _08019EE8 @ =0x02000000\n\ - ldr r3, _08019EEC @ =0x00016003\n\ - adds r0, r3\n\ - strb r4, [r0]\n\ - ldr r1, _08019EF0 @ =gBattleTextBuff1\n\ - movs r4, 0xFD\n\ - strb r4, [r1]\n\ - movs r0, 0x4\n\ - strb r0, [r1, 0x1]\n\ - ldr r2, _08019EF4 @ =gActiveBank\n\ - ldrb r0, [r2]\n\ - strb r0, [r1, 0x2]\n\ - ldr r3, _08019EF8 @ =gBattlePartyID\n\ - ldrb r0, [r2]\n\ - lsls r0, 1\n\ - adds r0, r3\n\ - ldrh r0, [r0]\n\ - strb r0, [r1, 0x3]\n\ - movs r0, 0xFF\n\ - strb r0, [r1, 0x4]\n\ - ldr r1, _08019EFC @ =gBattleTextBuff2\n\ - strb r4, [r1]\n\ - movs r0, 0x9\n\ - strb r0, [r1, 0x1]\n\ - ldr r0, _08019F00 @ =gLastUsedAbility\n\ - ldrb r0, [r0]\n\ - strb r0, [r1, 0x2]\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - strb r0, [r1, 0x3]\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019EDC: .4byte BattleScript_TraceActivates\n\ -_08019EE0: .4byte gStatuses3\n\ -_08019EE4: .4byte 0xffefffff\n\ -_08019EE8: .4byte 0x02000000\n\ -_08019EEC: .4byte 0x00016003\n\ -_08019EF0: .4byte gBattleTextBuff1\n\ -_08019EF4: .4byte gActiveBank\n\ -_08019EF8: .4byte gBattlePartyID\n\ -_08019EFC: .4byte gBattleTextBuff2\n\ -_08019F00: .4byte gLastUsedAbility\n\ -_08019F04:\n\ - mov r5, r8\n\ - strb r1, [r5]\n\ - ldr r0, [r2]\n\ - ldr r1, _08019F30 @ =0xfff7ffff\n\ - ands r0, r1\n\ - str r0, [r2]\n\ - bl b_movescr_stack_push_cursor\n\ - ldr r1, _08019F34 @ =gBattlescriptCurrInstr\n\ - ldr r0, _08019F38 @ =gUnknown_081D9795\n\ - str r0, [r1]\n\ -_08019F1A:\n\ - ldr r0, _08019F3C @ =0x02000000\n\ - ldr r1, _08019F40 @ =0x000160dd\n\ - adds r0, r1\n\ - strb r4, [r0]\n\ -_08019F22:\n\ - mov r0, r9\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ - b _08019F76\n\ - .align 2, 0\n\ -_08019F30: .4byte 0xfff7ffff\n\ -_08019F34: .4byte gBattlescriptCurrInstr\n\ -_08019F38: .4byte gUnknown_081D9795\n\ -_08019F3C: .4byte 0x02000000\n\ -_08019F40: .4byte 0x000160dd\n\ -_08019F44:\n\ - movs r4, 0\n\ - ldr r0, _08019FA4 @ =gNoOfAllBanks\n\ - ldrb r1, [r0]\n\ - cmp r4, r1\n\ - bge _08019F76\n\ - ldr r0, _08019FA8 @ =gBattleMons\n\ - adds r2, r1, 0\n\ - adds r1, r0, 0\n\ - adds r1, 0x20\n\ - ldr r3, _08019FAC @ =gLastUsedAbility\n\ -_08019F58:\n\ - ldrb r0, [r1]\n\ - cmp r0, r6\n\ - bne _08019F6E\n\ - cmp r4, r10\n\ - beq _08019F6E\n\ - strb r6, [r3]\n\ - mov r0, r9\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r9, r0\n\ -_08019F6E:\n\ - adds r1, 0x58\n\ - adds r4, 0x1\n\ - cmp r4, r2\n\ - blt _08019F58\n\ -_08019F76:\n\ - mov r2, r9\n\ - cmp r2, 0\n\ - beq _08019F92\n\ -_08019F7C:\n\ - ldr r3, [sp, 0x4]\n\ - cmp r3, 0xB\n\ - bhi _08019F92\n\ - ldr r1, _08019FAC @ =gLastUsedAbility\n\ - ldrb r0, [r1]\n\ - cmp r0, 0xFF\n\ - beq _08019F92\n\ - adds r1, r0, 0\n\ - mov r0, r10\n\ - bl RecordAbilityBattle\n\ -_08019F92:\n\ - mov r0, r9\n\ - add sp, 0x28\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_08019FA4: .4byte gNoOfAllBanks\n\ -_08019FA8: .4byte gBattleMons\n\ -_08019FAC: .4byte gLastUsedAbility\n\ - .syntax divided"); -} - -#endif // NONMATCHING - void b_call_bc_move_exec(u8* BS_ptr) { gBattlescriptCurrInstr = BS_ptr; diff --git a/src/battle_4.c b/src/battle/battle_4.c index 65ea765cf..65e0458a2 100644 --- a/src/battle_4.c +++ b/src/battle/battle_4.c @@ -93,6 +93,7 @@ extern u16 gUnknown_02024C2C[4]; //last used moves 2, used by sketch extern u16 gUnknown_030041B0; extern u16 gUnknown_02024C4C[4]; //last used moves by banks, another one extern u8 gCurrentMoveTurn; +extern u16 gTrappingMoves[]; //extern functions u8 AtkCanceller_UnableToUseMove(void); @@ -122,7 +123,7 @@ bool8 IsTradedMon(struct Pokemon*); void b_movescr_stack_pop_cursor(void); void SwitchInClearStructs(void); u8* ConvertIntToDecimalStringN(u8*, s32, u8, u8); -u8 GetNationalPokedexFlag(u16 nationalNum, u8 caseID); +u8 GetSetPokedexFlag(u16 nationalNum, u8 caseID); u16 SpeciesToNationalPokedexNum(u16 species); u8 sub_803FC34(u8 bank); u16 sub_803FBFC(u8 a); @@ -199,6 +200,9 @@ extern u8 BattleScript_TrainerBallBlock[]; extern u8 BattleScript_WallyBallThrow[]; extern u8 BattleScript_SuccessBallThrow[]; extern u8 BattleScript_ShakeBallThrow[]; +extern u8 BattleScript_AllStatsUp[]; +extern u8 BattleScript_AtkDefDown[]; +extern u8 BattleScript_SAtkDown2[]; extern u8 gUnknown_081D919F[]; //spikes1 extern u8 gUnknown_081D9171[]; //spikes2 @@ -211,17 +215,10 @@ extern u8 BattleScript_CastformChange[]; extern u8 gUnknown_081D9834[]; extern u8 gUnknown_081D90FC[]; //bs random switchout extern u8 gUnknown_081D95DB[]; //bs payday money give - -//useful macros -//read via orr -#define BSScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) -#define BSScriptRead8(ptr) (((u8)((ptr)[0]))) -#define BSScriptReadPtr(ptr) ((void *)BSScriptRead32(ptr)) - -//read via add -#define BS2ScriptRead32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) -#define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) -#define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr)) +extern u8 gUnknown_081D8C58[]; +extern u8 gUnknown_081D8C65[]; +extern u8 gUnknown_081D9156[]; +extern u8 gUnknown_081D9468[]; #define TargetProtectAffected ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) @@ -408,6 +405,7 @@ static void atk85_stockpile(void); static void atk86_stockpiletobasedamage(void); static void atk87_stockpiletohpheal(void); static void atk88_negativedamage(void); +static u8 ChangeStatBuffs(s8, u8, u8, u8*); static void atk89_statbuffchange(void); static void atk8A_normalisebuffs(void); static void atk8B_setbide(void); @@ -862,19 +860,19 @@ static const u32 gStatusFlagsForMoveEffects[] = 0x00000000 }; -extern const u8 BattleScript_1D963E[]; -extern const u8 BattleScript_1D965A[]; -extern const u8 BattleScript_1D9669[]; -extern const u8 BattleScript_1D9678[]; -extern const u8 BattleScript_1D9687[]; -extern const u8 BattleScript_1D969D[]; -extern const u8 BattleScript_1D96BA[]; -extern const u8 BattleScript_1D9696[]; -extern const u8 BattleScript_1D96B1[]; -extern const u8 BattleScript_1D96AA[]; -extern const u8 BattleScript_1D96C8[]; +extern u8 BattleScript_1D963E[]; +extern u8 BattleScript_1D965A[]; +extern u8 BattleScript_1D9669[]; +extern u8 BattleScript_1D9678[]; +extern u8 BattleScript_1D9687[]; +extern u8 BattleScript_1D969D[]; +extern u8 BattleScript_1D96BA[]; +extern u8 BattleScript_1D9696[]; +extern u8 BattleScript_1D96B1[]; +extern u8 BattleScript_1D96AA[]; +extern u8 BattleScript_1D96C8[]; -const u8* const gMoveEffectBS_Ptrs[] = +u8* const gMoveEffectBS_Ptrs[] = { BattleScript_1D963E, BattleScript_1D963E, @@ -919,7 +917,7 @@ const u8* const gMoveEffectBS_Ptrs[] = const u8 sUnreferencedBitMask1[] = {0, 1, 3, 7, 0xF, 0x1F, 0x3F}; -const u8 gLevelUpStatBoxStats[] = {MON_DATA_MAX_HP, MON_DATA_SPATK, MON_DATA_ATK, MON_DATA_SPDEF, MON_DATA_DEF, MON_DATA_SPD}; +const u8 gLevelUpStatBoxStats[] = {MON_DATA_MAX_HP, MON_DATA_SPATK, MON_DATA_ATK, MON_DATA_SPDEF, MON_DATA_DEF, MON_DATA_SPEED}; static const u16 sProtectSuccessRates[] = {0xFFFF, 0x7FFF, 0x3FFF, 0x1FFF}; @@ -947,7 +945,7 @@ static const u16 sUnknown_081FACFE[] = //banned moves to copy 0xFFFF }; -static const u8 sUnknown_081FAD26[] = +static const u8 sUnknown_081FAD26[] = //reversal+flail HP thresholds to power { 1, 200, 4, 150, @@ -1109,7 +1107,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move) { gMoveHitWith[gBankTarget] = 0; gUnknown_02024C44[gBankTarget] = 0; - to_store = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + to_store = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -1190,13 +1188,13 @@ static bool8 AccuracyCalcHelper(u16 move) static void atk01_accuracycheck(void) { - u16 move = BS2ScriptRead16(gBattlescriptCurrInstr + 5); + u16 move = T2_READ_16(gBattlescriptCurrInstr + 5); if (move == 0xFFFE || move == 0xFFFF) { if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker) gBattlescriptCurrInstr += 7; else if (gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else if (!JumpIfMoveAffectedByProtect(0)) gBattlescriptCurrInstr += 7; } @@ -1445,73 +1443,71 @@ static void atk06_typecalc(void) { int i = 0; u8 move_type; - if (gCurrentMove == MOVE_STRUGGLE) {goto END;} - - if (BATTLE_STRUCT->dynamicMoveType) - move_type = BATTLE_STRUCT->dynamicMoveType & 0x3F; - else - move_type = gBattleMoves[gCurrentMove].type; - - //check stab - if (gBattleMons[gBankAttacker].type1 == move_type || gBattleMons[gBankAttacker].type2 == move_type) + if (gCurrentMove != MOVE_STRUGGLE) { - gBattleMoveDamage = gBattleMoveDamage * 15; - gBattleMoveDamage = gBattleMoveDamage / 10; - } + if (BATTLE_STRUCT->dynamicMoveType) + move_type = BATTLE_STRUCT->dynamicMoveType & 0x3F; + else + move_type = gBattleMoves[gCurrentMove].type; - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) - { - gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); - gMoveHitWith[gBankTarget] = 0; - gUnknown_02024C44[gBankTarget] = 0; - gBattleCommunication[6] = move_type; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); - } - else - { - while (gTypeEffectiveness[i]!= TYPE_ENDTABLE) + //check stab + if (gBattleMons[gBankAttacker].type1 == move_type || gBattleMons[gBankAttacker].type2 == move_type) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) - { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) - break; - i += 3; - continue; - } + gBattleMoveDamage = gBattleMoveDamage * 15; + gBattleMoveDamage = gBattleMoveDamage / 10; + } - else if (gTypeEffectiveness[i] == move_type) + if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) + { + gLastUsedAbility = gBattleMons[gBankTarget].ability; + gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + gMoveHitWith[gBankTarget] = 0; + gUnknown_02024C44[gBankTarget] = 0; + gBattleCommunication[6] = move_type; + RecordAbilityBattle(gBankTarget, gLastUsedAbility); + } + else + { + while (gTypeEffectiveness[i]!= TYPE_ENDTABLE) { - //check type1 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1) - ModulateDmgByType(gTypeEffectiveness[i + 2]); - //check type2 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && - gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2) - ModulateDmgByType(gTypeEffectiveness[i + 2]); + if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + { + if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + break; + i += 3; + continue; + } + + else if (gTypeEffectiveness[i] == move_type) + { + //check type1 + if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1) + ModulateDmgByType(gTypeEffectiveness[i + 2]); + //check type2 + if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && + gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2) + ModulateDmgByType(gTypeEffectiveness[i + 2]); + } + i += 3; } - i += 3; } - } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 - && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) - && gBattleMoves[gCurrentMove].power) - { - gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; - gMoveHitWith[gBankTarget] = 0; - gUnknown_02024C44[gBankTarget] = 0; - gBattleCommunication[6] = 3; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 + && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + && gBattleMoves[gCurrentMove].power) + { + gLastUsedAbility = ABILITY_WONDER_GUARD; + gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveHitWith[gBankTarget] = 0; + gUnknown_02024C44[gBankTarget] = 0; + gBattleCommunication[6] = 3; + RecordAbilityBattle(gBankTarget, gLastUsedAbility); + } + if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + gProtectStructs[gBankAttacker].notEffective = 1; } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) - gProtectStructs[gBankAttacker].notEffective = 1; - - END: - gBattlescriptCurrInstr++; + gBattlescriptCurrInstr++; } - static void b_wonderguard_and_levitate(void) { u8 flags = 0; @@ -1620,7 +1616,6 @@ static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) //a literal c } } -#ifdef NONMATCHING u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) { int i = 0; @@ -1662,7 +1657,7 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); //check type2 if (gTypeEffectiveness[i + 1] == gBattleMons[bank_def].type2 && - gBattleMons[bank_def].type1 != gBattleMons[bank_def].type2) + gBattleMons[gBankTarget /* what the christ */].type1 != gBattleMons[bank_def].type2) ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); } i += 3; @@ -1678,254 +1673,6 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) } return flags; } -#else -__attribute__((naked)) -u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x14\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r10, r0\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r1, [sp, 0x4]\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - mov r9, r2\n\ - movs r7, 0\n\ - mov r0, sp\n\ - strb r7, [r0]\n\ - mov r0, r10\n\ - cmp r0, 0xA5\n\ - bne _0801D2AE\n\ - movs r0, 0\n\ - b _0801D43A\n\ - _0801D2AE:\n\ - ldr r1, _0801D31C @ =gBattleMoves\n\ - mov r3, r10\n\ - lsls r2, r3, 1\n\ - adds r0, r2, r3\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x2]\n\ - str r0, [sp, 0x8]\n\ - ldr r1, _0801D320 @ =gBattleMons\n\ - movs r0, 0x58\n\ - ldr r3, [sp, 0x4]\n\ - muls r0, r3\n\ - adds r3, r0, r1\n\ - adds r0, r3, 0\n\ - adds r0, 0x21\n\ - ldrb r0, [r0]\n\ - str r2, [sp, 0xC]\n\ - adds r5, r1, 0\n\ - ldr r1, [sp, 0x8]\n\ - cmp r0, r1\n\ - beq _0801D2E2\n\ - adds r0, r3, 0\n\ - adds r0, 0x22\n\ - ldrb r0, [r0]\n\ - cmp r0, r1\n\ - bne _0801D2F4\n\ - _0801D2E2:\n\ - ldr r4, _0801D324 @ =gBattleMoveDamage\n\ - ldr r1, [r4]\n\ - lsls r0, r1, 4\n\ - subs r0, r1\n\ - str r0, [r4]\n\ - movs r1, 0xA\n\ - bl __divsi3\n\ - str r0, [r4]\n\ - _0801D2F4:\n\ - movs r0, 0x58\n\ - mov r2, r9\n\ - muls r2, r0\n\ - adds r0, r2, 0\n\ - adds r0, r5\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x1A\n\ - bne _0801D328\n\ - ldr r3, [sp, 0x8]\n\ - cmp r3, 0x4\n\ - bne _0801D328\n\ - movs r1, 0x9\n\ - mov r0, sp\n\ - ldrb r0, [r0]\n\ - orrs r0, r1\n\ - mov r1, sp\n\ - strb r0, [r1]\n\ - b _0801D3DC\n\ - .align 2, 0\n\ - _0801D31C: .4byte gBattleMoves\n\ - _0801D320: .4byte gBattleMons\n\ - _0801D324: .4byte gBattleMoveDamage\n\ - _0801D328:\n\ - ldr r1, _0801D344 @ =gTypeEffectiveness\n\ - adds r0, r7, r1\n\ - ldrb r0, [r0]\n\ - adds r2, r1, 0\n\ - cmp r0, 0xFF\n\ - beq _0801D3DC\n\ - cmp r0, 0xFE\n\ - bne _0801D34C\n\ - movs r0, 0x58\n\ - mov r1, r9\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - b _0801D3CA\n\ - .align 2, 0\n\ - _0801D344: .4byte gTypeEffectiveness\n\ - _0801D348:\n\ - adds r7, 0x3\n\ - b _0801D3B6\n\ - _0801D34C:\n\ - ldr r6, _0801D44C @ =gTypeEffectiveness\n\ - adds r0, r7, r6\n\ - ldrb r0, [r0]\n\ - ldr r2, [sp, 0x8]\n\ - cmp r0, r2\n\ - bne _0801D3B0\n\ - adds r1, r7, 0x1\n\ - adds r1, r6\n\ - ldr r3, _0801D450 @ =gBattleMons\n\ - mov r8, r3\n\ - movs r3, 0x58\n\ - mov r0, r9\n\ - muls r0, r3\n\ - mov r2, r8\n\ - adds r5, r0, r2\n\ - adds r0, r5, 0\n\ - adds r0, 0x21\n\ - ldrb r4, [r1]\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - bne _0801D388\n\ - adds r0, r7, 0x2\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - mov r1, r10\n\ - mov r2, sp\n\ - str r3, [sp, 0x10]\n\ - bl ModulateDmgByType2\n\ - ldr r3, [sp, 0x10]\n\ - _0801D388:\n\ - adds r0, r5, 0\n\ - adds r0, 0x22\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - bne _0801D3B0\n\ - ldr r0, _0801D454 @ =gBankTarget\n\ - ldrb r0, [r0]\n\ - muls r0, r3\n\ - add r0, r8\n\ - adds r0, 0x21\n\ - ldrb r0, [r0]\n\ - cmp r0, r4\n\ - beq _0801D3B0\n\ - adds r0, r7, 0x2\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - mov r1, r10\n\ - mov r2, sp\n\ - bl ModulateDmgByType2\n\ - _0801D3B0:\n\ - adds r7, 0x3\n\ - ldr r5, _0801D450 @ =gBattleMons\n\ - ldr r2, _0801D44C @ =gTypeEffectiveness\n\ - _0801D3B6:\n\ - adds r0, r7, r2\n\ - ldrb r0, [r0]\n\ - cmp r0, 0xFF\n\ - beq _0801D3DC\n\ - cmp r0, 0xFE\n\ - bne _0801D34C\n\ - movs r0, 0x58\n\ - mov r3, r9\n\ - muls r3, r0\n\ - adds r0, r3, 0\n\ - _0801D3CA:\n\ - adds r1, r5, 0\n\ - adds r1, 0x50\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x80\n\ - lsls r1, 22\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0801D348\n\ - _0801D3DC:\n\ - movs r0, 0x58\n\ - mov r1, r9\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - adds r0, r5\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x19\n\ - bne _0801D436\n\ - mov r0, sp\n\ - ldrb r1, [r0]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801D436\n\ - ldr r0, [sp, 0x4]\n\ - mov r1, r10\n\ - bl AttacksThisTurn\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - cmp r1, 0x2\n\ - bne _0801D436\n\ - mov r0, sp\n\ - ldrb r3, [r0]\n\ - adds r0, r1, 0\n\ - ands r0, r3\n\ - cmp r0, 0\n\ - beq _0801D41E\n\ - movs r0, 0x6\n\ - ands r0, r3\n\ - cmp r0, 0x6\n\ - bne _0801D436\n\ - _0801D41E:\n\ - ldr r0, _0801D458 @ =gBattleMoves\n\ - ldr r1, [sp, 0xC]\n\ - add r1, r10\n\ - lsls r1, 2\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - cmp r0, 0\n\ - beq _0801D436\n\ - mov r0, sp\n\ - movs r1, 0x1\n\ - orrs r1, r3\n\ - strb r1, [r0]\n\ - _0801D436:\n\ - mov r0, sp\n\ - ldrb r0, [r0]\n\ - _0801D43A:\n\ - add sp, 0x14\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ - _0801D44C: .4byte gTypeEffectiveness\n\ - _0801D450: .4byte gBattleMons\n\ - _0801D454: .4byte gBankTarget\n\ - _0801D458: .4byte gBattleMoves\n\ - .syntax divided\n"); -} -#endif // NONMATCHING u8 AI_TypeCalc(u16 move, u16 species, u8 ability) { @@ -2132,7 +1879,7 @@ static void atk0B_healthbarupdate(void) if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) goto END; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { @@ -2171,7 +1918,7 @@ static void atk0C_datahpupdate(void) if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage) @@ -2216,7 +1963,7 @@ static void atk0C_datahpupdate(void) else { gTakenDmg[gActiveBank] += gBattleMoveDamage; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) gTakenDmgBanks[gActiveBank] = gBankAttacker; else gTakenDmgBanks[gActiveBank] = gBankTarget; @@ -2240,7 +1987,7 @@ static void atk0C_datahpupdate(void) { gProtectStructs[gActiveBank].physicalDmg = gHP_dealt; gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHP_dealt; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) { gProtectStructs[gActiveBank].physicalBank = gBankAttacker; gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker; @@ -2255,7 +2002,7 @@ static void atk0C_datahpupdate(void) { gProtectStructs[gActiveBank].specialDmg = gHP_dealt; gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHP_dealt; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) { gProtectStructs[gActiveBank].specialBank = gBankAttacker; gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker; @@ -2274,7 +2021,7 @@ static void atk0C_datahpupdate(void) } else { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF; } @@ -2429,7 +2176,7 @@ static void atk10_printstring(void) { if (gBattleExecBuffer == 0) { - u16 var = BS2ScriptRead16(gBattlescriptCurrInstr + 1); + u16 var = T2_READ_16(gBattlescriptCurrInstr + 1); PrepareStringBattle(var, gBankAttacker); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2439,7 +2186,7 @@ static void atk10_printstring(void) static void atk11_printstring_playeronly(void) { gActiveBank = gBankAttacker; - EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2455,7 +2202,7 @@ static void atk12_waitmessage(void) } else { - u16 to_wait = BS2ScriptRead16(gBattlescriptCurrInstr + 1); + u16 to_wait = T2_READ_16(gBattlescriptCurrInstr + 1); if (++gPauseCounterBattle >= to_wait) { gPauseCounterBattle = 0; @@ -2470,7 +2217,7 @@ static void atk13_printfromtable(void) { if (gBattleExecBuffer == 0) { - u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; PrepareStringBattle(*(u16*)ptr, gBankAttacker); gBattlescriptCurrInstr += 5; @@ -2482,7 +2229,7 @@ static void atk14_printfromtable_playeronly(void) { if (gBattleExecBuffer == 0) { - u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBank = gBankAttacker; EmitPrintStringPlayerOnly(0, *(u16*)ptr); @@ -2510,7 +2257,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) #define EffectAffectsUser 0x40 register u8 certain asm("r5") = certainArg; register bool32 StatusChanged asm("r10") = 0; - register int AffectsUser asm("r6") = 0; //0x40 otherwise + register int AffectsUser asm("r6") = 0; //0x40 otherwise bool32 NoSunCanFreeze = 1; if (gBattleCommunication[MOVE_EFFECT_BYTE] & EffectAffectsUser) @@ -2526,16 +2273,16 @@ void SetMoveEffect(bool8 primary, u8 certainArg) BATTLE_STRUCT->scriptingActive = gBankAttacker; } - if (gBattleMons[gEffectBank].ability_id == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && + if (gBattleMons[gEffectBank].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9) {gBattlescriptCurrInstr++; return;} - if (gSideAffecting[get_bank_identity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && + if (gSideAffecting[GetBankIdentity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7) {gBattlescriptCurrInstr++; return;} //make sure at least ONE HP except payday and thief - if (gBattleMons[gEffectBank].current_hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != 0xB && gBattleCommunication[MOVE_EFFECT_BYTE] != 0x1F) + if (gBattleMons[gEffectBank].hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != 0xB && gBattleCommunication[MOVE_EFFECT_BYTE] != 0x1F) {gBattlescriptCurrInstr++; return;} if (gBattleMons[gEffectBank].status2 & STATUS2_SUBSTITUTE && AffectsUser != EffectAffectsUser) @@ -2547,81 +2294,82 @@ void SetMoveEffect(bool8 primary, u8 certainArg) { case STATUS_SLEEP: //check active uproar - if (gBattleMons[gEffectBank].ability_id != ABILITY_SOUNDPROOF) + if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF) { for (gActiveBank = 0; gActiveBank < gNoOfAllBanks && !(gBattleMons[gActiveBank].status2 & STATUS2_UPROAR); gActiveBank++) {} } else gActiveBank = gNoOfAllBanks; - if (gBattleMons[gEffectBank].status) {break;} + if (gBattleMons[gEffectBank].status1) {break;} if (gActiveBank != gNoOfAllBanks) {break;} //nice way of checking uproar... - if (gBattleMons[gEffectBank].ability_id == ABILITY_VITAL_SPIRIT) {break;} - if (gBattleMons[gEffectBank].ability_id == ABILITY_INSOMNIA) {break;} + if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) {break;} + if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) {break;} - b_cancel_multi_turn_move_maybe(gEffectBank); + CancelMultiTurnMoves(gEffectBank); StatusChanged = 1; break; case STATUS_POISON: - if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) + if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_IMMUNITY; - RecordAbility(gEffectBank, ABILITY_IMMUNITY); + RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY); b_movescr_stack_push(gBattlescriptCurrInstr + 1); //_0801E664: - gBattlescriptCurrInstr = BS_PSN_PREVENTION; + gBattlescriptCurrInstr = BattleScript_PSNPrevention; if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { - gBattleCommunication.multistring_chooser = 1; + gBattleCommunication[MULTISTRING_CHOOSER] = 1; gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD); return; } else - {gBattleCommunication.multistring_chooser = 0; return;} + {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80)) { b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_PSN_PREVENTION; - gBattleCommunication.multistring_chooser = 2; + gBattlescriptCurrInstr = BattleScript_PSNPrevention; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; return; } if (gBattleMons[gEffectBank].type1 == TYPE_POISON) {break;} if (gBattleMons[gEffectBank].type2 == TYPE_POISON) {break;} if (gBattleMons[gEffectBank].type1 == TYPE_STEEL) {break;} if (gBattleMons[gEffectBank].type2 == TYPE_STEEL) {break;} - if (gBattleMons[gEffectBank].status) {break;} - if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY) {break;} + if (gBattleMons[gEffectBank].status1) {break;} + if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) {break;} + StatusChanged = 1; break; case STATUS_BURN: - if (gBattleMons[gEffectBank].ability_id == ABILITY_WATER_VEIL && (primary == 1 || certain == 0x80)) + if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL && (primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_WATER_VEIL; - RecordAbility(gEffectBank, ABILITY_WATER_VEIL); + RecordAbilityBattle(gEffectBank, ABILITY_WATER_VEIL); b_movescr_stack_push(gBattlescriptCurrInstr + 1); //_0801E664: - gBattlescriptCurrInstr = BS_BRN_PREVENTION; + gBattlescriptCurrInstr = BattleScript_BRNPrevention; if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { - gBattleCommunication.multistring_chooser = 1; + gBattleCommunication[MULTISTRING_CHOOSER] = 1; gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD); return; } else - {gBattleCommunication.multistring_chooser = 0; return;} + {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } if ((gBattleMons[gEffectBank].type1 == TYPE_FIRE || gBattleMons[gEffectBank].type2 == TYPE_FIRE) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80)) { b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_BRN_PREVENTION; - gBattleCommunication.multistring_chooser = 2; + gBattlescriptCurrInstr = BattleScript_BRNPrevention; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; return; } if (gBattleMons[gEffectBank].type1 == TYPE_FIRE) {break;} if (gBattleMons[gEffectBank].type2 == TYPE_FIRE) {break;} - if (gBattleMons[gEffectBank].ability_id == ABILITY_WATER_VEIL) {break;} + if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL) {break;} if (gBattleMons[gEffectBank].status1 == 0) {break;} StatusChanged = 1; break; @@ -2629,70 +2377,70 @@ void SetMoveEffect(bool8 primary, u8 certainArg) if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY) {NoSunCanFreeze = 0;} if (gBattleMons[gEffectBank].type1 == TYPE_ICE) {break;} if (gBattleMons[gEffectBank].type2 == TYPE_ICE) {break;} - if (gBattleMons[gEffectBank].status) {break;} + if (gBattleMons[gEffectBank].status1) {break;} if (NoSunCanFreeze == 0) {break;} - if (gBattleMons[gEffectBank].ability_id == ABILITY_MAGMA_ARMOR) {break;} + if (gBattleMons[gEffectBank].ability == ABILITY_MAGMA_ARMOR) {break;} - b_cancel_multi_turn_move_maybe(gEffectBank); + CancelMultiTurnMoves(gEffectBank); StatusChanged = 1; break; case STATUS_PARALYSIS: - if (gBattleMons[gEffectBank].ability_id == ABILITY_LIMBER) + if (gBattleMons[gEffectBank].ability == ABILITY_LIMBER) { if ((primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_LIMBER; - RecordAbility(gEffectBank, ABILITY_LIMBER); + RecordAbilityBattle(gEffectBank, ABILITY_LIMBER); b_movescr_stack_push(gBattlescriptCurrInstr + 1); //_0801E664: - gBattlescriptCurrInstr = BS_PRLZ_PREVENTION; + gBattlescriptCurrInstr = BattleScript_PRLZPrevention; if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { - gBattleCommunication.multistring_chooser = 1; + gBattleCommunication[MULTISTRING_CHOOSER] = 1; gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD); return; } else - {gBattleCommunication.multistring_chooser = 0; return;} + {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } else {break;} } - if (gBattleMons[gEffectBank].status) {break;} + if (gBattleMons[gEffectBank].status1) {break;} StatusChanged = 1; break; case STATUS_TOXIC_POISON: - if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) + if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == 1 || certain == 0x80)) { gLastUsedAbility = ABILITY_IMMUNITY; - RecordAbility(gEffectBank, ABILITY_IMMUNITY); + RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY); b_movescr_stack_push(gBattlescriptCurrInstr + 1); //_0801E664: - gBattlescriptCurrInstr = BS_PSN_PREVENTION; + gBattlescriptCurrInstr = BattleScript_PSNPrevention; if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { - gBattleCommunication.multistring_chooser = 1; + gBattleCommunication[MULTISTRING_CHOOSER] = 1; gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD); return; } else - {gBattleCommunication.multistring_chooser = 0; return;} + {gBattleCommunication[MULTISTRING_CHOOSER] = 0; return;} } if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == 1 || certain == 0x80)) { b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_PSN_PREVENTION; - gBattleCommunication.multistring_chooser = 2; + gBattlescriptCurrInstr = BattleScript_PSNPrevention; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; return; } - if (gBattleMons[gEffectBank].status) {break;} + if (gBattleMons[gEffectBank].status1) {break;} if (gBattleMons[gEffectBank].type1 != TYPE_POISON && gBattleMons[gEffectBank].type2 != TYPE_POISON && gBattleMons[gEffectBank].type1 != TYPE_STEEL && gBattleMons[gEffectBank].type2 != TYPE_STEEL) { - if (gBattleMons[gEffectBank].ability_id == ABILITY_IMMUNITY) {break;} - gBattleMons[gEffectBank].status1 |= ~(STATUS_POISON); //TODO: fix OR to AND + if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) {break;} + gBattleMons[gEffectBank].status1 &= ~(0x9); //This gets (correctly) optimized out... StatusChanged = 1; break; } @@ -2707,20 +2455,20 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattleMons[gEffectBank].status1 |= ((Random() & 3) + 2); else gBattleMons[gEffectBank].status1 |= gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; gActiveBank = gEffectBank; - bb2_setattributes_in_battle(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status); - mark_buffer_bank_for_execution(gActiveBank); + EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1); + MarkBufferBankForExecution(gActiveBank); if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { - gBattleCommunication.multistring_chooser = 1; + gBattleCommunication[MULTISTRING_CHOOSER] = 1; gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD); } else - gBattleCommunication.multistring_chooser = 0; + gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gBattleCommunication[MOVE_EFFECT_BYTE] == 2 || gBattleCommunication[MOVE_EFFECT_BYTE] == 6 || gBattleCommunication[MOVE_EFFECT_BYTE] == 5 || gBattleCommunication[MOVE_EFFECT_BYTE] == 3) { - BATTLE_STRUCT->SynchroniseEffect = gBattleCommunication[MOVE_EFFECT_BYTE]; + BATTLE_STRUCT->synchroniseEffect = gBattleCommunication[MOVE_EFFECT_BYTE]; gHitMarker |= HITMARKER_SYNCHRONISE_EFFECT; } return; @@ -2738,22 +2486,22 @@ void SetMoveEffect(bool8 primary, u8 certainArg) switch (gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) { case 7: //confusion - if (gBattleMons[gEffectBank].ability_id == ABILITY_OWN_TEMPO) + if (gBattleMons[gEffectBank].ability == ABILITY_OWN_TEMPO) {gBattlescriptCurrInstr++; return;} if (gBattleMons[gEffectBank].status2 & STATUS2_CONFUSION) {gBattlescriptCurrInstr++; return;} gBattleMons[gEffectBank].status2 |= (((Random()) % 0x4)) + 2; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 8: //flinch - if (gBattleMons[gEffectBank].ability_id == ABILITY_INNER_FOCUS) + if (gBattleMons[gEffectBank].ability == ABILITY_INNER_FOCUS) { if (primary == 1 || certain == 0x80) { gLastUsedAbility = ABILITY_INNER_FOCUS; - RecordAbility(gEffectBank, ABILITY_INNER_FOCUS); - gBattlescriptCurrInstr = BS_FLINCH_PREVENTION; + RecordAbilityBattle(gEffectBank, ABILITY_INNER_FOCUS); + gBattlescriptCurrInstr = BattleScript_FlinchPrevention; return; } else @@ -2773,21 +2521,21 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gLockedMove[gEffectBank] = gCurrentMove; gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 4; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 11: //pay day - if (!(get_bank_identity(gEffectBank) & 1)) + if (!(GetBankIdentity(gBankAttacker) & 1)) { u16 PayDay = gPaydayMoney; - gPaydayMoney += (gBattleMons[gEffectBank].level * 5); + gPaydayMoney += (gBattleMons[gBankAttacker].level * 5); if (PayDay > gPaydayMoney) gPaydayMoney = 0xFFFF; } b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 9: //tri attack - if (gBattleMons[gEffectBank].status) + if (gBattleMons[gEffectBank].status1) {gBattlescriptCurrInstr++; return;} gBattleCommunication[MOVE_EFFECT_BYTE] = Random() % 3 + 3; SetMoveEffect(0, 0); @@ -2795,73 +2543,73 @@ void SetMoveEffect(bool8 primary, u8 certainArg) case 12: //charging move gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; gLockedMove[gEffectBank] = gCurrentMove; - gProtectStructs[gEffectBank].flag1_chargingturn = 1; + gProtectStructs[gEffectBank].chargingTurn = 1; gBattlescriptCurrInstr++; break; case 13: //wrap if (gBattleMons[gEffectBank].status2 & STATUS2_WRAPPED) {gBattlescriptCurrInstr++; return;} gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 0xD; - BATTLE_STRUCT->WrappedMove1[gEffectBank] = gCurrentMove; - BATTLE_STRUCT->WrappedMove2[gEffectBank] = gCurrentMove >> 8; - BATTLE_STRUCT->WrappedBy[gEffectBank] = gBankAttacker; + BATTLE_STRUCT->wrappedMove[gEffectBank*2] = (u8)gCurrentMove; + (1 + BATTLE_STRUCT->wrappedMove)[gEffectBank*2] = gCurrentMove >> 8; //don't ask. + BATTLE_STRUCT->wrappedBy[gEffectBank] = gBankAttacker; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; - gBattleCommunication.multistring_chooser = 0; - while (gBattleCommunication.multistring_chooser <= 4 - && gCurrentMove != gTrappingMoves[gBattleCommunication.multistring_chooser]) - gBattleCommunication.multistring_chooser++; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + while (gBattleCommunication[MULTISTRING_CHOOSER] <= 4 + && gCurrentMove != gTrappingMoves[gBattleCommunication[MULTISTRING_CHOOSER]]) + gBattleCommunication[MULTISTRING_CHOOSER]++; break; - case 14: //recoil + case 14: //25% recoil gBattleMoveDamage = (gHP_dealt) / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 15 ... 21: //stat + 1 - if (ChangeStats(0x10, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xF2, certain, 0)) {gBattlescriptCurrInstr++;} + if (ChangeStatBuffs(0x10, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xF2, certain, 0)) {gBattlescriptCurrInstr++;} else { BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F; //TODO: the arg ptr is wrong by one BATTLE_STRUCT->animArg2 = 0; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_STAT_UP; + gBattlescriptCurrInstr = BattleScript_StatUp; } break; case 22 ... 28: //stat - 1 - if (ChangeStats(~(0x6f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xEB, certain, 0)) {gBattlescriptCurrInstr++;} //TODO: negation doesnt work correctly + if (ChangeStatBuffs(~(0x6f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xEB, certain, 0)) {gBattlescriptCurrInstr++;} //TODO: negation doesnt work correctly else { BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F; BATTLE_STRUCT->animArg2 = 0; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_STAT_DOWN; + gBattlescriptCurrInstr = BattleScript_StatDown; } break; case 39 ... 45: //stat + 2 - if (ChangeStats(0x20, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xDA, certain, 0)) {gBattlescriptCurrInstr++;} + if (ChangeStatBuffs(0x20, gBattleCommunication[MOVE_EFFECT_BYTE] + 0xDA, certain, 0)) {gBattlescriptCurrInstr++;} else { BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F; BATTLE_STRUCT->animArg2 = 0; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_STAT_UP; + gBattlescriptCurrInstr = BattleScript_StatUp; } break; case 46 ... 52: //stat - 2 - if (ChangeStats(~(0x5f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xD3, certain, 0)) {gBattlescriptCurrInstr++;} + if (ChangeStatBuffs(~(0x5f), gBattleCommunication[MOVE_EFFECT_BYTE] + 0xD3, certain, 0)) {gBattlescriptCurrInstr++;} else { BATTLE_STRUCT->animArg1 = gBattleCommunication[MOVE_EFFECT_BYTE] & 0x3F; BATTLE_STRUCT->animArg2 = 0; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_STAT_DOWN; + gBattlescriptCurrInstr = BattleScript_StatDown; } break; case 29: //recharge gBattleMons[gEffectBank].status2 |= STATUS2_RECHARGE; - gDisableStructs[gEffectBank].recharge_counter = 2; + gDisableStructs[gEffectBank].rechargeCounter = 2; gLockedMove[gEffectBank] = gCurrentMove; gBattlescriptCurrInstr++; break; @@ -2871,83 +2619,85 @@ void SetMoveEffect(bool8 primary, u8 certainArg) break; case 31: //item steal { - u8 side = battle_side_get_owner(gBankAttacker); - if (battle_side_get_owner(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) + u8 side = GetBankSide(gBankAttacker); + if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) {gBattlescriptCurrInstr++; return;} - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.KnockedOff[side] & gBitTable[gBattlePartyID[gBankAttacker]])) + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBankAttacker]])) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gBankTarget].held_item && gBattleMons[gBankTarget].ability_id == ABILITY_STICKY_HOLD) + if (gBattleMons[gBankTarget].item && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD) { b_movescr_stack_push_cursor(); - gBattlescriptCurrInstr = BS_NO_ITEMSTEAL; - gLastUsedAbility = gBattleMons[gBankTarget].ability_id; - RecordAbility(gBankTarget, gLastUsedAbility); + gBattlescriptCurrInstr = BattleScript_NoItemSteal; + gLastUsedAbility = gBattleMons[gBankTarget].ability; + RecordAbilityBattle(gBankTarget, gLastUsedAbility); return; } - if (gBattleMons[gBankAttacker].held_item) + if (gBattleMons[gBankAttacker].item) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gBankTarget].held_item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) {gBattlescriptCurrInstr++; return;} - if (gBattleMons[gBankTarget].held_item == 0) + if (gBattleMons[gBankTarget].item == 0) {gBattlescriptCurrInstr++; return;} - CHANGED_HELDITEMS[gBankAttacker] = gLastUsedItem = gBattleMons[gBankTarget].held_item; - gBattleMons[gBankTarget].held_item = 0; + gLastUsedItem = gBattleMons[gBankTarget].item; + unk_2000000[gBankAttacker * 2 + 0x160cc] = gLastUsedItem; + gBattleMons[gBankTarget].item = 0; gActiveBank = gBankAttacker; - bb2_setattributes_in_battle(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); - mark_buffer_bank_for_execution(gBankAttacker); + EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); + MarkBufferBankForExecution(gBankAttacker); gActiveBank = gBankTarget; - bb2_setattributes_in_battle(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].held_item); - mark_buffer_bank_for_execution(gBankTarget); + EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item); + MarkBufferBankForExecution(gBankTarget); b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_ITEMSTEAL; + gBattlescriptCurrInstr = BattleScript_ItemSteal; - STORE_CHOICEMOVE(gBankTarget, 0); + ewram[gBankTarget * 2 + 0x160e8] = 0; + //STORE_CHOICEMOVE(gBankTarget, 0); } break; case 32: //escape prevention gBattleMons[gBankTarget].status2 |= STATUS2_RECHARGE; - gDisableStructs[gBankTarget].BankPreventingEscape = gBankAttacker; + gDisableStructs[gBankTarget].bankPreventingEscape = gBankAttacker; gBattlescriptCurrInstr++; break; case 33: //nightmare gBattleMons[gBankTarget].status2 |= STATUS2_NIGHTMARE; gBattlescriptCurrInstr++; break; - case 34: + case 34: //ancientpower b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = gUnknown_081D9224; + gBattlescriptCurrInstr = BattleScript_AllStatsUp; return; case 35: //break free rapidspin b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_RAPIDSPINAWAY; + gBattlescriptCurrInstr = BattleScript_RapidSpinAway; return; case 36: //paralysis removal if (gBattleMons[gBankTarget].status1 & STATUS_PARALYSIS) { gBattleMons[gBankTarget].status1 &= ~(STATUS_PARALYSIS); gActiveBank = gBankTarget; - bb2_setattributes_in_battle(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status); - mark_buffer_bank_for_execution(gActiveBank); + EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); + MarkBufferBankForExecution(gActiveBank); b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_PARALYSISHEALED; + gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; } else {gBattlescriptCurrInstr++; return;} break; - case 37: // + case 37: //superpower b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = gUnknown_081D93FA; + gBattlescriptCurrInstr = BattleScript_AtkDefDown; return; - case 38: //recoil plus paralysis + case 38: //33% recoil gBattleMoveDamage = gHP_dealt / 3; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = MoveEffectBS_ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 53: //thrash if (!(gBattleMons[gEffectBank].status2 & STATUS2_LOCK_CONFUSE)) @@ -2960,32 +2710,33 @@ void SetMoveEffect(bool8 primary, u8 certainArg) {gBattlescriptCurrInstr++; return;} break; case 54: //knock off - if (gBattleMons[gEffectBank].ability_id == ABILITY_STICKY_HOLD) + if (gBattleMons[gEffectBank].ability == ABILITY_STICKY_HOLD) { - if (gBattleMons[gEffectBank].held_item == 0) + if (gBattleMons[gEffectBank].item == 0) {gBattlescriptCurrInstr++; return;} gLastUsedAbility = ABILITY_STICKY_HOLD; - gBattlescriptCurrInstr = BS_STICKYHOLD_ACTIVATES; - RecordAbility(gEffectBank, ABILITY_STICKY_HOLD); + gBattlescriptCurrInstr = BattleScript_NoItemSteal; + RecordAbilityBattle(gEffectBank, ABILITY_STICKY_HOLD); return; } - if (gBattleMons[gEffectBank].held_item == 0) + if (gBattleMons[gEffectBank].item == 0) {gBattlescriptCurrInstr++; return;} else { - u8 side = battle_side_get_owner(gEffectBank); - gLastUsedItem = gBattleMons[gEffectBank].held_item; - gBattleMons[gEffectBank].held_item = 0; - gWishFutureKnock.KnockedOff[side] |= gBitTable[gBattlePartyID[gEffectBank]]; + u8 side = GetBankSide(gEffectBank); + gLastUsedItem = gBattleMons[gEffectBank].item; + gBattleMons[gEffectBank].item = 0; + gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]]; b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BS_KNOCKEDOFF; + gBattlescriptCurrInstr = BattleScript_KnockedOff; - STORE_CHOICEMOVE(gEffectBank, 0); + ewram[gEffectBank * 2 + 0x160e8] = 0; + //STORE_CHOICEMOVE(gEffectBank, 0); } break; - case 59: //overheat I guess, dont remember + case 59: //overheat b_movescr_stack_push(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = gUnknown_081D94B0; + gBattlescriptCurrInstr = BattleScript_SAtkDown2; return; } } @@ -4888,11 +4639,11 @@ _0801F3BC:\n\ ldr r0, [r4]\n\ adds r0, 0x1\n\ bl b_movescr_stack_push\n\ - ldr r0, _0801F3D0 @ =gUnknown_081D9224\n\ + ldr r0, _0801F3D0 @ =BattleScript_AllStatsUp\n\ b _0801F5F8\n\ .align 2, 0\n\ _0801F3CC: .4byte gBattlescriptCurrInstr\n\ -_0801F3D0: .4byte gUnknown_081D9224\n\ +_0801F3D0: .4byte BattleScript_AllStatsUp\n\ _0801F3D4:\n\ ldr r4, _0801F3E4 @ =gBattlescriptCurrInstr\n\ ldr r0, [r4]\n\ @@ -4952,11 +4703,11 @@ _0801F44C:\n\ ldr r0, [r4]\n\ adds r0, 0x1\n\ bl b_movescr_stack_push\n\ - ldr r0, _0801F460 @ =gUnknown_081D93FA\n\ + ldr r0, _0801F460 @ =BattleScript_AtkDefDown\n\ b _0801F5F8\n\ .align 2, 0\n\ _0801F45C: .4byte gBattlescriptCurrInstr\n\ -_0801F460: .4byte gUnknown_081D93FA\n\ +_0801F460: .4byte BattleScript_AtkDefDown\n\ _0801F464:\n\ ldr r4, _0801F494 @ =gBattleMoveDamage\n\ ldr r0, _0801F498 @ =gHP_dealt\n\ @@ -5141,7 +4892,7 @@ _0801F5EC:\n\ ldr r0, [r4]\n\ adds r0, 0x1\n\ bl b_movescr_stack_push\n\ - ldr r0, _0801F610 @ =gUnknown_081D94B0\n\ + ldr r0, _0801F610 @ =BattleScript_SAtkDown2\n\ _0801F5F8:\n\ str r0, [r4]\n\ _0801F5FA:\n\ @@ -5155,11 +4906,12 @@ _0801F5FA:\n\ bx r0\n\ .align 2, 0\n\ _0801F60C: .4byte gBattlescriptCurrInstr\n\ -_0801F610: .4byte gUnknown_081D94B0\n\ +_0801F610: .4byte BattleScript_SAtkDown2\n\ .syntax divided\n"); } #endif // NONMATCHING + static void atk15_seteffectwithchancetarget(void) { u32 PercentChance; @@ -5197,7 +4949,7 @@ static void atk17_seteffectsecondary(void) static void atk18_status_effect_clear(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) gBattleMons[gActiveBank].status1 &= (~gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); else @@ -5208,432 +4960,114 @@ static void atk18_status_effect_clear(void) BATTLE_STRUCT->unk16112 = 0; } -//Fuck this, Maybe later -__attribute__((naked)) static void atk19_faint_pokemon(void) { - asm(".syntax unified\n\ -push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x4\n\ - ldr r0, _0801F81C @ =gBattlescriptCurrInstr\n\ - ldr r2, [r0]\n\ - ldrb r1, [r2, 0x2]\n\ - adds r6, r0, 0\n\ - cmp r1, 0\n\ - beq _0801F834\n\ - ldrb r0, [r2, 0x1]\n\ - bl GetBattleBank\n\ - ldr r5, _0801F820 @ =gActiveBank\n\ - strb r0, [r5]\n\ - ldr r2, _0801F824 @ =gHitMarker\n\ - ldr r1, _0801F828 @ =gBitTable\n\ - ldrb r0, [r5]\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldr r1, [r0]\n\ - lsls r1, 28\n\ - ldr r0, [r2]\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801F7E6\n\ - b _0801FB1C\n\ -_0801F7E6:\n\ - ldr r1, [r6]\n\ - ldrb r4, [r1, 0x3]\n\ - ldrb r0, [r1, 0x4]\n\ - lsls r0, 8\n\ - orrs r4, r0\n\ - ldrb r0, [r1, 0x5]\n\ - lsls r0, 16\n\ - orrs r4, r0\n\ - ldrb r0, [r1, 0x6]\n\ - lsls r0, 24\n\ - orrs r4, r0\n\ - bl b_movescr_stack_pop_cursor\n\ - str r4, [r6]\n\ - ldrb r0, [r5]\n\ - bl GetBankSide\n\ - ldr r1, _0801F82C @ =gSideAffecting\n\ - lsls r0, 24\n\ - lsrs r0, 23\n\ - adds r0, r1\n\ - ldrh r2, [r0]\n\ - ldr r1, _0801F830 @ =0x0000fdff\n\ - ands r1, r2\n\ - strh r1, [r0]\n\ - b _0801FB22\n\ - .align 2, 0\n\ -_0801F81C: .4byte gBattlescriptCurrInstr\n\ -_0801F820: .4byte gActiveBank\n\ -_0801F824: .4byte gHitMarker\n\ -_0801F828: .4byte gBitTable\n\ -_0801F82C: .4byte gSideAffecting\n\ -_0801F830: .4byte 0x0000fdff\n\ -_0801F834:\n\ - ldrb r0, [r2, 0x1]\n\ - cmp r0, 0x1\n\ - bne _0801F85C\n\ - ldr r1, _0801F84C @ =gActiveBank\n\ - ldr r0, _0801F850 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - strb r0, [r1]\n\ - ldr r0, _0801F854 @ =gBankTarget\n\ - ldrb r7, [r0]\n\ - ldr r4, _0801F858 @ =gUnknown_081D8C58\n\ - b _0801F86A\n\ - .align 2, 0\n\ -_0801F84C: .4byte gActiveBank\n\ -_0801F850: .4byte gBankAttacker\n\ -_0801F854: .4byte gBankTarget\n\ -_0801F858: .4byte gUnknown_081D8C58\n\ -_0801F85C:\n\ - ldr r1, _0801F954 @ =gActiveBank\n\ - ldr r0, _0801F958 @ =gBankTarget\n\ - ldrb r0, [r0]\n\ - strb r0, [r1]\n\ - ldr r0, _0801F95C @ =gBankAttacker\n\ - ldrb r7, [r0]\n\ - ldr r4, _0801F960 @ =gUnknown_081D8C65\n\ -_0801F86A:\n\ - ldr r0, _0801F964 @ =gAbsentBankFlags\n\ - ldrb r1, [r0]\n\ - ldr r0, _0801F968 @ =gBitTable\n\ - mov r12, r0\n\ - ldr r2, _0801F954 @ =gActiveBank\n\ - mov r8, r2\n\ - ldrb r2, [r2]\n\ - lsls r0, r2, 2\n\ - add r0, r12\n\ - ldr r0, [r0]\n\ - ands r1, r0\n\ - cmp r1, 0\n\ - beq _0801F886\n\ - b _0801FB1C\n\ -_0801F886:\n\ - ldr r3, _0801F96C @ =gBattleMons\n\ - mov r10, r3\n\ - movs r5, 0x58\n\ - mov r9, r5\n\ - mov r0, r9\n\ - muls r0, r2\n\ - add r0, r10\n\ - ldrh r3, [r0, 0x28]\n\ - cmp r3, 0\n\ - beq _0801F89C\n\ - b _0801FB1C\n\ -_0801F89C:\n\ - ldr r2, _0801F970 @ =0x02000000\n\ - lsls r1, r7, 1\n\ - ldr r5, _0801F974 @ =0x000160ac\n\ - adds r0, r1, r5\n\ - adds r0, r2\n\ - strb r3, [r0]\n\ - ldr r0, _0801F978 @ =0x000160ad\n\ - adds r1, r0\n\ - adds r1, r2\n\ - strb r3, [r1]\n\ - lsls r1, r7, 2\n\ - adds r5, 0x54\n\ - adds r0, r1, r5\n\ - adds r0, r2\n\ - strb r3, [r0]\n\ - adds r5, 0x1\n\ - adds r0, r1, r5\n\ - adds r0, r2\n\ - strb r3, [r0]\n\ - adds r5, 0x1\n\ - adds r0, r1, r5\n\ - adds r0, r2\n\ - strb r3, [r0]\n\ - ldr r0, _0801F97C @ =0x00016103\n\ - adds r1, r0\n\ - adds r1, r2\n\ - strb r3, [r1]\n\ - ldr r5, _0801F980 @ =gHitMarker\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - lsls r0, 2\n\ - add r0, r12\n\ - ldr r1, [r0]\n\ - lsls r1, 28\n\ - ldr r0, [r5]\n\ - orrs r0, r1\n\ - str r0, [r5]\n\ - ldr r0, [r6]\n\ - adds r0, 0x7\n\ - bl b_movescr_stack_push\n\ - str r4, [r6]\n\ - mov r2, r8\n\ - ldrb r0, [r2]\n\ - bl GetBankSide\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0801F9B0\n\ - ldr r0, [r5]\n\ - movs r1, 0x80\n\ - lsls r1, 15\n\ - orrs r0, r1\n\ - str r0, [r5]\n\ - ldr r1, _0801F984 @ =gBattleResults\n\ - ldrb r0, [r1]\n\ - cmp r0, 0xFE\n\ - bhi _0801F914\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ -_0801F914:\n\ - mov r0, r9\n\ - muls r0, r7\n\ - add r0, r10\n\ - adds r3, r0, 0\n\ - adds r3, 0x2A\n\ - mov r4, r8\n\ - ldrb r2, [r4]\n\ - mov r0, r9\n\ - muls r0, r2\n\ - add r0, r10\n\ - adds r1, r0, 0\n\ - adds r1, 0x2A\n\ - ldrb r0, [r3]\n\ - ldrb r5, [r1]\n\ - cmp r0, r5\n\ - bls _0801F9CC\n\ - ldrb r1, [r1]\n\ - subs r0, r1\n\ - cmp r0, 0x1D\n\ - ble _0801F990\n\ - ldr r1, _0801F988 @ =gBattlePartyID\n\ - lsls r0, r2, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - movs r0, 0x64\n\ - muls r0, r1\n\ - ldr r1, _0801F98C @ =gPlayerParty\n\ - adds r0, r1\n\ - movs r1, 0x8\n\ - bl AdjustFriendship\n\ - b _0801F9CC\n\ - .align 2, 0\n\ -_0801F954: .4byte gActiveBank\n\ -_0801F958: .4byte gBankTarget\n\ -_0801F95C: .4byte gBankAttacker\n\ -_0801F960: .4byte gUnknown_081D8C65\n\ -_0801F964: .4byte gAbsentBankFlags\n\ -_0801F968: .4byte gBitTable\n\ -_0801F96C: .4byte gBattleMons\n\ -_0801F970: .4byte 0x02000000\n\ -_0801F974: .4byte 0x000160ac\n\ -_0801F978: .4byte 0x000160ad\n\ -_0801F97C: .4byte 0x00016103\n\ -_0801F980: .4byte gHitMarker\n\ -_0801F984: .4byte gBattleResults\n\ -_0801F988: .4byte gBattlePartyID\n\ -_0801F98C: .4byte gPlayerParty\n\ -_0801F990:\n\ - ldr r1, _0801F9A8 @ =gBattlePartyID\n\ - lsls r0, r2, 1\n\ - adds r0, r1\n\ - ldrh r1, [r0]\n\ - movs r0, 0x64\n\ - muls r0, r1\n\ - ldr r1, _0801F9AC @ =gPlayerParty\n\ - adds r0, r1\n\ - movs r1, 0x6\n\ - bl AdjustFriendship\n\ - b _0801F9CC\n\ - .align 2, 0\n\ -_0801F9A8: .4byte gBattlePartyID\n\ -_0801F9AC: .4byte gPlayerParty\n\ -_0801F9B0:\n\ - ldr r1, _0801FAE0 @ =gBattleResults\n\ - ldrb r0, [r1, 0x1]\n\ - cmp r0, 0xFE\n\ - bhi _0801F9BC\n\ - adds r0, 0x1\n\ - strb r0, [r1, 0x1]\n\ -_0801F9BC:\n\ - ldr r2, _0801FAE4 @ =gActiveBank\n\ - ldrb r0, [r2]\n\ - mov r3, r9\n\ - muls r3, r0\n\ - adds r0, r3, 0\n\ - add r0, r10\n\ - ldrh r0, [r0]\n\ - strh r0, [r1, 0x20]\n\ -_0801F9CC:\n\ - ldr r0, _0801FAE8 @ =gHitMarker\n\ - ldr r0, [r0]\n\ - movs r1, 0x40\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0801FA02\n\ - ldr r6, _0801FAEC @ =gBattleMons\n\ - ldr r0, _0801FAF0 @ =gBankAttacker\n\ - ldrb r0, [r0]\n\ - movs r5, 0x58\n\ - muls r0, r5\n\ - adds r0, r6\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - beq _0801FA02\n\ - ldr r4, _0801FAF4 @ =gBattlescriptCurrInstr\n\ - ldr r0, [r4]\n\ - bl b_movescr_stack_push\n\ - ldr r1, _0801FAF8 @ =gBattleMoveDamage\n\ - adds r0, r7, 0\n\ - muls r0, r5\n\ - adds r0, r6\n\ - ldrh r0, [r0, 0x28]\n\ - str r0, [r1]\n\ - ldr r0, _0801FAFC @ =gUnknown_081D9156\n\ - str r0, [r4]\n\ -_0801FA02:\n\ - ldr r1, _0801FB00 @ =gStatuses3\n\ - ldr r6, _0801FB04 @ =gBankTarget\n\ - ldrb r0, [r6]\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x80\n\ - lsls r1, 7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0801FA1A\n\ - b _0801FB22\n\ -_0801FA1A:\n\ - ldr r0, _0801FAE8 @ =gHitMarker\n\ - ldr r5, [r0]\n\ - movs r0, 0x80\n\ - lsls r0, 17\n\ - ands r5, r0\n\ - cmp r5, 0\n\ - bne _0801FB22\n\ - ldr r4, _0801FAF0 @ =gBankAttacker\n\ - mov r8, r4\n\ - ldrb r0, [r4]\n\ - bl GetBankSide\n\ - adds r4, r0, 0\n\ - ldrb r0, [r6]\n\ - bl GetBankSide\n\ - lsls r4, 24\n\ - lsls r0, 24\n\ - cmp r4, r0\n\ - beq _0801FB22\n\ - ldr r0, _0801FAEC @ =gBattleMons\n\ - mov r9, r0\n\ - mov r1, r8\n\ - ldrb r2, [r1]\n\ - movs r7, 0x58\n\ - adds r3, r2, 0\n\ - muls r3, r7\n\ - adds r0, r3, r0\n\ - ldrh r0, [r0, 0x28]\n\ - cmp r0, 0\n\ - beq _0801FB22\n\ - ldr r0, _0801FB08 @ =gCurrentMove\n\ - ldrh r0, [r0]\n\ - cmp r0, 0xA5\n\ - beq _0801FB22\n\ - ldr r1, _0801FB0C @ =0x02000000\n\ - ldr r4, _0801FB10 @ =0x0001608c\n\ - adds r0, r2, r4\n\ - adds r0, r1\n\ - ldrb r4, [r0]\n\ - adds r0, r4, r3\n\ - mov r6, r9\n\ - adds r6, 0x24\n\ - adds r0, r6\n\ - strb r5, [r0]\n\ - ldr r5, _0801FAF4 @ =gBattlescriptCurrInstr\n\ - ldr r0, [r5]\n\ - bl b_movescr_stack_push\n\ - ldr r0, _0801FB14 @ =gUnknown_081D9468\n\ - str r0, [r5]\n\ - ldr r5, _0801FAE4 @ =gActiveBank\n\ - mov r1, r8\n\ - ldrb r0, [r1]\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0x9\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - ldrb r0, [r5]\n\ - muls r0, r7\n\ - adds r0, r6\n\ - adds r0, r4\n\ - str r0, [sp]\n\ - movs r0, 0\n\ - movs r2, 0\n\ - movs r3, 0x1\n\ - bl EmitSetAttributes\n\ - ldrb r0, [r5]\n\ - bl MarkBufferBankForExecution\n\ - ldr r1, _0801FB18 @ =gBattleTextBuff1\n\ - movs r0, 0xFD\n\ - strb r0, [r1]\n\ - movs r0, 0x2\n\ - strb r0, [r1, 0x1]\n\ - lsls r4, 1\n\ - mov r2, r8\n\ - ldrb r0, [r2]\n\ - muls r0, r7\n\ - adds r0, r4, r0\n\ - mov r2, r9\n\ - adds r2, 0xC\n\ - adds r0, r2\n\ - ldrh r0, [r0]\n\ - strb r0, [r1, 0x2]\n\ - mov r3, r8\n\ - ldrb r0, [r3]\n\ - muls r0, r7\n\ - adds r4, r0\n\ - adds r4, r2\n\ - ldrh r0, [r4]\n\ - lsrs r0, 8\n\ - strb r0, [r1, 0x3]\n\ - movs r0, 0xFF\n\ - strb r0, [r1, 0x4]\n\ - b _0801FB22\n\ - .align 2, 0\n\ -_0801FAE0: .4byte gBattleResults\n\ -_0801FAE4: .4byte gActiveBank\n\ -_0801FAE8: .4byte gHitMarker\n\ -_0801FAEC: .4byte gBattleMons\n\ -_0801FAF0: .4byte gBankAttacker\n\ -_0801FAF4: .4byte gBattlescriptCurrInstr\n\ -_0801FAF8: .4byte gBattleMoveDamage\n\ -_0801FAFC: .4byte gUnknown_081D9156\n\ -_0801FB00: .4byte gStatuses3\n\ -_0801FB04: .4byte gBankTarget\n\ -_0801FB08: .4byte gCurrentMove\n\ -_0801FB0C: .4byte 0x02000000\n\ -_0801FB10: .4byte 0x0001608c\n\ -_0801FB14: .4byte gUnknown_081D9468\n\ -_0801FB18: .4byte gBattleTextBuff1\n\ -_0801FB1C:\n\ - ldr r0, [r6]\n\ - adds r0, 0x7\n\ - str r0, [r6]\n\ -_0801FB22:\n\ - add sp, 0x4\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); + u8 *r4; + + if (gBattlescriptCurrInstr[2] != 0) + { + gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + { + r4 = T1_READ_PTR(gBattlescriptCurrInstr + 3); + + b_movescr_stack_pop_cursor(); + gBattlescriptCurrInstr = r4; + gSideAffecting[GetBankSide(gActiveBank)] &= ~SIDE_STATUS_SPIKES_DAMAGED; + } + else + { + gBattlescriptCurrInstr += 7; + } + } + else + { + u8 bank; + + if (gBattlescriptCurrInstr[1] == 1) + { + gActiveBank = gBankAttacker; + bank = gBankTarget; + r4 = gUnknown_081D8C58; + } + else + { + gActiveBank = gBankTarget; + bank = gBankAttacker; + r4 = gUnknown_081D8C65; + } + if (!(gAbsentBankFlags & gBitTable[gActiveBank]) + && gBattleMons[gActiveBank].hp == 0) + { + ewram[0x160AC + bank * 2 + 0] = 0; + ewram[0x160AC + bank * 2 + 1] = 0; + ewram[0x16100 + bank * 4 + 0] = 0; + ewram[0x16100 + bank * 4 + 1] = 0; + ewram[0x16100 + bank * 4 + 2] = 0; + ewram[0x16100 + bank * 4 + 3] = 0; + + gHitMarker |= HITMARKER_FAINTED(gActiveBank); + b_movescr_stack_push(gBattlescriptCurrInstr + 7); + gBattlescriptCurrInstr = r4; + if (GetBankSide(gActiveBank) == 0) + { + gHitMarker |= HITMARKER_x400000; + if (gBattleResults.playerFaintCounter < 0xFF) + gBattleResults.playerFaintCounter++; + if (gBattleMons[bank].level > gBattleMons[gActiveBank].level) + { + if (gBattleMons[bank].level - gBattleMons[gActiveBank].level > 0x1D) + AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 8); + else + AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 6); + } + } + else + { + if (gBattleResults.opponentFaintCounter < 0xFF) + gBattleResults.opponentFaintCounter++; + gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBank].species; + } + if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBankAttacker].hp != 0) + { + b_movescr_stack_push(gBattlescriptCurrInstr); + gBattleMoveDamage = gBattleMons[bank].hp; + gBattlescriptCurrInstr = gUnknown_081D9156; + } + if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE) + && !(gHitMarker & HITMARKER_GRUDGE) + && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) + && gBattleMons[gBankAttacker].hp != 0 + && gCurrentMove != MOVE_STRUGGLE) + { + u8 moveIndex = ewram[0x1608C + gBankAttacker]; + + gBattleMons[gBankAttacker].pp[moveIndex] = 0; + b_movescr_stack_push(gBattlescriptCurrInstr); + gBattlescriptCurrInstr = gUnknown_081D9468; + gActiveBank = gBankAttacker; + EmitSetAttributes(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBank].pp[moveIndex]); + MarkBufferBankForExecution(gActiveBank); + + gBattleTextBuff1[0] = 0xFD; + gBattleTextBuff1[1] = 2; + gBattleTextBuff1[2] = gBattleMons[gBankAttacker].moves[moveIndex]; + gBattleTextBuff1[3] = gBattleMons[gBankAttacker].moves[moveIndex] >> 8; + gBattleTextBuff1[4] = EOS; + } + } + else + { + gBattlescriptCurrInstr += 7; + } + } } static void atk1A_faint_animation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd10(0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -5645,7 +5079,7 @@ static void atk1B_faint_effects_clear(void) //Clears things like attraction or trapping to other banks if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); gBattleMons[gActiveBank].status1 = 0; EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1); MarkBufferBankForExecution(gActiveBank); @@ -5656,9 +5090,9 @@ static void atk1B_faint_effects_clear(void) static void atk1C_jumpifstatus(void) { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6); if (gBattleMons[bank].status1 & flags && gBattleMons[bank].hp) gBattlescriptCurrInstr = jump_loc; else @@ -5667,9 +5101,9 @@ static void atk1C_jumpifstatus(void) static void atk1D_jumpifstatus2(void) { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6); if (gBattleMons[bank].status2 & flags && gBattleMons[bank].hp) gBattlescriptCurrInstr = jump_loc; else @@ -5679,9 +5113,9 @@ static void atk1D_jumpifstatus2(void) static void atk1E_jumpifability(void) { u8 bank; - u8 ability = BSScriptRead8(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 8) + u8 ability = T2_READ_8(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3); + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 8) { bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBankAttacker, ability, 0, 0); if (bank) @@ -5694,7 +5128,7 @@ static void atk1E_jumpifability(void) else gBattlescriptCurrInstr += 7; } - else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 9) + else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 9) { bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBankAttacker, ability, 0, 0); if (bank) @@ -5709,7 +5143,7 @@ static void atk1E_jumpifability(void) } else { - bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[bank].ability == ability) { gLastUsedAbility = ability; @@ -5727,13 +5161,13 @@ static void atk1F_jumpifsideaffecting(void) u8 side; u16 flags; void* jump_loc; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) side = GetBankIdentity(gBankAttacker) & 1; else side = GetBankIdentity(gBankTarget) & 1; - flags = BS2ScriptRead16(gBattlescriptCurrInstr + 2); - jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 4); + flags = T2_READ_16(gBattlescriptCurrInstr + 2); + jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4); if (gSideAffecting[side] & flags) gBattlescriptCurrInstr = jump_loc; @@ -5744,37 +5178,37 @@ static void atk1F_jumpifsideaffecting(void) static void atk20_jumpifstat(void) { u8 ret = 0; - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u8 value = gBattleMons[bank].statStages[BSScriptRead8(gBattlescriptCurrInstr + 3)]; - switch (BSScriptRead8(gBattlescriptCurrInstr + 2)) + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u8 value = gBattleMons[bank].statStages[T2_READ_8(gBattlescriptCurrInstr + 3)]; + switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case CMP_EQUAL: - if (value == BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value == T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_NOT_EQUAL: - if (value != BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value != T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_GREATER_THAN: - if (value > BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value > T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_LESS_THAN: - if (value < BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value < T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_COMMON_BITS: - if (value & BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value & T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_NO_COMMON_BITS: - if (!(value & BSScriptRead8(gBattlescriptCurrInstr + 4))) + if (!(value & T2_READ_8(gBattlescriptCurrInstr + 4))) ret++; break; } if (ret) - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 5); else gBattlescriptCurrInstr += 9; } @@ -5784,10 +5218,10 @@ static void atk21_jumpifstatus3(void) u32 flags; void* jump_loc; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); - jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7); - if (BSScriptRead8(gBattlescriptCurrInstr + 6)) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + flags = T2_READ_32(gBattlescriptCurrInstr + 2); + jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7); + if (T2_READ_8(gBattlescriptCurrInstr + 6)) { if ((gStatuses3[gActiveBank] & flags) != 0) gBattlescriptCurrInstr += 11; @@ -5805,9 +5239,9 @@ static void atk21_jumpifstatus3(void) static void atk22_jumpiftype(void) //u8 bank, u8 type, *ptr { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u8 type = BSScriptRead8(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u8 type = T2_READ_8(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (gBattleMons[bank].type1 == type || gBattleMons[bank].type2 == type) gBattlescriptCurrInstr = jump_loc; @@ -5822,7 +5256,7 @@ static void atk23_getexp(void) u8 hold_effect; int via_expshare = 0, sent_in; u16* exp = &BATTLE_STRUCT->exp; - gBank1 = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gBank1 = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); sent_in = gSentPokesToOpponent[(gBank1 & 2) >> 1]; switch (BATTLE_STRUCT->atk23StateTracker) { @@ -5832,13 +5266,14 @@ static void atk23_getexp(void) else { BATTLE_STRUCT->atk23StateTracker++; - unk_2000000[0x16113] |= gBitTable[gBattlePartyID[gBank1]]; + ((u8*)ewram)[0x16113] |= gBitTable[gBattlePartyID[gBank1]]; } break; case 1: //calculate experience points to redistribute { - int via_sent_in = 0, i; + int via_sent_in = 0; u16 calculatedExp; + int i; for (i = 0; i < 6; i++) { u16 item; @@ -5894,15 +5329,14 @@ static void atk23_getexp(void) BATTLE_STRUCT->sentInPokes >>= 1; tracker = &BATTLE_STRUCT->atk23StateTracker; zero = 0; - goto LABEL; + *tracker = 5; //increment looper + gBattleMoveDamage = zero; //used for exp } else if (GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_LEVEL) == 100) { - BATTLE_STRUCT->sentInPokes >>= 1; tracker = &BATTLE_STRUCT->atk23StateTracker; zero = 0; - LABEL: *tracker = 5; //increment looper gBattleMoveDamage = zero; //used for exp } @@ -5937,7 +5371,9 @@ static void atk23_getexp(void) stringID = 0x14A; } else - stringID = 0x149; + { + stringID = 0x149; + } //get exp getter bank if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -5962,12 +5398,13 @@ static void atk23_getexp(void) gBattleTextBuff1[3] = BATTLE_STRUCT->expGetterID; gBattleTextBuff1[4] = 0xFF; - //buffer 'gained' or 'gained a boosted' - gBattleTextBuff2[0] = 0xFD; - gBattleTextBuff2[1] = 0; - gBattleTextBuff2[2] = sBYTE0_32(stringID); - gBattleTextBuff2[3] = sBYTE1_32(stringID); - gBattleTextBuff2[4] = 0xFF; + //buffer 'gained' or 'gained a boosted' + gBattleTextBuff2[0] = 0xFD; + gBattleTextBuff2[1] = 0; + gBattleTextBuff2[2] = stringID; + stringID = (stringID >> 8) & (0xFF); //this does not want to cooperate + gBattleTextBuff2[3] = stringID; + gBattleTextBuff2[4] = 0xFF; //buffer exp number gBattleTextBuff3[0] = 0xFD; @@ -5994,10 +5431,11 @@ static void atk23_getexp(void) gBattleBufferB[BATTLE_STRUCT->expGetterBank][0] = 0; if (GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_HP) && GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_LEVEL) != 100) { - BATTLE_STRUCT->beforeLvlUp[0] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_MAX_HP); //doesnt match + // Doesn't match. + BATTLE_STRUCT->beforeLvlUp[0] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_MAX_HP); BATTLE_STRUCT->beforeLvlUp[1] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_ATK); BATTLE_STRUCT->beforeLvlUp[2] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_DEF); - BATTLE_STRUCT->beforeLvlUp[3] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD); + BATTLE_STRUCT->beforeLvlUp[3] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED); BATTLE_STRUCT->beforeLvlUp[4] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK); BATTLE_STRUCT->beforeLvlUp[5] = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPDEF); @@ -6046,7 +5484,7 @@ static void atk23_getexp(void) gBattleMons[0].maxHP = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_MAX_HP); gBattleMons[0].attack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_ATK); gBattleMons[0].defense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_DEF); - gBattleMons[0].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD); + gBattleMons[0].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED); gBattleMons[0].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK); gBattleMons[0].spDefense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPDEF); } @@ -6059,8 +5497,8 @@ static void atk23_getexp(void) gBattleMons[2].attack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_ATK); gBattleMons[2].defense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_DEF); //There are no words...GF can't even copy&paste code properly - gBattleMons[2].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD); - gBattleMons[2].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPD /*RIP*/); + gBattleMons[2].speed = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED); + gBattleMons[2].spAttack = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPEED /*RIP*/); gBattleMons[2].spDefense = GetMonData(&gPlayerParty[BATTLE_STRUCT->expGetterID], MON_DATA_SPATK); } BATTLE_STRUCT->atk23StateTracker = 5; @@ -7274,14 +6712,14 @@ static void atk24(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { if (found2 + found1 > 1) - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } else { if (found2 != 0 && found1 != 0) - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } @@ -7529,7 +6967,7 @@ static void atk25_move_values_cleanup(void) static void atk26_set_multihit(void) { - gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1); + gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr += 2; } @@ -7538,20 +6976,20 @@ static void atk27_decrement_multihit(void) if (--gMultiHitCounter == 0) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); } static void atk28_goto(void) { - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); } static void atk29_jumpifbyte(void) { - u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1); - u8* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - u8 value = BSScriptRead8(gBattlescriptCurrInstr + 6); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7); + u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); + u8* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2); + u8 value = T2_READ_8(gBattlescriptCurrInstr + 6); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr += 11; switch (caseID) { @@ -7584,10 +7022,10 @@ static void atk29_jumpifbyte(void) static void atk2A_jumpifhalfword(void) { - u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1); - u16* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 6); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 8); + u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); + u16* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2); + u16 value = T2_READ_16(gBattlescriptCurrInstr + 6); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 8); gBattlescriptCurrInstr += 12; switch (caseID) { @@ -7618,12 +7056,13 @@ static void atk2A_jumpifhalfword(void) } } +// Strange that there's an instance of T1_READ_32 in what seems to be a T2 function. see global.h for the distinction. static void atk2B_jumpifword(void) { - u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1); - u32* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - u32 value = BSScriptRead32(gBattlescriptCurrInstr + 6); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10); + u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); + u32* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2); + u32 value = T1_READ_32(gBattlescriptCurrInstr + 6); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10); gBattlescriptCurrInstr += 14; switch (caseID) { @@ -7657,10 +7096,10 @@ static void atk2B_jumpifword(void) static void atk2C_jumpifarrayequal(void) { //Mem1, Mem2, Size, Jump Loc - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u32 size = T2_READ_8(gBattlescriptCurrInstr + 9); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10); u8 i; for (i = 0; i < size; i++) @@ -7681,10 +7120,10 @@ static void atk2D_jumpifarraynotequal(void) { //Mem1, Mem2, Size, Jump Loc u8 equal_bytes = 0; - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u32 size = T2_READ_8(gBattlescriptCurrInstr + 9); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10); u8 i; for (i = 0; i < size; i++) @@ -7704,30 +7143,30 @@ static void atk2D_jumpifarraynotequal(void) static void atk2E_setbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem = BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem = T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk2F_addbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem += BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem += T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk30_subbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem -= BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem -= T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk31_copyarray(void) { - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - s32 size = BSScriptRead8(gBattlescriptCurrInstr + 9); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + s32 size = T2_READ_8(gBattlescriptCurrInstr + 9); s32 i; for (i = 0; i < size; i++) @@ -7740,10 +7179,10 @@ static void atk31_copyarray(void) static void atk32_copyarray_withindex(void) { - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - u8* index = BS2ScriptReadPtr(gBattlescriptCurrInstr + 9); - s32 size = BSScriptRead8(gBattlescriptCurrInstr + 13); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u8* index = T2_READ_PTR(gBattlescriptCurrInstr + 9); + s32 size = T2_READ_8(gBattlescriptCurrInstr + 13); s32 i; for (i = 0; i < size; i++) @@ -7756,15 +7195,15 @@ static void atk32_copyarray_withindex(void) static void atk33_orbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem |= BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem |= T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk34_orhalfword(void) { - u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5); + u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); *mem |= val; gBattlescriptCurrInstr += 7; @@ -7772,8 +7211,8 @@ static void atk34_orhalfword(void) static void atk35_orword(void) { - u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5); + u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); *mem |= val; gBattlescriptCurrInstr += 9; @@ -7781,15 +7220,15 @@ static void atk35_orword(void) static void atk36_bicbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem &= ~(BSScriptRead8(gBattlescriptCurrInstr + 5)); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem &= ~(T2_READ_8(gBattlescriptCurrInstr + 5)); gBattlescriptCurrInstr += 6; } static void atk37_bichalfword(void) { - u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5); + u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); *mem &= ~val; gBattlescriptCurrInstr += 7; @@ -7797,8 +7236,8 @@ static void atk37_bichalfword(void) static void atk38_bicword(void) { - u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5); + u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); *mem &= ~val; gBattlescriptCurrInstr += 9; @@ -7808,7 +7247,7 @@ static void atk39_pause(void) { if (gBattleExecBuffer == 0) { - u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 1); + u16 value = T2_READ_16(gBattlescriptCurrInstr + 1); if (++gPauseCounterBattle >= value) { gPauseCounterBattle = 0; @@ -7825,7 +7264,7 @@ static void atk3A_waitstate(void) static void atk3B_healthbar_update(void) { - if (!BSScriptRead8(gBattlescriptCurrInstr + 1)) + if (!T2_READ_8(gBattlescriptCurrInstr + 1)) gActiveBank = gBankTarget; else gActiveBank = gBankAttacker; @@ -7865,23 +7304,23 @@ static void atk3F_end3(void) //pops the main function stack static void atk41_call(void) { b_movescr_stack_push(gBattlescriptCurrInstr + 5); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atk42_jumpiftype2(void) //u8 bank, u8 type, *ptr { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + u8 bank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); - if (BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 3); + if (T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); else gBattlescriptCurrInstr += 7; } static void atk43_jumpifabilitypresent(void) { - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, BSScriptRead8(gBattlescriptCurrInstr + 1), 0, 0)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, T2_READ_8(gBattlescriptCurrInstr + 1), 0, 0)) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -7895,9 +7334,9 @@ static void atk44(void) static void atk45_playanimation(void) { - #define ANIMATION_ID BSScriptRead8(gBattlescriptCurrInstr + 2) - #define ARGUMENT (u16*) BS2ScriptReadPtr(gBattlescriptCurrInstr + 3) - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + #define ANIMATION_ID T2_READ_8(gBattlescriptCurrInstr + 2) + #define ARGUMENT (u16*) T2_READ_PTR(gBattlescriptCurrInstr + 3) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if ( ANIMATION_ID == 1 || ANIMATION_ID == 0x11 || ANIMATION_ID == 2) { EmitBattleAnimation(0, ANIMATION_ID, *argument); @@ -8022,9 +7461,39 @@ _080214AE:\n\ #ifdef NONMATCHING static void atk46_playanimation2(void) { - + u8 arg1; + u8* arg2; + u16* arg3; + u32 something; + + arg1 = T2_READ_8(gBattlescriptCurrInstr + 1); + gActiveBank = GetBattleBank(arg1); + arg2 = T2_READ_PTR(gBattlescriptCurrInstr + 2); + arg3 = T2_READ_PTR(gBattlescriptCurrInstr + 6); + + if (*arg2 == 1 || *arg2 == 0x11 || *arg2 == 2) + { + EmitBattleAnimation(0, *arg2, *arg3); + MarkBufferBankForExecution(gActiveBank); + gBattlescriptCurrInstr += 10; + return; + } + if ((gHitMarker & 0x80)) + { + something = (u32)(gBattlescriptCurrInstr + 10); + } + else + { + u8 yeah = *arg2 - 10; + if (yeah < 4 || (gStatuses3[gActiveBank] & 0x000400C0) == 0) + { + EmitBattleAnimation(0, *arg2, *arg3); + MarkBufferBankForExecution(gActiveBank); + } + something = (u32)(gBattlescriptCurrInstr + 10); + } + gBattlescriptCurrInstr = (u8*)something; } - #else __attribute__((naked)) static void atk46_playanimation2(void) @@ -8165,9 +7634,9 @@ static void atk48_playstatchangeanimation(void) u32 stats_to_check; u8 arg3; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - stats_to_check = BSScriptRead8(gBattlescriptCurrInstr + 2); - arg3 = BSScriptRead8(gBattlescriptCurrInstr + 3); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + stats_to_check = T2_READ_8(gBattlescriptCurrInstr + 2); + arg3 = T2_READ_8(gBattlescriptCurrInstr + 3); if (arg3 & 1) { u16 r1 = 0x15; @@ -8177,7 +7646,7 @@ static void atk48_playstatchangeanimation(void) { if (!(stats_to_check & 1)) continue; - if (!(BSScriptRead8(gBattlescriptCurrInstr + 3))) + if (!(T2_READ_8(gBattlescriptCurrInstr + 3))) { u8 ability; if (gSideTimer[GetBankIdentity(gActiveBank) & 1].mistTimer) @@ -8196,7 +7665,7 @@ static void atk48_playstatchangeanimation(void) r1 += 1; curr_stat++; } - if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2) + if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2) stat_animID = 0x39; else stat_animID = 0x3A; @@ -8220,19 +7689,19 @@ static void atk48_playstatchangeanimation(void) r1 += 1; curr_stat++; } - if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2) + if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2) stat_animID = 0x37; else stat_animID = 0x38; } - if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1) + if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1) || changeable_stats == 0 || BATTLE_STRUCT->filler2[0] != 0) gBattlescriptCurrInstr += 4; else { EmitBattleAnimation(0, 1, stat_animID); MarkBufferBankForExecution(gActiveBank); - if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) + if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) BATTLE_STRUCT->filler2[0] = 1; gBattlescriptCurrInstr += 4; } @@ -8518,8 +7987,8 @@ static void atk49_moveendturn(void) if (gLastUsedMove != 0xFFFF) last_move = gLastUsedMove; - arg1 = BSScriptRead8(gBattlescriptCurrInstr + 1); - arg2 = BSScriptRead8(gBattlescriptCurrInstr + 2); + arg1 = T2_READ_8(gBattlescriptCurrInstr + 1); + arg2 = T2_READ_8(gBattlescriptCurrInstr + 2); if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) hold_effect_atk = gEnigmaBerries[gBankAttacker].holdEffect; else @@ -10051,7 +9520,7 @@ static void atk4C_copy_poke_data(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); gBattlePartyID[gActiveBank] = unk_2000000[0x16068 + gActiveBank]; @@ -10078,7 +9547,7 @@ static void atk4D_switch_data_update(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); OldData = gBattleMons[gActiveBank]; monData = (u8*)(&gBattleMons[gActiveBank]); for (i = 0; i < sizeof(struct BattlePokemon); i++) @@ -10119,13 +9588,13 @@ static void atk4E_switchin_anim(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) { - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); } gAbsentBankFlags &= ~(gBitTable[gActiveBank]); - EmitSendOutPoke(0, gBattlePartyID[gActiveBank], BSScriptRead8(gBattlescriptCurrInstr + 2)); + EmitSendOutPoke(0, gBattlePartyID[gActiveBank], T2_READ_8(gBattlescriptCurrInstr + 2)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } @@ -10136,12 +9605,12 @@ static void atk4F_jump_if_cannot_switch(void) register struct Pokemon *party; u8 r7; //0x80 byte is used as a way of telling the function whether to not check status2/status3 - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x7F); - if (!(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x80) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F); + if (!(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x80) && ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) || (gStatuses3[gActiveBank] & STATUS3_ROOTED))) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); return; } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -10162,7 +9631,7 @@ static void atk4F_jump_if_cannot_switch(void) break; } if (val == to_cmp) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -10195,7 +9664,7 @@ static void atk4F_jump_if_cannot_switch(void) break; } if (val == 6) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -10214,9 +9683,9 @@ static void atk50_openpartyscreen(void) { int i = 0; int r9 = 0; - u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2); - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5) { if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) { @@ -11285,8 +10754,8 @@ static void atk51_switch_handle_order(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - switch (BSScriptRead8(gBattlescriptCurrInstr + 2)) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: for (i = 0; i < gNoOfAllBanks; i++) @@ -11336,7 +10805,7 @@ static void atk52_switch_in_effects(void) { int i; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); sub_80157C4(gActiveBank); gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); gSpecialStatuses[gActiveBank].flag40 = 0; @@ -11356,9 +10825,9 @@ static void atk52_switch_in_effects(void) BATTLE_STRUCT->scriptingActive = gActiveBank; b_movescr_stack_push_cursor(); - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) gBattlescriptCurrInstr = gUnknown_081D919F; - else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1) + else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) gBattlescriptCurrInstr = gUnknown_081D9171; else gBattlescriptCurrInstr = gUnknown_081D91CD; @@ -11385,7 +10854,7 @@ static void atk52_switch_in_effects(void) *(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp; } - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5) { u32 hitmark = gHitMarker >> 0x1C; gBank1++; @@ -11405,7 +10874,7 @@ static void atk52_switch_in_effects(void) static void atk53_trainer_slide(void) { - if (!BSScriptRead8(gBattlescriptCurrInstr + 1)) + if (!T2_READ_8(gBattlescriptCurrInstr + 1)) gActiveBank = GetBankByPlayerAI(0); else gActiveBank = GetBankByPlayerAI(1); @@ -11418,7 +10887,7 @@ static void atk53_trainer_slide(void) static void atk54_effectiveness_sound(void) { gActiveBank = gBankAttacker; - EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } @@ -11426,14 +10895,14 @@ static void atk54_effectiveness_sound(void) static void atk55_play_sound(void) { gActiveBank = gBankAttacker; - Emitcmd44(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } static void atk56_fainting_cry(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitFaintingCry(0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -11449,7 +10918,7 @@ static void atk57(void) static void atk58_return_to_ball(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitReturnPokeToBall(0, 1); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -11457,10 +10926,10 @@ static void atk58_return_to_ball(void) void atk59_learnmove_inbattle(void) { - u8* loc1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* loc2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5); + u8* loc1 = T1_READ_PTR(gBattlescriptCurrInstr + 1); + u8* loc2 = T1_READ_PTR(gBattlescriptCurrInstr + 5); - u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], BSScriptRead8(gBattlescriptCurrInstr + 9)); + u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], T2_READ_8(gBattlescriptCurrInstr + 9)); while (ret == 0xFFFE) ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], 0); @@ -11573,7 +11042,7 @@ static void atk5A(void) { u8 *ptr; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr = gBattleTextBuff2; { ptr[0] = 0xFD; @@ -11643,7 +11112,7 @@ static void atk5B_80256E0(void) { PlaySE(SE_SELECT); if (gBattleCommunication[1] != 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; sub_8023AD8(); @@ -11651,7 +11120,7 @@ static void atk5B_80256E0(void) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); sub_8023AD8(); } } @@ -11659,7 +11128,7 @@ static void atk5B_80256E0(void) static void atk5C_hitanimation(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) gBattlescriptCurrInstr += 2; else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0) @@ -11932,7 +11401,7 @@ _08024190: .4byte gBattlescriptCurrInstr\n\ static void atk5E_8025A70(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleCommunication[0]) { case 0: @@ -11973,26 +11442,20 @@ static void atk60_increment_gamestat(void) { if (GetBankSide(gBankAttacker) == 0) { - IncrementGameStat(BSScriptRead8(gBattlescriptCurrInstr + 1)); + IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1)); } gBattlescriptCurrInstr += 2; } -struct hp_status -{ - u16 hp; - u32 status; -}; - static void atk61_8025BA4(void) { int i; struct Pokemon* party; - struct hp_status hpStatus[6]; + struct HpAndStatus hpStatus[6]; if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (GetBankSide(gActiveBank) == 0) party = gPlayerParty; else @@ -12011,14 +11474,14 @@ static void atk61_8025BA4(void) hpStatus[i].status = GetMonData(&party[i], MON_DATA_STATUS); } } - Emitcmd48(0, (u8*)(hpStatus), 1); + EmitDrawPartyStatusSummary(0, hpStatus, 1); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; } static void atk62_08025C6C(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd49(0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -12026,7 +11489,7 @@ static void atk62_08025C6C(void) static void atk63_jumptorandomattack(void) { - if (BSScriptRead8(gBattlescriptCurrInstr + 1)) + if (T2_READ_8(gBattlescriptCurrInstr + 1)) gCurrentMove = gRandomMove; else gUnknown_02024BE8 = gCurrentMove = gRandomMove; @@ -12037,7 +11500,7 @@ static void atk64_statusanimation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1); @@ -12052,8 +11515,8 @@ static void atk65_status2animation(void) if (gBattleExecBuffer == 0) { u32 possible_to_anim; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - possible_to_anim = BSScriptRead32(gBattlescriptCurrInstr + 2); + gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); + possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim); @@ -12068,11 +11531,11 @@ static void atk66_chosenstatusanimation(void) if (gBattleExecBuffer == 0) { u32 status; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - status = BSScriptRead32(gBattlescriptCurrInstr + 3); + gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); + status = T1_READ_32(gBattlescriptCurrInstr + 3); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, BSScriptRead8(gBattlescriptCurrInstr + 2), status); + EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status); MarkBufferBankForExecution(gActiveBank); } gBattlescriptCurrInstr += 7; @@ -12176,7 +11639,7 @@ static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except there void atk6A_removeitem(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); #define USED_HELD_ITEMS(bank) (*(u16 *)&ewram[0x160CC + 2 * (bank)]) USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item; @@ -12636,7 +12099,7 @@ static void atk6E_set_atk_to_player0(void) static void atk6F_set_visible(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitSpriteInvisibility(0, 0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -12644,7 +12107,7 @@ static void atk6F_set_visible(void) static void atk70_record_ability(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); RecordAbilityBattle(gActiveBank, gLastUsedAbility); gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument... } @@ -12667,7 +12130,7 @@ static void atk71_buffer_move_to_learn(void) static void atk72_jump_if_can_run_frombattle(void) { if (sub_8014AB8(gBank1)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } @@ -12678,7 +12141,7 @@ static void atk73_hp_thresholds(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); opposing_bank = gActiveBank ^ 1; result = gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP; @@ -12705,7 +12168,7 @@ static void atk74_hp_thresholds2(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); opposing_bank = gActiveBank ^ 1; hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)]; result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout; @@ -12732,8 +12195,8 @@ static void atk75_8026A58(void) static void atk76_various(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - switch (BSScriptRead8(gBattlescriptCurrInstr + 2)) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: CancelMultiTurnMoves(gActiveBank); @@ -12880,7 +12343,7 @@ static void atk79_setatkhptozero(void) static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop through all targets { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -12903,9 +12366,9 @@ static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop throug static void atk7B_healhalfHP_if_possible(void) { - u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - if (BSScriptRead8(gBattlescriptCurrInstr + 5) == 1) + if (T2_READ_8(gBattlescriptCurrInstr + 5) == 1) gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; @@ -13022,7 +12485,7 @@ static void atk7F_setseeded(void) static void atk80_manipulatedamage(void) { - switch (BSScriptRead8(gBattlescriptCurrInstr + 1)) + switch (T2_READ_8(gBattlescriptCurrInstr + 1)) { case 0: gBattleMoveDamage *= -1; @@ -13044,7 +12507,7 @@ static void atk80_manipulatedamage(void) static void atk81_setrest(void) { - u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); gActiveBank = gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) @@ -13065,7 +12528,7 @@ static void atk81_setrest(void) static void atk82_jumpifnotfirstturn(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBankAttacker].isFirstTurn) gBattlescriptCurrInstr += 5; @@ -13102,7 +12565,7 @@ bool8 UproarWakeUpCheck(u8 bank) static void atk84_jump_if_cant_sleep(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (UproarWakeUpCheck(gBankTarget)) gBattlescriptCurrInstr = jump_loc; else if (gBattleMons[gBankTarget].ability == ABILITY_INSOMNIA || gBattleMons[gBankTarget].ability == ABILITY_VITAL_SPIRIT) @@ -13141,7 +12604,7 @@ static void atk85_stockpile(void) static void atk86_stockpiletobasedamage(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBankAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jump_loc; @@ -13166,7 +12629,7 @@ static void atk86_stockpiletobasedamage(void) static void atk87_stockpiletohpheal(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBankAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jump_loc; @@ -13953,8 +13416,8 @@ _080262C0: .4byte gBattleMoveFlags\n\ static void atk89_statbuffchange(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2); - if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, BSScriptRead8(gBattlescriptCurrInstr + 1), jump_loc) == 0) + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2); + if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, T2_READ_8(gBattlescriptCurrInstr + 1), jump_loc) == 0) gBattlescriptCurrInstr += 6; } @@ -13989,8 +13452,8 @@ static void atk8C_confuseifrepeatingattackends(void) static void atk8D_setmultihit_counter(void) { - if (BSScriptRead8(gBattlescriptCurrInstr + 1)) - gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1); + if (T2_READ_8(gBattlescriptCurrInstr + 1)) + gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1); else { gMultiHitCounter = Random() & 3; @@ -14024,7 +13487,7 @@ static bool8 sub_80264C0(void) u16 random = Random() & 0xFF; if ((u32)((random * (gBattleMons[gBankAttacker].level + gBattleMons[gBankTarget].level) >> 8) + 1) <= (gBattleMons[gBankTarget].level / 4)) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); return 0; } ewram[gBankTarget + 0x16064] = gBattlePartyID[gBankTarget]; @@ -14075,7 +13538,7 @@ static void atk8F_forcerandomswitch(void) if ((valid < 2 && (gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) || (valid < 3 && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else if (sub_80264C0()) { @@ -14151,7 +13614,7 @@ static void atk90_conversion_type_change(void) if (checked_move == valid_moves) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -14270,7 +13733,7 @@ MOVESTATUS_MISSED_LABEL: gBattleCommunication[MULTISTRING_CHOOSER] = 1; else gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #else @@ -14725,7 +14188,7 @@ static void atk97_try_infatuation(void) || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE || gBattleMons[gBankTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == 0xFF || GetGenderFromSpeciesAndPersonality(def_species, def_pid) == 0xFF) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -14740,9 +14203,9 @@ static void atk98_status_icon_update(void) if (gBattleExecBuffer) return; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) != 4) + if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -14882,7 +14345,7 @@ static void atk9D_copyattack(void) if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED || gLastUsedMove[gBankTarget] == 0 || gLastUsedMove[gBankTarget] == 0xFFFF) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -14910,7 +14373,7 @@ static void atk9D_copyattack(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15047,7 +14510,7 @@ static void atkA1_counterdamagecalculator(void) else { gSpecialStatuses[gBankAttacker].flag20 = 1; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15067,7 +14530,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the ph else { gSpecialStatuses[gBankAttacker].flag20 = 1; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15094,7 +14557,7 @@ static void atkA3_disablelastusedattack(void) } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15118,7 +14581,7 @@ static void atkA4_setencore(void) } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15139,14 +14602,14 @@ static void atkA5_painsplitdmgcalc(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #ifdef NONMATCHING static void atkA6_settypetorandomresistance(void) { if (gMoveHitWith[gBankAttacker] == 0 || gMoveHitWith[gBankAttacker] == 0xFFFF || (IsTwoTurnsMove(gMoveHitWith[gBankAttacker]) && !gProtectStructs[gBankAttacker].physicalDmg && !gProtectStructs[gBankAttacker].specialDmg)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { int type = 0, rands = 0; @@ -15188,7 +14651,7 @@ static void atkA6_settypetorandomresistance(void) type += 3, rands += 3; } while (rands < 336); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15477,7 +14940,7 @@ static void atkA8_copymovepermanently(void) break; } if (i != 4) //sketch fail - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else //sketch worked { struct move_pp moves_data; @@ -15501,7 +14964,7 @@ static void atkA8_copymovepermanently(void) } } else //sketch fail - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static bool8 IsTwoTurnsMove(u16 move) @@ -15562,7 +15025,7 @@ static void atkA9_sleeptalk_choose_move(void) gCurrMovePos = random_pos; gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gBankTarget = GetMoveTarget(gRandomMove, 0); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15642,7 +15105,7 @@ static void atkAD_spite_ppreduce(void) return; } } - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkAE_heal_party_status(void) @@ -15726,7 +15189,7 @@ static void atkAF_cursetarget(void) { if (gBattleMons[gBankTarget].status2 & STATUS2_CURSED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -15744,7 +15207,7 @@ static void atkB0_set_spikes(void) if (gSideTimer[side].spikesAmount == 3) { gSpecialStatuses[gBankAttacker].flag20 = 1; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -15778,7 +15241,7 @@ static void atkB2_setperishsong(void) sub_80153D0(gBankAttacker); if (not_affected_pokes == gNoOfAllBanks) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } @@ -15816,8 +15279,8 @@ static void atkB3_rolloutdamagecalculation(void) static void atkB4_jumpifconfusedandstatmaxed(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[BSScriptRead8(gBattlescriptCurrInstr + 1)] == 0xC) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[T2_READ_8(gBattlescriptCurrInstr + 1)] == 0xC) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -15984,7 +15447,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void) gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkBB_setsunny(void) @@ -16019,7 +15482,7 @@ static void atkBC_maxattackhalvehp(void) //belly drum } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -16089,7 +15552,7 @@ static void atkC0_recoverbasedonsunlight(void) } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -16258,7 +15721,7 @@ static void atkC3_setfutureattack(void) { if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -16291,7 +15754,7 @@ static void atkC4_beat_up(void) party = gEnemyParty; if (gBattleMons[gBankTarget].hp == 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { while (gBattleCommunication[0] < 6) @@ -16321,9 +15784,9 @@ static void atkC4_beat_up(void) gBattleCommunication[0]++; } else if (gBattleCommunication[0] != 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 5); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); } } #else @@ -16645,7 +16108,7 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento if (gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] == 0 && gBattleMons[gBankTarget].statStages[STAT_STAGE_SPATK] == 0 && gBattleCommunication[6] != 1) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gActiveBank = gBankAttacker; @@ -16691,13 +16154,13 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh MarkBufferBankForExecution(gActiveBank); } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkCE_settorment(void) { if (gBattleMons[gBankTarget].status2 & STATUS2_TORMENT) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gBattleMons[gBankTarget].status2 |= STATUS2_TORMENT; @@ -16710,7 +16173,7 @@ static void atkCF_jumpifnodamage(void) if (gProtectStructs[gBankAttacker].physicalDmg || gProtectStructs[gBankAttacker].specialDmg) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkD0_settaunt(void) @@ -16722,7 +16185,7 @@ static void atkD0_settaunt(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkD1_set_helpinghand(void) @@ -16735,7 +16198,7 @@ static void atkD1_set_helpinghand(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #ifdef NONMATCHING @@ -16747,7 +16210,7 @@ static void atkD2_swap_items(void) if (gBattleTypeFlags) } - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #else @@ -17080,12 +16543,12 @@ static void atkD3_copy_ability(void) //role play gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkD4_wish_effect(void) { - switch (BSScriptRead8(gBattlescriptCurrInstr + 1)) + switch (T2_READ_8(gBattlescriptCurrInstr + 1)) { case 0: //use wish if (gWishFutureKnock.wishCounter[gBankAttacker] == 0) @@ -17095,7 +16558,7 @@ static void atkD4_wish_effect(void) gBattlescriptCurrInstr += 6; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); break; case 1: //heal effect gBattleTextBuff1[0] = 0xFD; @@ -17108,7 +16571,7 @@ static void atkD4_wish_effect(void) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; break; @@ -17118,7 +16581,7 @@ static void atkD4_wish_effect(void) static void atkD5_setroots(void) //ingrain { if (gStatuses3[gBankAttacker] & STATUS3_ROOTED) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gStatuses3[gBankAttacker] |= STATUS3_ROOTED; @@ -17137,7 +16600,7 @@ static void atkD6_doubledamagedealtifdamaged(void) static void atkD7_setyawn(void) { if (gStatuses3[gBankTarget] & STATUS3_YAWN || (u8) gBattleMons[gBankTarget].status1) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gStatuses3[gBankTarget] |= 0x1000; @@ -17149,7 +16612,7 @@ static void atkD8_setdamagetohealthdifference(void) { if (gBattleMons[gBankTarget].hp <= gBattleMons[gBankAttacker].hp) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -17175,7 +16638,7 @@ static void atkDA_abilityswap(void) if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0) || gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD || gBattleMoveFlags & MOVESTATUS_NOEFFECT) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { u8 atk_ability = gBattleMons[gBankAttacker].ability; @@ -17190,7 +16653,7 @@ static void atkDB_imprisoneffect(void) u8 r8 = 0; if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISIONED)) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -17221,14 +16684,14 @@ static void atkDB_imprisoneffect(void) } } if (bank == gNoOfAllBanks) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } static void atkDC_setgrudge(void) { if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gStatuses3[gBankAttacker] |= STATUS3_GRUDGE; @@ -17302,7 +16765,7 @@ static void atkDE_asistattackselect(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #else @@ -17498,7 +16961,7 @@ static void atkDF_setmagiccoat(void) gBankTarget = gBankAttacker; gSpecialStatuses[gBankAttacker].flag20 = 1; if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gProtectStructs[gBankAttacker].bounceMove = 1; @@ -17510,7 +16973,7 @@ static void atkE0_setstealstatchange(void) { gSpecialStatuses[gBankAttacker].flag20 = 1; if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gProtectStructs[gBankAttacker].stealMove = 1; @@ -17538,14 +17001,14 @@ static void atkE1_intimidate_string_loader(void) } if (gBankTarget >= gNoOfAllBanks) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } static void atkE2_switchout_abilities(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleMons[gActiveBank].ability) { case ABILITY_NATURAL_CURE: @@ -17559,9 +17022,9 @@ static void atkE2_switchout_abilities(void) static void atkE3_jumpiffainted(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].hp == 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -17675,7 +17138,7 @@ static void atkE8_settypebasedhalvers(void) //water/mud sport if (worked) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkE9_setweatherballtype(void) @@ -17713,7 +17176,7 @@ static void atkEA_recycleitem(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkEB_settypetoterrain(void) @@ -17729,7 +17192,7 @@ static void atkEB_settypetoterrain(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkEC_pursuit_sth(void) @@ -17745,7 +17208,7 @@ static void atkEC_pursuit_sth(void) gBankAttacker = gActiveBank; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkED_802B4B4(void) @@ -17834,7 +17297,7 @@ void atkEF_pokeball_catch_calculation(void) ball_multiplier = 10; break; case ITEM_REPEAT_BALL: - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) ball_multiplier = 30; else ball_multiplier = 10; @@ -17920,11 +17383,11 @@ static void atkF0_copy_caught_poke(void) static void atkF1_setpoke_as_caught(void) { - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3); if (gBattleMons[gBankTarget].species == SPECIES_UNOWN) gSaveBlock2.pokedex.unownPersonality = gBattleMons[gBankTarget].personality; if (gBattleMons[gBankTarget].species == SPECIES_SPINDA) //else if @@ -18125,14 +17588,14 @@ static void atkF3_nickname_caught_poke(void) if (gMain.callback2 == sub_800F808 && !gPaletteFade.active ) { SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } break; case 4: if (CalculatePlayerPartyCount() == 6) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); break; } } diff --git a/src/battle_7.c b/src/battle/battle_7.c index cf3a3522e..1d68386aa 100644 --- a/src/battle_7.c +++ b/src/battle/battle_7.c @@ -48,8 +48,8 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern u32 gBitTable[]; extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; -extern u8 gBattleAnimPlayerMonIndex; -extern u8 gBattleAnimEnemyMonIndex; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; extern void (*gAnimScriptCallback)(void); extern u8 gAnimScriptActive; extern const u8 *const gBattleAnims_Unknown1[]; @@ -78,7 +78,7 @@ extern void sub_80440EC(); extern void sub_804777C(); extern void sub_8141828(); extern u8 sub_8077ABC(); -extern u8 sub_8078874(u8); +extern u8 AnimBankSpriteExists(u8); extern u8 sub_8077F68(u8); extern u8 sub_8077F7C(u8); extern void sub_8094958(void); @@ -185,8 +185,8 @@ bool8 move_anim_start_t3(u8 a, u8 b, u8 c, u8 d, u16 e) sub_80324E0(a); return TRUE; } - gBattleAnimPlayerMonIndex = b; - gBattleAnimEnemyMonIndex = c; + gBattleAnimBankAttacker = b; + gBattleAnimBankTarget = c; ewram17840.unk0 = e; DoMoveAnim(gBattleAnims_Unknown1, d, 0); taskId = CreateTask(sub_80315E8, 10); @@ -225,8 +225,8 @@ void move_anim_start_t4(u8 a, u8 b, u8 c, u8 d) { u8 taskId; - gBattleAnimPlayerMonIndex = b; - gBattleAnimEnemyMonIndex = c; + gBattleAnimBankAttacker = b; + gBattleAnimBankTarget = c; DoMoveAnim(gBattleAnims_Unknown2, d, 0); taskId = CreateTask(sub_80316CC, 10); gTasks[taskId].data[0] = a; @@ -301,16 +301,16 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) r7); paletteOffset = 0x100 + b * 16; if (ewram17800[b].transformedSpecies == 0) - lzPaletteData = pokemon_get_pal(pkmn); + lzPaletteData = GetMonSpritePal(pkmn); else - lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue); - sub_800D238(lzPaletteData, ewram); + lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); + LZDecompressWram(lzPaletteData, ewram); LoadPalette(ewram, paletteOffset, 0x20); LoadPalette(ewram, 0x80 + b * 16, 0x20); if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; - sub_800D238(lzPaletteData, ewram + 0x16400); + LZDecompressWram(lzPaletteData, ewram + 0x16400); LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); } if (ewram17800[b].transformedSpecies != 0) @@ -353,16 +353,16 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) r7); paletteOffset = 0x100 + b * 16; if (ewram17800[b].transformedSpecies == 0) - lzPaletteData = pokemon_get_pal(pkmn); + lzPaletteData = GetMonSpritePal(pkmn); else - lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue); - sub_800D238(lzPaletteData, ewram); + lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); + LZDecompressWram(lzPaletteData, ewram); LoadPalette(ewram, paletteOffset, 0x20); LoadPalette(ewram, 0x80 + b * 16, 0x20); if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; - sub_800D238(lzPaletteData, ewram + 0x16400); + LZDecompressWram(lzPaletteData, ewram + 0x16400); LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); } if (ewram17800[b].transformedSpecies != 0) @@ -506,7 +506,7 @@ bool8 sub_8031C30(u8 a) void load_gfxc_health_bar(void) { - sub_800D238(gUnknown_08D09C48, (void *)0x02000000); + LZDecompressWram(gUnknown_08D09C48, (void *)0x02000000); } u8 battle_load_something(u8 *pState, u8 *b) @@ -637,7 +637,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) const void *src; void *dst; - if (IsContest()) + if (NotInBattle()) { r10 = 0; species = ewram19348.unk2; @@ -690,19 +690,19 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) dst = (void *)(VRAM + 0x10000 + gSprites[gObjectBankIDs[a]].oam.tileNum * 32); DmaCopy32(3, src, dst, 0x800); paletteOffset = 0x100 + a * 16; - lzPaletteData = species_and_otid_get_pal(species, otId, personalityValue); - sub_800D238(lzPaletteData, ewram); + lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); + LZDecompressWram(lzPaletteData, ewram); LoadPalette(ewram, paletteOffset, 32); if (species == SPECIES_CASTFORM) { u16 *paletteSrc = (u16 *)(ewram + 0x16400); - sub_800D238(lzPaletteData, paletteSrc); + LZDecompressWram(lzPaletteData, paletteSrc); LoadPalette(paletteSrc + gBattleMonForms[b] * 16, paletteOffset, 32); } BlendPalette(paletteOffset, 16, 6, 0x7FFF); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); - if (!IsContest()) + if (!NotInBattle()) { ewram17800[a].transformedSpecies = species; gBattleMonForms[a] = gBattleMonForms[b]; @@ -722,11 +722,11 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) if (b == 0) { - if (IsContest()) + if (NotInBattle()) r4 = 0; else r4 = GetBankIdentity(a); - if (IsContest()) + if (NotInBattle()) LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); else if (GetBankSide(a) != 0) LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]); @@ -742,7 +742,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) } else { - if (!IsContest()) + if (!NotInBattle()) { if (GetBankSide(a) != 0) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); @@ -846,7 +846,7 @@ void sub_80326EC(u8 a) for (i = 0; i < gNoOfAllBanks; i++) { - if (sub_8078874(i) != 0) + if (AnimBankSpriteExists(i) != 0) { gSprites[gObjectBankIDs[i]].oam.affineMode = a; if (a == 0) @@ -884,7 +884,7 @@ void sub_80328A4(struct Sprite *sprite) u8 r4 = sprite->data0; struct Sprite *r7 = &gSprites[gObjectBankIDs[r4]]; - if (!r7->inUse || sub_8078874(r4) == 0) + if (!r7->inUse || AnimBankSpriteExists(r4) == 0) { sprite->callback = sub_8032978; return; diff --git a/src/battle_ai.c b/src/battle/battle_ai.c index 0e20c6b05..9c6d2bec4 100644 --- a/src/battle_ai.c +++ b/src/battle/battle_ai.c @@ -267,10 +267,9 @@ const u16 sDiscouragedPowerfulMoveEffects[] = void BattleAI_HandleItemUseBeforeAISetup(void) { s32 i; - u8 *data = (u8 *)UNK_2016A00_STRUCT; + u8 *data; - for (i = 0; (u32)i < sizeof(struct UnkBattleStruct1); i++) - data[i] = 0; + MEMSET_ALT(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data); if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 0x400 @@ -292,21 +291,23 @@ void BattleAI_HandleItemUseBeforeAISetup(void) void BattleAI_SetupAIData(void) { s32 i; - u8 *data = (u8 *)AI_THINKING_STRUCT; - u8 r7; + u8 limitations; + u8 *data; // clear AI data and set default move score to 100. strange that they didn't use memset here. - for (i = 0; (u32)i < sizeof(struct AI_ThinkingStruct); i++) - data[i] = 0; + MEMSET_ALT(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data); + for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; - r7 = CheckMoveLimitations(gActiveBank, 0, 0xFF); + limitations = CheckMoveLimitations(gActiveBank, 0, 0xFF); - // probably sets up the moves to consider and ignores non-valid moves such as NO_MOVE or glitch moves. + // do not consider moves the AI cannot select + // also, roll simulated RNG for moves that have a degree of + // randomness. for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBitTable[i] & r7) + if (gBitTable[i] & limitations) AI_THINKING_STRUCT->score[i] = 0; AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16); @@ -411,7 +412,7 @@ void BattleAI_DoAIProcessing(void) break; case AIState_Processing: if (AI_THINKING_STRUCT->moveConsidered != MOVE_NONE) - sBattleAICmdTable[*(u8 *)gAIScriptPtr](); // run AI command. + sBattleAICmdTable[*gAIScriptPtr](); // run AI command. else { AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; // definitely do not consider any move that has 0 PP. @@ -469,7 +470,7 @@ void RecordItemBattle(u8 a, u8 b) static void BattleAICmd_if_random_less_than(void) { if (Random() % 256 < gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -477,7 +478,7 @@ static void BattleAICmd_if_random_less_than(void) static void BattleAICmd_if_random_greater_than(void) { if (Random() % 256 > gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -485,7 +486,7 @@ static void BattleAICmd_if_random_greater_than(void) static void BattleAICmd_if_random_equal(void) { if (Random() % 256 == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -493,7 +494,7 @@ static void BattleAICmd_if_random_equal(void) static void BattleAICmd_if_random_not_equal(void) { if (Random() % 256 != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -518,7 +519,7 @@ static void BattleAICmd_if_hp_less_than(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -533,7 +534,7 @@ static void BattleAICmd_if_hp_more_than(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -548,7 +549,7 @@ static void BattleAICmd_if_hp_equal(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -563,7 +564,7 @@ static void BattleAICmd_if_hp_not_equal(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -578,10 +579,10 @@ static void BattleAICmd_if_status(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status1 & arg) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -596,10 +597,10 @@ static void BattleAICmd_if_not_status(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status1 & arg) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -614,10 +615,10 @@ static void BattleAICmd_if_status2(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status2 & arg) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -632,10 +633,10 @@ static void BattleAICmd_if_not_status2(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status2 & arg) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -650,10 +651,10 @@ static void BattleAICmd_if_status3(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gStatuses3[index] & arg) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -668,10 +669,10 @@ static void BattleAICmd_if_not_status3(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gStatuses3[index] & arg) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -687,10 +688,10 @@ static void BattleAICmd_if_status4(void) index = gBankTarget; arg1 = GetBankIdentity(index) & 1; - arg2 = AIScriptRead32(gAIScriptPtr + 2); + arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -706,10 +707,10 @@ static void BattleAICmd_if_not_status4(void) index = gBankTarget; arg1 = GetBankIdentity(index) & 1; - arg2 = AIScriptRead32(gAIScriptPtr + 2); + arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -717,7 +718,7 @@ static void BattleAICmd_if_not_status4(void) static void BattleAICmd_if_less_than(void) { if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -725,7 +726,7 @@ static void BattleAICmd_if_less_than(void) static void BattleAICmd_if_more_than(void) { if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -733,7 +734,7 @@ static void BattleAICmd_if_more_than(void) static void BattleAICmd_if_equal(void) { if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -741,80 +742,80 @@ static void BattleAICmd_if_equal(void) static void BattleAICmd_if_not_equal(void) { if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } static void BattleAICmd_if_less_than_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult < *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_more_than_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult > *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_equal_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult == *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_not_equal_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult != *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_move(void) { - u16 move = AIScriptRead16(gAIScriptPtr + 1); + u16 move = T1_READ_16(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->moveConsidered == move) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } static void BattleAICmd_if_not_move(void) { - u16 move = AIScriptRead16(gAIScriptPtr + 1); + u16 move = T1_READ_16(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->moveConsidered != move) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } static void BattleAICmd_if_in_bytes(void) { - u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFF) { if (AI_THINKING_STRUCT->funcResult == *ptr) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); return; } ptr++; @@ -824,7 +825,7 @@ static void BattleAICmd_if_in_bytes(void) static void BattleAICmd_if_not_in_bytes(void) { - u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFF) { @@ -835,18 +836,18 @@ static void BattleAICmd_if_not_in_bytes(void) } ptr++; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); } static void BattleAICmd_if_in_words(void) { - u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFFFF) { if (AI_THINKING_STRUCT->funcResult == *ptr) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); return; } ptr++; @@ -856,7 +857,7 @@ static void BattleAICmd_if_in_words(void) static void BattleAICmd_if_not_in_words(void) { - u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFFFF) { @@ -867,7 +868,7 @@ static void BattleAICmd_if_not_in_words(void) } ptr++; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); } static void BattleAICmd_if_user_can_damage(void) @@ -883,7 +884,7 @@ static void BattleAICmd_if_user_can_damage(void) if (i == MAX_MON_MOVES) gAIScriptPtr += 5; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_if_user_cant_damage(void) @@ -899,7 +900,7 @@ static void BattleAICmd_if_user_cant_damage(void) if (i != MAX_MON_MOVES) gAIScriptPtr += 5; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_get_turn_count(void) @@ -1258,7 +1259,7 @@ static void BattleAICmd_get_move(void) static void BattleAICmd_if_arg_equal(void) { if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1266,23 +1267,23 @@ static void BattleAICmd_if_arg_equal(void) static void BattleAICmd_if_arg_not_equal(void) { if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } static void BattleAICmd_if_would_go_first(void) { - if (b_first_side(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } static void BattleAICmd_if_would_not_go_first(void) { - if (b_first_side(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1486,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void) damageVar = gBattleMoveDamage; if (damageVar == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1517,7 +1518,7 @@ static void BattleAICmd_if_status_in_party(void) break; } - statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); + statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); for (i = 0; i < 6; i++) { @@ -1527,7 +1528,7 @@ static void BattleAICmd_if_status_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch return; } } @@ -1553,7 +1554,7 @@ static void BattleAICmd_if_status_not_in_party(void) break; } - statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); + statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); for (i = 0; i < 6; i++) { @@ -1565,7 +1566,7 @@ static void BattleAICmd_if_status_not_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) gAIScriptPtr += 10; // doesnt return? } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); } static void BattleAICmd_get_weather(void) @@ -1585,7 +1586,7 @@ static void BattleAICmd_get_weather(void) static void BattleAICmd_if_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1593,7 +1594,7 @@ static void BattleAICmd_if_effect(void) static void BattleAICmd_if_not_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1608,7 +1609,7 @@ static void BattleAICmd_if_stat_level_less_than(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1623,7 +1624,7 @@ static void BattleAICmd_if_stat_level_more_than(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1638,7 +1639,7 @@ static void BattleAICmd_if_stat_level_equal(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1653,7 +1654,7 @@ static void BattleAICmd_if_stat_level_not_equal(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1682,7 +1683,7 @@ static void BattleAICmd_if_can_faint(void) gBattleMoveDamage = 1; if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -1709,7 +1710,7 @@ static void BattleAICmd_if_cant_faint(void) // this macro is missing the damage 0 = 1 assumption. if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -1731,7 +1732,7 @@ static void BattleAICmd_if_has_move(void) if (i == MAX_MON_MOVES) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; case 0: case 2: @@ -1743,7 +1744,7 @@ static void BattleAICmd_if_has_move(void) if (i == 8) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; } } @@ -1765,7 +1766,7 @@ static void BattleAICmd_if_dont_have_move(void) if (i != MAX_MON_MOVES) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; case 0: case 2: @@ -1777,7 +1778,7 @@ static void BattleAICmd_if_dont_have_move(void) if (i != 8) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; } } @@ -1796,7 +1797,7 @@ static void BattleAICmd_if_move_effect(void) break; } if (i != MAX_MON_MOVES) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; break; @@ -1807,7 +1808,7 @@ static void BattleAICmd_if_move_effect(void) if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); } } @@ -1827,7 +1828,7 @@ static void BattleAICmd_if_not_move_effect(void) if (i != MAX_MON_MOVES) gAIScriptPtr += 7; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); break; case 0: case 2: @@ -1856,7 +1857,7 @@ static void BattleAICmd_if_last_move_did_damage(void) gAIScriptPtr += 7; return; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); return; } else if (gAIScriptPtr[2] != 1) // ignore the macro if its not 0 or 1. @@ -1866,7 +1867,7 @@ static void BattleAICmd_if_last_move_did_damage(void) } else if (gDisableStructs[index].encoredMove != 0) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); return; } gAIScriptPtr += 7; @@ -1879,7 +1880,7 @@ static void BattleAICmd_if_encored(void) case 0: // _08109348 if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -1887,7 +1888,7 @@ static void BattleAICmd_if_encored(void) case 1: // _08109370 if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -1908,7 +1909,7 @@ static void BattleAICmd_if_random_100(void) u8 safariFleeRate = BATTLE_STRUCT->safariFleeRate * 5; // safari flee rate, from 0-20 if ((u8)(Random() % 100) < safariFleeRate) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -2065,12 +2066,12 @@ static void BattleAICmd_nullsub_57(void) static void BattleAICmd_call(void) { AIStackPushVar(gAIScriptPtr + 5); - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_jump(void) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_end(void) @@ -2086,7 +2087,7 @@ static void BattleAICmd_if_level_compare(void) case 0: // greater than if (gBattleMons[gBankAttacker].level > gBattleMons[gBankTarget].level) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -2094,7 +2095,7 @@ static void BattleAICmd_if_level_compare(void) case 1: // less than if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -2102,7 +2103,7 @@ static void BattleAICmd_if_level_compare(void) case 2: // equal if (gBattleMons[gBankAttacker].level == gBattleMons[gBankTarget].level) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -2113,7 +2114,7 @@ static void BattleAICmd_if_level_compare(void) static void BattleAICmd_if_taunted(void) { if (gDisableStructs[gBankTarget].tauntTimer1 != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -2121,7 +2122,7 @@ static void BattleAICmd_if_taunted(void) static void BattleAICmd_if_not_taunted(void) { if (gDisableStructs[gBankTarget].tauntTimer1 == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } diff --git a/src/battle_anim.c b/src/battle/battle_anim.c index 6bd98099a..eac16ee18 100644 --- a/src/battle_anim.c +++ b/src/battle/battle_anim.c @@ -37,8 +37,8 @@ EWRAM_DATA u8 gMonAnimTaskIdArray[2] = {0}; EWRAM_DATA u8 gUnknown_0202F7C4 = 0; EWRAM_DATA u8 gUnknown_0202F7C5 = 0; EWRAM_DATA u16 gAnimMoveIndex = 0; // set but unused. -EWRAM_DATA u8 gBattleAnimPlayerMonIndex = 0; -EWRAM_DATA u8 gBattleAnimEnemyMonIndex = 0; +EWRAM_DATA u8 gBattleAnimBankAttacker = 0; +EWRAM_DATA u8 gBattleAnimBankTarget = 0; EWRAM_DATA u16 gUnknown_0202F7CA[4] = {0}; EWRAM_DATA u8 gUnknown_0202F7D2 = 0; extern u16 gUnknown_030041B4; @@ -201,15 +201,15 @@ void battle_anim_clear_some_data(void) gUnknown_0202F7C4 = 0; gUnknown_0202F7C5 = 0; gAnimMoveIndex = 0; - gBattleAnimPlayerMonIndex = 0; - gBattleAnimEnemyMonIndex = 0; + gBattleAnimBankAttacker = 0; + gBattleAnimBankTarget = 0; gUnknown_0202F7D2 = 0; } void ExecuteMoveAnim(u16 move) { - gBattleAnimPlayerMonIndex = gBankAttacker; - gBattleAnimEnemyMonIndex = gBankTarget; + gBattleAnimBankAttacker = gBankAttacker; + gBattleAnimBankTarget = gBankTarget; DoMoveAnim(gBattleAnims_Moves, move, 1); } @@ -217,7 +217,7 @@ void DoMoveAnim(const u8 *const moveAnims[], u16 move, u8 c) { s32 i; - if (IsContest() == 0) + if (NotInBattle() == 0) { sub_8079E24(); sub_8043EB4(0); @@ -335,7 +335,7 @@ static void RunAnimScriptCommand(void) { do { - sScriptCmdTable[SCRIPT_READ_8(gBattleAnimScriptPtr)](); + sScriptCmdTable[T1_READ_8(gBattleAnimScriptPtr)](); } while (gAnimFramesToWait == 0 && gAnimScriptActive != FALSE); } @@ -344,7 +344,7 @@ static void ScriptCmd_loadsprite(void) u16 index; gBattleAnimScriptPtr++; - index = SCRIPT_READ_16(gBattleAnimScriptPtr); + index = T1_READ_16(gBattleAnimScriptPtr); LoadCompressedObjectPic(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]); LoadCompressedObjectPalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]); gBattleAnimScriptPtr += 2; @@ -358,7 +358,7 @@ static void ScriptCmd_unloadsprite(void) u16 index; gBattleAnimScriptPtr++; - index = SCRIPT_READ_16(gBattleAnimScriptPtr); + index = T1_READ_16(gBattleAnimScriptPtr); FreeSpriteTilesByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag); FreeSpritePaletteByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag); gBattleAnimScriptPtr += 2; @@ -378,15 +378,15 @@ static void ScriptCmd_sprite(void) s8 r1; gBattleAnimScriptPtr++; - r7 = (struct SpriteTemplate *)(SCRIPT_READ_32(gBattleAnimScriptPtr)); + r7 = (struct SpriteTemplate *)(T2_READ_32(gBattleAnimScriptPtr)); gBattleAnimScriptPtr += 4; - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; for (i = 0; i < r0; i++) { - gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 2; } if (r4 & 0x80) @@ -396,7 +396,7 @@ static void ScriptCmd_sprite(void) r4 -= 0x40; else r4 = -r4; - _r0 = sub_8079E90(gBattleAnimEnemyMonIndex); + _r0 = sub_8079E90(gBattleAnimBankTarget); r1 = r4; } @@ -407,15 +407,15 @@ static void ScriptCmd_sprite(void) r4 -= 0x40; else r4 = -r4; - _r0 = sub_8079E90(gBattleAnimPlayerMonIndex); + _r0 = sub_8079E90(gBattleAnimBankAttacker); r1 = r4; } r6 = _r0 + r1; if ((s16)r6 < 3) r6 = 3; - r4 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2); - r2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 3); + r4 = sub_8077ABC(gBattleAnimBankTarget, 2); + r2 = sub_8077ABC(gBattleAnimBankTarget, 3); CreateSpriteAndAnimate(r7, r4, r2, r6); gAnimVisualTaskCount++; } @@ -485,10 +485,10 @@ _08075B34:\n\ _08075B36:\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ - ldr r0, _08075B40 @ =gBattleAnimEnemyMonIndex\n\ + ldr r0, _08075B40 @ =gBattleAnimBankTarget\n\ b _08075B56\n\ .align 2, 0\n\ -_08075B40: .4byte gBattleAnimEnemyMonIndex\n\ +_08075B40: .4byte gBattleAnimBankTarget\n\ _08075B44:\n\ cmp r4, 0x3F\n\ bls _08075B4E\n\ @@ -500,7 +500,7 @@ _08075B4E:\n\ _08075B50:\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ - ldr r0, _08075BAC @ =gBattleAnimPlayerMonIndex\n\ + ldr r0, _08075BAC @ =gBattleAnimBankAttacker\n\ _08075B56:\n\ ldrb r0, [r0]\n\ bl sub_8079E90\n\ @@ -517,7 +517,7 @@ _08075B56:\n\ bgt _08075B74\n\ movs r6, 0x3\n\ _08075B74:\n\ - ldr r5, _08075BB0 @ =gBattleAnimEnemyMonIndex\n\ + ldr r5, _08075BB0 @ =gBattleAnimBankTarget\n\ ldrb r0, [r5]\n\ movs r1, 0x2\n\ bl sub_8077ABC\n\ @@ -543,8 +543,8 @@ _08075B74:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_08075BAC: .4byte gBattleAnimPlayerMonIndex\n\ -_08075BB0: .4byte gBattleAnimEnemyMonIndex\n\ +_08075BAC: .4byte gBattleAnimBankAttacker\n\ +_08075BB0: .4byte gBattleAnimBankTarget\n\ _08075BB4: .4byte gAnimVisualTaskCount\n\ .syntax divided\n"); } @@ -559,16 +559,16 @@ static void ScriptCmd_createtask(void) s32 i; gBattleAnimScriptPtr++; - taskFunc = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr); + taskFunc = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 4; - taskPriority = SCRIPT_READ_8(gBattleAnimScriptPtr); + taskPriority = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; - numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr); + numArgs = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; for (i = 0; i < numArgs; i++) { - gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 2; } @@ -580,7 +580,7 @@ static void ScriptCmd_createtask(void) static void ScriptCmd_delay(void) { gBattleAnimScriptPtr++; - gAnimFramesToWait = SCRIPT_READ_8(gBattleAnimScriptPtr); + gAnimFramesToWait = T1_READ_8(gBattleAnimScriptPtr); if (gAnimFramesToWait == 0) gAnimFramesToWait = -1; gBattleAnimScriptPtr++; @@ -654,7 +654,7 @@ static void ScriptCmd_end(void) if (continuousAnim == FALSE) // may have been used for debug? { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - if (IsContest() == 0) + if (NotInBattle() == 0) { sub_8079E24(); sub_8043EB4(1); @@ -666,7 +666,7 @@ static void ScriptCmd_end(void) static void ScriptCmd_playse(void) { gBattleAnimScriptPtr++; - PlaySE(SCRIPT_READ_16(gBattleAnimScriptPtr)); + PlaySE(T1_READ_16(gBattleAnimScriptPtr)); gBattleAnimScriptPtr += 2; } @@ -680,20 +680,20 @@ static void ScriptCmd_monbg(void) u8 taskId; gBattleAnimScriptPtr++; - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r6 = T1_READ_8(gBattleAnimScriptPtr); if (r6 == 0) r6 = 2; else if (r6 == 1) r6 = 3; if (r6 == 0 || r6 == 2) - r5 = gBattleAnimPlayerMonIndex; + r5 = gBattleAnimBankAttacker; else - r5 = gBattleAnimEnemyMonIndex; - if (b_side_obj__get_some_boolean(r5)) + r5 = gBattleAnimBankTarget; + if (IsAnimBankSpriteVisible(r5)) { r0 = GetBankIdentity(r5); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r7 = 0; else r7 = 1; @@ -719,11 +719,11 @@ static void ScriptCmd_monbg(void) } r5 ^= 2; - if (r6 > 1 && b_side_obj__get_some_boolean(r5)) + if (r6 > 1 && IsAnimBankSpriteVisible(r5)) { r0 = GetBankIdentity(r5); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r7 = 0; else r7 = 1; @@ -751,20 +751,20 @@ static void ScriptCmd_monbg(void) } #ifdef NONMATCHING -bool8 b_side_obj__get_some_boolean(u8 a) +bool8 IsAnimBankSpriteVisible(u8 a) { - if (IsContest() != 0) + if (NotInBattle()) { - if (a == gBattleAnimPlayerMonIndex) + if (a == gBattleAnimBankAttacker) return TRUE; else return FALSE; } - if (sub_8078874(a) == 0) + if (!AnimBankSpriteExists(a)) return FALSE; - if (IsContest() != 0) + if (NotInBattle()) return TRUE; // this line wont ever be reached. - if ((EWRAM_17800[a].unk0 & 1) == 0) + if (!(EWRAM_17800[a].unk0 & 1)) return TRUE; if (gSprites[gObjectBankIDs[a]].invisible) return FALSE; @@ -772,31 +772,31 @@ bool8 b_side_obj__get_some_boolean(u8 a) } #else __attribute__((naked)) -bool8 b_side_obj__get_some_boolean(u8 a) +bool8 IsAnimBankSpriteVisible(u8 a) { asm(".syntax unified\n\ push {r4,r5,lr}\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ adds r5, r4, 0\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08075FDC\n\ - ldr r0, _08075FD8 @ =gBattleAnimPlayerMonIndex\n\ + ldr r0, _08075FD8 @ =gBattleAnimBankAttacker\n\ ldrb r0, [r0]\n\ cmp r4, r0\n\ beq _0807601C\n\ b _0807602C\n\ .align 2, 0\n\ -_08075FD8: .4byte gBattleAnimPlayerMonIndex\n\ +_08075FD8: .4byte gBattleAnimBankAttacker\n\ _08075FDC:\n\ adds r0, r4, 0\n\ - bl sub_8078874\n\ + bl AnimBankSpriteExists\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _0807602C\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0807601C\n\ @@ -877,7 +877,7 @@ void sub_8076034(u8 a, u8 b) spriteId = gObjectBankIDs[a]; gUnknown_030042C0 = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; - if (IsContest() != 0 && sub_80AEB1C(EWRAM_19348) != 0) + if (NotInBattle() != 0 && sub_80AEB1C(EWRAM_19348) != 0) gUnknown_030042C0--; gUnknown_030041B4 = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; gSprites[gObjectBankIDs[a]].invisible = TRUE; @@ -889,12 +889,12 @@ void sub_8076034(u8 a, u8 b) addr3 = (u16 *)PLTT + s.unk8 * 16; DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32); - if (IsContest() != 0) + if (NotInBattle() != 0) r2 = 0; else r2 = GetBankIdentity(a); sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock); - if (IsContest() != 0) + if (NotInBattle() != 0) sub_8076380(); } else @@ -996,7 +996,7 @@ void sub_8076464(u8 a) struct UnknownStruct2 s; sub_8078914(&s); - if (a == 0 || IsContest() != 0) + if (a == 0 || NotInBattle() != 0) { u16 *addr2; @@ -1090,15 +1090,15 @@ static void ScriptCmd_clearmonbg(void) u8 taskId; gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr); if (r4 == 0) r4 = 2; else if (r4 == 1) r4 = 3; if (r4 == 0 || r4 == 2) - r5 = gBattleAnimPlayerMonIndex; + r5 = gBattleAnimBankAttacker; else - r5 = gBattleAnimEnemyMonIndex; + r5 = gBattleAnimBankTarget; if (gMonAnimTaskIdArray[0] != 0xFF) gSprites[gObjectBankIDs[r5]].invisible = FALSE; if (r4 > 1 && gMonAnimTaskIdArray[1] != 0xFF) @@ -1121,7 +1121,7 @@ static void sub_807672C(u8 taskId) { var = GetBankIdentity(gTasks[taskId].data[2]); var += 0xFF; - if (var <= 1 || IsContest() != 0) + if (var <= 1 || NotInBattle() != 0) r4 = 0; else r4 = 1; @@ -1149,20 +1149,20 @@ static void ScriptCmd_monbg_22(void) u8 r1; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r5 = T1_READ_8(gBattleAnimScriptPtr); if (r5 == 0) r5 = 2; else if (r5 == 1) r5 = 3; if (r5 == 0 || r5 == 2) - r4 = gBattleAnimPlayerMonIndex; + r4 = gBattleAnimBankAttacker; else - r4 = gBattleAnimEnemyMonIndex; - if (b_side_obj__get_some_boolean(r4)) + r4 = gBattleAnimBankTarget; + if (IsAnimBankSpriteVisible(r4)) { r0 = GetBankIdentity(r4); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r1 = 0; else r1 = 1; @@ -1170,11 +1170,11 @@ static void ScriptCmd_monbg_22(void) gSprites[gObjectBankIDs[r4]].invisible = FALSE; } r4 ^= 2; - if (r5 > 1 && b_side_obj__get_some_boolean(r4)) + if (r5 > 1 && IsAnimBankSpriteVisible(r4)) { r0 = GetBankIdentity(r4); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r1 = 0; else r1 = 1; @@ -1191,18 +1191,18 @@ static void ScriptCmd_clearmonbg_23(void) u8 taskId; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r5 = T1_READ_8(gBattleAnimScriptPtr); if (r5 == 0) r5 = 2; else if (r5 == 1) r5 = 3; if (r5 == 0 || r5 == 2) - r6 = gBattleAnimPlayerMonIndex; + r6 = gBattleAnimBankAttacker; else - r6 = gBattleAnimEnemyMonIndex; - if (b_side_obj__get_some_boolean(r6)) + r6 = gBattleAnimBankTarget; + if (IsAnimBankSpriteVisible(r6)) gSprites[gObjectBankIDs[r6]].invisible = FALSE; - if (r5 > 1 && b_side_obj__get_some_boolean(r6 ^ 2)) + if (r5 > 1 && IsAnimBankSpriteVisible(r6 ^ 2)) gSprites[gObjectBankIDs[r6 ^ 2]].invisible = FALSE; else r5 = 0; @@ -1224,13 +1224,13 @@ static void sub_80769A4(u8 taskId) r4 = gTasks[taskId].data[2]; r0 = GetBankIdentity(r4); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r5 = 0; else r5 = 1; - if (b_side_obj__get_some_boolean(r4)) + if (IsAnimBankSpriteVisible(r4)) sub_8076464(r5); - if (gTasks[taskId].data[0] > 1 && b_side_obj__get_some_boolean(r4 ^ 2)) + if (gTasks[taskId].data[0] > 1 && IsAnimBankSpriteVisible(r4 ^ 2)) sub_8076464(r5 ^ 1); DestroyTask(taskId); } @@ -1268,12 +1268,9 @@ static void ScriptCmd_blendoff(void) static void ScriptCmd_call(void) { - u32 addr; - gBattleAnimScriptPtr++; gBattleAnimScriptRetAddr = gBattleAnimScriptPtr + 4; - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } static void ScriptCmd_return(void) @@ -1288,36 +1285,31 @@ static void ScriptCmd_setvar(void) u8 r2; gBattleAnimScriptPtr++; - r2 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r2 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); + r4 = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr = addr + 4; gBattleAnimArgs[r2] = r4; } static void ScriptCmd_ifelse(void) { - u32 addr; - gBattleAnimScriptPtr++; if (gUnknown_0202F7C4 & 1) gBattleAnimScriptPtr += 4; - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } static void ScriptCmd_jumpif(void) { u8 r1; - u32 addr; gBattleAnimScriptPtr++; - r1 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r1 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; if (r1 == gUnknown_0202F7C4) { - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } else { @@ -1327,15 +1319,11 @@ static void ScriptCmd_jumpif(void) static void ScriptCmd_jump(void) { - u32 addr; - gBattleAnimScriptPtr++; - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } -// Uses of this function that rely on a TRUE return are expecting inBattle to not be ticked as defined in contest behavior. As a result, if misused, this function cannot reliably discern between field and contest status and could result in undefined behavior. -bool8 IsContest(void) +bool8 NotInBattle(void) { if (!gMain.inBattle) return TRUE; @@ -1349,7 +1337,7 @@ static void ScriptCmd_fadetobg(void) u8 taskId; gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); gTasks[taskId].data[0] = r4; @@ -1369,9 +1357,9 @@ static void ScriptCmd_fadetobg_25(void) r6 = gBattleAnimScriptPtr[2]; gBattleAnimScriptPtr += 3; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); - if (IsContest() != 0) + if (NotInBattle() != 0) gTasks[taskId].data[0] = r6; - else if (GetBankSide(gBattleAnimEnemyMonIndex) == 0) + else if (GetBankSide(gBattleAnimBankTarget) == 0) gTasks[taskId].data[0] = r7; else gTasks[taskId].data[0] = r8; @@ -1416,15 +1404,15 @@ static void task_p5_load_battle_screen_elements(u8 taskId) static void sub_8076DB8(u16 a) { - if (IsContest()) + if (NotInBattle()) { void *tilemap = gBattleAnimBackgroundTable[a].tilemap; void *dmaSrc; void *dmaDest; - sub_800D238(tilemap, IsContest() ? EWRAM_14800 : EWRAM_18000); - sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : EWRAM_18000, 0x100, 0); - dmaSrc = IsContest() ? EWRAM_14800 : EWRAM_18000; + LZDecompressWram(tilemap, NotInBattle() ? EWRAM_14800 : EWRAM_18000); + sub_80763FC(sub_80789BC(), NotInBattle() ? EWRAM_14800 : EWRAM_18000, 0x100, 0); + dmaSrc = NotInBattle() ? EWRAM_14800 : EWRAM_18000; dmaDest = (void *)(VRAM + 0xD000); DmaCopy32(3, dmaSrc, dmaDest, 0x800); LZDecompressVram(gBattleAnimBackgroundTable[a].image, (void *)(VRAM + 0x2000)); @@ -1440,7 +1428,7 @@ static void sub_8076DB8(u16 a) static void dp01t_11_3_message_for_player_only(void) { - if (IsContest()) + if (NotInBattle()) sub_80AB2AC(); else sub_800D7B8(); @@ -1485,7 +1473,7 @@ static void ScriptCmd_waitbgfadein(void) static void ScriptCmd_changebg(void) { gBattleAnimScriptPtr++; - sub_8076DB8(SCRIPT_READ_8(gBattleAnimScriptPtr)); + sub_8076DB8(T1_READ_8(gBattleAnimScriptPtr)); gBattleAnimScriptPtr++; } @@ -1493,16 +1481,16 @@ static void ScriptCmd_changebg(void) /* s8 sub_8076F98(s8 a) { - if (!IsContest() && (EWRAM_17810[gBattleAnimPlayerMonIndex].unk0 & 0x10)) + if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10)) { - a = GetBankSide(gBattleAnimPlayerMonIndex) ? 0xC0 : 0x3F; + a = GetBankSide(gBattleAnimBankAttacker) ? 0xC0 : 0x3F; } //_08076FDC else { - if (IsContest()) + if (NotInBattle()) { - if (gBattleAnimPlayerMonIndex == gBattleAnimEnemyMonIndex && gBattleAnimPlayerMonIndex == 2 + if (gBattleAnimBankAttacker == gBattleAnimBankTarget && gBattleAnimBankAttacker == 2 && a == 0x3F) { //jump to _0807707A @@ -1514,9 +1502,9 @@ s8 sub_8076F98(s8 a) //_08077004 else { - if (GetBankSide(gBattleAnimPlayerMonIndex) == 0) + if (GetBankSide(gBattleAnimBankAttacker) == 0) { - if (GetBankSide(gBattleAnimEnemyMonIndex) == 0) + if (GetBankSide(gBattleAnimBankTarget) == 0) } //_08077042 else @@ -1536,11 +1524,11 @@ s8 sub_8076F98(s8 a) push {r4,lr}\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08076FDC\n\ - ldr r0, _08076FD4 @ =gBattleAnimPlayerMonIndex\n\ + ldr r0, _08076FD4 @ =gBattleAnimBankAttacker\n\ ldrb r2, [r0]\n\ lsls r0, r2, 1\n\ adds r0, r2\n\ @@ -1561,15 +1549,15 @@ s8 sub_8076F98(s8 a) movs r4, 0x3F\n\ b _0807706E\n\ .align 2, 0\n\ -_08076FD4: .4byte gBattleAnimPlayerMonIndex\n\ +_08076FD4: .4byte gBattleAnimBankAttacker\n\ _08076FD8: .4byte 0x02017810\n\ _08076FDC:\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08077004\n\ - ldr r0, _08076FFC @ =gBattleAnimPlayerMonIndex\n\ - ldr r1, _08077000 @ =gBattleAnimEnemyMonIndex\n\ + ldr r0, _08076FFC @ =gBattleAnimBankAttacker\n\ + ldr r1, _08077000 @ =gBattleAnimBankTarget\n\ ldrb r0, [r0]\n\ ldrb r1, [r1]\n\ cmp r0, r1\n\ @@ -1580,16 +1568,16 @@ _08076FDC:\n\ beq _0807707A\n\ b _08077068\n\ .align 2, 0\n\ -_08076FFC: .4byte gBattleAnimPlayerMonIndex\n\ -_08077000: .4byte gBattleAnimEnemyMonIndex\n\ +_08076FFC: .4byte gBattleAnimBankAttacker\n\ +_08077000: .4byte gBattleAnimBankTarget\n\ _08077004:\n\ - ldr r0, _0807702C @ =gBattleAnimPlayerMonIndex\n\ + ldr r0, _0807702C @ =gBattleAnimBankAttacker\n\ ldrb r0, [r0]\n\ bl GetBankSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08077042\n\ - ldr r0, _08077030 @ =gBattleAnimEnemyMonIndex\n\ + ldr r0, _08077030 @ =gBattleAnimBankTarget\n\ ldrb r0, [r0]\n\ bl GetBankSide\n\ lsls r0, 24\n\ @@ -1602,8 +1590,8 @@ _08077004:\n\ movs r4, 0xC0\n\ b _0807706E\n\ .align 2, 0\n\ -_0807702C: .4byte gBattleAnimPlayerMonIndex\n\ -_08077030: .4byte gBattleAnimEnemyMonIndex\n\ +_0807702C: .4byte gBattleAnimBankAttacker\n\ +_08077030: .4byte gBattleAnimBankTarget\n\ _08077034:\n\ movs r0, 0x40\n\ negs r0, r0\n\ @@ -1613,7 +1601,7 @@ _08077034:\n\ lsls r0, 24\n\ b _0807706C\n\ _08077042:\n\ - ldr r0, _08077064 @ =gBattleAnimEnemyMonIndex\n\ + ldr r0, _08077064 @ =gBattleAnimBankTarget\n\ ldrb r0, [r0]\n\ bl GetBankSide\n\ lsls r0, 24\n\ @@ -1629,7 +1617,7 @@ _08077042:\n\ movs r4, 0x3F\n\ b _0807706E\n\ .align 2, 0\n\ -_08077064: .4byte gBattleAnimEnemyMonIndex\n\ +_08077064: .4byte gBattleAnimBankTarget\n\ _08077068:\n\ lsls r0, r4, 24\n\ negs r0, r0\n\ @@ -1661,16 +1649,16 @@ _08077088:\n\ s8 sub_8077094(s8 a) { - if (!IsContest() && (EWRAM_17810[gBattleAnimPlayerMonIndex].unk0 & 0x10)) + if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10)) { - if (GetBankSide(gBattleAnimPlayerMonIndex) != 0) + if (GetBankSide(gBattleAnimBankAttacker) != 0) a = 0x3F; else a = 0xC0; } else { - if (GetBankSide(gBattleAnimPlayerMonIndex) != 0 || IsContest() != 0) + if (GetBankSide(gBattleAnimBankAttacker) != 0 || NotInBattle() != 0) a = -a; } return a; @@ -1706,8 +1694,8 @@ static void ScriptCmd_panse_19(void) s8 r0; gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); + r4 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); PlaySE12WithPanning(r4, sub_8076F98(r0)); gBattleAnimScriptPtr += 3; } @@ -1717,7 +1705,7 @@ static void ScriptCmd_setpan(void) s8 r0; gBattleAnimScriptPtr++; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr); SE12PanpotControl(sub_8076F98(r0)); gBattleAnimScriptPtr++; } @@ -1734,11 +1722,11 @@ static void ScriptCmd_panse_1B(void) u8 taskId; gBattleAnimScriptPtr++; - songNum = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5); + songNum = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r4 = T1_READ_8(gBattleAnimScriptPtr + 3); + r6 = T1_READ_8(gBattleAnimScriptPtr + 4); + r7 = T1_READ_8(gBattleAnimScriptPtr + 5); panning = sub_8076F98(r0); r8 = sub_8076F98(r4); r4 = sub_807712C(panning, r8, r6); @@ -1899,11 +1887,11 @@ static void ScriptCmd_panse_26(void) u8 taskId; gBattleAnimScriptPtr++; - r8 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r5 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); - r10 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5); + r8 = T1_READ_16(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr + 2); + r5 = T1_READ_8(gBattleAnimScriptPtr + 3); + r6 = T1_READ_8(gBattleAnimScriptPtr + 4); + r10 = T1_READ_8(gBattleAnimScriptPtr + 5); taskId = CreateTask(c3_08073CEC, 1); gTasks[taskId].data[0] = r4; gTasks[taskId].data[1] = r5; @@ -1928,11 +1916,11 @@ static void ScriptCmd_panse_27(void) u8 taskId; gBattleAnimScriptPtr++; - r9 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5); + r9 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r4 = T1_READ_8(gBattleAnimScriptPtr + 3); + r8 = T1_READ_8(gBattleAnimScriptPtr + 4); + r7 = T1_READ_8(gBattleAnimScriptPtr + 5); r6 = sub_8077094(r0); r5 = sub_8077094(r4); r4_2 = sub_8077094(r8); @@ -1957,10 +1945,10 @@ static void ScriptCmd_panse_1C(void) u8 taskId; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r9 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); + r5 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r8 = T1_READ_8(gBattleAnimScriptPtr + 3); + r9 = T1_READ_8(gBattleAnimScriptPtr + 4); r4 = sub_8076F98(r0); taskId = CreateTask(sub_80774FC, 1); gTasks[taskId].data[0] = r5; @@ -2007,9 +1995,9 @@ static void ScriptCmd_panse_1D(void) u8 taskId; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); + r5 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r8 = T1_READ_8(gBattleAnimScriptPtr + 3); r4 = sub_8076F98(r0); taskId = CreateTask(sub_80775CC, 1); gTasks[taskId].data[0] = r5; @@ -2041,13 +2029,13 @@ static void ScriptCmd_createtask_1F(void) u8 taskId; gBattleAnimScriptPtr++; - func = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr); + func = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 4; - numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr); + numArgs = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; for (i = 0; i < numArgs; i++) { - gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 2; } taskId = CreateTask(func, 1); @@ -2090,11 +2078,11 @@ static void ScriptCmd_jumpvareq(void) u8 *addr; gBattleAnimScriptPtr++; - r2 = SCRIPT_READ_8(gBattleAnimScriptPtr); - r1 = SCRIPT_READ_16(gBattleAnimScriptPtr + 1); + r2 = T1_READ_8(gBattleAnimScriptPtr); + r1 = T1_READ_16(gBattleAnimScriptPtr + 1); if (r1 == gBattleAnimArgs[r2]) { - addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr + 3); + addr = T2_READ_PTR(gBattleAnimScriptPtr + 3); gBattleAnimScriptPtr = addr; } else @@ -2108,9 +2096,9 @@ static void ScriptCmd_jumpunkcond(void) u8 *addr; gBattleAnimScriptPtr++; - if (IsContest()) + if (NotInBattle()) { - addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr); + addr = T2_READ_PTR(gBattleAnimScriptPtr); gBattleAnimScriptPtr = addr; } else @@ -2125,14 +2113,14 @@ static void ScriptCmd_monbgprio_28(void) u8 r0; u8 r4; - r2 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r2 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (r2 != 0) - r0 = gBattleAnimEnemyMonIndex; + r0 = gBattleAnimBankTarget; else - r0 = gBattleAnimPlayerMonIndex; + r0 = gBattleAnimBankAttacker; r4 = GetBankIdentity(r0); - if (!IsContest() && (r4 == 0 || r4 == 3)) + if (!NotInBattle() && (r4 == 0 || r4 == 3)) { REG_BG1CNT_BITFIELD.priority = 1; REG_BG2CNT_BITFIELD.priority = 2; @@ -2142,7 +2130,7 @@ static void ScriptCmd_monbgprio_28(void) static void ScriptCmd_monbgprio_29(void) { gBattleAnimScriptPtr++; - if (!IsContest()) + if (!NotInBattle()) { REG_BG1CNT_BITFIELD.priority = 1; REG_BG2CNT_BITFIELD.priority = 2; @@ -2155,16 +2143,16 @@ static void ScriptCmd_monbgprio_2A(void) u8 r4; u8 r0; - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r6 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; - if (GetBankSide(gBattleAnimPlayerMonIndex) != GetBankSide(gBattleAnimEnemyMonIndex)) + if (GetBankSide(gBattleAnimBankAttacker) != GetBankSide(gBattleAnimBankTarget)) { if (r6 != 0) - r0 = gBattleAnimEnemyMonIndex; + r0 = gBattleAnimBankTarget; else - r0 = gBattleAnimPlayerMonIndex; + r0 = gBattleAnimBankAttacker; r4 = GetBankIdentity(r0); - if (!IsContest() && (r4 == 0 || r4 == 3)) + if (!NotInBattle() && (r4 == 0 || r4 == 3)) { REG_BG1CNT_BITFIELD.priority = 1; REG_BG2CNT_BITFIELD.priority = 2; @@ -2177,8 +2165,8 @@ static void ScriptCmd_invisible(void) u8 r0; u8 spriteId; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); - spriteId = obj_id_for_side_relative_to_move(r0); + r0 = T1_READ_8(gBattleAnimScriptPtr + 1); + spriteId = GetAnimBankSpriteId(r0); if (spriteId != 0xFF) { gSprites[spriteId].invisible = TRUE; @@ -2191,8 +2179,8 @@ static void ScriptCmd_visible(void) u8 r0; u8 spriteId; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); - spriteId = obj_id_for_side_relative_to_move(r0); + r0 = T1_READ_8(gBattleAnimScriptPtr + 1); + spriteId = GetAnimBankSpriteId(r0); if (spriteId != 0xFF) { gSprites[spriteId].invisible = FALSE; @@ -2206,20 +2194,20 @@ static void ScriptCmd_doublebattle_2D(void) u8 r4; u8 spriteId; - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r7 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; - if (!IsContest() && IsDoubleBattle() - && GetBankSide(gBattleAnimPlayerMonIndex) == GetBankSide(gBattleAnimEnemyMonIndex)) + if (!NotInBattle() && IsDoubleBattle() + && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget)) { if (r7 == 0) { - r4 = GetBankIdentity_permutated(gBattleAnimPlayerMonIndex); - spriteId = obj_id_for_side_relative_to_move(0); + r4 = GetBankIdentity_permutated(gBattleAnimBankAttacker); + spriteId = GetAnimBankSpriteId(0); } else { - r4 = GetBankIdentity_permutated(gBattleAnimEnemyMonIndex); - spriteId = obj_id_for_side_relative_to_move(1); + r4 = GetBankIdentity_permutated(gBattleAnimBankTarget); + spriteId = GetAnimBankSpriteId(1); } if (spriteId != 0xFF) { @@ -2240,20 +2228,20 @@ static void ScriptCmd_doublebattle_2E(void) u8 r4; u8 spriteId; - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r7 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; - if (!IsContest() && IsDoubleBattle() - && GetBankSide(gBattleAnimPlayerMonIndex) == GetBankSide(gBattleAnimEnemyMonIndex)) + if (!NotInBattle() && IsDoubleBattle() + && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget)) { if (r7 == 0) { - r4 = GetBankIdentity_permutated(gBattleAnimPlayerMonIndex); - spriteId = obj_id_for_side_relative_to_move(0); + r4 = GetBankIdentity_permutated(gBattleAnimBankAttacker); + spriteId = GetAnimBankSpriteId(0); } else { - r4 = GetBankIdentity_permutated(gBattleAnimEnemyMonIndex); - spriteId = obj_id_for_side_relative_to_move(1); + r4 = GetBankIdentity_permutated(gBattleAnimBankTarget); + spriteId = GetAnimBankSpriteId(1); } if (spriteId != 0xFF && r4 == 2) { diff --git a/src/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c index 42932877b..9acc7bd46 100644 --- a/src/battle_anim_807B69C.c +++ b/src/battle/battle_anim_807B69C.c @@ -8,12 +8,12 @@ #include "task.h" #include "trig.h" -extern u8 gBattleAnimPlayerMonIndex; -extern u8 gBattleAnimEnemyMonIndex; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; extern bool8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); extern s16 gBattleAnimArgs[]; -extern u8 gBattleAnimEnemyMonIndex; +extern u8 gBattleAnimBankTarget; extern u8 gObjectBankIDs[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; @@ -179,11 +179,11 @@ static void sub_807B8A4(struct Sprite *sprite) void sub_807B920(u8 taskId) { - s16 x = sub_8077ABC(gBattleAnimEnemyMonIndex, 2) - 32; - s16 y = sub_8077ABC(gBattleAnimEnemyMonIndex, 3) - 36; + s16 x = sub_8077ABC(gBattleAnimBankTarget, 2) - 32; + s16 y = sub_8077ABC(gBattleAnimBankTarget, 3) - 36; u8 spriteId; - if (IsContest()) + if (NotInBattle()) x -= 6; REG_BLDCNT = 0x3F40; REG_BLDALPHA = 0x1000; @@ -335,8 +335,8 @@ void move_anim_start_t2(u8 a, u8 b) { u8 taskId; - gBattleAnimPlayerMonIndex = a; - gBattleAnimEnemyMonIndex = a; + gBattleAnimBankAttacker = a; + gBattleAnimBankTarget = a; DoMoveAnim(gBattleAnims_StatusConditions, b, 0); taskId = CreateTask(sub_807BDAC, 10); gTasks[taskId].data[0] = a; diff --git a/src/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index 31984977f..19ac7143e 100644 --- a/src/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -12,8 +12,8 @@ extern s16 gBattleAnimArgs[8]; extern u8 gObjectBankIDs[]; extern s32 gMoveDmgMoveAnim; extern u16 gMovePowerMoveAnim; -extern u8 gBattleAnimPlayerMonIndex; -extern u8 gBattleAnimEnemyMonIndex; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; static void sub_80A7EF0(u8 taskId); static void sub_80A808C(u8 taskId); @@ -34,7 +34,7 @@ static void sub_80A913C(u8 taskId); void sub_80A7E7C(u8 taskId) { u8 sprite; - sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (sprite == 0xff) { DestroyAnimVisualTask(taskId); @@ -96,7 +96,7 @@ void sub_80A7FA0(u8 taskId) r6 = 0; if (gBattleAnimArgs[0] < 4) { - sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (sprite == 0xff) { DestroyAnimVisualTask(taskId); @@ -121,7 +121,7 @@ void sub_80A7FA0(u8 taskId) side = GetBankByPlayerAI(3); break; } - if (b_side_obj__get_some_boolean(side) == FALSE) + if (IsAnimBankSpriteVisible(side) == FALSE) { r6 = 1; } @@ -129,7 +129,7 @@ void sub_80A7FA0(u8 taskId) } else { - sprite = gObjectBankIDs[gBattleAnimPlayerMonIndex]; + sprite = gObjectBankIDs[gBattleAnimBankAttacker]; } if (r6) { @@ -186,7 +186,7 @@ static void sub_80A808C(u8 taskId) void sub_80A8154(u8 taskId) { u8 sprite; - sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (sprite == 0xff) { DestroyAnimVisualTask(taskId); @@ -244,7 +244,7 @@ static void sub_80A81D8(u8 taskId) void sub_80A8314(u8 taskId) { - u8 sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); gSprites[sprite].pos2.x = gBattleAnimArgs[1]; TASK.data[0] = sprite; TASK.data[1] = gBattleAnimArgs[1]; @@ -286,7 +286,7 @@ void sub_80A8408(u8 taskId) u8 sprite; u8 v1; v1 = 1; - sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (gBattleAnimArgs[4] > 5) { gBattleAnimArgs[4] = 5; @@ -328,7 +328,7 @@ static void sub_80A8488(u8 taskId) void sub_80A8500(u8 taskId) { - if (GetBankSide(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } @@ -338,7 +338,7 @@ void sub_80A8500(u8 taskId) void sub_80A8530(struct Sprite *sprite) { sprite->invisible = TRUE; - if (GetBankSide(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimBankAttacker)) { sprite->data1 = -gBattleAnimArgs[1]; } @@ -348,9 +348,9 @@ void sub_80A8530(struct Sprite *sprite) } sprite->data0 = gBattleAnimArgs[0]; sprite->data2 = 0; - sprite->data3 = gObjectBankIDs[gBattleAnimPlayerMonIndex]; + sprite->data3 = gObjectBankIDs[gBattleAnimBankAttacker]; sprite->data4 = gBattleAnimArgs[0]; - oamt_set_x3A_32(sprite, sub_80A85A4); + StoreSpriteCallbackInData6(sprite, sub_80A85A4); sprite->callback = sub_8078458; } @@ -359,20 +359,20 @@ static void sub_80A85A4(struct Sprite *sprite) sprite->data0 = sprite->data4; sprite->data1 = -sprite->data1; sprite->callback = sub_8078458; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } void sub_80A85C8(struct Sprite *sprite) { u8 spriteId; sprite->invisible = TRUE; - spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[2]); + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); sprite->data0 = gBattleAnimArgs[0]; sprite->data1 = 0; sprite->data2 = gBattleAnimArgs[1]; sprite->data3 = spriteId; sprite->data4 = gBattleAnimArgs[0]; - oamt_set_x3A_32(sprite, sub_80A8614); + StoreSpriteCallbackInData6(sprite, sub_80A8614); sprite->callback = sub_8078458; } @@ -381,7 +381,7 @@ void sub_80A8614(struct Sprite *sprite) sprite->data0 = sprite->data4; sprite->data2 = -sprite->data2; sprite->callback = sub_8078458; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } void sub_80A8638(struct Sprite *sprite) @@ -390,11 +390,11 @@ void sub_80A8638(struct Sprite *sprite) int spriteId; if (!gBattleAnimArgs[0]) { - spriteId = gObjectBankIDs[gBattleAnimPlayerMonIndex]; + spriteId = gObjectBankIDs[gBattleAnimBankAttacker]; } else { - spriteId = gObjectBankIDs[gBattleAnimEnemyMonIndex]; + spriteId = gObjectBankIDs[gBattleAnimBankTarget]; } sprite->data0 = gBattleAnimArgs[2]; sprite->data1 = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; @@ -457,11 +457,11 @@ void sub_80A8764(struct Sprite *sprite) u8 spriteId; if (!gBattleAnimArgs[0]) { - v1 = gBattleAnimPlayerMonIndex; + v1 = gBattleAnimBankAttacker; } else { - v1 = gBattleAnimEnemyMonIndex; + v1 = gBattleAnimBankTarget; } spriteId = gObjectBankIDs[v1]; if (GetBankSide(v1)) @@ -482,7 +482,7 @@ void sub_80A8764(struct Sprite *sprite) sprite->data4 = 0; sprite->data5 = spriteId; sprite->invisible = TRUE; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); sprite->callback = sub_80784A8; } @@ -493,11 +493,11 @@ void sub_80A8818(struct Sprite *sprite) sprite->invisible = TRUE; if (!gBattleAnimArgs[0]) { - v1 = gBattleAnimPlayerMonIndex; + v1 = gBattleAnimBankAttacker; } else { - v1 = gBattleAnimEnemyMonIndex; + v1 = gBattleAnimBankTarget; } spriteId = gObjectBankIDs[v1]; if (GetBankSide(v1)) @@ -520,11 +520,11 @@ void sub_80A8818(struct Sprite *sprite) sprite->data6 = gBattleAnimArgs[5]; if (!gBattleAnimArgs[5]) { - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } else { - oamt_set_x3A_32(sprite, sub_80A88F0); + StoreSpriteCallbackInData6(sprite, sub_80A88F0); } sprite->callback = sub_80784A8; } @@ -541,12 +541,12 @@ void sub_80A8920(u8 taskId) { s16 r7; r7 = 0x8000 / gBattleAnimArgs[3]; - if (GetBankSide(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[5] = -gBattleAnimArgs[5]; } - TASK.data[0] = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + TASK.data[0] = GetAnimBankSpriteId(gBattleAnimArgs[0]); TASK.data[1] = (gBattleAnimArgs[1] << 8) / gBattleAnimArgs[3]; TASK.data[2] = gBattleAnimArgs[2]; TASK.data[3] = gBattleAnimArgs[3]; @@ -600,30 +600,30 @@ void sub_80A8A80(u8 taskId) { case 0: case 1: - spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); break; case 2: - if (!b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) + if (!IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) { DestroyAnimVisualTask(taskId); return; } - spriteId = gObjectBankIDs[gBattleAnimPlayerMonIndex ^ 2]; + spriteId = gObjectBankIDs[gBattleAnimBankAttacker ^ 2]; break; case 3: - if (!b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) + if (!IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) { DestroyAnimVisualTask(taskId); return; } - spriteId = gObjectBankIDs[gBattleAnimEnemyMonIndex ^ 2]; + spriteId = gObjectBankIDs[gBattleAnimBankTarget ^ 2]; break; default: DestroyAnimVisualTask(taskId); return; } TASK.data[0] = spriteId; - if (GetBankSide(gBattleAnimEnemyMonIndex)) + if (GetBankSide(gBattleAnimBankTarget)) { TASK.data[1] = gBattleAnimArgs[1]; } @@ -648,11 +648,11 @@ static void sub_80A8B3C(u8 taskId) void sub_80A8B88(u8 taskId) { u8 spriteId; - if (GetBankSide(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } - spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[4]); + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; TASK.data[2] = gBattleAnimArgs[2]; @@ -660,11 +660,11 @@ void sub_80A8B88(u8 taskId) TASK.data[4] = spriteId; if (gBattleAnimArgs[4] == 0) { - TASK.data[5] = gBattleAnimPlayerMonIndex; + TASK.data[5] = gBattleAnimBankAttacker; } else { - TASK.data[5] = gBattleAnimEnemyMonIndex; + TASK.data[5] = gBattleAnimBankTarget; } TASK.data[12] = 1; TASK.func = sub_80A8C0C; @@ -714,7 +714,7 @@ static void sub_80A8C0C(u8 taskId) void sub_80A8D34(u8 taskId) { u8 spriteId; - spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[3]); + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[3]); sub_8078E70(spriteId, gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; @@ -754,7 +754,7 @@ static void sub_80A8D8C(u8 taskId) void sub_80A8E04(u8 taskId) { u8 spriteId; - spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[2]); + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); sub_8078E70(spriteId, 0); TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[0]; @@ -769,7 +769,7 @@ void sub_80A8E04(u8 taskId) TASK.data[4] = gBattleAnimArgs[1]; TASK.data[5] = spriteId; TASK.data[6] = gBattleAnimArgs[3]; - if (IsContest()) + if (NotInBattle()) { TASK.data[7] = 1; } @@ -777,16 +777,16 @@ void sub_80A8E04(u8 taskId) { if (gBattleAnimArgs[2] == 0) { - TASK.data[7] = !GetBankSide(gBattleAnimPlayerMonIndex); + TASK.data[7] = !GetBankSide(gBattleAnimBankAttacker); } else { - TASK.data[7] = !GetBankSide(gBattleAnimEnemyMonIndex); + TASK.data[7] = !GetBankSide(gBattleAnimBankTarget); } } if (TASK.data[7]) { - if (!IsContest()) + if (!NotInBattle()) { TASK.data[3] *= -1; TASK.data[4] *= -1; @@ -798,20 +798,20 @@ void sub_80A8E04(u8 taskId) void sub_80A8EFC(u8 taskId) { u8 spriteId; - spriteId = obj_id_for_side_relative_to_move(gBattleAnimArgs[2]); + spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); sub_8078E70(spriteId, 0); TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[0]; if (gBattleAnimArgs[2] == 0) { - if (GetBankSide(gBattleAnimPlayerMonIndex)) + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } } else { - if (GetBankSide(gBattleAnimEnemyMonIndex)) + if (GetBankSide(gBattleAnimBankTarget)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } @@ -891,7 +891,7 @@ void sub_80A9058(u8 taskId) TASK.data[12] = 0; TASK.data[10] = gBattleAnimArgs[3]; TASK.data[11] = gBattleAnimArgs[4]; - TASK.data[7] = obj_id_for_side_relative_to_move(1); + TASK.data[7] = GetAnimBankSpriteId(1); TASK.data[8] = gSprites[TASK.data[7]].pos2.x; TASK.data[9] = gSprites[TASK.data[7]].pos2.y; TASK.data[0] = 0; diff --git a/src/battle/battle_anim_80CA710.c b/src/battle/battle_anim_80CA710.c new file mode 100644 index 000000000..65ccd7c21 --- /dev/null +++ b/src/battle/battle_anim_80CA710.c @@ -0,0 +1,18 @@ + +// Includes +#include "global.h" + +// Static type declarations + +// Static RAM declarations + +IWRAM_DATA u32 filler_03000724; +IWRAM_DATA u16 gUnknown_03000728[4]; +IWRAM_DATA u16 gUnknown_03000730[6]; +IWRAM_DATA u32 filler_0300073c; + +// Static ROM declarations + +// .rodata + +// .text diff --git a/src/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 93c6671e5..ff4df81e4 100644 --- a/src/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -71,7 +71,7 @@ extern void sub_8031A6C(u16, u8); extern void sub_80313A0(struct Sprite *); extern void sub_803757C(void); extern void oamt_add_pos2_onto_pos1(); -extern void oamt_set_x3A_32(); +extern void StoreSpriteCallbackInData6(); extern void sub_8078B34(struct Sprite *); extern void sub_80375B4(void); extern void sub_8010384(struct Sprite *); @@ -99,7 +99,7 @@ extern void nullsub_47(void); extern bool8 IsDoubleBattle(void); extern void sub_8037840(void); extern void sub_8031B74(); -extern u8 sub_8078874(); +extern u8 AnimBankSpriteExists(); extern u8 move_anim_start_t3(); extern void sub_8037FD8(void); extern void sub_8037F34(void); @@ -618,7 +618,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) battlePokemon.hpIV = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); battlePokemon.attackIV = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); battlePokemon.defenseIV = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); - battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV); battlePokemon.spAttackIV = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); battlePokemon.spDefenseIV = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); battlePokemon.personality = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY); @@ -628,7 +628,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) battlePokemon.maxHP = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP); battlePokemon.attack = GetMonData(&gEnemyParty[a], MON_DATA_ATK); battlePokemon.defense = GetMonData(&gEnemyParty[a], MON_DATA_DEF); - battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPD); + battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPEED); battlePokemon.spAttack = GetMonData(&gEnemyParty[a], MON_DATA_SPATK); battlePokemon.spDefense = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF); battlePokemon.isEgg = GetMonData(&gEnemyParty[a], MON_DATA_IS_EGG); @@ -637,9 +637,8 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -660,9 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -713,7 +710,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) size = 1; break; case 22: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_EV); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV); size = 1; break; case 23: @@ -752,7 +749,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); buffer[1] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); buffer[2] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); - buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV); buffer[4] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); buffer[5] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); size = 6; @@ -770,7 +767,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) size = 1; break; case 35: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV); size = 1; break; case 36: @@ -832,7 +829,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) size = 2; break; case 46: - data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPD); + data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPEED); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -936,38 +933,38 @@ void sub_8038900(u8 a) { u8 iv; - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gEnemyParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -979,8 +976,8 @@ void sub_8038900(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; @@ -1019,7 +1016,7 @@ void sub_8038900(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 22: - SetMonData(&gEnemyParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); break; case 23: SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); @@ -1049,7 +1046,7 @@ void sub_8038900(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); break; @@ -1063,7 +1060,7 @@ void sub_8038900(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 35: - SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); break; case 36: SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); @@ -1096,7 +1093,7 @@ void sub_8038900(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); break; case 46: - SetMonData(&gEnemyParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); break; case 47: SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); @@ -1145,9 +1142,9 @@ void LinkOpponentHandlecmd3(void) u8 *dst; u8 i; - dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); + LinkOpponentBufferExecCompleted(); } @@ -1285,7 +1282,7 @@ void LinkOpponentHandleTrainerSlideBack(void) gSprites[gObjectBankIDs[gActiveBank]].data2 = 280; gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_80375B4; } @@ -1636,7 +1633,7 @@ void LinkOpponentHandleTrainerBallThrow(void) gSprites[gObjectBankIDs[gActiveBank]].data2 = 280; gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_803A3A8); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_803A3A8); taskId = CreateTask(sub_803A2C4, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -1733,7 +1730,7 @@ void LinkOpponentHandlecmd50(void) void LinkOpponentHandleSpriteInvisibility(void) { - if (sub_8078874(gActiveBank) != 0) + if (AnimBankSpriteExists(gActiveBank) != 0) { gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); diff --git a/src/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 95022eaaf..a874190aa 100644 --- a/src/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -66,7 +66,7 @@ extern u8 gAnimScriptActive; extern void (*gAnimScriptCallback)(void); extern u8 move_anim_start_t3(); -extern u8 sub_8078874(); +extern u8 AnimBankSpriteExists(); extern void sub_8044CA0(u8); extern void sub_8030E38(struct Sprite *); extern void sub_80E43C0(); @@ -82,7 +82,7 @@ extern void sub_80324BC(); extern u8 sub_8031720(); extern u8 mplay_80342A4(); extern void oamt_add_pos2_onto_pos1(); -extern void oamt_set_x3A_32(); +extern void StoreSpriteCallbackInData6(); extern void sub_8078B34(struct Sprite *); extern void sub_80105EC(struct Sprite *); extern s32 sub_803FC34(u16); @@ -574,7 +574,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV); battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV); battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV); - battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV); battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV); battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY); @@ -584,7 +584,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP); battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK); battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF); - battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD); + battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPEED); battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK); battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF); battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG); @@ -593,9 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -616,9 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -669,7 +665,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) size = 1; break; case 22: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV); size = 1; break; case 23: @@ -708,7 +704,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV); buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV); buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV); - buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV); buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV); size = 6; @@ -726,7 +722,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) size = 1; break; case 35: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); size = 1; break; case 36: @@ -788,7 +784,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) size = 2; break; case 46: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPEED); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -893,38 +889,38 @@ void sub_811EC68(u8 a) { u8 iv; - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -936,8 +932,8 @@ void sub_811EC68(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; @@ -976,7 +972,7 @@ void sub_811EC68(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); break; case 23: SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); @@ -1006,7 +1002,7 @@ void sub_811EC68(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); break; @@ -1020,7 +1016,7 @@ void sub_811EC68(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); break; case 36: SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); @@ -1053,7 +1049,7 @@ void sub_811EC68(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); break; case 47: SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); @@ -1103,9 +1099,9 @@ void LinkPartnerHandlecmd3(void) u8 *dst; u8 i; - dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); + LinkPartnerBufferExecCompleted(); } @@ -1239,7 +1235,7 @@ void LinkPartnerHandleTrainerSlideBack(void) gSprites[gObjectBankIDs[gActiveBank]].data2 = -40; gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_811DB1C; } @@ -1592,7 +1588,7 @@ void LinkPartnerHandleTrainerBallThrow(void) gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); r4 = AllocSpritePalette(0xD6F9); LoadCompressedPalette( @@ -1682,7 +1678,7 @@ void LinkPartnerHandlecmd50(void) void LinkPartnerHandleSpriteInvisibility(void) { - if (sub_8078874(gActiveBank) != 0) + if (AnimBankSpriteExists(gActiveBank) != 0) { gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); diff --git a/src/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index dd8c62cce..392e80f08 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -4,6 +4,7 @@ #include "data2.h" #include "battle_811DA74.h" #include "battle_anim_813F0F4.h" +#include "battle_tower.h" #include "link.h" #include "m4a.h" #include "main.h" @@ -76,7 +77,6 @@ extern u8 sub_8046400(); extern void sub_8032A08(); extern void sub_8043DB0(); extern void sub_8033160(void); -extern u8 sub_8135FBC(void); extern u8 get_trainer_class_pic_index(void); extern void sub_80313A0(struct Sprite *); extern void sub_8032B4C(void); @@ -85,7 +85,7 @@ extern void sub_8032B84(void); extern void sub_8078B34(struct Sprite *); extern void sub_8032BBC(void); extern void oamt_add_pos2_onto_pos1(); -extern void oamt_set_x3A_32(); +extern void StoreSpriteCallbackInData6(); extern void sub_803311C(void); extern void sub_8010384(struct Sprite *); extern bool8 mplay_80342A4(u8); @@ -113,7 +113,7 @@ extern void nullsub_45(void); extern void sub_8031B74(); extern bool8 IsDoubleBattle(void); extern void sub_8032E2C(void); -extern u8 sub_8078874(); +extern u8 AnimBankSpriteExists(); extern u8 move_anim_start_t3(); extern void sub_80334C0(void); @@ -582,7 +582,7 @@ u32 sub_8033598(u8 a, u8 *buffer) battlePokemon.hpIV = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); battlePokemon.attackIV = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); battlePokemon.defenseIV = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); - battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV); battlePokemon.spAttackIV = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); battlePokemon.spDefenseIV = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); battlePokemon.personality = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY); @@ -592,7 +592,7 @@ u32 sub_8033598(u8 a, u8 *buffer) battlePokemon.maxHP = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP); battlePokemon.attack = GetMonData(&gEnemyParty[a], MON_DATA_ATK); battlePokemon.defense = GetMonData(&gEnemyParty[a], MON_DATA_DEF); - battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPD); + battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPEED); battlePokemon.spAttack = GetMonData(&gEnemyParty[a], MON_DATA_SPATK); battlePokemon.spDefense = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF); battlePokemon.isEgg = GetMonData(&gEnemyParty[a], MON_DATA_IS_EGG); @@ -601,9 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -624,9 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -677,7 +673,7 @@ u32 sub_8033598(u8 a, u8 *buffer) size = 1; break; case 22: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_EV); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV); size = 1; break; case 23: @@ -716,7 +712,7 @@ u32 sub_8033598(u8 a, u8 *buffer) buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); buffer[1] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); buffer[2] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); - buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV); buffer[4] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); buffer[5] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); size = 6; @@ -734,7 +730,7 @@ u32 sub_8033598(u8 a, u8 *buffer) size = 1; break; case 35: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV); size = 1; break; case 36: @@ -796,7 +792,7 @@ u32 sub_8033598(u8 a, u8 *buffer) size = 2; break; case 46: - data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPD); + data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPEED); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -864,12 +860,12 @@ u32 sub_8033598(u8 a, u8 *buffer) void OpponentHandlecmd1(void) { struct BattlePokemon buffer; - u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - u8 *dst = (u8 *)&buffer + gBattleBufferA[gActiveBank][1]; u8 i; + // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. + u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = src[i]; + MEMSET_ALT(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); OpponentBufferExecCompleted(); } @@ -908,38 +904,38 @@ void sub_8033E24(u8 a) { u8 iv; - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gEnemyParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -951,8 +947,8 @@ void sub_8033E24(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; @@ -991,7 +987,7 @@ void sub_8033E24(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 22: - SetMonData(&gEnemyParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); break; case 23: SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); @@ -1021,7 +1017,7 @@ void sub_8033E24(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); break; @@ -1035,7 +1031,7 @@ void sub_8033E24(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 35: - SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); break; case 36: SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); @@ -1068,7 +1064,7 @@ void sub_8033E24(u8 a) SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); break; case 46: - SetMonData(&gEnemyParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); break; case 47: SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); @@ -1117,9 +1113,8 @@ void OpponentHandlecmd3(void) u8 *dst; u8 i; - dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], + gBattleBufferA[gActiveBank][2], i, dst); OpponentBufferExecCompleted(); } @@ -1222,7 +1217,7 @@ void OpponentHandleTrainerThrow(void) else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) trainerPicIndex = get_trainer_class_pic_index(); else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) - trainerPicIndex = sub_8135FBC(); + trainerPicIndex = GetEReaderTrainerPicIndex(); else trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; @@ -1252,7 +1247,7 @@ void OpponentHandleTrainerSlide(void) else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) trainerPicIndex = get_trainer_class_pic_index(); else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) - trainerPicIndex = sub_8135FBC(); + trainerPicIndex = GetEReaderTrainerPicIndex(); else trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; @@ -1281,7 +1276,7 @@ void OpponentHandleTrainerSlideBack(void) gSprites[gObjectBankIDs[gActiveBank]].data2 = 280; gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); gBattleBankFunc[gActiveBank] = sub_8032BBC; } @@ -1910,7 +1905,7 @@ void OpponentHandleTrainerBallThrow(void) gSprites[gObjectBankIDs[gActiveBank]].data2 = 280; gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); gTasks[taskId].data[0] = gActiveBank; if (ewram17810[gActiveBank].unk0_0) @@ -2007,7 +2002,7 @@ void OpponentHandlecmd50(void) void OpponentHandleSpriteInvisibility(void) { - if (sub_8078874(gActiveBank) != 0) + if (AnimBankSpriteExists(gActiveBank) != 0) { gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); diff --git a/src/battle_controller_player.c b/src/battle/battle_controller_player.c index 5cfdeefbe..136c31841 100644 --- a/src/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -101,11 +101,11 @@ extern u8 GetBankSide(u8); extern void sub_80E43C0(); extern void oamt_add_pos2_onto_pos1(); extern void sub_8078B34(struct Sprite *); -extern void oamt_set_x3A_32(); +extern void StoreSpriteCallbackInData6(); extern void BattleLoadPlayerMonSprite(); extern bool8 IsDoubleBattle(void); extern void sub_802D500(void); -extern bool8 sub_8078874(u8); +extern bool8 AnimBankSpriteExists(u8); extern bool8 move_anim_start_t3(); extern void sub_802E460(void); extern void b_link_standby_message(void); @@ -841,7 +841,7 @@ void sub_802CA60(void) for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, (u8 *)&sp0.moves[i]); + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &sp0.moves[i]); SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &sp0.pp[i]); } SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses); @@ -1149,7 +1149,7 @@ void sub_802D924(u8 taskId) { u8 savedActiveBank; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&nextLvlExp); + SetMonData(pkmn, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(pkmn); gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBank; @@ -1166,7 +1166,7 @@ void sub_802D924(u8 taskId) else { currExp += gainedExp; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&currExp); + SetMonData(pkmn, MON_DATA_EXP, &currExp); gBattleBankFunc[bank] = sub_802D90C; DestroyTask(taskId); } @@ -1231,7 +1231,7 @@ void sub_802DB6C(u8 taskId) u8 r5; u32 asdf; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp0); + SetMonData(pkmn, MON_DATA_EXP, &sp0); CalculateMonStats(pkmn); //r10 -= sp0 - sp4; asdf = sp0 - sp4; @@ -1247,7 +1247,7 @@ void sub_802DB6C(u8 taskId) { //u32 asdf = sp4 + r10; sp4 += r10; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp4); + SetMonData(pkmn, MON_DATA_EXP, &sp4); gBattleBankFunc[r7] = sub_802D90C; DestroyTask(taskId); } @@ -1754,7 +1754,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV); battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV); battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV); - battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV); battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV); battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY); @@ -1764,7 +1764,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP); battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK); battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF); - battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD); + battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPEED); battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK); battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF); battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG); @@ -1773,9 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -1796,9 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -1849,7 +1845,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) size = 1; break; case 22: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV); size = 1; break; case 23: @@ -1888,7 +1884,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV); buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV); buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV); - buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV); buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV); size = 6; @@ -1906,7 +1902,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) size = 1; break; case 35: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); size = 1; break; case 36: @@ -1968,7 +1964,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) size = 2; break; case 46: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPEED); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -2035,13 +2031,13 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) void PlayerHandlecmd1(void) { - struct BattlePokemon battleMon; // I think this is a BattlePokemon - u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBank][1]; + struct BattlePokemon battleMon; u8 i; + // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. + u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = src[i]; + MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); PlayerBufferExecCompleted(); } @@ -2081,38 +2077,38 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) { u8 iv; - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -2124,8 +2120,8 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; @@ -2164,7 +2160,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); break; case 23: SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); @@ -2194,7 +2190,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); break; @@ -2208,7 +2204,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); break; case 36: SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); @@ -2241,7 +2237,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); break; case 47: SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); @@ -2288,11 +2284,11 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) void PlayerHandlecmd3(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; u8 i; + u8 *dst; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], + gBattleBufferA[gActiveBank][2], i, dst); PlayerBufferExecCompleted(); } @@ -2425,7 +2421,7 @@ void PlayerHandleTrainerSlideBack(void) gSprites[gObjectBankIDs[gActiveBank]].data2 = -40; gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); gBattleBankFunc[gActiveBank] = sub_802D274; } @@ -2599,7 +2595,7 @@ void PlayerHandlecmd18(void) sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); - StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CA8); + StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CA8); InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35); sub_8002F44(&gUnknown_03004210); } @@ -2896,7 +2892,7 @@ void PlayerHandleTrainerBallThrow(void) gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2.playerGender].data, 0x100 + paletteNum * 16, 32); @@ -2994,7 +2990,7 @@ void PlayerHandlecmd50(void) void PlayerHandleSpriteInvisibility(void) { - if (sub_8078874(gActiveBank)) + if (AnimBankSpriteExists(gActiveBank)) { gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; sub_8031F88(gActiveBank); diff --git a/src/battle_controller_safari.c b/src/battle/battle_controller_safari.c index e05578c31..2fcdf7548 100644 --- a/src/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -483,7 +483,7 @@ void SafariHandlecmd18(void) nullsub_8(i); sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); - StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CBB); + StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CBB); InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); sub_8002F44(&gUnknown_03004210); diff --git a/src/battle_controller_wally.c b/src/battle/battle_controller_wally.c index f2cf5bbb4..9d70ca557 100644 --- a/src/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -89,7 +89,7 @@ extern void sub_80E43C0(); extern void oamt_add_pos2_onto_pos1(); extern void sub_8078B34(struct Sprite *); extern void sub_8030E38(struct Sprite *); -extern void oamt_set_x3A_32(); +extern void StoreSpriteCallbackInData6(); extern u8 sub_8046400(); extern u8 sub_8077ABC(); extern u8 sub_8077F68(); @@ -550,7 +550,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV); battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV); battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV); - battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV); battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV); battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY); @@ -560,7 +560,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP); battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK); battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF); - battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD); + battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPEED); battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK); battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF); battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG); @@ -569,9 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -592,9 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -645,7 +641,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) size = 1; break; case 22: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV); size = 1; break; case 23: @@ -684,7 +680,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV); buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV); buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV); - buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV); buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV); size = 6; @@ -702,7 +698,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) size = 1; break; case 35: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV); size = 1; break; case 36: @@ -764,7 +760,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) size = 2; break; case 46: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPEED); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -868,38 +864,38 @@ void sub_8138294(u8 a) { u8 iv; - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gPlayerParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -911,8 +907,8 @@ void sub_8138294(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; @@ -951,7 +947,7 @@ void sub_8138294(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); break; case 23: SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); @@ -981,7 +977,7 @@ void sub_8138294(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); break; @@ -995,7 +991,7 @@ void sub_8138294(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); break; case 36: SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); @@ -1028,7 +1024,7 @@ void sub_8138294(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); break; case 47: SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); @@ -1490,7 +1486,7 @@ void WallyHandleTrainerBallThrow(void) gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; gSprites[gObjectBankIDs[gActiveBank]].data5 = gActiveBank; - oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); + StoreSpriteCallbackInData6(&gSprites[gObjectBankIDs[gActiveBank]], sub_8030E38); StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32); diff --git a/src/battle_interface.c b/src/battle/battle_interface.c index 246bda62b..10962c025 100644 --- a/src/battle_interface.c +++ b/src/battle/battle_interface.c @@ -97,7 +97,7 @@ static int sub_8045F58(s32, s32, int, int *, u8, u16); static u8 GetScaledExpFraction(int, int, int, u8); static void sub_8045D58(u8, u8); static u8 sub_804602C(int, int, int, int *, u8 *, u8); -static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, void *c); +static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c); static int do_nothing(s16 unused1, s16 unused2, int unused3) { @@ -482,7 +482,7 @@ u8 battle_make_oam_normal_battle(u8 a) SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; - CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + sprite->oam.tileNum * 32), 64); + CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); gSprites[spriteId1].data5 = spriteId3; gSprites[spriteId1].data6 = a; @@ -940,7 +940,7 @@ static void sub_8044210(u8 a, s16 b, u8 c) sub_8003504(ptr, b, 0xF, 1); if (GetBankSide(r4) == 0) { - CpuCopy32(sub_8043CDC(0x74), (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32), 32); + CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); } } r4 = gSprites[a].data5; @@ -1309,7 +1309,7 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data5; - CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); + CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } @@ -1317,7 +1317,7 @@ void sub_804454C(void) { draw_status_ailment_maybe(gHealthboxIDs[i]); sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); - CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32), 32); + CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); } } else @@ -1332,7 +1332,7 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data5; - CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); + CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } @@ -2388,7 +2388,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) gender = GetMonGender(pkmn); species = GetMonData(pkmn, MON_DATA_SPECIES); language = GetMonData(pkmn, MON_DATA_LANGUAGE); - if (sub_8040D3C(species, nickname, language)) + if (ShouldHideGenderIconForLanguage(species, nickname, language)) gender = 100; switch (gender) { @@ -2501,13 +2501,13 @@ static void sub_8045458(u8 a, u8 b) if (GetBankSide(r4) != 0) { u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES); - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) { r4 = gSprites[a].data5; if (b != 0) - CpuCopy32(sub_8043CDC(0x46), (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32); + CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); else - CpuFill32(0, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32); + CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); } } } @@ -2568,10 +2568,10 @@ static void draw_status_ailment_maybe(u8 a) r6 = sub_8043CDC(0x27); for (i = 0; i < 3; i++) - CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32), 32); + CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32); if (!ewram17800[r7].unk0_4) - CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 64); + CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64); sub_8045458(a, 1); return; @@ -2582,13 +2582,13 @@ static void draw_status_ailment_maybe(u8 a) // I don't like writing the array index like this, but I can't get it to match otherwise. FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); - CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32), 96); + CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { - CpuCopy32(sub_8043CDC(0), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 32); - CpuCopy32(sub_8043CDC(0x41), (void *)(OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32), 32); + CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32); + CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32); } } sub_8045458(a, 0); @@ -2669,11 +2669,11 @@ static void sub_80458B0(u8 a) CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32); for (r7 = 3; r7 < 3 + r8; r7++) { - addr = (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32); + addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32; CpuCopy32(r6, addr, 32); r6 += 32; - addr = (void *)(OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32); + addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32; CpuCopy32(r6, addr, 32); r6 += 32; } @@ -2697,7 +2697,7 @@ static void sub_8045998(u8 a) r7 = (u8 *)0x02000520 + status * 0x180 + 32; for (i = 6; i < 6 + r6; i++) { - CpuCopy32(r7, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32), 32); + CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); r7 += 64; } } @@ -2821,9 +2821,9 @@ static void sub_8045D58(u8 a, u8 b) { u8 r4 = gSprites[ewram17850[a].unk0].data5; if (i < 2) - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32), 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32); else - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32), 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32); } break; case 1: @@ -2837,9 +2837,9 @@ static void sub_8045D58(u8 a, u8 b) for (i = 0; i < 8; i++) { if (i < 4) - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32), 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32); else - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32), 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32); } break; } @@ -2972,7 +2972,7 @@ static u8 sub_804602C(int a, int b, int c, int *d, u8 *e, u8 f) return r3; } -s16 sub_80460C8(struct BattleInterfaceStruct1 *a, int *b, void *c, int d) +s16 sub_80460C8(struct BattleInterfaceStruct1 *a, int *b, u16 *c, int d) { u16 r7; s16 r1; @@ -2987,7 +2987,7 @@ s16 sub_80460C8(struct BattleInterfaceStruct1 *a, int *b, void *c, int d) return r7; } -static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, void *c) +static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c) { u8 sp8[6]; u16 sp10[6]; diff --git a/src/battle_message.c b/src/battle/battle_message.c index a3cc320ad..79855a614 100644 --- a/src/battle_message.c +++ b/src/battle/battle_message.c @@ -1,6 +1,7 @@ #include "global.h" -#include "battle_message.h" #include "battle.h" +#include "battle_message.h" +#include "battle_tower.h" #include "item.h" #include "items.h" #include "pokemon.h" @@ -127,7 +128,6 @@ u8 GetBankSide(u8 bank); s32 sub_803FC34(u16); void get_trainer_name(u8* dst); u8 get_trainer_class_name_index(void); -u8 sub_8135FD8(void); u8 GetMultiplayerId(void); u8 GetBankByPlayerAI(u8 ID); u8 GetBankSide(u8 bank); @@ -632,7 +632,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) toCpy = gTrainerClassNames[get_trainer_class_name_index()]; else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) - toCpy = gTrainerClassNames[sub_8135FD8()]; + toCpy = gTrainerClassNames[GetEReaderTrainerClassNameIndex()]; else toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent].trainerClass]; break; @@ -661,7 +661,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) } else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) { - sub_8135FF4(text); + SetEReaderTrainerName(text); toCpy = text; } else diff --git a/src/battle_party_menu.c b/src/battle/battle_party_menu.c index 49e0b8432..2f6dc6816 100644 --- a/src/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -22,31 +22,14 @@ extern u8 ewram[]; #define UNK_201606C_ARRAY (ewram + 0x1606C) // lazy define but whatever. -extern u8 IsLinkDoubleBattle(void); -extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *); -extern void LoadHeldItemIconGraphics(void); -extern void CreateHeldItemIcons_806DC34(); extern u8 sub_806BD58(u8, u8); extern void PartyMenuPrintMonsLevelOrStatus(void); -extern void PrintPartyMenuMonNicknames(void); -extern void PartyMenuTryPrintMonsHP(void); extern void nullsub_13(void); -extern void PartyMenuDrawHPBars(void); -extern u8 sub_806B58C(u8); -extern u8 GetItemEffectType(); -extern void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int); -extern void sub_806D5A4(void); extern void sub_802E414(void); extern void sub_80A6DCC(void); -extern void sub_806AF4C(); -extern void sub_806AEDC(void); -extern TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8); -extern void sub_806E7D0(u8, const struct PartyPopupMenu *); extern u8 *sub_8040D08(); extern void sub_8040B8C(void); -extern void sub_806E6F0(); extern void nullsub_14(); -extern void OpenPartyMenu(); extern u8 sub_803FBBC(void); extern u8 gPlayerPartyCount; @@ -79,7 +62,7 @@ static void Task_BattlePartyMenuSummary(u8 taskId); static void Task_BattlePartyMenuShift(u8 taskId); static void Task_BattlePartyMenuCancel(u8 taskId); -static const struct PartyMenuItem sBattlePartyMenuActions[] = +static const struct MenuAction2 sBattlePartyMenuActions[] = { {OtherText_Summary, Task_BattlePartyMenuSummary}, {gOtherText_CancelNoTerminator, Task_BattlePartyMenuCancel}, @@ -342,7 +325,7 @@ void unref_sub_8094DB0(void) { r4 = sub_8094C20(0); sub_8094C98(0, i); - sub_806E6F0(&gPlayerParty[r4], &gPlayerParty[n]); + SwapPokemon(&gPlayerParty[r4], &gPlayerParty[n]); break; } } @@ -354,7 +337,7 @@ void sub_8094E20(u8 a) gUnknown_02038473 = a; nullsub_14(); pokemon_change_order(); - OpenPartyMenu(1, 0xFF); + OpenPartyMenu(PARTY_MENU_TYPE_BATTLE, 0xFF); } void sub_8094E4C(void) @@ -362,93 +345,93 @@ void sub_8094E4C(void) sub_8094E20(3); } -int SetUpBattlePartyMenu(void) +bool8 SetUpBattlePartyMenu(void) { - switch (EWRAM_1B000.unk264) + switch (EWRAM_1B000.setupState) //switch (ewram1B000.unk264[0]) { case 0: //TODO: try to get rid of this duplicate code if (IsLinkDoubleBattle() == TRUE) { - if (EWRAM_1B000.unk266 != 6) + if (EWRAM_1B000.monIndex != 6) { - TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]); - EWRAM_1B000.unk266++; + TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]); + EWRAM_1B000.monIndex++; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } } else { - if (EWRAM_1B000.unk266 < 6) + if (EWRAM_1B000.monIndex < 6) { - TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]); - EWRAM_1B000.unk266++; + TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]); + EWRAM_1B000.monIndex++; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } } break; case 1: LoadHeldItemIconGraphics(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 2: - CreateHeldItemIcons_806DC34(EWRAM_1B000.unk260); - EWRAM_1B000.unk264++; + CreateHeldItemIcons_806DC34(EWRAM_1B000.menuHandlerTaskId); + EWRAM_1B000.setupState++; break; case 3: - if (sub_806BD58(EWRAM_1B000.unk260, EWRAM_1B000.unk266) == 1) + if (sub_806BD58(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex) == 1) { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } else - EWRAM_1B000.unk266++; + EWRAM_1B000.monIndex++; break; case 4: PartyMenuPrintMonsLevelOrStatus(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 5: PrintPartyMenuMonNicknames(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 6: PartyMenuTryPrintMonsHP(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 7: nullsub_13(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 8: PartyMenuDrawHPBars(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 9: - if (sub_806B58C(EWRAM_1B000.unk266) == 1) + if (DrawPartyMonBackground(EWRAM_1B000.monIndex) == 1) { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } else - EWRAM_1B000.unk266++; + EWRAM_1B000.monIndex++; break; case 10: if (gUnknown_02038473 == 3) { if (GetItemEffectType(gScriptItemId) == 10) - ewram1B000.unk259 = 0xFF; + ewram1B000.promptTextId = 0xFF; else - ewram1B000.unk259 = 3; + ewram1B000.promptTextId = 3; } return TRUE; } @@ -461,55 +444,56 @@ static void sub_8095050(u8 a, u8 b) { if (gUnknown_02038473 == 1) { - gTasks[EWRAM_1B000.unk260].data[4] = 1; - gTasks[EWRAM_1B000.unk260].data[5] = 1; + gTasks[EWRAM_1B000.menuHandlerTaskId].data[4] = 1; + gTasks[EWRAM_1B000.menuHandlerTaskId].data[5] = 1; } else { - gTasks[EWRAM_1B000.unk260].data[4] = 0; - gTasks[EWRAM_1B000.unk260].data[5] = 0; + gTasks[EWRAM_1B000.menuHandlerTaskId].data[4] = 0; + gTasks[EWRAM_1B000.menuHandlerTaskId].data[5] = 0; } } else { - gTasks[EWRAM_1B000.unk260].data[4] = 2; - gTasks[EWRAM_1B000.unk260].data[5] = 2; + gTasks[EWRAM_1B000.menuHandlerTaskId].data[4] = 2; + gTasks[EWRAM_1B000.menuHandlerTaskId].data[5] = 2; } - sub_806E750(gTasks[a].data[4], sBattlePartyPopupMenus, sBattlePartyMenuActions, 0); + + ShowPartyPopupMenu(gTasks[a].data[4], sBattlePartyPopupMenus, sBattlePartyMenuActions, 0); } -void SetUpBattlePokemonMenu(u8 a) +void HandleBattlePartyMenu(u8 taskId) { if (!gPaletteFade.active) { if (gUnknown_02038473 == 3 && GetItemEffectType(gScriptItemId) == 10) { - gUnknown_03004AE4(a, gScriptItemId, Task_80952E4); + gUnknown_03004AE4(taskId, gScriptItemId, Task_80952E4); return; } - switch (sub_806BD80(a)) + switch (HandleDefaultPartyMenuInput(taskId)) { - case 1: + case A_BUTTON: if (gUnknown_02038473 == 3) { - if (GetMonData(&gPlayerParty[sub_806CA38(a)], MON_DATA_IS_EGG)) + if (GetMonData(&gPlayerParty[sub_806CA38(taskId)], MON_DATA_IS_EGG)) PlaySE(SE_HAZURE); else { sub_806D5A4(); - gUnknown_03004AE4(a, gScriptItemId, Task_80952E4); + gUnknown_03004AE4(taskId, gScriptItemId, Task_80952E4); } } else { PlaySE(SE_SELECT); - GetMonNickname(&gPlayerParty[sub_806CA38(a)], gStringVar1); - sub_8095050(a, sub_806CA38(a)); - SetTaskFuncWithFollowupFunc(a, Task_HandlePopupMenuInput, SetUpBattlePokemonMenu); + GetMonNickname(&gPlayerParty[sub_806CA38(taskId)], gStringVar1); + sub_8095050(taskId, sub_806CA38(taskId)); + SetTaskFuncWithFollowupFunc(taskId, Task_HandlePopupMenuInput, HandleBattlePartyMenu); } break; - case 2: + case B_BUTTON: if (gUnknown_02038473 == 1) PlaySE(SE_HAZURE); else @@ -518,12 +502,12 @@ void SetUpBattlePokemonMenu(u8 a) if (gUnknown_02038473 == 3) { gUnknown_0202E8F4 = 0; - gTasks[a].func = Task_80952E4; + gTasks[taskId].func = Task_80952E4; } else { gUnknown_0202E8F4 = 0; - gTasks[a].func = Task_809527C; + gTasks[taskId].func = Task_809527C; } } break; @@ -571,7 +555,7 @@ static void Task_8095330(u8 taskId) static void Task_809535C(void) { gPaletteFade.bufferTransferDisabled = TRUE; - sub_806AF4C(1, 0xFF, SetUpBattlePokemonMenu, 5); + SetPartyMenuSettings(PARTY_MENU_TYPE_BATTLE, 0xFF, HandleBattlePartyMenu, 5); SetMainCallback2(Task_809538C); } @@ -579,14 +563,14 @@ static void Task_809538C(void) { do { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0); - sub_806BF74(EWRAM_1B000.unk260, 0); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); GetMonNickname(&gPlayerParty[gUnknown_020384F0], gStringVar1); - sub_8095050(EWRAM_1B000.unk260, gUnknown_020384F0); - SetTaskFuncWithFollowupFunc(EWRAM_1B000.unk260, Task_HandlePopupMenuInput, SetUpBattlePokemonMenu); - SetMainCallback2(sub_806AEDC); + sub_8095050(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0); + SetTaskFuncWithFollowupFunc(EWRAM_1B000.menuHandlerTaskId, Task_HandlePopupMenuInput, HandleBattlePartyMenu); + SetMainCallback2(CB2_PartyMenuMain); return; } } while (sub_80F9344() != 1); @@ -660,7 +644,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) u8 i; u8 r4; - sub_806E7D0(gTasks[taskId].data[4], sBattlePartyPopupMenus); + ClosePartyPopupMenu(gTasks[taskId].data[4], sBattlePartyPopupMenus); partySelection = sub_806CA38(taskId); if (IsLinkDoubleBattle() == TRUE && (partySelection == 1 || partySelection == 4 || partySelection == 5)) { @@ -735,15 +719,15 @@ static void Task_BattlePartyMenuShift(u8 taskId) gUnknown_0202E8F4 = 1; r4 = pokemon_order_func(gBattlePartyID[gBankInMenu]); sub_8094C98(r4, partySelection); - sub_806E6F0(&gPlayerParty[r4], &gPlayerParty[partySelection]); + SwapPokemon(&gPlayerParty[r4], &gPlayerParty[partySelection]); gTasks[taskId].func = Task_809527C; } static void Task_BattlePartyMenuCancel(u8 taskId) { HandleDestroyMenuCursors(); - sub_806E7D0(gTasks[taskId].data[4], sBattlePartyPopupMenus); + ClosePartyPopupMenu(gTasks[taskId].data[4], sBattlePartyPopupMenus); gTasks[taskId].data[4] = gTasks[taskId].data[5]; - sub_806D538(0, 0); + PrintPartyMenuPromptText(0, 0); SwitchTaskToFollowupFunc(taskId); } diff --git a/src/battle_records.c b/src/battle/battle_records.c index d848a10b8..54697593b 100644 --- a/src/battle_records.c +++ b/src/battle/battle_records.c @@ -243,7 +243,7 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y) void ShowLinkBattleRecords(void) { s32 i; MenuDrawTextWindow(1, 0, 28, 18); - sub_8072BD8((u8 *) gOtherText_BattleResults, 0, 1, 240); + sub_8072BD8(gOtherText_BattleResults, 0, 1, 240); PrintLinkBattleWinsLossesDraws(gSaveBlock1.linkBattleRecords); #if ENGLISH @@ -260,9 +260,9 @@ void ShowLinkBattleRecords(void) { static bool32 sub_8110494(u8 level) { - struct SaveBlock2_Sub *sb2sub = &gSaveBlock2.filler_A8; + struct BattleTowerData *battleTower = &gSaveBlock2.battleTower; - switch (sb2sub->var_4AE[level]) + switch (battleTower->var_4AE[level]) { case 0: return FALSE; @@ -294,17 +294,18 @@ static void PrintWinStreak(const u8 *str, u16 streak, u8 left, u8 top) static void PrintRecordWinStreak(u8 level, u8 left, u8 top) { - struct SaveBlock2_Sub *sb2sub = &gSaveBlock2.filler_A8; - u16 winStreak = sb2sub->recordWinStreak[level]; + struct BattleTowerData *battleTower = &gSaveBlock2.battleTower; + u16 winStreak = battleTower->recordWinStreaks[level]; PrintWinStreak(gOtherText_Record, winStreak, left, top); } static u16 GetLastWinStreak(u8 level) { - u16 result = gSaveBlock2.filler_A8.winStreak[level]; - if (result > 9999) - result = 9999; - return result; + u16 winStreak = gSaveBlock2.battleTower.currentWinStreaks[level]; + if (winStreak > 9999) + winStreak = 9999; + + return winStreak; } static void PrintLastWinStreak(u8 level, u8 left, u8 top) diff --git a/src/battle_setup.c b/src/battle/battle_setup.c index 59e17e9eb..8327ed59d 100644 --- a/src/battle_setup.c +++ b/src/battle/battle_setup.c @@ -876,23 +876,24 @@ static void CB2_StartFirstBattle(void) static void CB2_EndFirstBattle(void) { - sav1_reset_battle_music_maybe(); + Overworld_ClearSavedMusic(); SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } +// why not just use the macros? maybe its because they didnt want to uncast const every time? static u32 TrainerBattleLoadArg32(const u8 *ptr) { - return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24); + return T1_READ_32(ptr); } static u16 TrainerBattleLoadArg16(const u8 *ptr) { - return ptr[0] | (ptr[1] << 8); + return T1_READ_16(ptr); } static u8 TrainerBattleLoadArg8(const u8 *ptr) { - return ptr[0]; + return T1_READ_8(ptr); } static u16 CurrentOpponentTrainerFlag(void) @@ -1123,8 +1124,8 @@ void ScrSpecial_StartTrainerEyeRematch(void) ScriptContext1_Stop(); } -static u8 *GetTrainerIntroSpeech(void); -static u8 *GetTrainerNonBattlingSpeech(void); +static const u8 *GetTrainerIntroSpeech(void); +static const u8 *GetTrainerNonBattlingSpeech(void); void ScrSpecial_ShowTrainerIntroSpeech(void) { @@ -1207,22 +1208,22 @@ void PlayTrainerEncounterMusic(void) } //Returns an empty string if a null pointer was passed, otherwise returns str -static u8 *SanitizeString(const u8 *str) +static const u8 *SanitizeString(const u8 *str) { if (str) - return (u8 *) str; + return str; else - return (u8 *) gOtherText_CancelWithTerminator; + return gOtherText_CancelWithTerminator; } -static u8 *GetTrainerIntroSpeech(void) +static const u8 *GetTrainerIntroSpeech(void) { return SanitizeString(sTrainerIntroSpeech); } u8 *sub_8082830(void) { - u8 *str; + const u8 *str; if (gTrainerBattleOpponent == 1024) str = sub_80BCCE8(); @@ -1233,12 +1234,12 @@ u8 *sub_8082830(void) return gStringVar4; } -u8 *unref_sub_808286C(void) +const u8 *unref_sub_808286C(void) { return SanitizeString(sTrainerVictorySpeech); } -static u8 *GetTrainerNonBattlingSpeech(void) +static const u8 *GetTrainerNonBattlingSpeech(void) { return SanitizeString(sTrainerCannotBattleSpeech); } diff --git a/src/battle_transition.c b/src/battle/battle_transition.c index 53d32d03a..53d32d03a 100644 --- a/src/battle_transition.c +++ b/src/battle/battle_transition.c diff --git a/src/calculate_base_damage.c b/src/battle/calculate_base_damage.c index f5c679876..f5c679876 100644 --- a/src/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c diff --git a/src/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c index 0ae98af09..0ae98af09 100644 --- a/src/contest_link_80C857C.c +++ b/src/battle/contest_link_80C857C.c diff --git a/src/pokeball.c b/src/battle/pokeball.c index ee3b95678..ee3b95678 100644 --- a/src/pokeball.c +++ b/src/battle/pokeball.c diff --git a/src/post_battle_event_funcs.c b/src/battle/post_battle_event_funcs.c index 27d7022fe..27d7022fe 100644 --- a/src/post_battle_event_funcs.c +++ b/src/battle/post_battle_event_funcs.c diff --git a/src/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index 343c8f183..343c8f183 100644 --- a/src/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c diff --git a/src/smokescreen.c b/src/battle/smokescreen.c index 8345cb6ad..8345cb6ad 100644 --- a/src/smokescreen.c +++ b/src/battle/smokescreen.c diff --git a/src/bike.c b/src/bike.c deleted file mode 100644 index 80cab0850..000000000 --- a/src/bike.c +++ /dev/null @@ -1,1013 +0,0 @@ -#include "global.h" -#include "bike.h" -#include "field_map_obj.h" -#include "field_player_avatar.h" -#include "fieldmap.h" -#include "flags.h" -#include "global.fieldmap.h" -#include "metatile_behavior.h" -#include "overworld.h" -#include "songs.h" -#include "sound.h" - -extern u8 sub_80608A4(u8); - -extern u8 gUnknown_02039250; -extern u8 gUnknown_02039251; -extern u8 gUnknown_0202E854; - -static void MovePlayerOnMachBike(u8, u16, u16); -static u8 GetMachBikeTransition(u8 *); -static void MachBikeTransition_FaceDirection(u8); -static void MachBikeTransition_80E517C(u8); -static void MachBikeTransition_80E51C4(u8); -static void MachBikeTransition_80E5270(u8); -static void MovePlayerOnAcroBike(u8, u16, u16); -static u8 CheckMovementInputAcroBike(u8 *, u16, u16); -static u8 AcroBikeHandleInputNormal(u8 *, u16, u16); -static u8 AcroBikeHandleInputTurning(u8 *, u16, u16); -static u8 AcroBikeHandleInputWheelieStanding(u8 *, u16, u16); -static u8 AcroBikeHandleInputBunnyHop(u8 *, u16, u16); -static u8 AcroBikeHandleInputWheelieMoving(u8 *, u16, u16); -static u8 AcroBikeHandleInputState5(u8 *, u16, u16); -static u8 AcroBikeHandleInputState6(u8 *, u16, u16); -static void AcroBikeTransition_FaceDirection(u8); -static void AcroBikeTransition_80E5708(u8); -static void AcroBikeTransition_80E5744(u8); -static void AcroBikeTransition_NormalToWheelie(u8); -static void AcroBikeTransition_80E57F8(u8); -static void AcroBikeTransition_80E5834(u8); -static void AcroBikeTransition_80E5870(u8); -static void AcroBikeTransition_80E58AC(u8); -static void AcroBikeTransition_80E5920(u8); -static void AcroBikeTransition_80E5990(u8); -static void AcroBikeTransition_80E59A0(u8); -static void AcroBikeTransition_80E5A30(u8); -static void AcroBikeTransition_80E5AC0(u8); -static void sub_80E5B60(u16, u16); -static u8 sub_80E5C2C(void); -static void sub_80E5C7C(u8); -static void sub_80E5CB8(u8); -static u8 sub_80E5CF4(u16); -static u8 get_some_collision(u8); -static u8 sub_80E5DA0(struct MapObject *, s16, s16, u8, u8); -static bool8 IsRunningDisallowedByMetatile(u8); -static void sub_80E5E4C(); -static u8 CanBikeFaceDirOnMetatile(u8, u8); -static bool8 sub_80E5EC0(u8, u8); -static void sub_80E6024(void); - -static void (*const sMachBikeTransitions[])(u8) = -{ - MachBikeTransition_FaceDirection, - MachBikeTransition_80E517C, - MachBikeTransition_80E51C4, - MachBikeTransition_80E5270, -}; - -static void (*const gUnknown_083DB5A4[])(u8) = -{ - PlayerGoSpeed0, - sub_80593C4, - sub_80593F4, -}; - -static void (*const sAcroBikeTransitions[])(u8) = -{ - AcroBikeTransition_FaceDirection, - AcroBikeTransition_80E5708, - AcroBikeTransition_80E5744, - AcroBikeTransition_NormalToWheelie, - AcroBikeTransition_80E57F8, - AcroBikeTransition_80E5834, - AcroBikeTransition_80E5870, - AcroBikeTransition_80E58AC, - AcroBikeTransition_80E5920, - AcroBikeTransition_80E5990, - AcroBikeTransition_80E59A0, - AcroBikeTransition_80E5A30, - AcroBikeTransition_80E5AC0, -}; - -static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) = -{ - AcroBikeHandleInputNormal, - AcroBikeHandleInputTurning, - AcroBikeHandleInputWheelieStanding, - AcroBikeHandleInputBunnyHop, - AcroBikeHandleInputWheelieMoving, - AcroBikeHandleInputState5, - AcroBikeHandleInputState6, -}; - -const u16 gMachBikeSpeeds[] = {SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST}; -static const u8 Unknown_3DB606[] = {4, 0}; - -static const struct UnknownStruct1 gUnknown_083DB608[] = -{ - {1, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 1}, - {2, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 2}, - {3, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 3}, - {4, 2, 15, 15, Unknown_3DB606, Unknown_3DB606, 4}, -}; - -void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) -{ - if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) - MovePlayerOnMachBike(direction, newKeys, heldKeys); - else - MovePlayerOnAcroBike(direction, newKeys, heldKeys); -} - -static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys) -{ - sMachBikeTransitions[GetMachBikeTransition(&direction)](direction); -} - -static u8 GetMachBikeTransition(u8 *ptr) -{ - u8 direction = player_get_direction_upper_nybble(); - - if (*ptr == 0) - { - *ptr = direction; - if (gPlayerAvatar.unkB == 0) - { - gPlayerAvatar.running2 = 0; - return 0; - } - gPlayerAvatar.running2 = 2; - return 3; - } - - if (*ptr != direction && gPlayerAvatar.running2 != 2) - { - if (gPlayerAvatar.unkB != 0) - { - *ptr = direction; - gPlayerAvatar.running2 = 2; - return 3; - } - gPlayerAvatar.running2 = 1; - return 1; - } - else - { - gPlayerAvatar.running2 = 2; - return 2; - } -} - -static void MachBikeTransition_FaceDirection(u8 direction) -{ - PlayerFaceDirection(direction); - sub_80E6024(); -} - -static void MachBikeTransition_80E517C(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E)) - { - PlayerTurnInPlace(direction); - sub_80E6024(); - } - else - { - MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18); - } -} - -static void MachBikeTransition_80E51C4(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - u8 collision; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - { - if (gPlayerAvatar.unkB) - MachBikeTransition_80E5270(playerMapObj->placeholder18); - else - MachBikeTransition_FaceDirection(playerMapObj->placeholder18); - } - else - { - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) - { - if (collision == COLLISION_LEDGE_JUMP) - { - PlayerJumpLedge(direction); - } - else - { - sub_80E6024(); - if (collision < 5 || collision > 8) - PlayerOnBikeCollide(direction); - } - } - else - { - gUnknown_083DB5A4[gPlayerAvatar.bikeFrameCounter](direction); - gPlayerAvatar.unkB = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1 - if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array - gPlayerAvatar.bikeFrameCounter++; - } - } -} - -static void MachBikeTransition_80E5270(u8 var) -{ - u8 collision; - - if (gPlayerAvatar.unkB != 0) - gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.unkB; - - collision = get_some_collision(var); - - if (collision > 0 && collision < 12) - { - if (collision == COLLISION_LEDGE_JUMP) - { - PlayerJumpLedge(var); - } - else - { - sub_80E6024(); - if (collision < 5 || collision > 8) - PlayerOnBikeCollide(var); - } - } - else - { - gUnknown_083DB5A4[gPlayerAvatar.bikeFrameCounter](var); - } -} - -static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) -{ - sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection); -} - -static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys) -{ - return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys); -} - -static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys) -{ - u8 direction = player_get_direction_upper_nybble(); - - gPlayerAvatar.bikeFrameCounter = 0; - if (*newDirection == DIR_NONE) - { - if (newKeys & B_BUTTON) - { - //We're standing still with the B button held. - //Do a wheelie. - *newDirection = direction; - gPlayerAvatar.running2 = 0; - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - return ACRO_TRANS_NORMAL_TO_WHEELIE; - } - else - { - *newDirection = direction; - gPlayerAvatar.running2 = 0; - return ACRO_TRANS_FACE_DIRECTION; - } - } - if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.unkB == 0) - { - gPlayerAvatar.unkB++; - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; - return 11; - } - if (*newDirection != direction && gPlayerAvatar.running2 != 2) - { - gPlayerAvatar.acroBikeState = ACRO_STATE_TURNING; - gPlayerAvatar.unk9 = *newDirection; - gPlayerAvatar.running2 = 0; - return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); - } - gPlayerAvatar.running2 = 2; - return 2; -} - -static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys) -{ - u8 direction; - - *newDirection = gPlayerAvatar.unk9; - gPlayerAvatar.bikeFrameCounter++; - - //Wait 6 frames before actually changing direction - if (gPlayerAvatar.bikeFrameCounter > 6) - { - gPlayerAvatar.running2 = 1; - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - sub_80E6024(); - return 1; - } - direction = player_get_direction_upper_nybble(); - if (*newDirection == sub_80E5C2C()) - { - sub_80E6024(); - gPlayerAvatar.unkB = 1; - if (*newDirection == GetOppositeDirection(direction)) - { - gPlayerAvatar.acroBikeState = ACRO_STATE_6; - return 9; - } - else - { - gPlayerAvatar.running2 = 2; - gPlayerAvatar.acroBikeState = ACRO_STATE_5; - return 8; - } - } - *newDirection = direction; - return 0; -} - -static u8 AcroBikeHandleInputWheelieStanding(u8 *ptr, u16 newKeys, u16 heldKeys) -{ - u8 direction; - struct MapObject *playerMapObj; - - direction = player_get_direction_upper_nybble(); - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - gPlayerAvatar.running2 = 0; - - if (heldKeys & B_BUTTON) - gPlayerAvatar.bikeFrameCounter++; - else - { - //B button was released. - gPlayerAvatar.bikeFrameCounter = 0; - if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) - { - //Go back to normal on flat ground - *ptr = direction; - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - sub_80E6024(); - return 4; - } - } - if (gPlayerAvatar.bikeFrameCounter >= 40) - { - *ptr = direction; - gPlayerAvatar.acroBikeState = ACRO_STATE_BUNNY_HOP; - sub_80E6024(); - return 6; - } - if (*ptr == direction) - { - gPlayerAvatar.running2 = 2; - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; - sub_80E6024(); - return 10; - } - if (*ptr == 0) - { - *ptr = direction; - return 5; - } - gPlayerAvatar.running2 = 1; - return 5; -} - -static u8 AcroBikeHandleInputBunnyHop(u8 *ptr, u16 newKeys, u16 heldKeys) -{ - u8 direction; - struct MapObject *playerMapObj; - - direction = player_get_direction_upper_nybble(); - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!(heldKeys & B_BUTTON)) - { - //B button was released - sub_80E6024(); - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) - { - //Do a standing wheelie on a bumpy slope - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); - } - else - { - //Go back to normal on flat ground - *ptr = direction; - gPlayerAvatar.running2 = 0; - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - return 4; - } - } - - //B Button is still held - - if (*ptr == DIR_NONE) - { - *ptr = direction; - gPlayerAvatar.running2 = 0; - return 6; - } - if (*ptr != direction && gPlayerAvatar.running2 != 2) - { - gPlayerAvatar.running2 = 1; - return 6; - } - gPlayerAvatar.running2 = 2; - return 7; -} - -static u8 AcroBikeHandleInputWheelieMoving(u8 *ptr, u16 newKeys, u16 heldKeys) -{ - u8 direction; - struct MapObject *playerMapObj; - - direction = player_get_direction_lower_nybble(); - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!(heldKeys & B_BUTTON)) - { - sub_80E6024(); - if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) - { - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - if (*ptr == 0) - { - *ptr = direction; - gPlayerAvatar.running2 = 0; - return 4; - } - if (*ptr != direction && gPlayerAvatar.running2 != 2) - { - gPlayerAvatar.running2 = 0; - return 4; - } - gPlayerAvatar.running2 = 2; - return 12; - } - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); - } - if (*ptr == 0) - { - *ptr = direction; - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - gPlayerAvatar.running2 = 0; - sub_80E6024(); - return 5; - } - if (direction != *ptr && gPlayerAvatar.running2 != 2) - { - gPlayerAvatar.running2 = 0; - return 5; - } - gPlayerAvatar.running2 = 2; - return 10; -} - -static u8 AcroBikeHandleInputState5(u8 *ptr, u16 newKeys, u16 heldKeys) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - playerMapObj->mapobj_bit_9 = 0; - FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); -} - -static u8 AcroBikeHandleInputState6(u8 *ptr, u16 newKeys, u16 heldKeys) -{ - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); -} - -static void AcroBikeTransition_FaceDirection(u8 direction) -{ - PlayerFaceDirection(direction); -} - -static void AcroBikeTransition_80E5708(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; - PlayerFaceDirection(direction); -} - -static void AcroBikeTransition_80E5744(u8 direction) -{ - u8 collision; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - { - AcroBikeTransition_FaceDirection(playerMapObj->placeholder18); - return; - } - collision = get_some_collision(direction); - if (collision > 0 && collision < 12) - { - if (collision == COLLISION_LEDGE_JUMP) - PlayerJumpLedge(direction); - else if (collision < 5 || collision > 8) - PlayerOnBikeCollide(direction); - } - else - { - npc_use_some_d2s(direction); - } -} - -static void AcroBikeTransition_NormalToWheelie(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; - PlayerStartWheelie(direction); -} - -static void AcroBikeTransition_80E57F8(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; - sub_8059534(direction); -} - -static void AcroBikeTransition_80E5834(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; - sub_8059504(direction); -} - -static void AcroBikeTransition_80E5870(u8 direction) -{ - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; - sub_805954C(direction); -} - -static void AcroBikeTransition_80E58AC(u8 direction) -{ - u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - { - AcroBikeTransition_80E5870(playerMapObj->placeholder18); - return; - } - var = get_some_collision(direction); - //TODO: Try to get rid of this goto - if (var == 0 || var == 9) - { - goto derp; - } - else if (var == 6) - { - sub_8059594(direction); - } - else if (var < 5 || var > 8) - { - if (var <= 11) - { - AcroBikeTransition_80E5870(direction); - } - else - { - derp: - sub_8059570(direction); - } - } -} - -static void AcroBikeTransition_80E5920(u8 direction) -{ - u8 var; - struct MapObject *playerMapObj; - - var = get_some_collision(direction); - if (var != 0) - { - if (var == 7) - return; - if (var < 10) - { - AcroBikeTransition_80E5708(direction); - return; - } - if (sub_80E5EC0(var, direction) == 0) - { - AcroBikeTransition_80E5708(direction); - return; - } - } - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - PlaySE(SE_JITE_PYOKO); - playerMapObj->mapobj_bit_9 = 1; - PlayerSetAnimId(sub_80608A4(direction), 2); -} - -static void AcroBikeTransition_80E5990(u8 direction) -{ - sub_80595B8(direction); -} - -static void AcroBikeTransition_80E59A0(u8 direction) -{ - u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - { - sub_8059504(playerMapObj->placeholder18); - return; - } - var = get_some_collision(direction); - if (var > 0 && var < 12) - { - if (var == 6) - { - sub_8059594(direction); - } - else if (var == 9) - { - sub_8059504(direction); - } - else if (var <= 4) - { - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) - sub_8059504(direction); - else - sub_80595DC(direction); //hit wall? - } - return; - } - sub_8059618(direction); - gPlayerAvatar.running2 = 2; -} - -static void AcroBikeTransition_80E5A30(u8 direction) -{ - u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - { - PlayerStartWheelie(playerMapObj->placeholder18); - return; - } - var = get_some_collision(direction); - if (var > 0 && var < 12) - { - if (var == 6) - { - sub_8059594(direction); - } - else if (var == 9) - { - sub_8059504(direction); - } - else if (var <= 4) - { - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) - sub_8059504(direction); - else - sub_80595DC(direction); //hit wall? - } - return; - } - sub_8059600(direction); - gPlayerAvatar.running2 = 2; -} - -static void AcroBikeTransition_80E5AC0(u8 direction) -{ - u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - { - sub_8059534(playerMapObj->placeholder18); - return; - } - var = get_some_collision(direction); - if (var > 0 && var < 12) - { - if (var == 6) - PlayerJumpLedge(direction); - else if (var < 5 || var > 8) - sub_8059534(direction); - return; - } - sub_8059630(direction); -} - -void sub_80E5B38(u16 a, u16 b) -{ - if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) - sub_80E5B60(a, b); -} - -static void sub_80E5B60(u16 unused, u16 b) -{ - u8 var; - - var = sub_80E5CF4(b); - if (var == (gPlayerAvatar.unkC & 0xF)) - { - if (gPlayerAvatar.unk14[0] < 0xFF) - gPlayerAvatar.unk14[0]++; - } - else - { - sub_80E5C7C(var); - gPlayerAvatar.unkB = 0; - } - - var = b & 0xF; - if (var == (gPlayerAvatar.unk10 & 0xF)) - { - if (gPlayerAvatar.unk1C[0] < 0xFF) - gPlayerAvatar.unk1C[0]++; - } - else - { - sub_80E5CB8(var); - gPlayerAvatar.unkB = 0; - } -} - -static bool8 sub_80E5BC8(const u8 *a, const u8 *b) -{ - u8 i; - - for (i = 0; a[i] != 0; i++) - { - if (gPlayerAvatar.unk14[i] > a[i]) - return FALSE; - } - for (i = 0; b[i] != 0; i++) - { - if (gPlayerAvatar.unk1C[i] > b[i]) - return FALSE; - } - return TRUE; -} - -static u8 sub_80E5C2C(void) -{ - u32 i; - - for (i = 0; i < 4; i++) - { - const struct UnknownStruct1 *s = &gUnknown_083DB608[i]; - u32 r1 = gPlayerAvatar.unkC; - u32 r2 = gPlayerAvatar.unk10; - - r1 &= s->unk8; - r2 &= s->unkC; - if (r1 == s->unk0 && r2 == s->unk4 && sub_80E5BC8(s->unk10, s->unk14)) - return s->unk18; - } - return 0; -} - -static void sub_80E5C7C(u8 a) -{ - u8 i; - - gPlayerAvatar.unkC = (gPlayerAvatar.unkC << 4) | (a & 0xF); - - for (i = 7; i != 0; i--) - gPlayerAvatar.unk14[i] = gPlayerAvatar.unk14[i - 1]; - gPlayerAvatar.unk14[0] = 1; -} - -static void sub_80E5CB8(u8 a) -{ - u8 i; - - gPlayerAvatar.unk10 = (gPlayerAvatar.unk10 << 4) | (a & 0xF); - - for (i = 7; i != 0; i--) - gPlayerAvatar.unk1C[i] = gPlayerAvatar.unk1C[i - 1]; - gPlayerAvatar.unk1C[0] = 1; -} - -static u8 sub_80E5CF4(u16 a) -{ - if (a & 0x40) - return 2; - if (a & 0x80) - return 1; - if (a & 0x20) - return 3; - if (a & 0x10) - return 4; - return 0; -} - -static u8 get_some_collision(u8 direction) -{ - s16 x; - s16 y; - u8 metatitleBehavior; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - - x = playerMapObj->coords2.x; - y = playerMapObj->coords2.y; - MoveCoords(direction, &x, &y); - metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); - return sub_80E5DA0(playerMapObj, x, y, direction, metatitleBehavior); -} - -static u8 sub_80E5DA0(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) -{ - u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior); - - if (collision > 4) - return collision; - - if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior)) - collision = 2; - - if (collision) - sub_80E5E4C(); - - return collision; -} - -bool8 IsRunningDisallowed(u8 tile) -{ - if (IsRunningDisallowedByMetatile(tile) != FALSE || gMapHeader.mapType == MAP_TYPE_INDOOR) - return TRUE; - else - return FALSE; -} - -static bool8 IsRunningDisallowedByMetatile(u8 tile) -{ - if (MetatileBehavior_IsRunningDisallowed(tile)) - return TRUE; - if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0) - return TRUE; - return FALSE; -} - -static void sub_80E5E4C(void) -{ - if (gUnknown_02039250 != 0 && gUnknown_02039251 < 100) - gUnknown_02039251++; -} - -static bool8 CanBikeFaceDirOnMetatile(u8 direction, u8 tile) -{ - if (direction == DIR_EAST || direction == DIR_WEST) - { - //Bike cannot face east or west on a vertical rail - if (MetatileBehavior_IsIsolatedVerticalRail(tile) - || MetatileBehavior_IsVerticalRail(tile)) - return FALSE; - } - else - { - //Bike cannot face north or south on a horizontal rail - if (MetatileBehavior_IsIsolatedHorizontalRail(tile) - || MetatileBehavior_IsHorizontalRail(tile)) - return FALSE; - } - return TRUE; -} - -static bool8 sub_80E5EC0(u8 var1, u8 direction) -{ - if (direction == DIR_NORTH || direction == DIR_SOUTH) - { - if (var1 == 10 || var1 == 12) - return FALSE; - } - else if (var1 == 11 || var1 == 13) - { - return FALSE; - } - - return TRUE; -} - -bool8 IsBikingDisallowedByPlayer(void) -{ - s16 x, y; - u8 tileBehavior; - - if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4))) - { - PlayerGetDestCoords(&x, &y); - tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - if (!IsRunningDisallowedByMetatile(tileBehavior)) - return FALSE; - } - return TRUE; -} - -bool8 player_should_look_direction_be_enforced_upon_movement(void) -{ - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE) - return FALSE; - else - return TRUE; -} - -void GetOnOffBike(u8 var) -{ - gUnknown_0202E854 = 0; - - if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) - { - SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - sav1_reset_battle_music_maybe(); - sub_8053E90(); - } - else - { - SetPlayerAvatarTransitionFlags(var); - sav1_set_battle_music_maybe(BGM_CYCLING); - Overworld_ChangeMusicTo(BGM_CYCLING); - } -} - -void BikeClearState(int var1, int var2) -{ - u8 i; - - gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; - gPlayerAvatar.unk9 = 0; - gPlayerAvatar.bikeFrameCounter = 0; - gPlayerAvatar.unkB = 0; - gPlayerAvatar.unkC = var1; - gPlayerAvatar.unk10 = var2; - - for (i = 0; i < 8; i++) - gPlayerAvatar.unk14[i] = 0; - - for (i = 0; i < 8; i++) - gPlayerAvatar.unk1C[i] = 0; -} - -void sub_80E6010(u8 var) -{ - gPlayerAvatar.bikeFrameCounter = var; - gPlayerAvatar.unkB = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // lazy way of multiplying by 1.5. -} - -static void sub_80E6024(void) -{ - gPlayerAvatar.bikeFrameCounter = 0; - gPlayerAvatar.unkB = 0; -} - -s16 GetPlayerSpeed(void) -{ - // because the player pressed a direction, it won't ever return a speed of 0 since this function returns the player's current speed. - s16 machSpeeds[3]; - - memcpy(machSpeeds, gMachBikeSpeeds, sizeof(machSpeeds)); - - if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) - return machSpeeds[gPlayerAvatar.bikeFrameCounter]; - else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) - return SPEED_FASTER; - else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH)) - return SPEED_FAST; - else - return SPEED_NORMAL; -} - -void sub_80E6084(void) -{ - s16 x, y; - u8 tileBehavior; - - if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) - { - PlayerGetDestCoords(&x, &y); - tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - if (MetatileBehavior_IsBumpySlope(tileBehavior)) - { - gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - sub_8059C94(player_get_direction_upper_nybble()); - } - } -} diff --git a/src/data/battle_tower/level_100_mons.h b/src/data/battle_tower/level_100_mons.h new file mode 100644 index 000000000..4f2b711ee --- /dev/null +++ b/src/data/battle_tower/level_100_mons.h @@ -0,0 +1,3903 @@ +const struct BattleTowerPokemon gBattleTowerLevel100Mons[] = +{ + { + .species = SPECIES_LINOONE, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0x42, + .moves = { + MOVE_SLASH, + MOVE_GROWL, + MOVE_TAIL_WHIP, + MOVE_SAND_ATTACK + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_MIGHTYENA, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_BITE, + MOVE_HOWL, + MOVE_ODOR_SLEUTH, + MOVE_SCARY_FACE + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_BEAUTIFLY, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_GUST, + MOVE_STUN_SPORE, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_DUSTOX, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_PSYBEAM, + MOVE_GUST, + MOVE_DOUBLE_TEAM, + MOVE_SILVER_WIND + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_LOMBRE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_ASTONISH, + MOVE_GROWL, + MOVE_MEGA_DRAIN, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_NUZLEAF, + .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB, + .teamFlags = 0x01, + .moves = { + MOVE_BULLET_SEED, + MOVE_RAZOR_WIND, + MOVE_FAINT_ATTACK, + MOVE_GROWTH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWELLOW, + .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK, + .teamFlags = 0x42, + .moves = { + MOVE_AERIAL_ACE, + MOVE_GROWL, + MOVE_ENDEAVOR, + MOVE_FOCUS_ENERGY + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_PELIPPER, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x02, + .moves = { + MOVE_SURF, + MOVE_WATER_SPORT, + MOVE_PROTECT, + MOVE_SUPERSONIC + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x42, + .moves = { + MOVE_MACH_PUNCH, + MOVE_MEGA_DRAIN, + MOVE_HEADBUTT, + MOVE_STUN_SPORE + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_NINJASK, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_SCRATCH, + MOVE_SCREECH, + MOVE_LEECH_LIFE, + MOVE_FLASH + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_BITE, + MOVE_FLY, + MOVE_SUPERSONIC, + MOVE_HAZE + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_MAWILE, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x03, + .moves = { + MOVE_VICE_GRIP, + MOVE_SWEET_SCENT, + MOVE_ASTONISH, + MOVE_STRENGTH + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_NOSEPASS, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_ROCK_THROW, + MOVE_SANDSTORM, + MOVE_HARDEN, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_DELCATTY, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x42, + .moves = { + MOVE_DOUBLE_SLAP, + MOVE_TAIL_WHIP, + MOVE_ATTRACT, + MOVE_CHARM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CAMERUPT, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x01, + .moves = { + MOVE_EMBER, + MOVE_TAKE_DOWN, + MOVE_GROWL, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_ORAN_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_POISON_GAS, + MOVE_MINIMIZE, + MOVE_SLUDGE, + MOVE_SCREECH + }, + .evSpread = F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_SANDSLASH, + .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND, + .teamFlags = 0x03, + .moves = { + MOVE_SLASH, + MOVE_SAND_ATTACK, + MOVE_DEFENSE_CURL, + MOVE_SWIFT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SPINDA, + .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF, + .teamFlags = 0x42, + .moves = { + MOVE_UPROAR, + MOVE_WATER_PULSE, + MOVE_THRASH, + MOVE_SAFEGUARD + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_WHISCASH, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_TICKLE, + MOVE_MUD_SPORT, + MOVE_WATER_GUN, + MOVE_WATER_SPORT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_CACTURNE, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x01, + .moves = { + MOVE_POISON_STING, + MOVE_PIN_MISSILE, + MOVE_ABSORB, + MOVE_COTTON_SPORE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_JIGGLYPUFF, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x42, + .moves = { + MOVE_SING, + MOVE_ROLLOUT, + MOVE_POUND, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MARILL, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x42, + .moves = { + MOVE_BUBBLE_BEAM, + MOVE_DEFENSE_CURL, + MOVE_RAIN_DANCE, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MAGNETON, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_THUNDER_SHOCK, + MOVE_SUPERSONIC, + MOVE_FLASH, + MOVE_SCREECH + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_CARVANHA, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x01, + .moves = { + MOVE_BITE, + MOVE_RAGE, + MOVE_SCARY_FACE, + MOVE_LEER + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_KECLEON, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_THIEF, + MOVE_LICK, + MOVE_BIND, + MOVE_FURY_SWIPES + }, + .evSpread = F_EV_SPREAD_DEFENSE, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_NINETALES, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x02, + .moves = { + MOVE_EMBER, + MOVE_CONFUSE_RAY, + MOVE_FIRE_SPIN, + MOVE_SAFEGUARD + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x42, + .moves = { + MOVE_SHOCK_WAVE, + MOVE_GROWL, + MOVE_DOUBLE_TEAM, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_DEFENSE, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_SEALEO, + .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE, + .teamFlags = 0x01, + .moves = { + MOVE_ICE_BALL, + MOVE_WATER_GUN, + MOVE_ENCORE, + MOVE_HAIL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_GRAVELER, + .heldItem = BATTLE_TOWER_ITEM_HARD_STONE, + .teamFlags = 0x01, + .moves = { + MOVE_ROCK_THROW, + MOVE_MUD_SPORT, + MOVE_SANDSTORM, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_SHUPPET, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x03, + .moves = { + MOVE_NIGHT_SHADE, + MOVE_WILL_O_WISP, + MOVE_SCREECH, + MOVE_KNOCK_OFF + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LUVDISC, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_ATTRACT, + MOVE_FLAIL, + MOVE_SWEET_KISS, + MOVE_WATER_PULSE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_LANTURN, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_THUNDER_WAVE, + MOVE_SUPERSONIC, + MOVE_WATER_GUN, + MOVE_SPARK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CORSOLA, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_MIRROR_COAT, + MOVE_BUBBLE, + MOVE_HARDEN, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_WAILMER, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_SURF, + MOVE_ROAR, + MOVE_GROWL, + MOVE_MIST + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_RHYDON, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_TAKE_DOWN, + MOVE_SCARY_FACE, + MOVE_TAIL_WHIP, + MOVE_ROAR + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_DODRIO, + .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK, + .teamFlags = 0x05, + .moves = { + MOVE_FURY_ATTACK, + MOVE_PURSUIT, + MOVE_AERIAL_ACE, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x05, + .moves = { + MOVE_FURY_SWIPES, + MOVE_TAIL_WHIP, + MOVE_DISABLE, + MOVE_PSYCH_UP + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_BELLOSSOM, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x0A, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_POISON_POWDER, + MOVE_STUN_SPORE, + MOVE_ACID + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_TROPIUS, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x05, + .moves = { + MOVE_STOMP, + MOVE_RAZOR_LEAF, + MOVE_GUST, + MOVE_SYNTHESIS + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SABLEYE, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x0A, + .moves = { + MOVE_NIGHT_SHADE, + MOVE_FAKE_OUT, + MOVE_PSYCH_UP, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x03, + .moves = { + MOVE_SONIC_BOOM, + MOVE_SCREECH, + MOVE_SPARK, + MOVE_SELF_DESTRUCT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x01, + .moves = { + MOVE_ACID, + MOVE_WATER_PULSE, + MOVE_BARRIER, + MOVE_WRAP + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_CLAYDOL, + .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND, + .teamFlags = 0x05, + .moves = { + MOVE_ANCIENT_POWER, + MOVE_MUD_SLAP, + MOVE_RAPID_SPIN, + MOVE_CONFUSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_PSYBEAM, + MOVE_PSYCH_UP, + MOVE_BOUNCE, + MOVE_MAGIC_COAT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_CRAWDAUNT, + .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB, + .teamFlags = 0x05, + .moves = { + MOVE_CRABHAMMER, + MOVE_BUBBLE_BEAM, + MOVE_BRICK_BREAK, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_SEVIPER, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x01, + .moves = { + MOVE_POISON_TAIL, + MOVE_GLARE, + MOVE_WRAP, + MOVE_THIEF + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_ZANGOOSE, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_FURY_CUTTER, + MOVE_LEER, + MOVE_QUICK_ATTACK, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ALTARIA, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x03, + .moves = { + MOVE_DRAGON_BREATH, + MOVE_SING, + MOVE_SAFEGUARD, + MOVE_TAKE_DOWN + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ROSELIA, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_LEECH_SEED, + MOVE_MEGA_DRAIN, + MOVE_GROWTH, + MOVE_STUN_SPORE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_VOLBEAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x09, + .moves = { + MOVE_SIGNAL_BEAM, + MOVE_CONFUSE_RAY, + MOVE_DOUBLE_TEAM, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ILLUMISE, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_CHARM, + MOVE_ENCORE, + MOVE_SOLAR_BEAM, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_MAGNET, + .teamFlags = 0x03, + .moves = { + MOVE_BITE, + MOVE_HOWL, + MOVE_THUNDER_WAVE, + MOVE_SPARK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_MAWILE, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_CRUNCH, + MOVE_IRON_DEFENSE, + MOVE_TORMENT, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x05, + .moves = { + MOVE_ARM_THRUST, + MOVE_FAKE_OUT, + MOVE_WHIRLWIND, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_SKARMORY, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x01, + .moves = { + MOVE_STEEL_WING, + MOVE_AGILITY, + MOVE_TAUNT, + MOVE_FLY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_TORKOAL, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_FIRE_SPIN, + MOVE_SMOKESCREEN, + MOVE_BODY_SLAM, + MOVE_AMNESIA + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_THRASH, + MOVE_DRAGON_RAGE, + MOVE_TWISTER, + MOVE_HYDRO_PUMP + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_MIGHTYENA, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_CRUNCH, + MOVE_HOWL, + MOVE_IRON_TAIL, + MOVE_TORMENT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_LINOONE, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x06, + .moves = { + MOVE_SLASH, + MOVE_ATTRACT, + MOVE_SHOCK_WAVE, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MASQUERAIN, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_TOXIC, + MOVE_STUN_SPORE, + MOVE_SUNNY_DAY, + MOVE_SOLAR_BEAM + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x06, + .moves = { + MOVE_BULLET_SEED, + MOVE_SLAM, + MOVE_SCREECH, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x06, + .moves = { + MOVE_DOUBLE_KICK, + MOVE_FLAMETHROWER, + MOVE_DOUBLE_TEAM, + MOVE_ROAR + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x49, + .moves = { + MOVE_SURF, + MOVE_MUD_SHOT, + MOVE_MUD_SPORT, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x49, + .moves = { + MOVE_DRAGON_BREATH, + MOVE_FLY, + MOVE_TOXIC, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x49, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_SMOKESCREEN, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_CORSOLA, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_ANCIENT_POWER, + MOVE_MIRROR_COAT, + MOVE_SAFEGUARD, + MOVE_REFLECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_RHYDON, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x41, + .moves = { + MOVE_EARTHQUAKE, + MOVE_IRON_TAIL, + MOVE_ROAR, + MOVE_THUNDERBOLT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x06, + .moves = { + MOVE_MEGAHORN, + MOVE_COUNTER, + MOVE_PROTECT, + MOVE_LEER + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GIRAFARIG, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_PSYCHIC, + MOVE_CRUNCH, + MOVE_BATON_PASS, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_XATU, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_PSYCHIC, + MOVE_FLY, + MOVE_CONFUSE_RAY, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_DODRIO, + .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK, + .teamFlags = 0x03, + .moves = { + MOVE_DRILL_PECK, + MOVE_TRI_ATTACK, + MOVE_PURSUIT, + MOVE_TORMENT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_VILEPLUME, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x89, + .moves = { + MOVE_POISON_POWDER, + MOVE_STUN_SPORE, + MOVE_SLEEP_POWDER, + MOVE_PETAL_DANCE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MODEST, + }, + { + .species = SPECIES_MEDICHAM, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x06, + .moves = { + MOVE_FOCUS_PUNCH, + MOVE_LIGHT_SCREEN, + MOVE_BULK_UP, + MOVE_PSYCHIC + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_ABSOL, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x06, + .moves = { + MOVE_SLASH, + MOVE_SWORDS_DANCE, + MOVE_DOUBLE_TEAM, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x4B, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_WILL_O_WISP, + MOVE_NIGHT_SHADE, + MOVE_DISABLE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_SHUPPET, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x43, + .moves = { + MOVE_GRUDGE, + MOVE_SHADOW_BALL, + MOVE_CURSE, + MOVE_KNOCK_OFF + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_CASTFORM, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x82, + .moves = { + MOVE_WEATHER_BALL, + MOVE_HAIL, + MOVE_SUNNY_DAY, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_MODEST, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x02, + .moves = { + MOVE_SURF, + MOVE_REFRESH, + MOVE_RECOVER, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SHARPEDO, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_CRUNCH, + MOVE_FOCUS_ENERGY, + MOVE_SCARY_FACE, + MOVE_SCREECH + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x06, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SAND_ATTACK, + MOVE_DRAGON_BREATH, + MOVE_SAND_TOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_TRAPINCH, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_TOXIC, + MOVE_SAND_TOMB, + MOVE_CRUNCH, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_LUNATONE, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x43, + .moves = { + MOVE_PSYCHIC, + MOVE_ROCK_THROW, + MOVE_HYPNOSIS, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SOLROCK, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x43, + .moves = { + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_COSMIC_POWER, + MOVE_CALM_MIND + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_BALTOY, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x43, + .moves = { + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_REFLECT, + MOVE_SELF_DESTRUCT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_CRAWDAUNT, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x06, + .moves = { + MOVE_CRABHAMMER, + MOVE_SURF, + MOVE_PROTECT, + MOVE_BRICK_BREAK + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_WHISCASH, + .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY, + .teamFlags = 0x06, + .moves = { + MOVE_EARTHQUAKE, + MOVE_TICKLE, + MOVE_AMNESIA, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SEVIPER, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_POISON_TAIL, + MOVE_CRUNCH, + MOVE_GIGA_DRAIN, + MOVE_HAZE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_MAGCARGO, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x89, + .moves = { + MOVE_FLAMETHROWER, + MOVE_LIGHT_SCREEN, + MOVE_AMNESIA, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT, + .teamFlags = 0x09, + .moves = { + MOVE_KARATE_CHOP, + MOVE_SEISMIC_TOSS, + MOVE_BRICK_BREAK, + MOVE_LOW_KICK + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_SWALOT, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x86, + .moves = { + MOVE_YAWN, + MOVE_WATER_PULSE, + MOVE_SHADOW_BALL, + MOVE_SLUDGE_BOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0C, + .moves = { + MOVE_LEAF_BLADE, + MOVE_GIGA_DRAIN, + MOVE_FURY_CUTTER, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x0C, + .moves = { + MOVE_BLAZE_KICK, + MOVE_FLAMETHROWER, + MOVE_PROTECT, + MOVE_QUICK_ATTACK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x4C, + .moves = { + MOVE_SURF, + MOVE_MUD_SHOT, + MOVE_MUD_SLAP, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MIGHTYENA, + .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES, + .teamFlags = 0x04, + .moves = { + MOVE_CRUNCH, + MOVE_HOWL, + MOVE_SWAGGER, + MOVE_SHADOW_BALL + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_LINOONE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x04, + .moves = { + MOVE_SLASH, + MOVE_REST, + MOVE_BELLY_DRUM, + MOVE_THUNDERBOLT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_BEAUTIFLY, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x08, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_ATTRACT, + MOVE_MORNING_SUN, + MOVE_STUN_SPORE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_DUSTOX, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x08, + .moves = { + MOVE_PSYCHIC, + MOVE_SILVER_WIND, + MOVE_MOONLIGHT, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x0C, + .moves = { + MOVE_FAKE_OUT, + MOVE_HYDRO_PUMP, + MOVE_ICE_BEAM, + MOVE_UPROAR + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SHIFTRY, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x0C, + .moves = { + MOVE_FRUSTRATION, + MOVE_GIGA_DRAIN, + MOVE_TORMENT, + MOVE_SWAGGER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_SWELLOW, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x88, + .moves = { + MOVE_FLY, + MOVE_ENDEAVOR, + MOVE_AERIAL_ACE, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES, + .teamFlags = 0x4A, + .moves = { + MOVE_HYPNOSIS, + MOVE_DREAM_EATER, + MOVE_PSYCHIC, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x0C, + .moves = { + MOVE_DYNAMIC_PUNCH, + MOVE_MIND_READER, + MOVE_SNATCH, + MOVE_MEGA_DRAIN + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_VIGOROTH, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x04, + .moves = { + MOVE_SLASH, + MOVE_UPROAR, + MOVE_ENCORE, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_NINJASK, + .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER, + .teamFlags = 0x04, + .moves = { + MOVE_FURY_CUTTER, + MOVE_GIGA_DRAIN, + MOVE_SWORDS_DANCE, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_SHEDINJA, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0xCA, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_GRUDGE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_LOUDRED, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x04, + .moves = { + MOVE_HYPER_VOICE, + MOVE_HOWL, + MOVE_SHADOW_BALL, + MOVE_TORMENT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x04, + .moves = { + MOVE_ARM_THRUST, + MOVE_BULK_UP, + MOVE_BRICK_BREAK, + MOVE_HIDDEN_POWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x88, + .moves = { + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_FUTURE_SIGHT, + MOVE_DISABLE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x88, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_TOXIC, + MOVE_MEAN_LOOK, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MAWILE, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x04, + .moves = { + MOVE_CRUNCH, + MOVE_IRON_DEFENSE, + MOVE_FAKE_TEARS, + MOVE_POISON_FANG + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_AGGRON, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x45, + .moves = { + MOVE_METAL_CLAW, + MOVE_FLAMETHROWER, + MOVE_METAL_SOUND, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GOLEM, + .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND, + .teamFlags = 0xC5, + .moves = { + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_TEAM, + MOVE_SELF_DESTRUCT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_MAGNET, + .teamFlags = 0x04, + .moves = { + MOVE_THUNDER, + MOVE_RAIN_DANCE, + MOVE_THUNDER_WAVE, + MOVE_CHARGE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_VOLBEAT, + .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER, + .teamFlags = 0x08, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_SIGNAL_BEAM, + MOVE_MOONLIGHT, + MOVE_TAIL_GLOW + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_ILLUMISE, + .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER, + .teamFlags = 0x08, + .moves = { + MOVE_THUNDERBOLT, + MOVE_FLATTER, + MOVE_WISH, + MOVE_ENCORE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MASQUERAIN, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x88, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_SILVER_WIND, + MOVE_STUN_SPORE, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_ROSELIA, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x08, + .moves = { + MOVE_PETAL_DANCE, + MOVE_GROWTH, + MOVE_SYNTHESIS, + MOVE_GRASS_WHISTLE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_DELCATTY, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x08, + .moves = { + MOVE_SING, + MOVE_ATTRACT, + MOVE_DOUBLE_SLAP, + MOVE_HEAL_BELL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_SEAKING, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x88, + .moves = { + MOVE_RAIN_DANCE, + MOVE_SURF, + MOVE_ATTRACT, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x8C, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_EARTHQUAKE, + MOVE_DRAGON_RAGE, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_SWALOT, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x42, + .moves = { + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_YAWN + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_MAGCARGO, + .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_ROCK_SLIDE, + MOVE_FIRE_BLAST, + MOVE_BODY_SLAM, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0xC3, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_FLAMETHROWER, + MOVE_ACID_ARMOR, + MOVE_DISABLE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_SPINDA, + .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF, + .teamFlags = 0x42, + .moves = { + MOVE_DIZZY_PUNCH, + MOVE_TEETER_DANCE, + MOVE_PSYCH_UP, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_MODEST, + }, + { + .species = SPECIES_ALTARIA, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x03, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_DRAGON_BREATH, + MOVE_DRAGON_DANCE, + MOVE_REFRESH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_ZANGOOSE, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_CRUSH_CLAW, + MOVE_TAUNT, + MOVE_SWORDS_DANCE, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_SEVIPER, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_SWAGGER, + MOVE_TAUNT, + MOVE_GLARE, + MOVE_POISON_TAIL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x42, + .moves = { + MOVE_TOXIC, + MOVE_BOUNCE, + MOVE_CONFUSE_RAY, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_CACTURNE, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x41, + .moves = { + MOVE_NEEDLE_ARM, + MOVE_INGRAIN, + MOVE_SPIKES, + MOVE_COTTON_SPORE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_CLAYDOL, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SANDSTORM, + MOVE_COSMIC_POWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB, + .teamFlags = 0xC1, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_HYDRO_PUMP, + MOVE_BARRIER, + MOVE_SUPERSONIC + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WIGGLYTUFF, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0xC3, + .moves = { + MOVE_SING, + MOVE_FOCUS_PUNCH, + MOVE_DISABLE, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_AZUMARILL, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0xC2, + .moves = { + MOVE_SURF, + MOVE_ATTRACT, + MOVE_DEFENSE_CURL, + MOVE_ROLLOUT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0xC3, + .moves = { + MOVE_THUNDERBOLT, + MOVE_MIRROR_COAT, + MOVE_LIGHT_SCREEN, + MOVE_SELF_DESTRUCT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x42, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_ATTRACT, + MOVE_RECOVER, + MOVE_REFRESH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_KECLEON, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x43, + .moves = { + MOVE_SKILL_SWAP, + MOVE_ANCIENT_POWER, + MOVE_WATER_PULSE, + MOVE_THUNDERBOLT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x43, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_CURSE, + MOVE_REST, + MOVE_MEAN_LOOK + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_ABSOL, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_SLASH, + MOVE_SWORDS_DANCE, + MOVE_DOUBLE_TEAM, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_NINETALES, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0xC2, + .moves = { + MOVE_FLAMETHROWER, + MOVE_CONFUSE_RAY, + MOVE_DOUBLE_TEAM, + MOVE_WILL_O_WISP + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_PIKACHU, + .heldItem = BATTLE_TOWER_ITEM_LIGHT_BALL, + .teamFlags = 0xC2, + .moves = { + MOVE_THUNDER_WAVE, + MOVE_THUNDER, + MOVE_RAIN_DANCE, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_VILEPLUME, + .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY, + .teamFlags = 0xC3, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_SLEEP_POWDER, + MOVE_MOONLIGHT, + MOVE_SLUDGE_BOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_DONPHAN, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_EARTHQUAKE, + MOVE_DOUBLE_EDGE, + MOVE_IRON_TAIL, + MOVE_FISSURE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0xC3, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE, + .teamFlags = 0x43, + .moves = { + MOVE_ICE_BEAM, + MOVE_BODY_SLAM, + MOVE_ENCORE, + MOVE_HAIL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_RELICANTH, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x41, + .moves = { + MOVE_YAWN, + MOVE_MUD_SPORT, + MOVE_DOUBLE_EDGE, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x43, + .moves = { + MOVE_RAIN_DANCE, + MOVE_ICE_BEAM, + MOVE_HYDRO_PUMP, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_CRADILY, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x43, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_INGRAIN, + MOVE_ANCIENT_POWER, + MOVE_GIGA_DRAIN + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_ARMALDO, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x43, + .moves = { + MOVE_SLASH, + MOVE_ROCK_SLIDE, + MOVE_EARTHQUAKE, + MOVE_WATER_PULSE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x41, + .moves = { + MOVE_METAL_CLAW, + MOVE_PSYCHIC, + MOVE_LIGHT_SCREEN, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x42, + .moves = { + MOVE_DRAGON_BREATH, + MOVE_CRUNCH, + MOVE_FLAMETHROWER, + MOVE_AERIAL_ACE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_MIGHTYENA, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_CRUNCH, + MOVE_YAWN, + MOVE_FACADE, + MOVE_HOWL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LINOONE, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x02, + .moves = { + MOVE_HYPER_BEAM, + MOVE_FACADE, + MOVE_ATTRACT, + MOVE_TRICK + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_SURF, + MOVE_FOCUS_PUNCH, + MOVE_FAKE_OUT, + MOVE_SYNTHESIS + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_EXPLOUD, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_UPROAR, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWELLOW, + .heldItem = BATTLE_TOWER_ITEM_LANSAT_BERRY, + .teamFlags = 0x02, + .moves = { + MOVE_FACADE, + MOVE_SUPERSONIC, + MOVE_WING_ATTACK, + MOVE_ENDEAVOR + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_PELIPPER, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x82, + .moves = { + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x01, + .moves = { + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER, + MOVE_BULK_UP, + MOVE_MIND_READER + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SHEDINJA, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_RETURN, + MOVE_DOUBLE_TEAM, + MOVE_TOXIC, + MOVE_SHADOW_BALL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_EXPLOUD, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_HYPER_BEAM, + MOVE_SUPERSONIC, + MOVE_FLAMETHROWER, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x01, + .moves = { + MOVE_CROSS_CHOP, + MOVE_COUNTER, + MOVE_FACADE, + MOVE_FAKE_OUT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x83, + .moves = { + MOVE_PSYCHIC, + MOVE_ENCORE, + MOVE_DISABLE, + MOVE_RECOVER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x81, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_AIR_CUTTER, + MOVE_TORMENT, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SABLEYE, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x83, + .moves = { + MOVE_TOXIC, + MOVE_DETECT, + MOVE_RECOVER, + MOVE_TORMENT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_MAWILE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x02, + .moves = { + MOVE_CRUNCH, + MOVE_SWORDS_DANCE, + MOVE_IRON_DEFENSE, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_AGGRON, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_DOUBLE_EDGE, + MOVE_IRON_DEFENSE, + MOVE_ROAR, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GOLEM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE, + MOVE_FLAMETHROWER, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_NOSEPASS, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x81, + .moves = { + MOVE_THUNDER_WAVE, + MOVE_ROCK_SLIDE, + MOVE_TORMENT, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x02, + .moves = { + MOVE_THUNDER, + MOVE_CRUNCH, + MOVE_THUNDER_WAVE, + MOVE_QUICK_ATTACK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_ROSELIA, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x82, + .moves = { + MOVE_GRASS_WHISTLE, + MOVE_LEECH_SEED, + MOVE_GIGA_DRAIN, + MOVE_GROWTH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_DELCATTY, + .heldItem = BATTLE_TOWER_ITEM_STARF_BERRY, + .teamFlags = 0x02, + .moves = { + MOVE_ASSIST, + MOVE_SING, + MOVE_ATTRACT, + MOVE_SUBSTITUTE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_TROPIUS, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0xC2, + .moves = { + MOVE_RAZOR_LEAF, + MOVE_EARTHQUAKE, + MOVE_ATTRACT, + MOVE_SYNTHESIS + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_SWALOT, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_YAWN, + MOVE_SLUDGE_BOMB, + MOVE_ATTRACT, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT, + .teamFlags = 0x01, + .moves = { + MOVE_CROSS_CHOP, + MOVE_BULK_UP, + MOVE_LOW_KICK, + MOVE_BRICK_BREAK + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_CAMERUPT, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x40, + .moves = { + MOVE_ERUPTION, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE, + MOVE_OVERHEAT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_MAGCARGO, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x03, + .moves = { + MOVE_FLAMETHROWER, + MOVE_ROCK_SLIDE, + MOVE_EARTHQUAKE, + MOVE_REFLECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WEEZING, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x81, + .moves = { + MOVE_WILL_O_WISP, + MOVE_HYPER_BEAM, + MOVE_THUNDERBOLT, + MOVE_DESTINY_BOND + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_SPINDA, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x82, + .moves = { + MOVE_TRICK, + MOVE_TEETER_DANCE, + MOVE_FOCUS_PUNCH, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_SKARMORY, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_DRILL_PECK, + MOVE_STEEL_WING, + MOVE_TORMENT, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ALTARIA, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x02, + .moves = { + MOVE_SING, + MOVE_DRAGON_CLAW, + MOVE_ICE_BEAM, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x82, + .moves = { + MOVE_PSYCHIC, + MOVE_CONFUSE_RAY, + MOVE_CALM_MIND, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SHIFTRY, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x20, + .moves = { + MOVE_SWAGGER, + MOVE_FRUSTRATION, + MOVE_ATTRACT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_CLAYDOL, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x20, + .moves = { + MOVE_COSMIC_POWER, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x33, + .moves = { + MOVE_EARTHQUAKE, + MOVE_COUNTER, + MOVE_BELLY_DRUM, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_NOSEPASS, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x20, + .moves = { + MOVE_ROCK_SLIDE, + MOVE_THUNDER_WAVE, + MOVE_EARTHQUAKE, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x33, + .moves = { + MOVE_SHADOW_PUNCH, + MOVE_WILL_O_WISP, + MOVE_CONFUSE_RAY, + MOVE_DESTINY_BOND + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_SEAKING, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x20, + .moves = { + MOVE_HORN_DRILL, + MOVE_AGILITY, + MOVE_SLEEP_TALK, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_CAMERUPT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x73, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ERUPTION, + MOVE_ROCK_SLIDE, + MOVE_FISSURE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_LANTURN, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x13, + .moves = { + MOVE_THUNDERBOLT, + MOVE_SURF, + MOVE_THUNDER_WAVE, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_WEEZING, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x33, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_THUNDERBOLT, + MOVE_FIRE_BLAST, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WHISCASH, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x20, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_SPARK, + MOVE_FISSURE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_AGGRON, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x51, + .moves = { + MOVE_DOUBLE_EDGE, + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_KECLEON, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x12, + .moves = { + MOVE_TRICK, + MOVE_FOCUS_PUNCH, + MOVE_ATTRACT, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_SHARPEDO, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x11, + .moves = { + MOVE_CRUNCH, + MOVE_DOUBLE_EDGE, + MOVE_SURF, + MOVE_SWAGGER + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ABSOL, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x12, + .moves = { + MOVE_DOUBLE_EDGE, + MOVE_FACADE, + MOVE_SWORDS_DANCE, + MOVE_QUICK_ATTACK + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WAILORD, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x72, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_EARTHQUAKE, + MOVE_ATTRACT, + MOVE_FISSURE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x20, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_SLUDGE_BOMB, + MOVE_BARRIER, + MOVE_MIRROR_COAT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_SABLEYE, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x32, + .moves = { + MOVE_SHADOW_BALL, + MOVE_TOXIC, + MOVE_RECOVER, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WOBBUFFET, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x20, + .moves = { + MOVE_ENCORE, + MOVE_COUNTER, + MOVE_MIRROR_COAT, + MOVE_DESTINY_BOND + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_RHYDON, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x71, + .moves = { + MOVE_EARTHQUAKE, + MOVE_MEGAHORN, + MOVE_BRICK_BREAK, + MOVE_HORN_DRILL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GLALIE, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x31, + .moves = { + MOVE_CRUNCH, + MOVE_BLIZZARD, + MOVE_HAIL, + MOVE_SHEER_COLD + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x8C, + .moves = { + MOVE_LEAF_BLADE, + MOVE_EARTHQUAKE, + MOVE_DRAGON_CLAW, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x8C, + .moves = { + MOVE_BLAZE_KICK, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x8C, + .moves = { + MOVE_SURF, + MOVE_EARTHQUAKE, + MOVE_MIRROR_COAT, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x1A, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDERBOLT, + MOVE_DESTINY_BOND, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x15, + .moves = { + MOVE_SPORE, + MOVE_FOCUS_PUNCH, + MOVE_MACH_PUNCH, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x58, + .moves = { + MOVE_PSYCHIC, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_RECOVER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x15, + .moves = { + MOVE_CROSS_CHOP, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FAKE_OUT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x55, + .moves = { + MOVE_HYPER_BEAM, + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x58, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_CONFUSE_RAY, + MOVE_AIR_CUTTER, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x5D, + .moves = { + MOVE_CROSS_CHOP, + MOVE_FLAMETHROWER, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x1A, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_ROAR, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x60, + .moves = { + MOVE_THUNDERBOLT, + MOVE_PROTECT, + MOVE_MIRROR_COAT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x64, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_FLAMETHROWER, + MOVE_THUNDERBOLT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x1C, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FLAMETHROWER, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x5C, + .moves = { + MOVE_SURF, + MOVE_THUNDERBOLT, + MOVE_RECOVER, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_NINETALES, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x4A, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_TOXIC, + MOVE_FIRE_SPIN, + MOVE_HEAT_WAVE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x5A, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_REVERSAL, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x55, + .moves = { + MOVE_SURF, + MOVE_CROSS_CHOP, + MOVE_ICE_BEAM, + MOVE_DIG + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x5D, + .moves = { + MOVE_MEGAHORN, + MOVE_EARTHQUAKE, + MOVE_ENDURE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x26, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_EARTHQUAKE, + MOVE_SHEER_COLD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x5B, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_DRAGON_BREATH, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x0D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_CRUNCH, + MOVE_FIRE_BLAST + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x3D, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x3C, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ANCIENT_POWER, + MOVE_THUNDERBOLT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE, + .teamFlags = 0x3C, + .moves = { + MOVE_ICE_BEAM, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x3C, + .moves = { + MOVE_METAL_CLAW, + MOVE_EARTHQUAKE, + MOVE_THUNDERBOLT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x0E, + .moves = { + MOVE_MIST_BALL, + MOVE_THUNDERBOLT, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x0D, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_THUNDERBOLT, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x1A, + .moves = { + MOVE_SURF, + MOVE_TOXIC, + MOVE_RECOVER, + MOVE_MIRROR_COAT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SLAKING, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x15, + .moves = { + MOVE_YAWN, + MOVE_FOCUS_PUNCH, + MOVE_COUNTER, + MOVE_SLACK_OFF + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x8C, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_DOUBLE_TEAM, + MOVE_LEECH_SEED, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x8C, + .moves = { + MOVE_BLAZE_KICK, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE, + MOVE_QUICK_ATTACK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x8C, + .moves = { + MOVE_MUDDY_WATER, + MOVE_MUD_SHOT, + MOVE_MIRROR_COAT, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDERBOLT, + MOVE_HYPNOSIS, + MOVE_DREAM_EATER + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_SPORE, + MOVE_COUNTER, + MOVE_SKY_UPPERCUT, + MOVE_GIGA_DRAIN + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x58, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDER_PUNCH, + MOVE_FIRE_PUNCH, + MOVE_RECOVER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x04, + .moves = { + MOVE_CROSS_CHOP, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x44, + .moves = { + MOVE_HYPER_BEAM, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x48, + .moves = { + MOVE_TOXIC, + MOVE_CONFUSE_RAY, + MOVE_ATTRACT, + MOVE_FLY + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x5D, + .moves = { + MOVE_CROSS_CHOP, + MOVE_COUNTER, + MOVE_EARTHQUAKE, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_THUNDER, + MOVE_THUNDER_WAVE, + MOVE_QUICK_ATTACK, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x60, + .moves = { + MOVE_THUNDERBOLT, + MOVE_LIGHT_SCREEN, + MOVE_MIRROR_COAT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x64, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_GIGA_DRAIN, + MOVE_FLAMETHROWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x1C, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_IRON_TAIL, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x5C, + .moves = { + MOVE_BLIZZARD, + MOVE_THUNDERBOLT, + MOVE_PSYCHIC, + MOVE_RECOVER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_DODRIO, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x5A, + .moves = { + MOVE_DRILL_PECK, + MOVE_TRI_ATTACK, + MOVE_AGILITY, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x4A, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_ATTRACT, + MOVE_FOCUS_PUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x45, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_CROSS_CHOP, + MOVE_BLIZZARD, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x5D, + .moves = { + MOVE_MEGAHORN, + MOVE_EARTHQUAKE, + MOVE_COUNTER, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x26, + .moves = { + MOVE_SURF, + MOVE_BLIZZARD, + MOVE_ROCK_SLIDE, + MOVE_SHEER_COLD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x5C, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_ICE_BEAM, + MOVE_DRAGON_BREATH, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x1D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_CRUNCH, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x3D, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_SHADOW_BALL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x3C, + .moves = { + MOVE_EARTHQUAKE, + MOVE_THUNDERBOLT, + MOVE_FOCUS_PUNCH, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x3C, + .moves = { + MOVE_ICE_BEAM, + MOVE_THUNDERBOLT, + MOVE_HAIL, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x3C, + .moves = { + MOVE_METAL_CLAW, + MOVE_EARTHQUAKE, + MOVE_ANCIENT_POWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x1E, + .moves = { + MOVE_MIST_BALL, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE, + .teamFlags = 0x1D, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x1A, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_MIRROR_COAT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SLAKING, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x15, + .moves = { + MOVE_YAWN, + MOVE_FOCUS_PUNCH, + MOVE_COUNTER, + MOVE_PURSUIT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x8C, + .moves = { + MOVE_LEAF_BLADE, + MOVE_ROCK_TOMB, + MOVE_DRAGON_CLAW, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY, + .teamFlags = 0x8C, + .moves = { + MOVE_FOCUS_PUNCH, + MOVE_COUNTER, + MOVE_SWAGGER, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x8C, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_ATTRACT, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE, + .teamFlags = 0x0A, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDERBOLT, + MOVE_ATTRACT, + MOVE_WILL_O_WISP + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_SPORE, + MOVE_FOCUS_PUNCH, + MOVE_MACH_PUNCH, + MOVE_COUNTER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x58, + .moves = { + MOVE_PSYCHIC, + MOVE_TRICK, + MOVE_RECOVER, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_REVENGE, + MOVE_COUNTER, + MOVE_FOCUS_PUNCH, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x0A, + .moves = { + MOVE_RAIN_DANCE, + MOVE_LEECH_SEED, + MOVE_GIGA_DRAIN, + MOVE_DIVE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x48, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_CONFUSE_RAY, + MOVE_SHADOW_BALL, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x5D, + .moves = { + MOVE_CROSS_CHOP, + MOVE_FIRE_BLAST, + MOVE_LOW_KICK, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x08, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_ATTRACT, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x60, + .moves = { + MOVE_THUNDER, + MOVE_SWIFT, + MOVE_MIRROR_COAT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x64, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_FLAMETHROWER, + MOVE_THUNDERBOLT, + MOVE_SHADOW_PUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE, + .teamFlags = 0x0C, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FIRE_BLAST, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x4C, + .moves = { + MOVE_SURF, + MOVE_THUNDERBOLT, + MOVE_ICE_BEAM, + MOVE_PSYCHIC + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x4A, + .moves = { + MOVE_LEECH_SEED, + MOVE_ATTRACT, + MOVE_DOUBLE_TEAM, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SKARMORY, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x4B, + .moves = { + MOVE_DRILL_PECK, + MOVE_STEEL_WING, + MOVE_ATTRACT, + MOVE_PURSUIT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x49, + .moves = { + MOVE_SURF, + MOVE_PSYCHIC, + MOVE_ICE_BEAM, + MOVE_CROSS_CHOP + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x5D, + .moves = { + MOVE_MEGAHORN, + MOVE_EARTHQUAKE, + MOVE_FOCUS_PUNCH, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x26, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_FISSURE, + MOVE_SHEER_COLD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x5C, + .moves = { + MOVE_SURF, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM, + MOVE_FLAIL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x1D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FIRE_BLAST, + MOVE_HYDRO_PUMP + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x3D, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x3C, + .moves = { + MOVE_EARTHQUAKE, + MOVE_THUNDERBOLT, + MOVE_SUPERPOWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE, + .teamFlags = 0x3C, + .moves = { + MOVE_ICE_BEAM, + MOVE_THUNDERBOLT, + MOVE_ANCIENT_POWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x3C, + .moves = { + MOVE_METAL_CLAW, + MOVE_THUNDERBOLT, + MOVE_HYPER_BEAM, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x1E, + .moves = { + MOVE_MIST_BALL, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY, + .teamFlags = 0x1D, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x1A, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_ALTARIA, + .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_ICE_BEAM, + MOVE_SING, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x9C, + .moves = { + MOVE_LEAF_BLADE, + MOVE_DETECT, + MOVE_DRAGON_CLAW, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x9C, + .moves = { + MOVE_BLAZE_KICK, + MOVE_SKY_UPPERCUT, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x9C, + .moves = { + MOVE_SURF, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SHEDINJA, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x20, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_SHADOW_BALL, + MOVE_TOXIC, + MOVE_GRUDGE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x1D, + .moves = { + MOVE_METEOR_MASH, + MOVE_EARTHQUAKE, + MOVE_DOUBLE_TEAM, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x58, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_FIRE_PUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x1E, + .moves = { + MOVE_MIST_BALL, + MOVE_THUNDERBOLT, + MOVE_ICE_BEAM, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x1D, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_THUNDERBOLT, + MOVE_ICE_BEAM, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x1D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_FLAMETHROWER, + MOVE_EARTHQUAKE, + MOVE_AERIAL_ACE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x5D, + .moves = { + MOVE_CROSS_CHOP, + MOVE_EARTHQUAKE, + MOVE_LOW_KICK, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, +};
\ No newline at end of file diff --git a/src/data/battle_tower/level_50_mons.h b/src/data/battle_tower/level_50_mons.h new file mode 100644 index 000000000..c61f840af --- /dev/null +++ b/src/data/battle_tower/level_50_mons.h @@ -0,0 +1,3903 @@ +const struct BattleTowerPokemon gBattleTowerLevel50Mons[] = +{ + { + .species = SPECIES_PIKACHU, + .heldItem = BATTLE_TOWER_ITEM_ORAN_BERRY, + .teamFlags = 0x42, + .moves = { + MOVE_QUICK_ATTACK, + MOVE_THUNDER_WAVE, + MOVE_THUNDER_SHOCK, + MOVE_GROWL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BEAUTIFLY, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x41, + .moves = { + MOVE_ABSORB, + MOVE_STUN_SPORE, + MOVE_GUST, + MOVE_SAFEGUARD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SWELLOW, + .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK, + .teamFlags = 0x07, + .moves = { + MOVE_PECK, + MOVE_WING_ATTACK, + MOVE_AERIAL_ACE, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x0B, + .moves = { + MOVE_HAIL, + MOVE_ENCORE, + MOVE_ICE_BALL, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SEAKING, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x07, + .moves = { + MOVE_PECK, + MOVE_FLAIL, + MOVE_FURY_ATTACK, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_TORCHIC, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x42, + .moves = { + MOVE_FIRE_SPIN, + MOVE_PROTECT, + MOVE_SAND_ATTACK, + MOVE_SLASH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_MASQUERAIN, + .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB, + .teamFlags = 0x41, + .moves = { + MOVE_STUN_SPORE, + MOVE_WATER_SPORT, + MOVE_QUICK_ATTACK, + MOVE_GUST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_ILLUMISE, + .heldItem = BATTLE_TOWER_ITEM_NONE, + .teamFlags = 0x41, + .moves = { + MOVE_FLATTER, + MOVE_COVET, + MOVE_WISH, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_DELCATTY, + .heldItem = BATTLE_TOWER_ITEM_SILK_SCARF, + .teamFlags = 0x42, + .moves = { + MOVE_ATTRACT, + MOVE_TAIL_WHIP, + MOVE_FAINT_ATTACK, + MOVE_DIG + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_KECLEON, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_TAIL_WHIP, + MOVE_SLASH, + MOVE_LICK, + MOVE_SCREECH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_MIGHTYENA, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_BITE, + MOVE_TAKE_DOWN, + MOVE_ROAR, + MOVE_HOWL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SLAKING, + .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES, + .teamFlags = 0x05, + .moves = { + MOVE_FAINT_ATTACK, + MOVE_COUNTER, + MOVE_SCRATCH, + MOVE_TAUNT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_MACHOKE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_LEER, + MOVE_DIG, + MOVE_LOW_KICK, + MOVE_FOCUS_PUNCH + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_RHYDON, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_STRENGTH, + MOVE_ROCK_TOMB, + MOVE_STOMP, + MOVE_ROCK_SMASH + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_CACTURNE, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x0B, + .moves = { + MOVE_POISON_STING, + MOVE_GROWTH, + MOVE_ABSORB, + MOVE_SOLAR_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ZIGZAGOON, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x0A, + .moves = { + MOVE_FLAIL, + MOVE_SAND_ATTACK, + MOVE_REST, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_DODRIO, + .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK, + .teamFlags = 0x03, + .moves = { + MOVE_PURSUIT, + MOVE_TRI_ATTACK, + MOVE_GROWL, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_WHISCASH, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x0B, + .moves = { + MOVE_WATER_GUN, + MOVE_AMNESIA, + MOVE_MAGNITUDE, + MOVE_MUD_SLAP + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_NINJASK, + .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER, + .teamFlags = 0x41, + .moves = { + MOVE_SAND_ATTACK, + MOVE_FURY_CUTTER, + MOVE_AGILITY, + MOVE_HARDEN + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x01, + .moves = { + MOVE_PROTECT, + MOVE_NIGHT_SHADE, + MOVE_ASTONISH, + MOVE_WILL_O_WISP + }, + .evSpread = F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_CAMERUPT, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x07, + .moves = { + MOVE_DIG, + MOVE_EMBER, + MOVE_GROWL, + MOVE_ROCK_SMASH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_SPINDA, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x4A, + .moves = { + MOVE_TEETER_DANCE, + MOVE_FLAIL, + MOVE_PSYCH_UP, + MOVE_DOUBLE_EDGE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_SEVIPER, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x09, + .moves = { + MOVE_SCREECH, + MOVE_GLARE, + MOVE_DIG, + MOVE_POISON_FANG + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x49, + .moves = { + MOVE_SAND_ATTACK, + MOVE_SAND_TOMB, + MOVE_FACADE, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_AZUMARILL, + .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB, + .teamFlags = 0x42, + .moves = { + MOVE_BUBBLE_BEAM, + MOVE_TAIL_WHIP, + MOVE_RAIN_DANCE, + MOVE_ROLLOUT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ZANGOOSE, + .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB, + .teamFlags = 0x07, + .moves = { + MOVE_STRENGTH, + MOVE_TAUNT, + MOVE_CRUSH_CLAW, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MEDICHAM, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x07, + .moves = { + MOVE_REVERSAL, + MOVE_MEDITATE, + MOVE_CONFUSION, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_ROSELIA, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x0A, + .moves = { + MOVE_GROWTH, + MOVE_MEGA_DRAIN, + MOVE_TOXIC, + MOVE_CUT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_SWALOT, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_STOCKPILE, + MOVE_SPIT_UP, + MOVE_SLUDGE, + MOVE_POISON_GAS + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MAGNETON, + .heldItem = BATTLE_TOWER_ITEM_MAGNET, + .teamFlags = 0x0B, + .moves = { + MOVE_SUPERSONIC, + MOVE_THUNDER_WAVE, + MOVE_SCREECH, + MOVE_TRI_ATTACK + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x09, + .moves = { + MOVE_CONFUSION, + MOVE_TOXIC, + MOVE_TORMENT, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_RELICANTH, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x01, + .moves = { + MOVE_SURF, + MOVE_ANCIENT_POWER, + MOVE_ROCK_TOMB, + MOVE_HARDEN + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_NINETALES, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_FIRE_SPIN, + MOVE_QUICK_ATTACK, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_SHARPEDO, + .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES, + .teamFlags = 0x05, + .moves = { + MOVE_BITE, + MOVE_SKULL_BASH, + MOVE_RAIN_DANCE, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_GIRAFARIG, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x03, + .moves = { + MOVE_STRENGTH, + MOVE_PSYBEAM, + MOVE_AGILITY, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_PELIPPER, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_MIST, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP + }, + .evSpread = F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_SABLEYE, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_SHADOW_BALL, + MOVE_NIGHT_SHADE, + MOVE_SNATCH, + MOVE_FAKE_OUT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_LUNATONE, + .heldItem = BATTLE_TOWER_ITEM_HARD_STONE, + .teamFlags = 0x0B, + .moves = { + MOVE_COSMIC_POWER, + MOVE_SANDSTORM, + MOVE_PSYCHIC, + MOVE_ROCK_THROW + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_NONE, + .teamFlags = 0x0B, + .moves = { + MOVE_THIEF, + MOVE_FAKE_OUT, + MOVE_SURF, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_ODOR_SLEUTH, + MOVE_CONFUSE_RAY, + MOVE_MAGIC_COAT, + MOVE_PSYCHIC + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x0B, + .moves = { + MOVE_CUT, + MOVE_LEECH_SEED, + MOVE_MEGA_DRAIN, + MOVE_STUN_SPORE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_WAILORD, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x03, + .moves = { + MOVE_WATER_SPOUT, + MOVE_ROLLOUT, + MOVE_MIST, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_WEEZING, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x05, + .moves = { + MOVE_SMOG, + MOVE_SELF_DESTRUCT, + MOVE_TOXIC, + MOVE_SLUDGE_BOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_KADABRA, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_FUTURE_SIGHT, + MOVE_FOCUS_PUNCH, + MOVE_SKILL_SWAP, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_MAGNET, + .teamFlags = 0x07, + .moves = { + MOVE_THUNDER_WAVE, + MOVE_BITE, + MOVE_SPARK, + MOVE_QUICK_ATTACK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_QUICK_ATTACK, + MOVE_AGILITY, + MOVE_LIGHT_SCREEN, + MOVE_THUNDERBOLT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_XATU, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x03, + .moves = { + MOVE_NIGHT_SHADE, + MOVE_PECK, + MOVE_CONFUSE_RAY, + MOVE_FUTURE_SIGHT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_LOUDRED, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_UPROAR, + MOVE_STOMP, + MOVE_SCREECH, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_MODEST, + }, + { + .species = SPECIES_SOLROCK, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x03, + .moves = { + MOVE_ROCK_THROW, + MOVE_SUNNY_DAY, + MOVE_SOLAR_BEAM, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_CLAYDOL, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x03, + .moves = { + MOVE_SANDSTORM, + MOVE_REFLECT, + MOVE_ROCK_TOMB, + MOVE_STRENGTH + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_CRAWDAUNT, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x03, + .moves = { + MOVE_WATER_PULSE, + MOVE_KNOCK_OFF, + MOVE_HARDEN, + MOVE_CUT + }, + .evSpread = F_EV_SPREAD_HP, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_GOLBAT, + .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB, + .teamFlags = 0x09, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_WING_ATTACK, + MOVE_MEAN_LOOK, + MOVE_BITE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_BELLOSSOM, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x0A, + .moves = { + MOVE_SOLAR_BEAM, + MOVE_PETAL_DANCE, + MOVE_SWEET_SCENT, + MOVE_BULLET_SEED + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_DONPHAN, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x05, + .moves = { + MOVE_ROCK_SMASH, + MOVE_RAPID_SPIN, + MOVE_FLAIL, + MOVE_HORN_ATTACK + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_NOSEPASS, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_SANDSTORM, + MOVE_ROCK_SLIDE, + MOVE_BLOCK, + MOVE_THUNDER_WAVE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_PINSIR, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_SWORDS_DANCE, + MOVE_HARDEN, + MOVE_CUT, + MOVE_SEISMIC_TOSS + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x0B, + .moves = { + MOVE_DISABLE, + MOVE_PSYCH_UP, + MOVE_WATER_PULSE, + MOVE_BRICK_BREAK + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SHIFTRY, + .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB, + .teamFlags = 0x07, + .moves = { + MOVE_TORMENT, + MOVE_EXTRASENSORY, + MOVE_SOLAR_BEAM, + MOVE_AERIAL_ACE + }, + .evSpread = F_EV_SPREAD_DEFENSE, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_DUSTOX, + .heldItem = BATTLE_TOWER_ITEM_SILVER_POWDER, + .teamFlags = 0x01, + .moves = { + MOVE_CONFUSION, + MOVE_SILVER_WIND, + MOVE_PSYBEAM, + MOVE_WHIRLWIND + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_SHUPPET, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x03, + .moves = { + MOVE_WILL_O_WISP, + MOVE_NIGHT_SHADE, + MOVE_FAINT_ATTACK, + MOVE_CURSE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SEAKING, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x07, + .moves = { + MOVE_RAIN_DANCE, + MOVE_SURF, + MOVE_HORN_ATTACK, + MOVE_HORN_DRILL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_SKARMORY, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x07, + .moves = { + MOVE_STEEL_WING, + MOVE_SAND_ATTACK, + MOVE_SWIFT, + MOVE_AGILITY + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_TORKOAL, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x43, + .moves = { + MOVE_FLAMETHROWER, + MOVE_IRON_DEFENSE, + MOVE_BODY_SLAM, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_GOLEM, + .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND, + .teamFlags = 0x05, + .moves = { + MOVE_MAGNITUDE, + MOVE_EXPLOSION, + MOVE_STRENGTH, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x41, + .moves = { + MOVE_REFLECT, + MOVE_PSYCHIC, + MOVE_IMPRISON, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_SANDSLASH, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x07, + .moves = { + MOVE_SANDSTORM, + MOVE_SLASH, + MOVE_EARTHQUAKE, + MOVE_SWIFT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_WOBBUFFET, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_COUNTER, + MOVE_MIRROR_COAT, + MOVE_SAFEGUARD, + MOVE_DESTINY_BOND + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_CONSTRICT, + MOVE_SURF, + MOVE_HYPER_BEAM, + MOVE_SCREECH + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_TROPIUS, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x05, + .moves = { + MOVE_SUNNY_DAY, + MOVE_SOLAR_BEAM, + MOVE_SYNTHESIS, + MOVE_RAZOR_LEAF + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_MAWILE, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x43, + .moves = { + MOVE_IRON_DEFENSE, + MOVE_SLUDGE_BOMB, + MOVE_CRUNCH, + MOVE_STRENGTH + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_SLUDGE, + MOVE_ACID_ARMOR, + MOVE_GIGA_DRAIN, + MOVE_DISABLE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MAGCARGO, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x0D, + .moves = { + MOVE_FLAMETHROWER, + MOVE_ROCK_THROW, + MOVE_HARDEN, + MOVE_AMNESIA + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_LINOONE, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x07, + .moves = { + MOVE_HEADBUTT, + MOVE_TAIL_WHIP, + MOVE_SURF, + MOVE_DIG + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_ASPEAR_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_LIGHT_SCREEN, + MOVE_THUNDERBOLT, + MOVE_SWIFT, + MOVE_ROLLOUT + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x09, + .moves = { + MOVE_MEAN_LOOK, + MOVE_NIGHT_SHADE, + MOVE_SKILL_SWAP, + MOVE_SHADOW_BALL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_VILEPLUME, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x0A, + .moves = { + MOVE_TOXIC, + MOVE_MOONLIGHT, + MOVE_GIGA_DRAIN, + MOVE_STUN_SPORE + }, + .evSpread = F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_BITE, + MOVE_HAZE, + MOVE_WING_ATTACK, + MOVE_STEEL_WING + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_CORSOLA, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x0A, + .moves = { + MOVE_RECOVER, + MOVE_MIRROR_COAT, + MOVE_HAIL, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x0B, + .moves = { + MOVE_RAPID_SPIN, + MOVE_WATER_PULSE, + MOVE_REFLECT, + MOVE_SKILL_SWAP + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_EXPLOUD, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x41, + .moves = { + MOVE_HYPER_BEAM, + MOVE_HOWL, + MOVE_UPROAR, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x0B, + .moves = { + MOVE_PSYBEAM, + MOVE_SNATCH, + MOVE_REFLECT, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x05, + .moves = { + MOVE_HORN_ATTACK, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_LEER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CASTFORM, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_WEATHER_BALL, + MOVE_SUNNY_DAY, + MOVE_RAIN_DANCE, + MOVE_HAIL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_VIGOROTH, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_FOCUS_PUNCH, + MOVE_REVERSAL, + MOVE_COUNTER, + MOVE_TAUNT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_DUSKULL, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x09, + .moves = { + MOVE_TOXIC, + MOVE_CONFUSE_RAY, + MOVE_SHADOW_BALL, + MOVE_WILL_O_WISP + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_LANTURN, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x07, + .moves = { + MOVE_FLAIL, + MOVE_SURF, + MOVE_SPARK, + MOVE_TAKE_DOWN + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x05, + .moves = { + MOVE_STRENGTH, + MOVE_FAKE_OUT, + MOVE_FACADE, + MOVE_SAND_ATTACK + }, + .evSpread = F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x43, + .moves = { + MOVE_AGILITY, + MOVE_DIVE, + MOVE_ICE_BEAM, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x41, + .moves = { + MOVE_RAIN_DANCE, + MOVE_SURF, + MOVE_WATER_PULSE, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_AGGRON, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x45, + .moves = { + MOVE_EARTHQUAKE, + MOVE_BRICK_BREAK, + MOVE_METAL_CLAW, + MOVE_ROAR + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_ABSOL, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0xC7, + .moves = { + MOVE_SWORDS_DANCE, + MOVE_IRON_TAIL, + MOVE_SLASH, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_ATTACK, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_SWELLOW, + .heldItem = BATTLE_TOWER_ITEM_SHARP_BEAK, + .teamFlags = 0x0F, + .moves = { + MOVE_DOUBLE_TEAM, + MOVE_FLY, + MOVE_TOXIC, + MOVE_STEEL_WING + }, + .evSpread = 0, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT, + .teamFlags = 0x05, + .moves = { + MOVE_STRENGTH, + MOVE_CROSS_CHOP, + MOVE_EARTHQUAKE, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE, + .teamFlags = 0x41, + .moves = { + MOVE_PROTECT, + MOVE_ICE_BEAM, + MOVE_HYPER_BEAM, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_MIRACLE_SEED, + .teamFlags = 0x41, + .moves = { + MOVE_LEAF_BLADE, + MOVE_DRAGON_CLAW, + MOVE_AGILITY, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x41, + .moves = { + MOVE_BLAZE_KICK, + MOVE_MIRROR_MOVE, + MOVE_EARTHQUAKE, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_ALTARIA, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x43, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_DRAGON_DANCE, + MOVE_TOXIC, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT, + .teamFlags = 0x43, + .moves = { + MOVE_BRICK_BREAK, + MOVE_WATER_PULSE, + MOVE_RAIN_DANCE, + MOVE_FOCUS_PUNCH + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_SABLEYE, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x49, + .moves = { + MOVE_SHADOW_BALL, + MOVE_SNATCH, + MOVE_DIG, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ZANGOOSE, + .heldItem = BATTLE_TOWER_ITEM_BLACK_GLASSES, + .teamFlags = 0x0F, + .moves = { + MOVE_FACADE, + MOVE_THUNDERBOLT, + MOVE_CRUSH_CLAW, + MOVE_DETECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_CALM, + }, + { + .species = SPECIES_LINOONE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x0F, + .moves = { + MOVE_IRON_TAIL, + MOVE_HEADBUTT, + MOVE_ATTRACT, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WHISCASH, + .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND, + .teamFlags = 0x07, + .moves = { + MOVE_MUD_SLAP, + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_AMNESIA + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_SOLROCK, + .heldItem = BATTLE_TOWER_ITEM_HARD_STONE, + .teamFlags = 0x43, + .moves = { + MOVE_EARTHQUAKE, + MOVE_LIGHT_SCREEN, + MOVE_ROCK_SLIDE, + MOVE_CONFUSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x03, + .moves = { + MOVE_RECOVER, + MOVE_RAIN_DANCE, + MOVE_SURF, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_CACTURNE, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x0F, + .moves = { + MOVE_INGRAIN, + MOVE_LEECH_SEED, + MOVE_PROTECT, + MOVE_FRUSTRATION + }, + .evSpread = 0, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SHIFTRY, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_FRUSTRATION, + MOVE_HYPER_BEAM, + MOVE_GIGA_DRAIN, + MOVE_TORMENT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_MAGNET, + .teamFlags = 0x0F, + .moves = { + MOVE_THUNDER, + MOVE_THUNDER_WAVE, + MOVE_IRON_TAIL, + MOVE_ROAR + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_KECLEON, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0xC3, + .moves = { + MOVE_THUNDERBOLT, + MOVE_FOCUS_PUNCH, + MOVE_IRON_TAIL, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_PINSIR, + .heldItem = BATTLE_TOWER_ITEM_SOFT_SAND, + .teamFlags = 0x8D, + .moves = { + MOVE_GUILLOTINE, + MOVE_SUBMISSION, + MOVE_EARTHQUAKE, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_METANG, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x05, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SHADOW_BALL, + MOVE_PSYCHIC, + MOVE_METEOR_MASH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_CLAYDOL, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x43, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SELF_DESTRUCT, + MOVE_SANDSTORM, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_MASQUERAIN, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_TOXIC, + MOVE_SILVER_WIND, + MOVE_ATTRACT, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_RELICANTH, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0xC5, + .moves = { + MOVE_ROCK_TOMB, + MOVE_DOUBLE_EDGE, + MOVE_SURF, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x0D, + .moves = { + MOVE_SURF, + MOVE_ENCORE, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WAILORD, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_WATER_SPOUT, + MOVE_REST, + MOVE_AMNESIA, + MOVE_HAIL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_GIRAFARIG, + .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY, + .teamFlags = 0x4F, + .moves = { + MOVE_DOUBLE_TEAM, + MOVE_CRUNCH, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MEDICHAM, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x4B, + .moves = { + MOVE_CALM_MIND, + MOVE_REVERSAL, + MOVE_ROCK_TOMB, + MOVE_PSYCHIC + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_TROPIUS, + .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB, + .teamFlags = 0xC7, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SYNTHESIS, + MOVE_RAZOR_LEAF, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_NINJASK, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x05, + .moves = { + MOVE_DOUBLE_TEAM, + MOVE_SLASH, + MOVE_SWORDS_DANCE, + MOVE_LEECH_LIFE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_CAMERUPT, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x0D, + .moves = { + MOVE_EARTHQUAKE, + MOVE_OVERHEAT, + MOVE_SUNNY_DAY, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_SHARPEDO, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x05, + .moves = { + MOVE_CRUNCH, + MOVE_SURF, + MOVE_EARTHQUAKE, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WIGGLYTUFF, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x0E, + .moves = { + MOVE_PROTECT, + MOVE_TOXIC, + MOVE_DOUBLE_TEAM, + MOVE_DIG + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_SEVIPER, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x05, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_HAZE, + MOVE_CRUNCH, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_CRADILY, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0xC1, + .moves = { + MOVE_ROCK_TOMB, + MOVE_CONFUSE_RAY, + MOVE_INGRAIN, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_ARMALDO, + .heldItem = BATTLE_TOWER_ITEM_RAWST_BERRY, + .teamFlags = 0xC1, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SANDSTORM, + MOVE_PROTECT, + MOVE_SLASH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MAGNETON, + .heldItem = BATTLE_TOWER_ITEM_PERSIM_BERRY, + .teamFlags = 0x0D, + .moves = { + MOVE_ZAP_CANNON, + MOVE_SUPERSONIC, + MOVE_TOXIC, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_LANTURN, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x06, + .moves = { + MOVE_THUNDER, + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SWALOT, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x8B, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_ENCORE, + MOVE_BODY_SLAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_SKARMORY, + .heldItem = BATTLE_TOWER_ITEM_METAL_COAT, + .teamFlags = 0x81, + .moves = { + MOVE_STEEL_WING, + MOVE_AGILITY, + MOVE_TORMENT, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_DONPHAN, + .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB, + .teamFlags = 0x0D, + .moves = { + MOVE_EARTHQUAKE, + MOVE_FLAIL, + MOVE_ROAR, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x41, + .moves = { + MOVE_FACADE, + MOVE_REVERSAL, + MOVE_MEGAHORN, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BANETTE, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x83, + .moves = { + MOVE_SHADOW_BALL, + MOVE_HYPER_BEAM, + MOVE_THUNDERBOLT, + MOVE_SKILL_SWAP + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_SANDSLASH, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x0F, + .moves = { + MOVE_SANDSTORM, + MOVE_TOXIC, + MOVE_SLASH, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_CRAWDAUNT, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x05, + .moves = { + MOVE_GUILLOTINE, + MOVE_CRABHAMMER, + MOVE_BLIZZARD, + MOVE_SLUDGE_BOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_TWISTED_SPOON, + .teamFlags = 0x8B, + .moves = { + MOVE_MAGIC_COAT, + MOVE_PSYCHIC, + MOVE_REFLECT, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_LONELY, + }, + { + .species = SPECIES_RHYDON, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x45, + .moves = { + MOVE_IRON_TAIL, + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_FIRE_BLAST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x8B, + .moves = { + MOVE_PSYCHIC, + MOVE_REFLECT, + MOVE_RECOVER, + MOVE_SKILL_SWAP + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_SHADOW_BALL, + MOVE_WILL_O_WISP, + MOVE_BLIZZARD, + MOVE_PSYCHIC + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_TORKOAL, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x09, + .moves = { + MOVE_FLAMETHROWER, + MOVE_AMNESIA, + MOVE_IRON_TAIL, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x09, + .moves = { + MOVE_SCREECH, + MOVE_EXPLOSION, + MOVE_MIRROR_COAT, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_IRON_TAIL, + MOVE_FOCUS_PUNCH, + MOVE_DOUBLE_TEAM, + MOVE_LEECH_SEED + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_POISON_BARB, + .teamFlags = 0x05, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_THUNDERBOLT, + MOVE_FLAMETHROWER, + MOVE_FOCUS_PUNCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_WEEZING, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x05, + .moves = { + MOVE_EXPLOSION, + MOVE_SLUDGE_BOMB, + MOVE_SHADOW_BALL, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x4E, + .moves = { + MOVE_THUNDERBOLT, + MOVE_DOUBLE_TEAM, + MOVE_FOCUS_PUNCH, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0x09, + .moves = { + MOVE_DOUBLE_TEAM, + MOVE_TOXIC, + MOVE_SURF, + MOVE_SLUDGE_BOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_EXPLOUD, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_BLIZZARD, + MOVE_FLAMETHROWER, + MOVE_EARTHQUAKE, + MOVE_RETURN + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_XATU, + .heldItem = BATTLE_TOWER_ITEM_WHITE_HERB, + .teamFlags = 0x43, + .moves = { + MOVE_PSYCHIC, + MOVE_REST, + MOVE_CONFUSE_RAY, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_GOLEM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x05, + .moves = { + MOVE_EXPLOSION, + MOVE_EARTHQUAKE, + MOVE_ROCK_TOMB, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x83, + .moves = { + MOVE_SURF, + MOVE_ATTRACT, + MOVE_CALM_MIND, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_NINETALES, + .heldItem = BATTLE_TOWER_ITEM_CHARCOAL, + .teamFlags = 0x4A, + .moves = { + MOVE_FLAMETHROWER, + MOVE_ATTRACT, + MOVE_TOXIC, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x13, + .moves = { + MOVE_DOUBLE_TEAM, + MOVE_REST, + MOVE_SURF, + MOVE_DRAGON_BREATH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SLAKING, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x03, + .moves = { + MOVE_CURSE, + MOVE_AMNESIA, + MOVE_YAWN, + MOVE_FOCUS_PUNCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_CHERI_BERRY, + .teamFlags = 0x03, + .moves = { + MOVE_THUNDER, + MOVE_EARTHQUAKE, + MOVE_HYDRO_PUMP, + MOVE_RAIN_DANCE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x21, + .moves = { + MOVE_BELLY_DRUM, + MOVE_ENDURE, + MOVE_EARTHQUAKE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_ABSOL, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0xC3, + .moves = { + MOVE_FAINT_ATTACK, + MOVE_DOUBLE_EDGE, + MOVE_SHADOW_BALL, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_ALTARIA, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x83, + .moves = { + MOVE_DRAGON_DANCE, + MOVE_MIRROR_MOVE, + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_BLACK_BELT, + .teamFlags = 0x11, + .moves = { + MOVE_CROSS_CHOP, + MOVE_FOCUS_PUNCH, + MOVE_ROCK_TOMB, + MOVE_ENCORE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_DRAGON_FANG, + .teamFlags = 0x43, + .moves = { + MOVE_CRUNCH, + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x33, + .moves = { + MOVE_COUNTER, + MOVE_ROCK_SLIDE, + MOVE_FOCUS_PUNCH, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GLALIE, + .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE, + .teamFlags = 0x81, + .moves = { + MOVE_BLIZZARD, + MOVE_CRUNCH, + MOVE_ICY_WIND, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_JOLLY, + }, + { + .species = SPECIES_HUNTAIL, + .heldItem = BATTLE_TOWER_ITEM_MYSTIC_WATER, + .teamFlags = 0xA1, + .moves = { + MOVE_RAIN_DANCE, + MOVE_HYDRO_PUMP, + MOVE_CRUNCH, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY, + .teamFlags = 0xD3, + .moves = { + MOVE_SURF, + MOVE_ATTRACT, + MOVE_RECOVER, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_GOREBYSS, + .heldItem = BATTLE_TOWER_ITEM_PECHA_BERRY, + .teamFlags = 0x83, + .moves = { + MOVE_PSYCHIC, + MOVE_SURF, + MOVE_BLIZZARD, + MOVE_SHADOW_BALL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x53, + .moves = { + MOVE_LEAF_BLADE, + MOVE_ENDEAVOR, + MOVE_EARTHQUAKE, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x53, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_MUD_SHOT, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_AGGRON, + .heldItem = BATTLE_TOWER_ITEM_MENTAL_HERB, + .teamFlags = 0x41, + .moves = { + MOVE_DOUBLE_EDGE, + MOVE_FLAMETHROWER, + MOVE_IRON_TAIL, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CRADILY, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0xE1, + .moves = { + MOVE_STOCKPILE, + MOVE_SPIT_UP, + MOVE_SWALLOW, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_ARMALDO, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0xC1, + .moves = { + MOVE_EARTHQUAKE, + MOVE_HYPER_BEAM, + MOVE_SLASH, + MOVE_SWORDS_DANCE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x82, + .moves = { + MOVE_FOCUS_PUNCH, + MOVE_COUNTER, + MOVE_MACH_PUNCH, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x83, + .moves = { + MOVE_RAIN_DANCE, + MOVE_SURF, + MOVE_PROTECT, + MOVE_TOXIC + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_SHIFTRY, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x03, + .moves = { + MOVE_TORMENT, + MOVE_FAINT_ATTACK, + MOVE_SHADOW_BALL, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_TROPIUS, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0xC3, + .moves = { + MOVE_SUNNY_DAY, + MOVE_SYNTHESIS, + MOVE_SOLAR_BEAM, + MOVE_LEECH_SEED + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_MACHO_BRACE, + .teamFlags = 0x23, + .moves = { + MOVE_TRICK, + MOVE_SKILL_SWAP, + MOVE_PSYCHIC, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_TORKOAL, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x81, + .moves = { + MOVE_IRON_DEFENSE, + MOVE_TOXIC, + MOVE_REST, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_NONE, + .teamFlags = 0x03, + .moves = { + MOVE_THUNDERBOLT, + MOVE_CRUNCH, + MOVE_ROAR, + MOVE_THIEF + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_PINSIR, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x61, + .moves = { + MOVE_GUILLOTINE, + MOVE_EARTHQUAKE, + MOVE_DOUBLE_TEAM, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x93, + .moves = { + MOVE_LIGHT_SCREEN, + MOVE_THUNDERBOLT, + MOVE_SURF, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x51, + .moves = { + MOVE_MEGAHORN, + MOVE_REVERSAL, + MOVE_EARTHQUAKE, + MOVE_COUNTER + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_NEVER_MELT_ICE, + .teamFlags = 0x83, + .moves = { + MOVE_BLIZZARD, + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x13, + .moves = { + MOVE_PSYCHIC, + MOVE_RECOVER, + MOVE_ENCORE, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x93, + .moves = { + MOVE_SURF, + MOVE_BLIZZARD, + MOVE_RECOVER, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x11, + .moves = { + MOVE_REST, + MOVE_CURSE, + MOVE_BLIZZARD, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x11, + .moves = { + MOVE_REST, + MOVE_IRON_DEFENSE, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x91, + .moves = { + MOVE_ROCK_TOMB, + MOVE_EARTHQUAKE, + MOVE_THUNDERBOLT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_DUSCLOPS, + .heldItem = BATTLE_TOWER_ITEM_SPELL_TAG, + .teamFlags = 0x20, + .moves = { + MOVE_SHADOW_BALL, + MOVE_EARTHQUAKE, + MOVE_BLIZZARD, + MOVE_DESTINY_BOND + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_SEAKING, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0xB2, + .moves = { + MOVE_HORN_DRILL, + MOVE_AGILITY, + MOVE_SLEEP_TALK, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_CAMERUPT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x00, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ERUPTION, + MOVE_ROCK_SLIDE, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_LANTURN, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x82, + .moves = { + MOVE_THUNDERBOLT, + MOVE_SURF, + MOVE_THUNDER_WAVE, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_WEEZING, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x20, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_THUNDERBOLT, + MOVE_FIRE_BLAST, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_WHISCASH, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x41, + .moves = { + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_ROCK_TOMB, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_AGGRON, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x11, + .moves = { + MOVE_DOUBLE_EDGE, + MOVE_EARTHQUAKE, + MOVE_SURF, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_CACTURNE, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x63, + .moves = { + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER, + MOVE_FAINT_ATTACK, + MOVE_GIGA_DRAIN + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_SHARPEDO, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x01, + .moves = { + MOVE_CRUNCH, + MOVE_DOUBLE_EDGE, + MOVE_SURF, + MOVE_SWAGGER + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_ABSOL, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x82, + .moves = { + MOVE_DOUBLE_EDGE, + MOVE_FACADE, + MOVE_SWORDS_DANCE, + MOVE_QUICK_ATTACK + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WAILORD, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x23, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_EARTHQUAKE, + MOVE_ATTRACT, + MOVE_FISSURE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x21, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_SLUDGE_BOMB, + MOVE_GIGA_DRAIN, + MOVE_MIRROR_COAT + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0xA2, + .moves = { + MOVE_RAIN_DANCE, + MOVE_SURF, + MOVE_TOXIC, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WOBBUFFET, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x23, + .moves = { + MOVE_ENCORE, + MOVE_COUNTER, + MOVE_MIRROR_COAT, + MOVE_DESTINY_BOND + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_RHYDON, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x21, + .moves = { + MOVE_EARTHQUAKE, + MOVE_MEGAHORN, + MOVE_HORN_DRILL, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_GLALIE, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x21, + .moves = { + MOVE_CRUNCH, + MOVE_BLIZZARD, + MOVE_HAIL, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x13, + .moves = { + MOVE_LEAF_BLADE, + MOVE_EARTHQUAKE, + MOVE_DRAGON_CLAW, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x17, + .moves = { + MOVE_BLAZE_KICK, + MOVE_ROCK_TOMB, + MOVE_ENDURE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x17, + .moves = { + MOVE_SURF, + MOVE_EARTHQUAKE, + MOVE_MUD_SHOT, + MOVE_BLIZZARD + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x19, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDERBOLT, + MOVE_DESTINY_BOND, + MOVE_WILL_O_WISP + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0xF6, + .moves = { + MOVE_SPORE, + MOVE_FOCUS_PUNCH, + MOVE_BRICK_BREAK, + MOVE_SLUDGE_BOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_GANLON_BERRY, + .teamFlags = 0x1B, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDER_PUNCH, + MOVE_REFLECT, + MOVE_RECOVER + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_SHIFTRY, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x89, + .moves = { + MOVE_FAINT_ATTACK, + MOVE_SHADOW_BALL, + MOVE_DOUBLE_TEAM, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x85, + .moves = { + MOVE_CROSS_CHOP, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FAKE_OUT + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x49, + .moves = { + MOVE_ATTRACT, + MOVE_CONFUSE_RAY, + MOVE_BITE, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x15, + .moves = { + MOVE_CROSS_CHOP, + MOVE_FLAMETHROWER, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x0B, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_ROAR, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x27, + .moves = { + MOVE_THUNDERBOLT, + MOVE_PROTECT, + MOVE_MIRROR_COAT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x05, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_FLAMETHROWER, + MOVE_THUNDERBOLT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x4D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FLAMETHROWER, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x1B, + .moves = { + MOVE_SURF, + MOVE_THUNDERBOLT, + MOVE_RECOVER, + MOVE_CONFUSE_RAY + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_DODRIO, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x2B, + .moves = { + MOVE_DRILL_PECK, + MOVE_TRI_ATTACK, + MOVE_AGILITY, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x0A, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_REVERSAL, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_SURF, + MOVE_CROSS_CHOP, + MOVE_ICE_BEAM, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x54, + .moves = { + MOVE_MEGAHORN, + MOVE_ROCK_TOMB, + MOVE_ENDURE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x06, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_EARTHQUAKE, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_NAIVE, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x1D, + .moves = { + MOVE_SURF, + MOVE_TOXIC, + MOVE_PROTECT, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x9C, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_CRUNCH, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x15, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_LIGHT_SCREEN + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0xB5, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ANCIENT_POWER, + MOVE_FOCUS_PUNCH, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x96, + .moves = { + MOVE_ICE_BEAM, + MOVE_THUNDERBOLT, + MOVE_DOUBLE_TEAM, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x94, + .moves = { + MOVE_METAL_CLAW, + MOVE_EARTHQUAKE, + MOVE_THUNDERBOLT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x96, + .moves = { + MOVE_MIST_BALL, + MOVE_THUNDERBOLT, + MOVE_REST, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MILD, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x95, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_REFLECT, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x96, + .moves = { + MOVE_SURF, + MOVE_TOXIC, + MOVE_RECOVER, + MOVE_MIRROR_COAT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SLAKING, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_HYPER_BEAM, + MOVE_EARTHQUAKE, + MOVE_NONE, + MOVE_NONE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x1F, + .moves = { + MOVE_GIGA_DRAIN, + MOVE_DOUBLE_TEAM, + MOVE_LEECH_SEED, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x17, + .moves = { + MOVE_BLAZE_KICK, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x17, + .moves = { + MOVE_MUDDY_WATER, + MOVE_MUD_SHOT, + MOVE_MIRROR_COAT, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x7B, + .moves = { + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_DESTINY_BOND, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RELAXED, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x56, + .moves = { + MOVE_SPORE, + MOVE_COUNTER, + MOVE_IRON_TAIL, + MOVE_GIGA_DRAIN + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x0A, + .moves = { + MOVE_PSYCHIC, + MOVE_THUNDER_PUNCH, + MOVE_FIRE_PUNCH, + MOVE_RECOVER + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_FOCUS_BAND, + .teamFlags = 0x05, + .moves = { + MOVE_CROSS_CHOP, + MOVE_ROCK_TOMB, + MOVE_ENDURE, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_GYARADOS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x0C, + .moves = { + MOVE_HYPER_BEAM, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_BOLD, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x49, + .moves = { + MOVE_TOXIC, + MOVE_CONFUSE_RAY, + MOVE_ATTRACT, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x15, + .moves = { + MOVE_CROSS_CHOP, + MOVE_COUNTER, + MOVE_EARTHQUAKE, + MOVE_FACADE + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x63, + .moves = { + MOVE_THUNDER, + MOVE_THUNDER_WAVE, + MOVE_REST, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x07, + .moves = { + MOVE_THUNDERBOLT, + MOVE_SCREECH, + MOVE_MIRROR_COAT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_MODEST, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x45, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_GIGA_DRAIN, + MOVE_ROCK_TOMB, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x4D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_IRON_TAIL, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_IMPISH, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x1B, + .moves = { + MOVE_LIGHT_SCREEN, + MOVE_THUNDERBOLT, + MOVE_SURF, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_NINETALES, + .heldItem = BATTLE_TOWER_ITEM_SITRUS_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_OVERHEAT, + MOVE_FLAMETHROWER, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_GOLEM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x25, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ROAR, + MOVE_FIRE_BLAST, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x27, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_CROSS_CHOP, + MOVE_BLIZZARD, + MOVE_PSYCH_UP + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x55, + .moves = { + MOVE_MEGAHORN, + MOVE_EARTHQUAKE, + MOVE_COUNTER, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x36, + .moves = { + MOVE_SURF, + MOVE_BLIZZARD, + MOVE_ROCK_SLIDE, + MOVE_SHEER_COLD + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x5C, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_PROTECT, + MOVE_DRAGON_BREATH, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x9D, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FLAMETHROWER, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x15, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_EARTHQUAKE, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x95, + .moves = { + MOVE_EARTHQUAKE, + MOVE_ROCK_TOMB, + MOVE_FACADE, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x96, + .moves = { + MOVE_BLIZZARD, + MOVE_THUNDERBOLT, + MOVE_HAIL, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE, + .nature = NATURE_CAREFUL, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x94, + .moves = { + MOVE_METAL_CLAW, + MOVE_EARTHQUAKE, + MOVE_ANCIENT_POWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x96, + .moves = { + MOVE_MIST_BALL, + MOVE_REFLECT, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x95, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0xD6, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_DOUBLE_TEAM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_KECLEON, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x69, + .moves = { + MOVE_TRICK, + MOVE_REST, + MOVE_IRON_TAIL, + MOVE_DISABLE + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIRKY, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x5F, + .moves = { + MOVE_LEAF_BLADE, + MOVE_EARTHQUAKE, + MOVE_REST, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x7F, + .moves = { + MOVE_FOCUS_PUNCH, + MOVE_COUNTER, + MOVE_SWAGGER, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x57, + .moves = { + MOVE_IRON_TAIL, + MOVE_CURSE, + MOVE_DOUBLE_TEAM, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_GARDEVOIR, + .heldItem = BATTLE_TOWER_ITEM_CHESTO_BERRY, + .teamFlags = 0x3B, + .moves = { + MOVE_SHADOW_BALL, + MOVE_PSYCHIC, + MOVE_REST, + MOVE_IMPRISON + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_BRELOOM, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x56, + .moves = { + MOVE_SPORE, + MOVE_FOCUS_PUNCH, + MOVE_SLUDGE_BOMB, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = BATTLE_TOWER_ITEM_CHOICE_BAND, + .teamFlags = 0x1A, + .moves = { + MOVE_PSYCHIC, + MOVE_TRICK, + MOVE_RECOVER, + MOVE_SNATCH + }, + .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HASTY, + }, + { + .species = SPECIES_HARIYAMA, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x65, + .moves = { + MOVE_REVENGE, + MOVE_COUNTER, + MOVE_FOCUS_PUNCH, + MOVE_REVERSAL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x54, + .moves = { + MOVE_RAIN_DANCE, + MOVE_PROTECT, + MOVE_TOXIC, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_CROBAT, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0x4B, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_BITE, + MOVE_AIR_CUTTER, + MOVE_SHADOW_BALL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x75, + .moves = { + MOVE_CROSS_CHOP, + MOVE_ROCK_SLIDE, + MOVE_DYNAMIC_PUNCH, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_MANECTRIC, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, + MOVE_ATTRACT, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x64, + .moves = { + MOVE_THUNDER, + MOVE_DOUBLE_TEAM, + MOVE_MIRROR_COAT, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_BASHFUL, + }, + { + .species = SPECIES_MUK, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x49, + .moves = { + MOVE_SLUDGE_BOMB, + MOVE_FLAMETHROWER, + MOVE_THUNDERBOLT, + MOVE_SHADOW_PUNCH + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_GENTLE, + }, + { + .species = SPECIES_FLYGON, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0xCD, + .moves = { + MOVE_PROTECT, + MOVE_DIG, + MOVE_TOXIC, + MOVE_SANDSTORM + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x5B, + .moves = { + MOVE_SURF, + MOVE_THUNDERBOLT, + MOVE_BLIZZARD, + MOVE_PSYCHIC + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_LUDICOLO, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0x1A, + .moves = { + MOVE_RAIN_DANCE, + MOVE_LEECH_SEED, + MOVE_DIVE, + MOVE_PROTECT + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_RAICHU, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x4A, + .moves = { + MOVE_THUNDER, + MOVE_REVERSAL, + MOVE_FACADE, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_TIMID, + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x0A, + .moves = { + MOVE_SURF, + MOVE_PSYCHIC, + MOVE_ICE_BEAM, + MOVE_IRON_TAIL + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_HERACROSS, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0x15, + .moves = { + MOVE_MEGAHORN, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_WALREIN, + .heldItem = BATTLE_TOWER_ITEM_LEPPA_BERRY, + .teamFlags = 0x26, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_FISSURE, + MOVE_SHEER_COLD + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_KINGDRA, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x4D, + .moves = { + MOVE_HYDRO_PUMP, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM, + MOVE_DISABLE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_SALAMENCE, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x9C, + .moves = { + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FIRE_BLAST, + MOVE_HYDRO_PUMP + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_NAUGHTY, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_LIECHI_BERRY, + .teamFlags = 0xB5, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_PURSUIT, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_REGIROCK, + .heldItem = BATTLE_TOWER_ITEM_APICOT_BERRY, + .teamFlags = 0x95, + .moves = { + MOVE_EARTHQUAKE, + MOVE_TOXIC, + MOVE_SUPERPOWER, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SERIOUS, + }, + { + .species = SPECIES_REGICE, + .heldItem = BATTLE_TOWER_ITEM_LAX_INCENSE, + .teamFlags = 0x96, + .moves = { + MOVE_ICE_BEAM, + MOVE_THUNDERBOLT, + MOVE_ANCIENT_POWER, + MOVE_EXPLOSION + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE, + .nature = NATURE_RASH, + }, + { + .species = SPECIES_REGISTEEL, + .heldItem = BATTLE_TOWER_ITEM_LEFTOVERS, + .teamFlags = 0xB4, + .moves = { + MOVE_CURSE, + MOVE_AMNESIA, + MOVE_RETURN, + MOVE_REST + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_LAX, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x92, + .moves = { + MOVE_MIST_BALL, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0x91, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_THUNDERBOLT, + MOVE_EARTHQUAKE, + MOVE_SURF + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MILOTIC, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0xB2, + .moves = { + MOVE_SURF, + MOVE_ICE_BEAM, + MOVE_RECOVER, + MOVE_ATTRACT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_BRAVE, + }, + { + .species = SPECIES_SLAKING, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0x65, + .moves = { + MOVE_YAWN, + MOVE_SLASH, + MOVE_COUNTER, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SCEPTILE, + .heldItem = BATTLE_TOWER_ITEM_SHELL_BELL, + .teamFlags = 0xDF, + .moves = { + MOVE_LEAF_BLADE, + MOVE_DETECT, + MOVE_DRAGON_CLAW, + MOVE_CRUNCH + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_BLAZIKEN, + .heldItem = BATTLE_TOWER_ITEM_SALAC_BERRY, + .teamFlags = 0xD7, + .moves = { + MOVE_BLAZE_KICK, + MOVE_SKY_UPPERCUT, + MOVE_EARTHQUAKE, + MOVE_ROCK_SLIDE + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK, + .nature = NATURE_DOCILE, + }, + { + .species = SPECIES_SWAMPERT, + .heldItem = BATTLE_TOWER_ITEM_PETAYA_BERRY, + .teamFlags = 0x5F, + .moves = { + MOVE_SURF, + MOVE_EARTHQUAKE, + MOVE_ICE_BEAM, + MOVE_ROCK_TOMB + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP, + .nature = NATURE_SASSY, + }, + { + .species = SPECIES_SHEDINJA, + .heldItem = BATTLE_TOWER_ITEM_BRIGHT_POWDER, + .teamFlags = 0xDB, + .moves = { + MOVE_CONFUSE_RAY, + MOVE_SHADOW_BALL, + MOVE_TOXIC, + MOVE_HYPER_BEAM + }, + .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_METAGROSS, + .heldItem = BATTLE_TOWER_ITEM_QUICK_CLAW, + .teamFlags = 0x94, + .moves = { + MOVE_METEOR_MASH, + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_EARTHQUAKE + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_GRUMPIG, + .heldItem = BATTLE_TOWER_ITEM_MACHO_BRACE, + .teamFlags = 0x4B, + .moves = { + MOVE_PSYCHIC, + MOVE_CONFUSE_RAY, + MOVE_TRICK, + MOVE_REFLECT + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_LATIAS, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x92, + .moves = { + MOVE_MIST_BALL, + MOVE_RECOVER, + MOVE_ATTRACT, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_ADAMANT, + }, + { + .species = SPECIES_LATIOS, + .heldItem = BATTLE_TOWER_ITEM_KINGS_ROCK, + .teamFlags = 0x91, + .moves = { + MOVE_LUSTER_PURGE, + MOVE_THUNDERBOLT, + MOVE_ICE_BEAM, + MOVE_DRAGON_CLAW + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_HARDY, + }, + { + .species = SPECIES_STARMIE, + .heldItem = BATTLE_TOWER_ITEM_LUM_BERRY, + .teamFlags = 0x1A, + .moves = { + MOVE_SURF, + MOVE_THUNDERBOLT, + MOVE_PSYCHIC, + MOVE_ICE_BEAM + }, + .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED, + .nature = NATURE_QUIET, + }, + { + .species = SPECIES_MACHAMP, + .heldItem = BATTLE_TOWER_ITEM_SCOPE_LENS, + .teamFlags = 0x14, + .moves = { + MOVE_CROSS_CHOP, + MOVE_COUNTER, + MOVE_ROCK_TOMB, + MOVE_FLAMETHROWER + }, + .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP, + .nature = NATURE_HARDY, + }, +}; diff --git a/src/data/battle_tower/trainers.h b/src/data/battle_tower/trainers.h new file mode 100644 index 000000000..b5eb3da7a --- /dev/null +++ b/src/data/battle_tower/trainers.h @@ -0,0 +1,1503 @@ +const struct BattleTowerTrainer gBattleTowerTrainers[] = +{ + { + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .name = _("ALVIN"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_READY, + EC_WORD_QUES, + EC_WORD_HERE_I_COME, + EC_WORD_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .name = _("DIRK"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_OKAY, + EC_WORD_I_AM, + EC_WORD_GOING, + EC_WORD_FOR, + EC_WORD_IT, + EC_WORD_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LADY, + .name = _("CYBIL"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_A, + EC_WORD_PUSHOVER, + EC_WORD_LET_S, + EC_WORD_GET, + EC_WORD_GOING, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .name = _("CHEN"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_SPIRIT, + EC_WORD_IS, + EC_WORD_ENOUGH, + EC_WORD_SNORT, + EC_WORD_ARRGH, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .name = _("YOSHI"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_GO, + EC_WORD_MY, + EC_WORD_POKEMON, + EC_WORD_FIGHT, + EC_WORD_THE, + EC_WORD_BATTLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SCHOOL_KID_F, + .name = _("TINA"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_STUDY, + EC_WORD_IS, + EC_WORD_BORING, + EC_WORD_LET_S, + EC_WORD_BATTLE, + EC_WORD_NOW, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .name = _("COREY"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_HEY, + EC_WORD_I, + EC_WORD_WILL, + EC_MOVE2(TRANSFORM), + EC_WORD_FOR, + EC_MOVE(STRENGTH), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_FISHERMAN, + .name = _("GORDON"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_NEED, + EC_WORD_A, + EC_WORD_VACATION, + EC_WORD_RIGHT, + EC_WORD_NOW, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_TUBER_F, + .name = _("ANN"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_WE, + EC_WORD_ALL, + EC_WORD_ADORE, + EC_WORD_POKEMON, + EC_WORD_ABSOLUTELY, + EC_WORD_TRULY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_F, + .name = _("JULIA"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_A, + EC_WORD_CUTE, + EC_WORD_LADY, + EC_WORD_YES, + EC_WORD_I_AM, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .name = _("GREGORY"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_THINK, + EC_WORD_WE, + EC_WORD_SHOULD, + EC_WORD_START, + EC_WORD_TODAY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CAMPER, + .name = _("KEITH"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_MY, + EC_WORD_FRIEND, + EC_WORD_FROM, + EC_WORD_NOW, + EC_WORD_ON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F, + .name = _("KENDRA"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_MOVE(SWIFT), + EC_WORD_HOW, + EC_WORD_ABOUT, + EC_WORD_YOU, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HIKER, + .name = _("DEV"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_WAHAHAHA, + EC_WORD_I_AM, + EC_WORD_FEELING, + EC_WORD_LIKE, + EC_WORD_IT_S, + EC_MOVE2(PAY_DAY), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .name = _("CASSIE"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_STRONG, + EC_WORD_AREN_T, + 0xFFFF, + EC_WORD_YOU, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_M, + .name = _("JULIAN"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_FUFUFU, + 0xFFFF, + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_WIN, + EC_WORD_KID, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LASS, + .name = _("JOYCE"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_BE, + EC_WORD_KIND, + EC_WORD_TO, + EC_WORD_THE, + EC_WORD_DIGITAL, + EC_WORD_IDOL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GUITARIST, + .name = _("LES"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_GREAT, + EC_WORD_YOU_RE, + EC_WORD_JUST, + EC_WORD_RATHER, + EC_WORD_OKAY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RICH_BOY, + .name = _("CLINTON"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_HAVE, + EC_WORD_ROUGH_SKIN, + EC_WORD_I, + EC_WORD_NEED, + EC_WORD_NATURAL_CURE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .name = _("LEWIS"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_THIS, + EC_WORD_IS, + EC_WORD_EXCITING, + EC_WORD_CAN, + EC_WORD_I, + EC_WORD_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PICNICKER, + .name = _("RACHAEL"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_LIKE, + EC_WORD_WALKING, + EC_WORD_WITH, + EC_WORD_MY, + EC_WORD_POKEMON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COLLECTOR, + .name = _("HAROLD"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_HERE, + EC_WORD_THEY, + EC_WORD_COME, + EC_WORD_MY, + EC_MOVE2(SUPERPOWER), + EC_WORD_POKEMON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_TUBER_M, + .name = _("KIPP"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_A, + EC_WORD_GENIUS, + EC_WORD_I, + EC_WORD_SHOULD, + EC_WORD_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_KINDLER, + .name = _("IRWIN"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_YOU, + EC_WORD_WILL, + EC_WORD_BE, + EC_WORD_FEELING, + EC_WORD_MY, + EC_WORD_FIRE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_F, + .name = _("EILEEN"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_WILL, + EC_MOVE(ASTONISH), + EC_WORD_YOU, + EC_WORD_IN, + EC_WORD_BATTLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .name = _("ANNE"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_SORRY, + EC_WORD_BUT, + EC_WORD_YOU, + EC_WORD_WILL, + EC_WORD_NOT, + EC_WORD_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F, + .name = _("RUTH"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_A, + EC_WORD_STRONG, + EC_WORD_GIRL, + EC_WORD_WANTS, + EC_WORD_TOUGH, + EC_WORD_POKEMON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .name = _("JEREMY"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_POKEMON, + EC_WORD_ARE, + EC_WORD_COOL, + EC_WORD_YOURS, + EC_WORD_CAN_T_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SAILOR, + .name = _("TREVOR"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_OPPONENT, + EC_WORD_IS, + EC_WORD_FINALLY, + EC_WORD_HERE, + EC_WORD_EXCELLENT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F, + .name = _("COLETTE"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_AM, + EC_WORD_HUNGRY, + EC_MOVE2(POUND), + EC_WORD_MY, + EC_MOVE2(BELLY_DRUM), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .name = _("PAULA"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_IT_S, + EC_WORD_HARD, + EC_WORD_TO, + EC_WORD_TAKE, + EC_WORD_UGLY, + EC_MOVE(SPITE), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .name = _("STANLY"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_ADVENTURE, + EC_WORD_AND, + EC_WORD_BATTLE, + EC_WORD_ARE, + EC_WORD_MY, + EC_WORD_LIKES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + .name = _("TROY"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_LOSE, + EC_WORD_TO, + EC_WORD_A, + EC_WORD_KID, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SCHOOL_KID_M, + .name = _("ED"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_POKEMON, + EC_WORD_DAILY, + EC_WORD_AT, + EC_WORD_SCHOOL, + EC_WORD_IT_S, + EC_WORD_AWESOME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F, + .name = _("ELLEN"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_KIND, + EC_WORD_TO, + EC_WORD_YOUR, + EC_WORD_POKEMON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .name = _("ARNIE"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_BATTLE, + EC_WORD_SERIOUSLY, + EC_WORD_BEAUTIFUL, + EC_WORD_YOU, + EC_MOVE(DIG), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M, + .name = _("HAL"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_BOY, + EC_WORD_I_AM, + EC_WORD_TIRED, + EC_WORD_READY, + EC_WORD_FOR, + EC_WORD_SLEEP, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .name = _("LAUREN"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_A, + EC_WORD_TRAINER, + EC_WORD_LIKE, + EC_WORD_YOU, + EC_WORD_IS, + EC_WORD_EXCITING, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .name = _("STACY"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_HAVE, + EC_WORD_YOU, + EC_WORD_A, + EC_WORD_STENCH, + EC_WORD_OR, + EC_MOVE(SWEET_SCENT), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COLLECTOR, + .name = _("DARYL"), + .teamFlags = 0x81, + .greeting = { + .easyChat = { + EC_WORD_YOUR, + EC_WORD_POKEMON, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_I, + EC_WORD_WANT, + EC_WORD_IT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F, + .name = _("KATHY"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_WILL, + EC_WORD_TRY, + EC_WORD_MY, + EC_WORD_BEST, + EC_WORD_TODAY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M, + .name = _("HARRIS"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_WAAAH, + EC_WORD_WAAAH, + EC_WORD_WAAAH, + EC_WORD_WAAAH, + EC_WORD_EHEHE, + EC_MOVE(FAKE_TEARS), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_M, + .name = _("GLENN"), + .teamFlags = 0x80, + .greeting = { + .easyChat = { + EC_WORD_LISTEN, + EC_WORD_TO, + EC_WORD_MY, + EC_WORD_LOUSY, + EC_WORD_ANIME, + EC_WORD_SONG, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M, + .name = _("NICO"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_DON_T, + EC_WORD_JUST, + EC_WORD_BATTLE, + EC_WORD_DO, + EC_WORD_SOMETHING, + EC_WORD_ELSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M, + .name = _("BAILEY"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_BUSY, + EC_WORD_GET, + EC_WORD_WITH, + EC_WORD_IT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .name = _("ABBIE"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_THE, + EC_MOVE(MORNING_SUN), + EC_WORD_HAS, + EC_WORD_SO, + EC_WORD_MUCH, + EC_MOVE(COSMIC_POWER), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CAMPER, + .name = _("AL"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_LET_S, + EC_WORD_HAVE, + EC_WORD_AN, + EC_WORD_EXCITING, + EC_WORD_BATTLE, + EC_WORD_YEEHAW_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SCHOOL_KID_F, + .name = _("PEGGY"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_WANT, + EC_WORD_TO, + EC_WORD_SEE, + EC_WORD_SOME, + EC_MOVE(GROWTH), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .name = _("NAOMI"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_IT, + EC_WORD_WAS, + EC_WORD_GREAT, + EC_WORD_TO, + EC_WORD_BE, + EC_WORD_YOUNG, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .name = _("KENJI"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_PLEASE, + 0xFFFF, + EC_WORD_DON_T, + EC_WORD_BE, + EC_WORD_MEAN, + EC_WORD_TO_ME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M, + .name = _("ROSS"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_WAKE_UP, + EC_WORD_MY, + EC_MOVE2(HIDDEN_POWER), + EC_WORD_AND, + EC_MOVE(ASTONISH), + EC_WORD_ME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F, + .name = _("EDNA"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_BATTLE_TOWER, + EC_WORD_IS, + EC_WORD_SO, + EC_WORD_ENTERTAINING, + EC_WORD_IT_S, + EC_WORD_AWESOME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .name = _("ANTON"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_BLEND, + EC_WORD_THICK_FAT, + EC_WORD_AND, + EC_WORD_CHLOROPHYLL, + EC_WORD_IT_S, + EC_WORD_TASTY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .name = _("MITCH"), + .teamFlags = 0x81, + .greeting = { + .easyChat = { + EC_WORD_NEXT, + EC_WORD_A, + EC_WORD_GIRL, + EC_WORD_WITH, + EC_WORD_A, + EC_MOVE(SCARY_FACE), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .name = _("ROD"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_GIMME, + EC_WORD_A, + EC_WORD_TOUGH, + EC_WORD_BATTLE, + EC_WORD_NOT, + EC_WORD_WIMPY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M, + .name = _("RICH"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_TASTY, + EC_WORD_WATER, + EC_WORD_IS, + EC_WORD_HIP_AND, + EC_WORD_HAPPENING, + EC_WORD_YES_SIR_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_M, + .name = _("DANIEL"), + .teamFlags = 0x80, + .greeting = { + .easyChat = { + EC_WORD_GO, + EC_WORD_FOR, + EC_WORD_IT, + EC_WORD_MY, + EC_WORD_LOVEY_DOVEY, + EC_WORD_POKEMON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_F, + .name = _("GLORIA"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_LET_S, + EC_WORD_GET, + EC_WORD_THIS, + EC_WORD_FIERY, + EC_WORD_BATTLE, + EC_WORD_HAPPENING, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GUITARIST, + .name = _("NELSON"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_MUSIC, + EC_WORD_IS, + EC_WORD_MY, + EC_WORD_ALL, + EC_WORD_MY, + EC_WORD_DESTINY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_KINDLER, + .name = _("FERRIS"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_GOOD, + EC_WORD_IT, + EC_WORD_IS, + EC_WORD_SO, + EC_WORD_VERY, + EC_WORD_GOOD, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .name = _("AMANDA"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_WHAT, + EC_WORD_KIND, + EC_WORD_OF, + EC_WORD_TRAINER, + EC_WORD_ARE, + EC_WORD_YOU, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + .name = _("MASON"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_DON_T, + EC_WORD_KNOW, + EC_WORD_HOW, + EC_WORD_TO, + EC_WORD_LOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .name = _("NATE"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_DRAGON, + EC_WORD_POKEMON, + EC_WORD_ARE, + EC_WORD_ALL, + EC_WORD_THE, + EC_MOVE(RAGE), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LASS, + .name = _("MIRIAM"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_TOO_STRONG, + EC_WORD_SERIOUSLY, + EC_WORD_IT_S, + EC_WORD_BAD, + EC_WORD_NEWS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .name = _("THEO"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_ADORE, + EC_WORD_MY, + EC_WORD_MEGA, + EC_WORD_CUTE, + EC_WORD_PLUSH_DOLL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F, + .name = _("PAMELA"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_HERE_I_COME, + EC_WORD_I_AM, + EC_WORD_THE, + EC_WORD_CUTE, + EC_MOVE2(WATER_SPORT), + EC_WORD_IDOL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_F, + .name = _("ALISSA"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_IT_S, + EC_WORD_A, + EC_WORD_PREPOSTEROUS, + EC_WORD_MATCH, + EC_WORD_I_AM, + EC_WORD_SHOCKED, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .name = _("ARTHUR"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_PLEASE, + EC_WORD_GIVE, + EC_WORD_ME, + EC_WORD_A, + EC_WORD_GOOD, + EC_WORD_BATTLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .name = _("MARCY"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_BEAUTIFUL, + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_BEAT, + EC_WORD_ME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_M, + .name = _("MILLER"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_BATTLE, + EC_WORD_DAILY, + EC_WORD_I, + EC_WORD_WON_T, + EC_WORD_LOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .name = _("OLIVER"), + .teamFlags = 0x11, + .greeting = { + .easyChat = { + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_GIGGLE, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + 0xFFFF, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F, + .name = _("MOLLY"), + .teamFlags = 0x12, + .greeting = { + .easyChat = { + EC_WORD_HOW, + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_ON, + EC_WORD_MONDAY, + EC_WORD_MORNING, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .name = _("JASON"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_WATER, + EC_WORD_AND, + EC_WORD_BUG, + EC_WORD_POKEMON, + EC_WORD_ARE, + EC_WORD_GREAT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .name = _("AVA"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_WHAT, + EC_WORD_IS, + EC_WORD_THIS, + EC_WORD_PRESSURE, + EC_WORD_ELLIPSIS, + EC_WORD_STATIC, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_FISHERMAN, + .name = _("HANK"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_A, + EC_WORD_KID, + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SAILOR, + .name = _("PETER"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_IT_S, + EC_WORD_SERIOUSLY, + EC_WORD_TERRIBLE, + EC_WORD_I, + EC_WORD_REALLY, + EC_WORD_THINK, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_F, + .name = _("MINDY"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_YOU, + EC_WORD_APPEAR, + EC_WORD_TO, + EC_WORD_TRAIN, + EC_WORD_VERY, + EC_WORD_WELL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .name = _("DWIGHT"), + .teamFlags = 0x11, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_STRONG, + EC_WORD_YOU, + EC_WORD_ARE, + EC_WORD_SCARY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F, + .name = _("REENA"), + .teamFlags = 0x12, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_ALWAYS, + EC_WORD_LOSE, + EC_WORD_MAYBE, + EC_WORD_TODAY, + EC_WORD_ELLIPSIS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .name = _("MEGAN"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_DON_T, + EC_WORD_MAKE, + EC_WORD_THAT, + EC_MOVE(SCARY_FACE), + EC_WORD_AT, + EC_WORD_ME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F, + .name = _("SIERRA"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_I_VE, + EC_WORD_RUN, + EC_WORD_A_LOT, + EC_WORD_SO, + EC_WORD_I_AM, + EC_WORD_HEALTHY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M, + .name = _("ARNOLD"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_FEELING, + EC_WORD_AWESOME, + EC_WORD_MY, + EC_WORD_POKEMON, + EC_WORD_ROCK, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .name = _("XIN"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_HOO_HAH, + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_READY, + EC_WORD_TO, + EC_WORD_ROCK, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_F, + .name = _("KELLY"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_YOU, + EC_WORD_COULDN_T, + EC_WORD_BEAT, + EC_WORD_ME, + EC_WORD_EVER, + EC_WORD_KID, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COLLECTOR, + .name = _("VANCE"), + .teamFlags = 0x80, + .greeting = { + .easyChat = { + EC_WORD_POKEMON, + EC_WORD_ALL, + EC_WORD_OVER, + EC_WORD_THE, + EC_WORD_PLACE, + EC_WORD_WOWEE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + .name = _("TOBY"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_THIS, + EC_WORD_ISN_T, + EC_WORD_SPORTS, + EC_WORD_IT_S, + EC_WORD_A, + EC_WORD_BATTLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .name = _("NORTON"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_HAVE, + EC_WORD_TO, + EC_WORD_WIN, + EC_WORD_PLEASE, + EC_WORD_LOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .name = _("ZOE"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_THIS, + EC_WORD_IS, + EC_WORD_SCARY, + EC_WORD_PLEASE, + EC_WORD_BE, + EC_WORD_NICE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .name = _("EMMA"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_DON_T, + EC_WORD_YOU, + EC_MOVE(FLAIL), + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_MOVE(WITHDRAW), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HIKER, + .name = _("VINCE"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_YAHOO, + EC_WORD_YAHOO, + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_LISTENING, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_M, + .name = _("MARV"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_LEARN, + EC_WORD_TO, + EC_WORD_BATTLE, + EC_WORD_THE, + EC_WORD_CORRECT, + EC_WORD_WAY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M, + .name = _("TODD"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_THE, + EC_WORD_WAY, + EC_WORD_YOU, + EC_WORD_BATTLE, + EC_WORD_IT_S, + EC_WORD_CHILD_S_PLAY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GUITARIST, + .name = _("GAVIN"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_BABY, + EC_WORD_BABY, + EC_WORD_BABY, + EC_WORD_ROCK, + EC_WORD_ME, + EC_WORD_HARD, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_M, + .name = _("QUINN"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_HAVE, + EC_WORD_A, + EC_WORD_STICKY_HOLD, + EC_WORD_ON, + EC_WORD_YOU, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_F, + .name = _("JENN"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_ON, + EC_WORD_A, + EC_WORD_TOUGH, + EC_WORD_TRAINER, + EC_WORD_SEARCH, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_M, + .name = _("JOEL"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_BELIEVE, + EC_WORD_IN, + EC_WORD_YOUR, + EC_WORD_POKEMON, + EC_WORD_AND, + EC_WORD_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .name = _("KYLE"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_LIKE, + EC_WORD_A, + EC_WORD_GIRL, + EC_WORD_WITH, + EC_MOVE2(FORESIGHT), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_M, + .name = _("BRET"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_TAKE, + EC_WORD_MY, + EC_WORD_OVERWHELMING, + EC_WORD_POWER, + EC_WORD_AND, + EC_WORD_DISAPPEAR, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_F, + .name = _("CARRIE"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_TRAINER, + EC_WORD_I, + EC_WORD_SEE, + EC_WORD_YOU, + EC_WORD_ARE, + EC_WORD_CAPABLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LADY, + .name = _("GILLIAN"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_COME_ON, + EC_WORD_SHOW, + EC_WORD_ME, + EC_WORD_AN, + EC_WORD_EXCELLENT, + EC_WORD_TIME, + }, + }, + }, +}; diff --git a/src/data/battle_tower/trainers_de.h b/src/data/battle_tower/trainers_de.h new file mode 100644 index 000000000..86182da9d --- /dev/null +++ b/src/data/battle_tower/trainers_de.h @@ -0,0 +1,1503 @@ +const struct BattleTowerTrainer gBattleTowerTrainers[] = +{ + { + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .name = _("ALWIN"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_READY, + EC_WORD_QUES, + EC_WORD_HERE_I_COME, + EC_WORD_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .name = _("DIRK"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_OH_KAY, + EC_WORD_I_AM, + EC_WORD_READY, + EC_WORD_EXCL, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LADY, + .name = _("SIBILLE"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_THAT, + EC_WORD_BECOMES, + EC_WORD_A, + EC_WORD_CHILD_S_PLAY, + EC_WORD_GO, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .name = _("OLAF"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_GHOST, + EC_WORD_IS, + EC_WORD_FULL, + EC_WORD_TOUGHNESS, + EC_WORD_SNORT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .name = _("JOST"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_GO, + EC_WORD_WHO_WAS, + EC_WORD_POKEMON, + EC_WORD_FIGHT, + EC_WORD_FIGHT, + EC_WORD_FIGHT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SCHOOL_KID_F, + .name = _("TINA"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_STUDY, + EC_WORD_IS, + EC_WORD_BORING, + EC_WORD_LET_S, + EC_WORD_BETTER, + EC_WORD_FIGHT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .name = _("HAJO"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_TOUGHNESS, + EC_WORD_AND, + EC_MOVE2(TRANSFORM), + EC_WORD_WILL, + EC_WORD_BABE, + EC_WORD_FAINT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_FISHERMAN, + .name = _("GEORG"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_IT, + EC_WORD_GOES, + EC_WORD_NOTHING, + EC_WORD_OVER, + EC_WORD_FISHING, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_TUBER_F, + .name = _("ANNE"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_POKEMON, + EC_WORD_MUST_BE, + EC_WORD_MAN, + EC_WORD_SIMPLE, + EC_WORD_ADORE, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_F, + .name = _("JULIA"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_CUTE, + EC_WORD_I_AM, + EC_WORD_QUITE, + EC_WORD_AN, + EC_WORD_LADY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .name = _("JOHANN"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_THE, + EC_WORD_DAY, + EC_WORD_IS, + EC_WORD_PERFECT, + EC_WORD_FOR, + EC_WORD_BATTLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CAMPER, + .name = _("KARL"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_NOW, + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_MY, + EC_WORD_FRIEND, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F, + .name = _("KENDRA"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_SMART, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_AND, + EC_WORD_YOU, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HIKER, + .name = _("DAVID"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_WAHAHAHA, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_TODAY, + EC_WORD_IS, + EC_MOVE2(PAY_DAY), + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .name = _("KEA"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_TOUGH, + EC_WORD_OR, + EC_WORD_QUES, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_M, + .name = _("JULIAN"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_FUFUFU, + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_DON_T, + EC_WORD_WINS, + EC_WORD_KID, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LASS, + .name = _("JOSI"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_BE, + EC_WORD_KIND, + EC_WORD_TO, + EC_WORD_GIRL, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GUITARIST, + .name = _("LEIF"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_GREAT, + EC_WORD_YOU_RE, + EC_WORD_RATHER, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_OKAY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RICH_BOY, + .name = _("INGO"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_HAVE, + EC_WORD_ROUGH_SKIN, + EC_WORD_NATURAL_CURE, + EC_WORD_IS, + EC_WORD_ALL_RIGHT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .name = _("LUDWIG"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_IF_I_WIN, + EC_WORD_IS, + EC_WORD_THAT, + EC_WORD_EXCITING, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PICNICKER, + .name = _("RAJA"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_WITH, + EC_WORD_POKEMON, + EC_WORD_TO, + EC_WORD_WALKING, + EC_WORD_IS, + EC_WORD_GREAT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COLLECTOR, + .name = _("HARALD"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_HERE_GOES, + EC_WORD_MY, + EC_WORD_HUGE_POWER, + 0xFFFF, + EC_WORD_POKEMON, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_TUBER_M, + .name = _("KIM"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_A, + EC_WORD_GENIUS, + EC_WORD_WE, + EC_WORD_WILL, + EC_WORD_WINS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_KINDLER, + .name = _("ERWIN"), + .teamFlags = 0x05, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_FIRE, + EC_WORD_IS, + EC_WORD_VERY, + EC_WORD_HOT, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_F, + .name = _("EIKA"), + .teamFlags = 0x0A, + .greeting = { + .easyChat = { + EC_WORD_FIGHTING, + EC_MOVE(ASTONISH), + EC_WORD_AND, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .name = _("ANNINA"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_SORRY, + EC_WORD_YOURS, + EC_WORD_POKEMON, + EC_WORD_WILL, + EC_WORD_DON_T, + EC_WORD_WINS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F, + .name = _("RUTH"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_TOUGH, + EC_WORD_WHO_WAS, + EC_WORD_POKEMON, + EC_WORD_TOO, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .name = _("JENS"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_WHO_WAS, + EC_WORD_POKEMON, + EC_WORD_THOSE, + EC_WORD_COOL, + EC_WORD_YOURS, + EC_WORD_LOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SAILOR, + .name = _("TITUS"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_FOE, + EC_WORD_IS, + EC_WORD_FINALLY, + EC_WORD_HERE, + EC_WORD_EXCELLENT, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F, + .name = _("NICOLA"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_VORACIOUS, + EC_MOVE2(POUND), + EC_WORD_AND, + EC_MOVE2(BELLY_DRUM), + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .name = _("PAULA"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_IS_IT_QUES, + EC_WORD_THOSE_ARE, + EC_WORD_UGLY, + EC_MOVE(SPITE), + EC_WORD_TO, + EC_WORD_TAKE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .name = _("SÖREN"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_ADVENTURE, + EC_WORD_AND, + EC_WORD_BATTLE, + EC_WORD_THOSE, + EC_WORD_WHO_WAS, + EC_WORD_LIKES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + .name = _("RAINER"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_WE, + EC_WORD_CAN, + EC_WORD_VERSUS, + EC_WORD_CHILDREN, + EC_WORD_DON_T, + EC_WORD_LOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SCHOOL_KID_M, + .name = _("FABIAN"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_DAILY, + EC_WORD_POKEMON, + EC_WORD_IN, + EC_WORD_THE, + EC_WORD_SCHOOL, + EC_WORD_AWESOME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F, + .name = _("ELLEN"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_ALL_RIGHT, + EC_WORD_TO, + EC_WORD_POKEMON, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .name = _("ARNIE"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_FIGHTING, + EC_WORD_IS, + EC_WORD_PERFECTION, + EC_WORD_YOUR, + EC_WORD_USELESS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M, + .name = _("HARDI"), + .teamFlags = 0x09, + .greeting = { + .easyChat = { + EC_WORD_BOY, + EC_WORD_I_AM, + EC_WORD_MAYBE, + EC_WORD_TIRED, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .name = _("LINA"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_A, + EC_WORD_TRAINER, + EC_WORD_HOW_DO, + EC_WORD_YOU, + EC_WORD_IS, + EC_WORD_EXCITING, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .name = _("SELINA"), + .teamFlags = 0x06, + .greeting = { + .easyChat = { + EC_WORD_YOU_VE, + EC_WORD_STENCH, + EC_WORD_OR, + EC_MOVE(SWEET_SCENT), + EC_WORD_QUES, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COLLECTOR, + .name = _("DANTE"), + .teamFlags = 0x81, + .greeting = { + .easyChat = { + EC_WORD_YOURS, + EC_WORD_POKEMON, + EC_WORD_I, + EC_WORD_WANTS, + EC_WORD_SHE, + EC_WORD_EXCL_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F, + .name = _("KATJA"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_TODAY, + EC_WORD_WANTS, + EC_WORD_I, + EC_WORD_MY, + EC_WORD_BEST, + EC_WORD_GIVE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M, + .name = _("HORST"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_WAAAH, + EC_WORD_WAAAH, + EC_WORD_WAAAH, + EC_WORD_WAAAH, + EC_WORD_EHEHE, + EC_MOVE(FAKE_TEARS), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_M, + .name = _("GERRIT"), + .teamFlags = 0x80, + .greeting = { + .easyChat = { + EC_WORD_MY, + EC_WORD_ANIME, + EC_WORD_SONG, + EC_WORD_IS, + EC_WORD_DON_T, + EC_WORD_LOUSY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M, + .name = _("NIKO"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_BATTLE, + EC_WORD_DON_T, + EC_WORD_JUST, + EC_WORD_DO, + EC_WORD_SOMETHING, + EC_WORD_ELSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M, + .name = _("BALDO"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_BUSY, + EC_WORD_HAS, + EC_WORD_THAT, + EC_WORD_TIME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .name = _("ALMA"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_THAT, + EC_MOVE(MORNING_SUN), + EC_WORD_HAS, + EC_WORD_SO, + EC_WORD_A_LOT, + EC_MOVE(COSMIC_POWER), + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CAMPER, + .name = _("ADAM"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_EXCITING, + EC_WORD_BATTLE, + EC_WORD_THOSE, + EC_WORD_GREAT, + EC_WORD_YEEHAW_EXCL, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SCHOOL_KID_F, + .name = _("GRETE"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_WANTS, + EC_WORD_SOMETHING, + EC_MOVE(GROWTH), + EC_WORD_WORKS, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .name = _("NAOMI"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_IT, + EC_WORD_WAS, + EC_WORD_GREAT, + EC_WORD_YOUNG, + EC_WORD_TO, + EC_WORD_HIS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .name = _("KENO"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_PLEASE, + EC_WORD_BE, + EC_WORD_DON_T, + EC_WORD_SO, + EC_WORD_MEAN, + EC_WORD_TO_ME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_M, + .name = _("REMUS"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_WAKES_UP, + EC_MOVE2(HIDDEN_POWER), + EC_WORD_AND, + EC_MOVE(ASTONISH), + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_F, + .name = _("EDITH"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_THE, + EC_WORD_BATTLE_TOWER, + EC_WORD_IS, + EC_WORD_SO, + EC_WORD_ENTERTAINING, + EC_WORD_AWESOME, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .name = _("ANTON"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_THICK_FAT, + EC_WORD_AND, + EC_WORD_CHLOROPHYLL, + EC_WORD_BLEND, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_TASTY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .name = _("MALTE"), + .teamFlags = 0x81, + .greeting = { + .easyChat = { + EC_WORD_AN, + EC_MOVE(SCARY_FACE), + EC_WORD_IS, + EC_WORD_DON_T, + EC_WORD_QUITE, + EC_WORD_TERRIBLE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .name = _("RAOUL"), + .teamFlags = 0x42, + .greeting = { + .easyChat = { + EC_WORD_RUN_AWAY, + EC_WORD_GIVE_ME, + EC_WORD_SON, + EC_WORD_BEST, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_M, + .name = _("RICK"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_WATER, + EC_WORD_IS, + EC_WORD_TASTY, + EC_WORD_HIP_AND, + EC_WORD_REFRESHING, + EC_WORD_YES_SIR_EXCL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_M, + .name = _("DENNIS"), + .teamFlags = 0x80, + .greeting = { + .easyChat = { + EC_WORD_GO, + EC_WORD_WHO_WAS, + EC_WORD_POKEMON, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_F, + .name = _("GLORIA"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_THE, + EC_WORD_FIGHTING, + EC_WORD_MUST_BE, + EC_WORD_HOT, + EC_WORD_HIS, + EC_WORD_FIERY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GUITARIST, + .name = _("NINO"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_MUSIC, + EC_WORD_IS, + EC_WORD_MY, + EC_WORD_EVERY, + EC_WORD_MY, + EC_WORD_DESTINY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_KINDLER, + .name = _("FIETE"), + .teamFlags = 0x41, + .greeting = { + .easyChat = { + EC_WORD_IT_S, + EC_WORD_ALL_RIGHT, + EC_WORD_VERY, + EC_WORD_ALL_RIGHT, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .name = _("AMANDA"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_WHAT, + EC_WORD_FOR, + EC_WORD_A, + EC_WORD_TRAINER, + EC_WORD_ARE, + EC_WORD_YOU, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + .name = _("MAREK"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_WE_VE, + EC_WORD_UNTIL, + EC_WORD_NOW, + EC_WORD_TOTALLY, + EC_WORD_NEVER, + EC_WORD_LOST, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .name = _("NATHAN"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_DRAGON, + 0xFFFF, + EC_WORD_POKEMON, + EC_WORD_THOSE, + EC_WORD_FANTASTIC, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LASS, + .name = _("MIRIAM"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_QUITE, + EC_WORD_TOO_STRONG, + EC_WORD_AM, + EC_WORD_BAD, + EC_WORD_NEWS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .name = _("THEO"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_PLUSH_DOLL, + EC_WORD_MUST_BE, + EC_WORD_MAN, + EC_WORD_SIMPLE, + EC_WORD_ADORE, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_F, + .name = _("PIA"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_HERE_I_COME, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_CUTE, + EC_WORD_A, + EC_WORD_CHANNEL, + EC_WORD_IDOL, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEFAN_F, + .name = _("ALISSA"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_YOURS, + EC_WORD_POKEMON, + EC_WORD_THOSE, + EC_WORD_PREPOSTEROUS, + EC_WORD_I_AM, + EC_WORD_SHOCKED, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .name = _("ARTUR"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_PLEASE, + EC_WORD_ALL, + EC_WORD_BATTLE, + EC_WORD_WEREN_T, + EC_WORD_GREAT, + EC_WORD_HIS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .name = _("MAJA"), + .teamFlags = 0x82, + .greeting = { + .easyChat = { + EC_WORD_I_AM, + EC_WORD_PRETTY, + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_DON_T, + EC_WORD_WINS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_M, + .name = _("MARIUS"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_BATTLE, + EC_WORD_DAILY, + EC_WORD_I, + EC_WORD_WON_T, + EC_WORD_LOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .name = _("OLIVER"), + .teamFlags = 0x11, + .greeting = { + .easyChat = { + EC_WORD_GIGGLE, + EC_WORD_GIGGLE, + EC_WORD_SNORT, + EC_WORD_HAPPILY, + EC_WORD_GIGGLE, + EC_WORD_MUFUFU, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_CYCLING_TRIATHLETE_F, + .name = _("MOLLY"), + .teamFlags = 0x12, + .greeting = { + .easyChat = { + EC_WORD_IS, + EC_WORD_TODAY, + EC_WORD_MONDAY, + EC_WORD_QUES, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .name = _("JÖRG"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_WATER, + 0xFFFF, + EC_WORD_AND, + EC_WORD_BUG, + 0xFFFF, + EC_WORD_POKEMON, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .name = _("ANKE"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_WHAT, + EC_WORD_IS, + EC_WORD_PRESSURE, + EC_WORD_STATIC, + EC_WORD_IS, + EC_WORD_SUPER, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_FISHERMAN, + .name = _("HANS"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_KID, + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_DON_T, + EC_WORD_WINS, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SAILOR, + .name = _("PETER"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_IT_S, + EC_WORD_QUITE, + EC_WORD_TERRIBLE, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_MODE, + EC_WORD_I, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_F, + .name = _("MARA"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_YOU_RE, + EC_WORD_VERY, + EC_WORD_ALL_RIGHT, + EC_WORD_TRAINS, + EC_WORD_OR, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .name = _("DARIUS"), + .teamFlags = 0x11, + .greeting = { + .easyChat = { + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_TOUGH, + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_SCARY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_F, + .name = _("REGINA"), + .teamFlags = 0x12, + .greeting = { + .easyChat = { + EC_WORD_TODAY, + EC_WORD_WIN, + EC_WORD_I, + EC_WORD_MAYBE, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .name = _("MAIKE"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_SO, + EC_WORD_AN, + EC_MOVE(SCARY_FACE), + EC_WORD_IS, + EC_WORD_NOT_VERY, + EC_WORD_KIND, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_RUNNING_TRIATHLETE_F, + .name = _("SANDRA"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_SPORTS, + EC_WORD_IS, + EC_WORD_HEALTHY, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_SPIRALING, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_RANGER_M, + .name = _("ARNOLD"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_AWESOME, + EC_WORD_WHO_WAS, + EC_WORD_POKEMON, + EC_WORD_THOSE, + EC_WORD_ROCK_SOLID, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .name = _("XENO"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_HOO_HAH, + EC_WORD_ARE, + EC_WORD_YOU, + EC_WORD_READY, + EC_WORD_FOR, + EC_WORD_SHADY, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_F, + .name = _("KARLA"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_YOU, + EC_WORD_CAN_T, + EC_WORD_ME, + EC_WORD_NEVER, + EC_WORD_SMITE, + EC_WORD_KID, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COLLECTOR, + .name = _("VOLKER"), + .teamFlags = 0x80, + .greeting = { + .easyChat = { + EC_WORD_FROM, + EC_WORD_PLACE, + EC_WORD_TO, + EC_WORD_PLACE, + EC_WORD_POKEMON, + EC_WORD_WOWEE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + .name = _("TOBIAS"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_THAT, + EC_WORD_ISN_T, + EC_WORD_SPORTS, + EC_WORD_IT_S, + EC_WORD_A, + EC_WORD_FIGHTING, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .name = _("NORBERT"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_MUST_BE, + EC_WORD_WINS, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_PLEASE, + EC_WORD_PLEASE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .name = _("ZITA"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_THAT, + EC_WORD_IS, + EC_WORD_SCARY, + EC_WORD_PLEASE, + EC_WORD_BE, + EC_WORD_NICE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .name = _("ELKE"), + .teamFlags = 0x20, + .greeting = { + .easyChat = { + EC_WORD_WITHOUT, + EC_MOVE(FLAIL), + EC_WORD_NONE, + EC_MOVE(WITHDRAW), + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_HIKER, + .name = _("VITUS"), + .teamFlags = 0x04, + .greeting = { + .easyChat = { + EC_WORD_YAHOO, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_LISTENS, + EC_WORD_HER, + EC_WORD_TO, + EC_WORD_QUES, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_M, + .name = _("MALTE"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_LEARN, + EC_WORD_CORRECT, + EC_WORD_TO, + EC_WORD_FIGHT, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER_M, + .name = _("TIM"), + .teamFlags = 0x40, + .greeting = { + .easyChat = { + EC_WORD_IT_S, + EC_WORD_A, + EC_WORD_FIGHTING, + EC_WORD_NONE, + EC_WORD_CHILD_S_PLAY, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_GUITARIST, + .name = _("GAVIN"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_SHADY, + EC_WORD_BABY, + EC_WORD_BABY, + EC_WORD_BABY, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_PSYCHIC_M, + .name = _("RALF"), + .teamFlags = 0x08, + .greeting = { + .easyChat = { + EC_WORD_STICKY_HOLD, + EC_WORD_THOSE, + EC_WORD_IMPORTANT, + EC_WORD_ISN_T_IT_QUES, + 0xFFFF, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_F, + .name = _("JENNY"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_I, + EC_WORD_SEARCH, + EC_WORD_TRAINER, + EC_WORD_ABSOLUTELY, + EC_WORD_TOUGH, + EC_WORD_THOSE, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_M, + .name = _("JOEL"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_BELIEVE, + EC_WORD_ON, + EC_WORD_YOURS, + EC_WORD_POKEMON, + EC_WORD_AND, + EC_WORD_WIN, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .name = _("KOLJA"), + .teamFlags = 0x0C, + .greeting = { + .easyChat = { + EC_WORD_GIRL, + EC_WORD_WITH, + EC_MOVE2(FORESIGHT), + EC_WORD_THOSE, + EC_WORD_NICE, + 0xFFFF, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_COOL_TRAINER_M, + .name = _("BILL"), + .teamFlags = 0x01, + .greeting = { + .easyChat = { + EC_WORD_WHO_WAS, + EC_WORD_POWER, + EC_WORD_IS, + EC_WORD_OVERWHELMING, + EC_WORD_DISAPPEAR, + EC_WORD_BETTER, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_EXPERT_F, + .name = _("CALLA"), + .teamFlags = 0x10, + .greeting = { + .easyChat = { + EC_WORD_TRAINER, + EC_WORD_YOU, + EC_WORD_ARE, + EC_WORD_SEEMS, + EC_WORD_CAPABLE, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + }, + }, + }, + { + .trainerClass = TRAINER_CLASS_LADY, + .name = _("GESA"), + .teamFlags = 0x02, + .greeting = { + .easyChat = { + EC_WORD_COME_ON, + EC_WORD_ABSOLUTELY, + EC_WORD_TIME, + EC_WORD_BECOMES, + EC_WORD_EXCELLENT, + 0xFFFF, + }, + }, + }, +}; diff --git a/include/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h index 63575727d..1d1fac71e 100644 --- a/include/data/field_map_obj/anim_func_ptrs.h +++ b/src/data/field_map_obj/anim_func_ptrs.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/18/2017. + // #ifndef POKERUBY_ANIM_FUNC_PTRS_H diff --git a/include/data/field_map_obj/base_oam.h b/src/data/field_map_obj/base_oam.h index 8595f97e7..49c14e8c2 100644 --- a/include/data/field_map_obj/base_oam.h +++ b/src/data/field_map_obj/base_oam.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_BASE_OAM_H diff --git a/include/data/field_map_obj/berry_tree_graphics_tables.h b/src/data/field_map_obj/berry_tree_graphics_tables.h index 53a0fd482..5b60fee6f 100644 --- a/include/data/field_map_obj/berry_tree_graphics_tables.h +++ b/src/data/field_map_obj/berry_tree_graphics_tables.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H diff --git a/include/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h index d24a47184..a324066b7 100644 --- a/include/data/field_map_obj/callback_subroutine_pointers.h +++ b/src/data/field_map_obj/callback_subroutine_pointers.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/18/2017. + // #ifndef POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H @@ -394,7 +394,7 @@ u8 (*const gUnknown_08375588[])(struct MapObject *, struct Sprite *) = { sub_805F3C4 }; -u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8 (*const)(u8)) = { +u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { sub_805F3EC, sub_805F3F0, sub_805F438, diff --git a/include/data/field_map_obj/field_effect_object_template_pointers.h b/src/data/field_map_obj/field_effect_object_template_pointers.h index 8e19747ce..320af1ff8 100644 --- a/include/data/field_map_obj/field_effect_object_template_pointers.h +++ b/src/data/field_map_obj/field_effect_object_template_pointers.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H diff --git a/include/data/field_map_obj/field_effect_objects.h b/src/data/field_map_obj/field_effect_objects.h index dc8a38542..9d3ae343d 100644 --- a/include/data/field_map_obj/field_effect_objects.h +++ b/src/data/field_map_obj/field_effect_objects.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_FIELD_EFFECT_OBJECTS_H diff --git a/include/data/field_map_obj/map_object_anims.h b/src/data/field_map_obj/map_object_anims.h index 0d6e299ee..0993f3efd 100644 --- a/include/data/field_map_obj/map_object_anims.h +++ b/src/data/field_map_obj/map_object_anims.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_MAP_OBJECT_ANIMS_H diff --git a/include/data/field_map_obj/map_object_graphics_info.h b/src/data/field_map_obj/map_object_graphics_info.h index 818c5b90c..7b021b66d 100644 --- a/include/data/field_map_obj/map_object_graphics_info.h +++ b/src/data/field_map_obj/map_object_graphics_info.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_MAP_OBJECT_GRAPHICS_INFO_H diff --git a/include/data/field_map_obj/map_object_graphics_info_pointers.h b/src/data/field_map_obj/map_object_graphics_info_pointers.h index c36827709..22a052b0d 100644 --- a/include/data/field_map_obj/map_object_graphics_info_pointers.h +++ b/src/data/field_map_obj/map_object_graphics_info_pointers.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_MAP_OBJECT_GRAPHICS_INFO_POINTERS_H diff --git a/include/data/field_map_obj/map_object_pic_tables.h b/src/data/field_map_obj/map_object_pic_tables.h index 37d579512..ecb5c8836 100644 --- a/include/data/field_map_obj/map_object_pic_tables.h +++ b/src/data/field_map_obj/map_object_pic_tables.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_MAP_OBJECT_PIC_TABLES_H diff --git a/include/data/field_map_obj/map_object_subsprites.h b/src/data/field_map_obj/map_object_subsprites.h index f928db88a..951d71e99 100644 --- a/include/data/field_map_obj/map_object_subsprites.h +++ b/src/data/field_map_obj/map_object_subsprites.h @@ -1,5 +1,5 @@ // -// Created by scott on 6/17/2017. + // #ifndef POKERUBY_MAP_OBJECT_SUBSPRITES_H diff --git a/include/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index eadfbfe30..37f59e1c6 100644 --- a/include/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_BASE_STATS_H diff --git a/include/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h index d965a41cf..6207a92f0 100644 --- a/include/data/pokemon/cry_ids.h +++ b/src/data/pokemon/cry_ids.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_CRY_IDS_H diff --git a/include/data/pokemon/dex_order.h b/src/data/pokemon/dex_order.h index 6f8582533..cbb7182ed 100644 --- a/include/data/pokemon/dex_order.h +++ b/src/data/pokemon/dex_order.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_DEX_ORDER_H diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h new file mode 100644 index 000000000..ab1b1dd33 --- /dev/null +++ b/src/data/pokemon/egg_moves.h @@ -0,0 +1,1318 @@ +// + +// + +#ifndef POKERUBY_DAYCARE_H +#define POKERUBY_DAYCARE_H + +#define EGG_MOVES_SPECIES_OFFSET 20000 +#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves + +#endif //POKERUBY_DAYCARE_H + +const u16 gEggMoves[] = { + egg_moves(BULBASAUR, + MOVE_LIGHT_SCREEN, + MOVE_SKULL_BASH, + MOVE_SAFEGUARD, + MOVE_CHARM, + MOVE_PETAL_DANCE, + MOVE_MAGICAL_LEAF, + MOVE_GRASS_WHISTLE, + MOVE_CURSE), + + egg_moves(CHARMANDER, + MOVE_BELLY_DRUM, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_BITE, + MOVE_OUTRAGE, + MOVE_BEAT_UP, + MOVE_SWORDS_DANCE, + MOVE_DRAGON_DANCE), + + egg_moves(SQUIRTLE, + MOVE_MIRROR_COAT, + MOVE_HAZE, + MOVE_MIST, + MOVE_FORESIGHT, + MOVE_FLAIL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_YAWN), + + egg_moves(PIDGEY, + MOVE_PURSUIT, + MOVE_FAINT_ATTACK, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_AIR_CUTTER), + + egg_moves(RATTATA, + MOVE_SCREECH, + MOVE_FLAME_WHEEL, + MOVE_FURY_SWIPES, + MOVE_BITE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_UPROAR, + MOVE_SWAGGER), + + egg_moves(SPEAROW, + MOVE_FAINT_ATTACK, + MOVE_FALSE_SWIPE, + MOVE_SCARY_FACE, + MOVE_QUICK_ATTACK, + MOVE_TRI_ATTACK, + MOVE_ASTONISH, + MOVE_SKY_ATTACK), + + egg_moves(EKANS, + MOVE_PURSUIT, + MOVE_SLAM, + MOVE_SPITE, + MOVE_BEAT_UP, + MOVE_POISON_FANG), + + egg_moves(SANDSHREW, + MOVE_FLAIL, + MOVE_SAFEGUARD, + MOVE_COUNTER, + MOVE_RAPID_SPIN, + MOVE_ROCK_SLIDE, + MOVE_METAL_CLAW, + MOVE_SWORDS_DANCE, + MOVE_CRUSH_CLAW), + + egg_moves(NIDORAN_F, + MOVE_SUPERSONIC, + MOVE_DISABLE, + MOVE_TAKE_DOWN, + MOVE_FOCUS_ENERGY, + MOVE_CHARM, + MOVE_COUNTER, + MOVE_BEAT_UP), + + egg_moves(NIDORAN_M, + MOVE_COUNTER, + MOVE_DISABLE, + MOVE_SUPERSONIC, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_CONFUSION, + MOVE_BEAT_UP), + + egg_moves(VULPIX, + MOVE_FAINT_ATTACK, + MOVE_HYPNOSIS, + MOVE_FLAIL, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_HOWL, + MOVE_PSYCH_UP, + MOVE_HEAT_WAVE), + + egg_moves(ZUBAT, + MOVE_QUICK_ATTACK, + MOVE_PURSUIT, + MOVE_FAINT_ATTACK, + MOVE_GUST, + MOVE_WHIRLWIND, + MOVE_CURSE), + + egg_moves(ODDISH, + MOVE_SWORDS_DANCE, + MOVE_RAZOR_LEAF, + MOVE_FLAIL, + MOVE_SYNTHESIS, + MOVE_CHARM, + MOVE_INGRAIN), + + egg_moves(PARAS, + MOVE_FALSE_SWIPE, + MOVE_SCREECH, + MOVE_COUNTER, + MOVE_PSYBEAM, + MOVE_FLAIL, + MOVE_SWEET_SCENT, + MOVE_LIGHT_SCREEN, + MOVE_PURSUIT), + + egg_moves(VENONAT, + MOVE_BATON_PASS, + MOVE_SCREECH, + MOVE_GIGA_DRAIN, + MOVE_SIGNAL_BEAM), + + egg_moves(DIGLETT, + MOVE_FAINT_ATTACK, + MOVE_SCREECH, + MOVE_ANCIENT_POWER, + MOVE_PURSUIT, + MOVE_BEAT_UP, + MOVE_UPROAR, + MOVE_ROCK_SLIDE), + + egg_moves(MEOWTH, + MOVE_SPITE, + MOVE_CHARM, + MOVE_HYPNOSIS, + MOVE_AMNESIA, + MOVE_PSYCH_UP, + MOVE_ASSIST), + + egg_moves(PSYDUCK, + MOVE_HYPNOSIS, + MOVE_PSYBEAM, + MOVE_FORESIGHT, + MOVE_LIGHT_SCREEN, + MOVE_FUTURE_SIGHT, + MOVE_PSYCHIC, + MOVE_CROSS_CHOP, + MOVE_REFRESH), + + egg_moves(MANKEY, + MOVE_ROCK_SLIDE, + MOVE_FORESIGHT, + MOVE_MEDITATE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_REVENGE, + MOVE_SMELLING_SALT), + + egg_moves(GROWLITHE, + MOVE_BODY_SLAM, + MOVE_SAFEGUARD, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_FIRE_SPIN, + MOVE_HOWL, + MOVE_HEAT_WAVE), + + egg_moves(POLIWAG, + MOVE_MIST, + MOVE_SPLASH, + MOVE_BUBBLE_BEAM, + MOVE_HAZE, + MOVE_MIND_READER, + MOVE_WATER_SPORT, + MOVE_ICE_BALL), + + egg_moves(ABRA, + MOVE_ENCORE, + MOVE_BARRIER, + MOVE_KNOCK_OFF, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(MACHOP, + MOVE_LIGHT_SCREEN, + MOVE_MEDITATE, + MOVE_ROLLING_KICK, + MOVE_ENCORE, + MOVE_SMELLING_SALT, + MOVE_COUNTER, + MOVE_ROCK_SLIDE), + + egg_moves(BELLSPROUT, + MOVE_SWORDS_DANCE, + MOVE_ENCORE, + MOVE_REFLECT, + MOVE_SYNTHESIS, + MOVE_LEECH_LIFE, + MOVE_INGRAIN, + MOVE_MAGICAL_LEAF), + + egg_moves(TENTACOOL, + MOVE_AURORA_BEAM, + MOVE_MIRROR_COAT, + MOVE_RAPID_SPIN, + MOVE_HAZE, + MOVE_SAFEGUARD, + MOVE_CONFUSE_RAY), + + egg_moves(GEODUDE, + MOVE_MEGA_PUNCH, + MOVE_ROCK_SLIDE, + MOVE_BLOCK), + + egg_moves(PONYTA, + MOVE_FLAME_WHEEL, + MOVE_THRASH, + MOVE_DOUBLE_KICK, + MOVE_HYPNOSIS, + MOVE_CHARM, + MOVE_DOUBLE_EDGE), + + egg_moves(SLOWPOKE, + MOVE_SAFEGUARD, + MOVE_BELLY_DRUM, + MOVE_FUTURE_SIGHT, + MOVE_STOMP, + MOVE_MUD_SPORT, + MOVE_SLEEP_TALK, + MOVE_SNORE), + + egg_moves(FARFETCHD, + MOVE_STEEL_WING, + MOVE_FORESIGHT, + MOVE_MIRROR_MOVE, + MOVE_GUST, + MOVE_QUICK_ATTACK, + MOVE_FLAIL, + MOVE_FEATHER_DANCE, + MOVE_CURSE), + + egg_moves(DODUO, + MOVE_QUICK_ATTACK, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_FAINT_ATTACK, + MOVE_FLAIL, + MOVE_ENDEAVOR), + + egg_moves(SEEL, + MOVE_LICK, + MOVE_PERISH_SONG, + MOVE_DISABLE, + MOVE_HORN_DRILL, + MOVE_SLAM, + MOVE_ENCORE, + MOVE_FAKE_OUT, + MOVE_ICICLE_SPEAR), + + egg_moves(GRIMER, + MOVE_HAZE, + MOVE_MEAN_LOOK, + MOVE_LICK, + MOVE_IMPRISON, + MOVE_CURSE, + MOVE_SHADOW_PUNCH, + MOVE_EXPLOSION), + + egg_moves(SHELLDER, + MOVE_BUBBLE_BEAM, + MOVE_TAKE_DOWN, + MOVE_BARRIER, + MOVE_RAPID_SPIN, + MOVE_SCREECH, + MOVE_ICICLE_SPEAR), + + egg_moves(GASTLY, + MOVE_PSYWAVE, + MOVE_PERISH_SONG, + MOVE_HAZE, + MOVE_ASTONISH, + MOVE_WILL_O_WISP, + MOVE_GRUDGE, + MOVE_EXPLOSION), + + egg_moves(ONIX, + MOVE_ROCK_SLIDE, + MOVE_FLAIL, + MOVE_EXPLOSION, + MOVE_BLOCK), + + egg_moves(DROWZEE, + MOVE_BARRIER, + MOVE_ASSIST, + MOVE_ROLE_PLAY, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(KRABBY, + MOVE_DIG, + MOVE_HAZE, + MOVE_AMNESIA, + MOVE_FLAIL, + MOVE_SLAM, + MOVE_KNOCK_OFF, + MOVE_SWORDS_DANCE), + + egg_moves(EXEGGCUTE, + MOVE_SYNTHESIS, + MOVE_MOONLIGHT, + MOVE_REFLECT, + MOVE_ANCIENT_POWER, + MOVE_PSYCH_UP, + MOVE_INGRAIN, + MOVE_CURSE), + + egg_moves(CUBONE, + MOVE_ROCK_SLIDE, + MOVE_ANCIENT_POWER, + MOVE_BELLY_DRUM, + MOVE_SCREECH, + MOVE_SKULL_BASH, + MOVE_PERISH_SONG, + MOVE_SWORDS_DANCE), + + egg_moves(LICKITUNG, + MOVE_BELLY_DRUM, + MOVE_MAGNITUDE, + MOVE_BODY_SLAM, + MOVE_CURSE, + MOVE_SMELLING_SALT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE), + + egg_moves(KOFFING, + MOVE_SCREECH, + MOVE_PSYWAVE, + MOVE_PSYBEAM, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_WILL_O_WISP), + + egg_moves(RHYHORN, + MOVE_CRUNCH, + MOVE_REVERSAL, + MOVE_ROCK_SLIDE, + MOVE_COUNTER, + MOVE_MAGNITUDE, + MOVE_SWORDS_DANCE, + MOVE_CURSE, + MOVE_CRUSH_CLAW), + + egg_moves(CHANSEY, + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_HEAL_BELL, + MOVE_AROMATHERAPY, + MOVE_SUBSTITUTE), + + egg_moves(TANGELA, + MOVE_FLAIL, + MOVE_CONFUSION, + MOVE_MEGA_DRAIN, + MOVE_REFLECT, + MOVE_AMNESIA, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER), + + egg_moves(KANGASKHAN, + MOVE_STOMP, + MOVE_FORESIGHT, + MOVE_FOCUS_ENERGY, + MOVE_SAFEGUARD, + MOVE_DISABLE, + MOVE_COUNTER, + MOVE_CRUSH_CLAW, + MOVE_SUBSTITUTE), + + egg_moves(HORSEA, + MOVE_FLAIL, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_DISABLE, + MOVE_SPLASH, + MOVE_DRAGON_RAGE, + MOVE_DRAGON_BREATH), + + egg_moves(GOLDEEN, + MOVE_PSYBEAM, + MOVE_HAZE, + MOVE_HYDRO_PUMP, + MOVE_SLEEP_TALK, + MOVE_MUD_SPORT), + + egg_moves(MR_MIME, + MOVE_FUTURE_SIGHT, + MOVE_HYPNOSIS, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_TRICK), + + egg_moves(SCYTHER, + MOVE_COUNTER, + MOVE_SAFEGUARD, + MOVE_BATON_PASS, + MOVE_RAZOR_WIND, + MOVE_REVERSAL, + MOVE_LIGHT_SCREEN, + MOVE_ENDURE, + MOVE_SILVER_WIND), + + egg_moves(PINSIR, + MOVE_FURY_ATTACK, + MOVE_FLAIL, + MOVE_FALSE_SWIPE, + MOVE_FAINT_ATTACK), + + egg_moves(LAPRAS, + MOVE_FORESIGHT, + MOVE_SUBSTITUTE, + MOVE_TICKLE, + MOVE_REFRESH, + MOVE_DRAGON_DANCE, + MOVE_CURSE, + MOVE_SLEEP_TALK, + MOVE_HORN_DRILL), + + egg_moves(EEVEE, + MOVE_CHARM, + MOVE_FLAIL, + MOVE_ENDURE, + MOVE_CURSE, + MOVE_TICKLE, + MOVE_WISH), + + egg_moves(OMANYTE, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_SLAM, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_ROCK_SLIDE, + MOVE_SPIKES), + + egg_moves(KABUTO, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_RAPID_SPIN, + MOVE_DIG, + MOVE_FLAIL, + MOVE_KNOCK_OFF, + MOVE_CONFUSE_RAY), + + egg_moves(AERODACTYL, + MOVE_WHIRLWIND, + MOVE_PURSUIT, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_DRAGON_BREATH, + MOVE_CURSE), + + egg_moves(SNORLAX, + MOVE_LICK, + MOVE_CHARM, + MOVE_DOUBLE_EDGE, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_SUBSTITUTE), + + egg_moves(DRATINI, + MOVE_LIGHT_SCREEN, + MOVE_MIST, + MOVE_HAZE, + MOVE_SUPERSONIC, + MOVE_DRAGON_BREATH, + MOVE_DRAGON_DANCE), + + egg_moves(CHIKORITA, + MOVE_VINE_WHIP, + MOVE_LEECH_SEED, + MOVE_COUNTER, + MOVE_ANCIENT_POWER, + MOVE_FLAIL, + MOVE_NATURE_POWER, + MOVE_INGRAIN, + MOVE_GRASS_WHISTLE), + + egg_moves(CYNDAQUIL, + MOVE_FURY_SWIPES, + MOVE_QUICK_ATTACK, + MOVE_REVERSAL, + MOVE_THRASH, + MOVE_FORESIGHT, + MOVE_COVET, + MOVE_HOWL, + MOVE_CRUSH_CLAW), + + egg_moves(TOTODILE, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_HYDRO_PUMP, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_MUD_SPORT, + MOVE_WATER_SPORT, + MOVE_DRAGON_CLAW), + + egg_moves(SENTRET, + MOVE_DOUBLE_EDGE, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_FOCUS_ENERGY, + MOVE_REVERSAL, + MOVE_SUBSTITUTE, + MOVE_TRICK, + MOVE_ASSIST), + + egg_moves(HOOTHOOT, + MOVE_MIRROR_MOVE, + MOVE_SUPERSONIC, + MOVE_FAINT_ATTACK, + MOVE_WING_ATTACK, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_FEATHER_DANCE), + + egg_moves(LEDYBA, + MOVE_PSYBEAM, + MOVE_BIDE, + MOVE_SILVER_WIND), + + egg_moves(SPINARAK, + MOVE_PSYBEAM, + MOVE_DISABLE, + MOVE_SONIC_BOOM, + MOVE_BATON_PASS, + MOVE_PURSUIT, + MOVE_SIGNAL_BEAM), + + egg_moves(CHINCHOU, + MOVE_FLAIL, + MOVE_SCREECH, + MOVE_AMNESIA), + + egg_moves(PICHU, + MOVE_REVERSAL, + MOVE_BIDE, + MOVE_PRESENT, + MOVE_ENCORE, + MOVE_DOUBLE_SLAP, + MOVE_WISH, + MOVE_CHARGE), + + egg_moves(CLEFFA, + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_AMNESIA, + MOVE_BELLY_DRUM, + MOVE_SPLASH, + MOVE_MIMIC, + MOVE_WISH, + MOVE_SUBSTITUTE), + + egg_moves(IGGLYBUFF, + MOVE_PERISH_SONG, + MOVE_PRESENT, + MOVE_FAINT_ATTACK, + MOVE_WISH, + MOVE_FAKE_TEARS), + + egg_moves(TOGEPI, + MOVE_PRESENT, + MOVE_MIRROR_MOVE, + MOVE_PECK, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_SUBSTITUTE, + MOVE_PSYCH_UP), + + egg_moves(NATU, + MOVE_HAZE, + MOVE_DRILL_PECK, + MOVE_QUICK_ATTACK, + MOVE_FAINT_ATTACK, + MOVE_STEEL_WING, + MOVE_PSYCH_UP, + MOVE_FEATHER_DANCE, + MOVE_REFRESH), + + egg_moves(MAREEP, + MOVE_TAKE_DOWN, + MOVE_BODY_SLAM, + MOVE_SAFEGUARD, + MOVE_SCREECH, + MOVE_REFLECT, + MOVE_ODOR_SLEUTH, + MOVE_CHARGE), + + egg_moves(MARILL, + MOVE_LIGHT_SCREEN, + MOVE_PRESENT, + MOVE_AMNESIA, + MOVE_FUTURE_SIGHT, + MOVE_BELLY_DRUM, + MOVE_PERISH_SONG, + MOVE_SUPERSONIC, + MOVE_SUBSTITUTE), + + egg_moves(SUDOWOODO, + MOVE_SELF_DESTRUCT), + + egg_moves(HOPPIP, + MOVE_CONFUSION, + MOVE_ENCORE, + MOVE_DOUBLE_EDGE, + MOVE_REFLECT, + MOVE_AMNESIA, + MOVE_HELPING_HAND, + MOVE_PSYCH_UP), + + egg_moves(AIPOM, + MOVE_COUNTER, + MOVE_SCREECH, + MOVE_PURSUIT, + MOVE_AGILITY, + MOVE_SPITE, + MOVE_SLAM, + MOVE_DOUBLE_SLAP, + MOVE_BEAT_UP), + + egg_moves(SUNKERN, + MOVE_GRASS_WHISTLE, + MOVE_ENCORE, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER, + MOVE_CURSE, + MOVE_HELPING_HAND), + + egg_moves(YANMA, + MOVE_WHIRLWIND, + MOVE_REVERSAL, + MOVE_LEECH_LIFE, + MOVE_SIGNAL_BEAM, + MOVE_SILVER_WIND), + + egg_moves(WOOPER, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SAFEGUARD, + MOVE_CURSE, + MOVE_MUD_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP), + + egg_moves(MURKROW, + MOVE_WHIRLWIND, + MOVE_DRILL_PECK, + MOVE_MIRROR_MOVE, + MOVE_WING_ATTACK, + MOVE_SKY_ATTACK, + MOVE_CONFUSE_RAY, + MOVE_FEATHER_DANCE, + MOVE_PERISH_SONG), + + egg_moves(MISDREAVUS, + MOVE_SCREECH, + MOVE_DESTINY_BOND, + MOVE_PSYCH_UP, + MOVE_IMPRISON), + + egg_moves(GIRAFARIG, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_BEAT_UP, + MOVE_PSYCH_UP, + MOVE_WISH, + MOVE_MAGIC_COAT), + + egg_moves(PINECO, + MOVE_REFLECT, + MOVE_PIN_MISSILE, + MOVE_FLAIL, + MOVE_SWIFT, + MOVE_COUNTER, + MOVE_SAND_TOMB), + + egg_moves(DUNSPARCE, + MOVE_BIDE, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_BITE, + MOVE_HEADBUTT, + MOVE_ASTONISH, + MOVE_CURSE), + + egg_moves(GLIGAR, + MOVE_METAL_CLAW, + MOVE_WING_ATTACK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_SAND_TOMB), + + egg_moves(SNUBBULL, + MOVE_METRONOME, + MOVE_FAINT_ATTACK, + MOVE_REFLECT, + MOVE_PRESENT, + MOVE_CRUNCH, + MOVE_HEAL_BELL, + MOVE_SNORE, + MOVE_SMELLING_SALT), + + egg_moves(QWILFISH, + MOVE_FLAIL, + MOVE_HAZE, + MOVE_BUBBLE_BEAM, + MOVE_SUPERSONIC, + MOVE_ASTONISH), + + egg_moves(SHUCKLE, + MOVE_SWEET_SCENT), + + egg_moves(HERACROSS, + MOVE_HARDEN, + MOVE_BIDE, + MOVE_FLAIL, + MOVE_FALSE_SWIPE), + + egg_moves(SNEASEL, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_FORESIGHT, + MOVE_REFLECT, + MOVE_BITE, + MOVE_CRUSH_CLAW, + MOVE_FAKE_OUT), + + egg_moves(TEDDIURSA, + MOVE_CRUNCH, + MOVE_TAKE_DOWN, + MOVE_SEISMIC_TOSS, + MOVE_COUNTER, + MOVE_METAL_CLAW, + MOVE_FAKE_TEARS, + MOVE_YAWN, + MOVE_SLEEP_TALK), + + egg_moves(SLUGMA, + MOVE_ACID_ARMOR, + MOVE_HEAT_WAVE), + + egg_moves(SWINUB, + MOVE_TAKE_DOWN, + MOVE_BITE, + MOVE_BODY_SLAM, + MOVE_ROCK_SLIDE, + MOVE_ANCIENT_POWER, + MOVE_MUD_SHOT, + MOVE_ICICLE_SPEAR, + MOVE_DOUBLE_EDGE), + + egg_moves(CORSOLA, + MOVE_ROCK_SLIDE, + MOVE_SCREECH, + MOVE_MIST, + MOVE_AMNESIA, + MOVE_BARRIER, + MOVE_INGRAIN, + MOVE_CONFUSE_RAY, + MOVE_ICICLE_SPEAR), + + egg_moves(REMORAID, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_SCREECH, + MOVE_THUNDER_WAVE, + MOVE_ROCK_BLAST), + + egg_moves(DELIBIRD, + MOVE_AURORA_BEAM, + MOVE_QUICK_ATTACK, + MOVE_FUTURE_SIGHT, + MOVE_SPLASH, + MOVE_RAPID_SPIN, + MOVE_ICE_BALL), + + egg_moves(MANTINE, + MOVE_TWISTER, + MOVE_HYDRO_PUMP, + MOVE_HAZE, + MOVE_SLAM, + MOVE_MUD_SPORT, + MOVE_ROCK_SLIDE), + + egg_moves(SKARMORY, + MOVE_DRILL_PECK, + MOVE_PURSUIT, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_CURSE), + + egg_moves(HOUNDOUR, + MOVE_FIRE_SPIN, + MOVE_RAGE, + MOVE_PURSUIT, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_WILL_O_WISP), + + egg_moves(PHANPY, + MOVE_FOCUS_ENERGY, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SNORE, + MOVE_COUNTER, + MOVE_FISSURE), + + egg_moves(STANTLER, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_BITE, + MOVE_SWAGGER, + MOVE_PSYCH_UP, + MOVE_EXTRASENSORY), + + egg_moves(TYROGUE, + MOVE_RAPID_SPIN, + MOVE_HI_JUMP_KICK, + MOVE_MACH_PUNCH, + MOVE_MIND_READER, + MOVE_HELPING_HAND), + + egg_moves(SMOOCHUM, + MOVE_MEDITATE, + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_WISH, + MOVE_ICE_PUNCH), + + egg_moves(ELEKID, + MOVE_KARATE_CHOP, + MOVE_BARRIER, + MOVE_ROLLING_KICK, + MOVE_MEDITATE, + MOVE_CROSS_CHOP, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(MAGBY, + MOVE_KARATE_CHOP, + MOVE_MEGA_PUNCH, + MOVE_BARRIER, + MOVE_SCREECH, + MOVE_CROSS_CHOP, + MOVE_THUNDER_PUNCH), + + egg_moves(MILTANK, + MOVE_PRESENT, + MOVE_REVERSAL, + MOVE_SEISMIC_TOSS, + MOVE_ENDURE, + MOVE_PSYCH_UP, + MOVE_CURSE, + MOVE_HELPING_HAND, + MOVE_SLEEP_TALK), + + egg_moves(LARVITAR, + MOVE_PURSUIT, + MOVE_STOMP, + MOVE_OUTRAGE, + MOVE_FOCUS_ENERGY, + MOVE_ANCIENT_POWER, + MOVE_DRAGON_DANCE, + MOVE_CURSE), + + egg_moves(TREECKO, + MOVE_CRUNCH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_LEECH_SEED, + MOVE_DRAGON_BREATH, + MOVE_CRUSH_CLAW), + + egg_moves(TORCHIC, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_ENDURE, + MOVE_SWAGGER, + MOVE_ROCK_SLIDE, + MOVE_SMELLING_SALT), + + egg_moves(MUDKIP, + MOVE_REFRESH, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_STOMP, + MOVE_ICE_BALL, + MOVE_MIRROR_COAT), + + egg_moves(POOCHYENA, + MOVE_ASTONISH, + MOVE_POISON_FANG, + MOVE_COVET, + MOVE_LEER, + MOVE_YAWN), + + egg_moves(ZIGZAGOON, + MOVE_CHARM, + MOVE_PURSUIT, + MOVE_SUBSTITUTE, + MOVE_TICKLE, + MOVE_TRICK), + + egg_moves(LOTAD, + MOVE_SYNTHESIS, + MOVE_RAZOR_LEAF, + MOVE_SWEET_SCENT, + MOVE_LEECH_SEED, + MOVE_FLAIL, + MOVE_WATER_GUN), + + egg_moves(SEEDOT, + MOVE_LEECH_SEED, + MOVE_AMNESIA, + MOVE_QUICK_ATTACK, + MOVE_RAZOR_WIND, + MOVE_TAKE_DOWN, + MOVE_FALSE_SWIPE), + + egg_moves(NINCADA, + MOVE_ENDURE, + MOVE_FAINT_ATTACK, + MOVE_GUST, + MOVE_SILVER_WIND), + + egg_moves(TAILLOW, + MOVE_PURSUIT, + MOVE_SUPERSONIC, + MOVE_REFRESH, + MOVE_MIRROR_MOVE, + MOVE_RAGE, + MOVE_SKY_ATTACK), + + egg_moves(SHROOMISH, + MOVE_FAKE_TEARS, + MOVE_SWAGGER, + MOVE_CHARM, + MOVE_FALSE_SWIPE, + MOVE_HELPING_HAND), + + egg_moves(SPINDA, + MOVE_ENCORE, + MOVE_ROCK_SLIDE, + MOVE_ASSIST, + MOVE_DISABLE, + MOVE_BATON_PASS, + MOVE_WISH, + MOVE_TRICK, + MOVE_SMELLING_SALT), + + egg_moves(WINGULL, + MOVE_MIST, + MOVE_TWISTER, + MOVE_AGILITY, + MOVE_GUST, + MOVE_WATER_SPORT), + + egg_moves(SURSKIT, + MOVE_FORESIGHT, + MOVE_MUD_SHOT, + MOVE_PSYBEAM, + MOVE_HYDRO_PUMP, + MOVE_MIND_READER), + + egg_moves(WAILMER, + MOVE_DOUBLE_EDGE, + MOVE_THRASH, + MOVE_SWAGGER, + MOVE_SNORE, + MOVE_SLEEP_TALK, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_TICKLE), + + egg_moves(SKITTY, + MOVE_HELPING_HAND, + MOVE_PSYCH_UP, + MOVE_UPROAR, + MOVE_FAKE_TEARS, + MOVE_WISH, + MOVE_BATON_PASS, + MOVE_SUBSTITUTE, + MOVE_TICKLE), + + egg_moves(KECLEON, + MOVE_DISABLE, + MOVE_MAGIC_COAT, + MOVE_TRICK), + + egg_moves(NOSEPASS, + MOVE_MAGNITUDE, + MOVE_ROLLOUT, + MOVE_EXPLOSION), + + egg_moves(TORKOAL, + MOVE_ERUPTION, + MOVE_ENDURE, + MOVE_SLEEP_TALK, + MOVE_YAWN), + + egg_moves(SABLEYE, + MOVE_PSYCH_UP, + MOVE_RECOVER, + MOVE_MOONLIGHT), + + egg_moves(BARBOACH, + MOVE_THRASH, + MOVE_WHIRLPOOL, + MOVE_SPARK), + + egg_moves(LUVDISC, + MOVE_SPLASH, + MOVE_SUPERSONIC, + MOVE_WATER_SPORT, + MOVE_MUD_SPORT), + + egg_moves(CORPHISH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER), + + egg_moves(FEEBAS, + MOVE_MIRROR_COAT, + MOVE_DRAGON_BREATH, + MOVE_MUD_SPORT, + MOVE_HYPNOSIS, + MOVE_LIGHT_SCREEN, + MOVE_CONFUSE_RAY), + + egg_moves(CARVANHA, + MOVE_HYDRO_PUMP, + MOVE_DOUBLE_EDGE, + MOVE_THRASH), + + egg_moves(TRAPINCH, + MOVE_FOCUS_ENERGY, + MOVE_QUICK_ATTACK, + MOVE_GUST), + + egg_moves(MAKUHITA, + MOVE_FAINT_ATTACK, + MOVE_DETECT, + MOVE_FORESIGHT, + MOVE_HELPING_HAND, + MOVE_CROSS_CHOP, + MOVE_REVENGE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER), + + egg_moves(ELECTRIKE, + MOVE_CRUNCH, + MOVE_HEADBUTT, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_SWIFT), + + egg_moves(NUMEL, + MOVE_HOWL, + MOVE_SCARY_FACE, + MOVE_BODY_SLAM, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_STOMP), + + egg_moves(SPHEAL, + MOVE_WATER_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_YAWN, + MOVE_ROCK_SLIDE, + MOVE_CURSE, + MOVE_FISSURE), + + egg_moves(CACNEA, + MOVE_GRASS_WHISTLE, + MOVE_ACID, + MOVE_TEETER_DANCE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER), + + egg_moves(SNORUNT, + MOVE_BLOCK, + MOVE_SPIKES), + + egg_moves(AZURILL, + MOVE_ENCORE, + MOVE_SING, + MOVE_REFRESH, + MOVE_SLAM, + MOVE_TICKLE), + + egg_moves(SPOINK, + MOVE_FUTURE_SIGHT, + MOVE_EXTRASENSORY, + MOVE_SUBSTITUTE, + MOVE_TRICK), + + egg_moves(PLUSLE, + MOVE_SUBSTITUTE, + MOVE_WISH), + + egg_moves(MINUN, + MOVE_SUBSTITUTE, + MOVE_WISH), + + egg_moves(MAWILE, + MOVE_SWORDS_DANCE, + MOVE_FALSE_SWIPE, + MOVE_POISON_FANG, + MOVE_PSYCH_UP, + MOVE_ANCIENT_POWER, + MOVE_TICKLE), + + egg_moves(MEDITITE, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_FORESIGHT, + MOVE_FAKE_OUT, + MOVE_BATON_PASS, + MOVE_DYNAMIC_PUNCH), + + egg_moves(SWABLU, + MOVE_AGILITY, + MOVE_HAZE, + MOVE_PURSUIT, + MOVE_RAGE), + + egg_moves(DUSKULL, + MOVE_IMPRISON, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_GRUDGE, + MOVE_MEMENTO, + MOVE_FAINT_ATTACK), + + egg_moves(ROSELIA, + MOVE_SPIKES, + MOVE_SYNTHESIS, + MOVE_PIN_MISSILE, + MOVE_COTTON_SPORE), + + egg_moves(SLAKOTH, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_BODY_SLAM, + MOVE_SNORE, + MOVE_CRUSH_CLAW, + MOVE_CURSE, + MOVE_SLEEP_TALK), + + egg_moves(GULPIN, + MOVE_DREAM_EATER, + MOVE_ACID_ARMOR, + MOVE_SMOG, + MOVE_PAIN_SPLIT), + + egg_moves(TROPIUS, + MOVE_HEADBUTT, + MOVE_SLAM, + MOVE_RAZOR_WIND, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER), + + egg_moves(WHISMUR, + MOVE_TAKE_DOWN, + MOVE_SNORE, + MOVE_SWAGGER, + MOVE_EXTRASENSORY, + MOVE_SMELLING_SALT), + + egg_moves(CLAMPERL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_BODY_SLAM, + MOVE_SUPERSONIC, + MOVE_BARRIER, + MOVE_CONFUSE_RAY), + + egg_moves(ABSOL, + MOVE_BATON_PASS, + MOVE_FAINT_ATTACK, + MOVE_DOUBLE_EDGE, + MOVE_MAGIC_COAT, + MOVE_CURSE, + MOVE_SUBSTITUTE), + + egg_moves(SHUPPET, + MOVE_DISABLE, + MOVE_DESTINY_BOND, + MOVE_FORESIGHT, + MOVE_ASTONISH, + MOVE_IMPRISON), + + egg_moves(SEVIPER, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_BODY_SLAM), + + egg_moves(ZANGOOSE, + MOVE_FLAIL, + MOVE_DOUBLE_KICK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_ROAR, + MOVE_CURSE), + + egg_moves(RELICANTH, + MOVE_MAGNITUDE, + MOVE_SKULL_BASH, + MOVE_WATER_SPORT, + MOVE_AMNESIA, + MOVE_SLEEP_TALK, + MOVE_ROCK_SLIDE), + + egg_moves(ARON, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_STOMP, + MOVE_SMELLING_SALT), + + egg_moves(CASTFORM, + MOVE_FUTURE_SIGHT, + MOVE_PSYCH_UP), + + egg_moves(VOLBEAT, + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_TRICK), + + egg_moves(ILLUMISE, + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_GROWTH), + + egg_moves(LILEEP, + MOVE_BARRIER, + MOVE_RECOVER, + MOVE_MIRROR_COAT, + MOVE_ROCK_SLIDE), + + egg_moves(ANORITH, + MOVE_RAPID_SPIN, + MOVE_KNOCK_OFF, + MOVE_SWORDS_DANCE, + MOVE_ROCK_SLIDE), + + egg_moves(RALTS, + MOVE_DISABLE, + MOVE_WILL_O_WISP, + MOVE_MEAN_LOOK, + MOVE_MEMENTO, + MOVE_DESTINY_BOND), + + egg_moves(BAGON, + MOVE_HYDRO_PUMP, + MOVE_THRASH, + MOVE_DRAGON_RAGE, + MOVE_TWISTER, + MOVE_DRAGON_DANCE), + + egg_moves(CHIMECHO, + MOVE_DISABLE, + MOVE_CURSE, + MOVE_HYPNOSIS, + MOVE_DREAM_EATER), + + 0xFFFF +}; diff --git a/include/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index 51e993347..919416fee 100644 --- a/include/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_EVOLUTION_H diff --git a/include/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h index 70c5e88ed..2fb416fe9 100644 --- a/include/data/pokemon/experience_tables.h +++ b/src/data/pokemon/experience_tables.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_EXPERIENCE_TABLES_H diff --git a/include/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index b07573933..cd06228dd 100644 --- a/include/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_ITEM_EFFECTS_H diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 753947d51..19761c996 100644 --- a/include/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_LEVEL_UP_LEARNSET_POINTERS_H diff --git a/include/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index 5b79f4bc0..bc1de82de 100644 --- a/include/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_LEVEL_UP_LEARNSETS_H diff --git a/include/data/pokemon/nature_stats.h b/src/data/pokemon/nature_stats.h index 27bd98f9d..fcef2a0ac 100644 --- a/include/data/pokemon/nature_stats.h +++ b/src/data/pokemon/nature_stats.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_NATURE_STATS_H diff --git a/include/data/pokemon/spinda_spots.h b/src/data/pokemon/spinda_spots.h index 234cdf00e..d045e0734 100644 --- a/include/data/pokemon/spinda_spots.h +++ b/src/data/pokemon/spinda_spots.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_SPINDA_SPOTS_H diff --git a/include/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h index fa48f7f5c..02cd22d56 100644 --- a/include/data/pokemon/tmhm_learnsets.h +++ b/src/data/pokemon/tmhm_learnsets.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_TMHM_LEARNSETS_H diff --git a/include/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index 0aea322a0..c86e795c4 100644 --- a/include/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/27/17. + // #ifndef POKERUBY_TRAINER_CLASS_LOOKUPS_H diff --git a/src/daycare.c b/src/daycare.c deleted file mode 100644 index 7f688016a..000000000 --- a/src/daycare.c +++ /dev/null @@ -1,350 +0,0 @@ -#include "global.h" -#include "daycare.h" -#include "pokemon.h" -#include "species.h" -#include "items.h" -#include "string_util.h" - -extern u8 gLastFieldPokeMenuOpened; - -u8 *GetMonNick(struct Pokemon *mon, u8 *dest) -{ - s8 nickname[POKEMON_NAME_LENGTH * 2]; - - GetMonData(mon, MON_DATA_NICKNAME, nickname); - return StringCopy10(dest, nickname); -} - -u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) -{ - s8 nickname[POKEMON_NAME_LENGTH * 2]; - - GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); - return StringCopy10(dest, nickname); -} - -u8 Daycare_CountPokemon(struct BoxPokemon *daycare_data) -{ - u8 i, count; - count = 0; - - for(i = 0;i <= 1;i++) - if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0) - count++; - - return count; -} - -void sub_8041324(struct BoxPokemon * box_pokemon, struct RecordMixing_UnknownStruct * void_pointer) -{ - u8 i; - u8 specCount; - specCount = 0; - for (i=0; i<2; i++) - { - if (GetBoxMonData(&box_pokemon[i], MON_DATA_SPECIES) != SPECIES_NONE) - { - specCount ++; - if (GetBoxMonData(&box_pokemon[i], MON_DATA_HELD_ITEM) == ITEM_NONE) - { - void_pointer->unk74[i] = 0; - } else - { - void_pointer->unk74[i] = 1; - } - } else - { - void_pointer->unk74[i] = 1; - } - } - void_pointer->unk70 = specCount; -} - -s8 Daycare_FindEmptySpot(struct BoxPokemon * daycare_data) -{ - u8 i; - - for(i = 0;i <= 1;i++) - if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) == 0) - return i; - - return -1; -} - -/*void Daycare_SendPokemon(struct Pokemon * mon, struct BoxPokemon * daycare_data){ // unfinished - s8 empty_slot; - - empty_slot = Daycare_FindEmptySpot(daycare_data); - if(MonHasMail(mon) != 0){ // if the mon holds a mail? - u8 empty_slot_times_56 = empty_slot * 56; - u8 * something2 = ((u8 *) (daycare_data + 2)) + empty_slot_times_56 + 36; - StringCopy(something2, gSaveBlock2.playerName); - PadNameString(something2, 0xFC); - something2 += 8; - GetMonNick(mon, something2); - u8 pokerus = GetMonData(mon, MON_DATA_64); - something1 += (u8 * daycare_data) -}*/ - -__attribute__((naked)) -void Daycare_SendPokemon() -{ - // strange stack usage - happens because THUMB ARM only allows R0-R7 to be pushed/popped: - // all registers in reglist must be Lo registers, except that PUSH can include the LR, and POP can include the PC - // the ldm/stm section probably copies some struct, but I'm not sure how the code would look - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - adds r7, r0, 0\n\ - mov r8, r1\n\ - mov r0, r8\n\ - bl Daycare_FindEmptySpot\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - mov r9, r4\n\ - adds r0, r7, 0\n\ - bl MonHasMail\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0804144A\n\ - lsls r0, r4, 24\n\ - asrs r0, 24\n\ - lsls r4, r0, 3\n\ - subs r4, r0\n\ - lsls r4, 3\n\ - adds r5, r4, 0\n\ - adds r5, 0xA0\n\ - add r5, r8\n\ - adds r6, r5, 0\n\ - adds r6, 0x24\n\ - ldr r1, _08041490 @ =gSaveBlock2\n\ - adds r0, r6, 0\n\ - bl StringCopy\n\ - adds r0, r6, 0\n\ - movs r1, 0xFC\n\ - bl PadNameString\n\ - adds r6, 0x8\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - bl GetMonNick\n\ - adds r0, r7, 0\n\ - movs r1, 0x40\n\ - bl GetMonData\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - add r4, r8\n\ - ldr r2, _08041494 @ =gSaveBlock1\n\ - lsls r1, r0, 3\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - adds r1, r2\n\ - adds r4, 0xA0\n\ - ldr r0, _08041498 @ =0x00002b4c\n\ - adds r1, r0\n\ - ldm r1!, {r0,r2,r3}\n\ - stm r4!, {r0,r2,r3}\n\ - ldm r1!, {r0,r2,r3}\n\ - stm r4!, {r0,r2,r3}\n\ - ldm r1!, {r0,r2,r3}\n\ - stm r4!, {r0,r2,r3}\n\ - adds r0, r7, 0\n\ - bl TakeMailFromMon\n\ -_0804144A:\n\ - mov r2, r9\n\ - lsls r4, r2, 24\n\ - asrs r4, 24\n\ - lsls r5, r4, 2\n\ - adds r4, r5, r4\n\ - lsls r4, 4\n\ - add r4, r8\n\ - adds r0, r4, 0\n\ - adds r1, r7, 0\n\ - movs r2, 0x50\n\ - bl memcpy\n\ - adds r0, r4, 0\n\ - bl BoxMonRestorePP\n\ - movs r0, 0x88\n\ - lsls r0, 1\n\ - add r0, r8\n\ - adds r0, r5\n\ - movs r1, 0\n\ - str r1, [r0]\n\ - adds r0, r7, 0\n\ - bl ZeroMonData\n\ - bl party_compaction\n\ - bl CalculatePlayerPartyCount\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_08041490: .4byte gSaveBlock2\n\ -_08041494: .4byte gSaveBlock1\n\ -_08041498: .4byte 0x00002b4c\n\ - .syntax divided\n"); -} - -void Daycare_SendPokemon_Special() -{ - Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, gSaveBlock1.daycareData); -} - -void sub_80417F4(u8 *); - -void sub_80414C0(struct BoxPokemon * daycare_data) -{ - u32 second_species; - if((GetBoxMonData(&daycare_data[1], MON_DATA_SPECIES) != 0) && ((second_species = GetBoxMonData(&daycare_data[0], MON_DATA_SPECIES)) == 0)){ - daycare_data[0] = daycare_data[1]; - ZeroBoxMonData(&daycare_data[1]); - memcpy(daycare_data + 2, (u8 *) (daycare_data + 1) + 0x88, 0x38); - *((u32 *)(daycare_data) + 68) = *((u32 *)(daycare_data) + 69); - *((u32 *)(daycare_data) + 69) = second_species; - sub_80417F4((u8 *) (daycare_data + 1) + 0x88); - } -} - -u8 TryIncrementMonLevel(struct Pokemon *); -extern u16 gMoveToLearn; - -void sub_804151C(struct Pokemon * mon) -{ - s32 i; - u8 r6; - u16 temp; - - for(i = 0; i < 100; i++){ - if(TryIncrementMonLevel(mon) == FALSE) goto end; - - r6 = 1; - while((temp = MonTryLearningNewMove(mon, r6)) != 0){ - r6 = 0; - if(temp == 0xffff){ - DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn); - } - } - } - - end: - - CalculateMonStats(mon); -} - -__attribute__((naked)) -u16 sub_8041570(struct BoxPokemon * daycare_data, u8 a2){ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - sub sp, 0x68\n\ - adds r5, r0, 0\n\ - lsls r1, 24\n\ - lsrs r4, r1, 24\n\ - lsls r7, r4, 2\n\ - adds r0, r7, r4\n\ - lsls r0, 4\n\ - adds r6, r5, r0\n\ - ldr r1, _08041640 @ =gStringVar1\n\ - adds r0, r6, 0\n\ - bl GetBoxMonNick\n\ - adds r0, r6, 0\n\ - movs r1, 0xB\n\ - bl GetBoxMonData\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r9, r0\n\ - adds r0, r6, 0\n\ - mov r1, sp\n\ - bl sub_803B4B4\n\ - mov r0, sp\n\ - movs r1, 0x38\n\ - bl GetMonData\n\ - cmp r0, 0x64\n\ - beq _080415D8\n\ - mov r0, sp\n\ - movs r1, 0x19\n\ - bl GetMonData\n\ - movs r2, 0x88\n\ - lsls r2, 1\n\ - adds r1, r5, r2\n\ - adds r1, r7\n\ - ldr r1, [r1]\n\ - adds r0, r1\n\ - str r0, [sp, 0x64]\n\ - add r2, sp, 0x64\n\ - mov r0, sp\n\ - movs r1, 0x19\n\ - bl SetMonData\n\ - mov r0, sp\n\ - bl sub_804151C\n\ -_080415D8:\n\ - ldr r0, _08041644 @ =gPlayerParty\n\ - movs r1, 0xFA\n\ - lsls r1, 1\n\ - adds r1, r0\n\ - mov r8, r1\n\ - mov r0, r8\n\ - mov r1, sp\n\ - movs r2, 0x64\n\ - bl memcpy\n\ - lsls r0, r4, 3\n\ - subs r0, r4\n\ - lsls r1, r0, 3\n\ - adds r0, r5, r1\n\ - adds r0, 0xC0\n\ - ldrh r0, [r0]\n\ - cmp r0, 0\n\ - beq _08041610\n\ - adds r4, r1, 0\n\ - adds r4, 0xA0\n\ - adds r4, r5, r4\n\ - mov r0, r8\n\ - adds r1, r4, 0\n\ - bl GiveMailToMon2\n\ - adds r0, r4, 0\n\ - bl sub_80417F4\n\ -_08041610:\n\ - bl party_compaction\n\ - adds r0, r6, 0\n\ - bl ZeroBoxMonData\n\ - movs r2, 0x88\n\ - lsls r2, 1\n\ - adds r0, r5, r2\n\ - adds r0, r7\n\ - movs r1, 0\n\ - str r1, [r0]\n\ - adds r0, r5, 0\n\ - bl sub_80414C0\n\ - bl CalculatePlayerPartyCount\n\ - mov r0, r9\n\ - add sp, 0x68\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_08041640: .4byte gStringVar1\n\ -_08041644: .4byte gPlayerParty\n\ - .syntax divided"); -} - -extern u8 gSpecialVar_0x8004; - -u16 sub_8041648() -{ - return sub_8041570(gSaveBlock1.daycareData, gSpecialVar_0x8004); -} - -u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){ - struct BoxPokemon temp = *mon; - u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps; - SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp); - return GetLevelFromBoxMonExp(&temp); -} diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c index eebcc1437..8cf510d6f 100644 --- a/src/de_rom_8040FE0.c +++ b/src/de_rom_8040FE0.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "battle_tower.h" #if GERMAN @@ -59,7 +60,6 @@ u8 *de_sub_804100C(u8 gender) { u8 de_sub_81364AC(void); u8 get_trainer_class_name_index(void); u8 de_sub_81364F8(void); -u8 sub_8135FD8(void); u8 *de_sub_8041024(s32 arg0, u32 arg1) { u8 nameIndex, trainerClass, gender; @@ -94,7 +94,7 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) { case 0x800: trainerClass = de_sub_81364F8(); - nameIndex = sub_8135FD8(); + nameIndex = GetEReaderTrainerClassNameIndex(); if (trainerClass == TRAINER_CLASS_SCHOOL_KID_F) { return de_sub_8040FE0(FEMALE); @@ -196,7 +196,7 @@ _08041086:\n\ bl de_sub_81364F8\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ - bl sub_8135FD8\n\ + bl GetEReaderTrainerClassNameIndex\n\ b _08041070\n\ _08041094:\n\ movs r0, 0x1\n\ diff --git a/src/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index c7d81f502..d0c0f95f7 100644 --- a/src/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -516,10 +516,10 @@ void SetDebugMonForContest(void) SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart); SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough); SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &gContestMons[gContestPlayerMonIndex].moves[0]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &gContestMons[gContestPlayerMonIndex].moves[1]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &gContestMons[gContestPlayerMonIndex].moves[2]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &gContestMons[gContestPlayerMonIndex].moves[3]); } void sub_80AA754(struct Sprite *sprite) diff --git a/src/mori_debug_menu.c b/src/debug/mori_debug_menu.c index 4eadaa78b..1595ecd2e 100644 --- a/src/mori_debug_menu.c +++ b/src/debug/mori_debug_menu.c @@ -52,7 +52,7 @@ u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr) u16 monData; u16 var; - monData = GetMonData(gPlayerParty, 11, ptr); + monData = GetMonData(gPlayerParty, MON_DATA_SPECIES, ptr); var = sub_8041870(monData); StringCopy(localPtr, gSpeciesNames[monData]); StringAppend(localPtr, gUnknown_0839B24D); @@ -67,7 +67,7 @@ u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr) s8 MoriDebugMenu_Egg(void) { - if ( Daycare_CountPokemon(gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() ) + if ( Daycare_CountPokemon(&gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() ) sub_8041940(); CloseMenu(); @@ -76,7 +76,7 @@ s8 MoriDebugMenu_Egg(void) s8 MoriDebugMenu_MaleEgg(void) { - if ( Daycare_CountPokemon(gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() ) + if ( Daycare_CountPokemon(&gSaveBlock1.daycareData) == 2 && daycare_relationship_score_from_savegame() ) sub_8041950(); CloseMenu(); @@ -117,7 +117,7 @@ s8 MoriDebugMenu_BreedEgg(void) SetMonData(&gPlayerParty[loopCounter], MON_DATA_FRIENDSHIP, &friendship); } } - gSaveBlock1.filler_30B6 = -3; + gSaveBlock1.daycareData.misc.countersEtc.unk_11a = -3; CloseMenu(); return 1; } diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c new file mode 100644 index 000000000..14261b75e --- /dev/null +++ b/src/debug/sound_check_menu.c @@ -0,0 +1,1300 @@ +#include "global.h" +#include "sprite.h" +#include "palette.h" +#include "task.h" +#include "m4a.h" +#include "main.h" +#include "text.h" +#include "menu.h" +#include "songs.h" +#include "title_screen.h" +#include "sound.h" +#include "pokedex_cry_screen.h" + +// local task defines +#define tWindowSelected data[0] +#define tBgmIndex data[1] +#define tSeIndex data[2] + +// window selections +enum +{ + BGM_WINDOW, + SE_WINDOW +}; + +// driver test cry enums +enum +{ + CRY_TEST_VOICE, + CRY_TEST_VOLUME, + CRY_TEST_PANPOT, + CRY_TEST_PITCH, + CRY_TEST_LENGTH, + CRY_TEST_RELEASE, + CRY_TEST_PROGRESS, + CRY_TEST_CHORUS, + CRY_TEST_PRIORITY +}; + +// minmax range enums +enum +{ + MIN, + MAX +}; + +extern struct ToneData voicegroup_84537C0[]; +extern struct ToneData voicegroup_8452590[]; +extern struct ToneData voicegroup_8453DC0[]; +extern struct ToneData voicegroup_8452B90[]; +extern struct ToneData voicegroup_84543C0[]; +extern struct ToneData voicegroup_8453190[]; +extern struct ToneData voicegroup_84549C0[]; +extern struct ToneData voicegroup_8453790[]; + +static EWRAM_DATA u8 gUnknown_020387B0 = 0; +static EWRAM_DATA u8 gUnknown_020387B1 = 0; +static EWRAM_DATA u8 gUnknown_020387B2 = 0; +static EWRAM_DATA s8 sDriverTestSelection = 0; +static EWRAM_DATA int sSoundTestParams[9] = {0}; +static EWRAM_DATA u8 gUnknown_020387D8 = 0; +static EWRAM_DATA u8 gUnknown_020387D9 = 0; + +u16 gSoundTestCryNum; +extern u8 gUnknown_03005E98; + +struct MusicPlayerInfo *gUnknown_03005D30; + +extern struct MusicPlayerInfo gMPlay_BGM; + +void Task_InitSoundCheckMenu(u8); +void sub_80BA384(u8); +void sub_80BA65C(u8); +void sub_80BA68C(u8); +void HighlightSelectedWindow(u8); +void PrintSoundNumber(u16, u16, u16); +void sub_80BA79C(const u8 *const, u16, u16); +void Task_DrawDriverTestMenu(u8); +void Task_ProcessDriverTestInput(u8); +void AdjustSelectedDriverParam(s8); +void PrintDriverTestMenuText(void); +void sub_80BAE10(u8, u8); +void PrintSignedNumber(int, u16, u16, u8); +void sub_80BAF84(u8); +void sub_80BB038(u8); +void sub_80BB1D4(void); +void Task_InitCryTest(u8); +void Task_ProcessCryTestInput(u8); +void PrintCryNumber(void); + +void CB2_SoundCheckMenu(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void VBlankCB_SoundCheckMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + + if (gUnknown_020387B0 != 0) + { + m4aSoundMain(); + m4aSoundMain(); + m4aSoundMain(); + } +} + +// unused +void CB2_StartSoundCheckMenu(void) +{ + u8 taskId; + + SetVBlankCallback(NULL); + REG_DISPCNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + DmaFill16(3, 0, VRAM, VRAM_SIZE); + DmaFill32(3, 0, OAM, OAM_SIZE); + DmaFill16(3, 0, PLTT, PLTT_SIZE); + ResetPaletteFade(); + ResetTasks(); + ResetSpriteData(); + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitMenuWindow(&gWindowConfig_81E6CE4); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + REG_WIN0H = WIN_RANGE(0, 0); + REG_WIN0V = WIN_RANGE(0, 0); + REG_WIN1H = WIN_RANGE(0, 0); + REG_WIN1V = WIN_RANGE(0, 0); + REG_WININ = 0x1111; + REG_WINOUT = 0x31; + REG_BLDCNT = 0xE1; + REG_BLDALPHA = 0; + REG_BLDY = 7; + REG_IE = 1; // could be a typo of REG_IME + REG_IE |= 1; + REG_DISPSTAT |= 8; + SetVBlankCallback(VBlankCB_SoundCheckMenu); + SetMainCallback2(CB2_SoundCheckMenu); + REG_DISPCNT = 0x7140; + taskId = CreateTask(Task_InitSoundCheckMenu, 0); + gTasks[taskId].tWindowSelected = BGM_WINDOW; + gTasks[taskId].tBgmIndex = 0; + gTasks[taskId].tSeIndex = 0; + gTasks[taskId].data[3] = 0; + gUnknown_020387B0 = 0; + gTasks[taskId].data[3] = 0; // why? + m4aSoundInit(); +} + +void Task_InitSoundCheckMenu(u8 taskId) +{ + u8 soundcheckStr[] = _("サウンドチェック"); + u8 bgmStr[] = _("BGM"); + u8 seStr[] = _("SE "); + u8 abDescStr[] = _("A‥さいせい B‥おわり"); + u8 upDownStr[] = _("L‥UP R‥DOWN"); + u8 driverStr[] = _("R‥DRIVER-TEST"); + + if (!gPaletteFade.active) + { + MenuDrawTextWindow(2, 0, 27, 3); + MenuDrawTextWindow(2, 5, 27, 10); + MenuDrawTextWindow(2, 12, 27, 17); + MenuPrint(soundcheckStr, 4, 1); + MenuPrint(abDescStr, 14, 1); + MenuPrint(bgmStr, 4, 6); + MenuPrint(upDownStr, 14, 6); + MenuPrint(seStr, 4, 13); + MenuPrint(upDownStr, 14, 13); + MenuPrint(driverStr, 14, 18); + gTasks[taskId].func = sub_80BA384; + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(1, 31); + } +} + +// ideally this should be a multi Coords8 struct, but it wont match when its treated like a struct. +static const u8 gUnknown_083D0300[] = { 1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17 }; + +extern const u8 *const gBGMNames[]; +extern const u8 *const gSENames[]; + +void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText +{ + HighlightSelectedWindow(gTasks[taskId].tWindowSelected); + PrintSoundNumber(gTasks[taskId].tBgmIndex + BGM_STOP, 7, 8); // print by BGM index + sub_80BA79C(gBGMNames[gTasks[taskId].tBgmIndex], 11, 8); + PrintSoundNumber(gTasks[taskId].tSeIndex, 7, 15); + sub_80BA79C(gSENames[gTasks[taskId].tSeIndex], 11, 15); + gTasks[taskId].func = sub_80BA65C; +} + +bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) +{ + if (gMain.newKeys & R_BUTTON) // driver test + { + gTasks[taskId].func = Task_DrawDriverTestMenu; + } + else if (gMain.newKeys & L_BUTTON) + { + gTasks[taskId].func = sub_80BAF84; + } + else if (gMain.newKeys & START_BUTTON) + { + gTasks[taskId].func = Task_InitCryTest; + } + else if (gMain.newKeys & A_BUTTON) + { + if (gTasks[taskId].tWindowSelected != 0) // is playing? + { + if (gTasks[taskId].data[4] != 0) + { + if (gTasks[taskId].tSeIndex != 0) + { + m4aSongNumStop(gTasks[taskId].data[4]); + m4aSongNumStart(gTasks[taskId].tSeIndex); + gTasks[taskId].data[4] = gTasks[taskId].tSeIndex; + } + else + { + m4aSongNumStop(gTasks[taskId].data[4]); + gTasks[taskId].data[4] = 0; + } + } + else if (gTasks[taskId].tSeIndex != 0) + { + m4aSongNumStart(gTasks[taskId].tSeIndex); + gTasks[taskId].data[4] = gTasks[taskId].tSeIndex; + } + } + else + { + if (gTasks[taskId].data[3] != 0) + { + if (gTasks[taskId].tBgmIndex != 0) + { + m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP); + m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP); + gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex; + } + else + { + m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP); + gTasks[taskId].data[3] = 0; + } + } + else if (gTasks[taskId].tBgmIndex != 0) + { + m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP); + gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex; + } + } + } + else if (gMain.newKeys & B_BUTTON) + { + m4aSongNumStart(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_80BA68C; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + gTasks[taskId].tWindowSelected ^= 1; + return TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + gTasks[taskId].tWindowSelected ^= 1; + return TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gTasks[taskId].tWindowSelected != 0) + { + if (gTasks[taskId].tSeIndex > 0) + gTasks[taskId].tSeIndex--; + else + gTasks[taskId].tSeIndex = 247; + } + else + { + if (gTasks[taskId].tBgmIndex > 0) + gTasks[taskId].tBgmIndex--; + else + gTasks[taskId].tBgmIndex = 117; + } + return TRUE; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gTasks[taskId].tWindowSelected != 0) + { + if (gTasks[taskId].tSeIndex < 247) + gTasks[taskId].tSeIndex++; + else + gTasks[taskId].tSeIndex = 0; + } + else + { + if (gTasks[taskId].tBgmIndex < 117) + gTasks[taskId].tBgmIndex++; + else + gTasks[taskId].tBgmIndex = 0; + } + return TRUE; + } + else if (gMain.heldKeys & SELECT_BUTTON) + { + gUnknown_020387B0 = 1; + } + else + { + gUnknown_020387B0 = 0; + } + return FALSE; +} + +void sub_80BA65C(u8 taskId) +{ + if (Task_ProcessSoundCheckMenuInput(taskId) != FALSE) + gTasks[taskId].func = sub_80BA384; +} + +void sub_80BA68C(u8 taskId) +{ + if (!gPaletteFade.active) + { + DestroyTask(taskId); + SetMainCallback2(CB2_InitTitleScreen); + } +} + +void HighlightSelectedWindow(u8 windowType) +{ + switch (windowType) + { + case BGM_WINDOW: + default: + REG_WIN1H = WIN_RANGE(17, 223); + REG_WIN1V = WIN_RANGE(41, 87); + break; + case SE_WINDOW: + REG_WIN1H = WIN_RANGE(17, 223); + REG_WIN1V = WIN_RANGE(97, 143); + break; + } +} + +void PrintSoundNumber(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ? +{ + u8 i; + u8 str[5]; + bool8 someBool; + u8 divisorValue; + + for (i = 0; i < 3; i++) + str[i] = 0; // initialize array + + str[3] = CHAR_ELLIPSIS; + str[4] = EOS; + someBool = FALSE; + + divisorValue = soundIndex / 100; + if (divisorValue) + { + str[0] = divisorValue + CHAR_0; + someBool = TRUE; + } + + divisorValue = (soundIndex % 100) / 10; + if (divisorValue || someBool) + str[1] = divisorValue + CHAR_0; + + str[2] = ((soundIndex % 100) % 10) + CHAR_0; + MenuPrint(str, x, y); +} + +void sub_80BA79C(const u8 *const string, u16 x, u16 y) +{ + u8 i; + u8 str[11]; + + for (i = 0; i <= 10; i++) + str[i] = 0; // format string. + + str[10] = EOS; // the above for loop formats the last element of the array unnecessarily. + + for (i = 0; string[i] != EOS && i < 10; i++) + str[i] = string[i]; + + MenuPrint(str, x, y); +} + +void Task_DrawDriverTestMenu(u8 taskId) // Task_DrawDriverTestMenu +{ + u8 bbackStr[] = _("Bぼたんで もどる"); + u8 aplayStr[] = _("Aぼたんで さいせい"); + u8 voiceStr[] = _("VOICE‥‥‥‥"); + u8 volumeStr[] = _("VOLUME‥‥‥"); + u8 panpotStr[] = _("PANPOT‥‥‥"); + u8 pitchStr[] = _("PITCH‥‥‥‥"); + u8 lengthStr[] = _("LENGTH‥‥‥"); + u8 releaseStr[] = _("RELEASE‥‥"); + u8 progressStr[] = _("PROGRESS‥"); + u8 chorusStr[] = _("CHORUS‥‥‥"); + u8 priorityStr[] = _("PRIORITY‥"); + u8 playingStr[] = _("さいせいちゆう‥"); // 再生中 (playing) + u8 reverseStr[] = _("はんてん‥‥‥‥"); // 反転 (reverse) + u8 stereoStr[] = _("すてれお‥‥‥‥"); // stereo + + REG_DISPCNT = 0x3140; + MenuDrawTextWindow(0, 0, 29, 19); + MenuPrint(bbackStr, 19, 4); + MenuPrint(aplayStr, 19, 2); + MenuPrint(voiceStr, 2, 1); + MenuPrint(volumeStr, 2, 3); + MenuPrint(panpotStr, 2, 5); + MenuPrint(pitchStr, 2, 7); + MenuPrint(lengthStr, 2, 9); + MenuPrint(releaseStr, 2, 11); + MenuPrint(progressStr, 2, 13); + MenuPrint(chorusStr, 2, 15); + MenuPrint(priorityStr, 2, 17); + MenuPrint(playingStr, 19, 16); + MenuPrint(reverseStr, 19, 14); + MenuPrint(stereoStr, 19, 12); + REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH); + REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT); + sDriverTestSelection = 0; + gUnknown_020387B1 = 0; + gUnknown_020387B2 = 0; + gUnknown_03005D30 = NULL; + gUnknown_020387D8 = 0; + gUnknown_020387D9 = 1; + sSoundTestParams[CRY_TEST_VOICE] = 0; + sSoundTestParams[CRY_TEST_VOLUME] = 120; + sSoundTestParams[CRY_TEST_PANPOT] = 0; + sSoundTestParams[CRY_TEST_PITCH] = 15360; + sSoundTestParams[CRY_TEST_LENGTH] = 180; + sSoundTestParams[CRY_TEST_PROGRESS] = 0; + sSoundTestParams[CRY_TEST_RELEASE] = 0; + sSoundTestParams[CRY_TEST_CHORUS] = 0; + sSoundTestParams[CRY_TEST_PRIORITY] = 2; + PrintDriverTestMenuText(); + sub_80BAE10(0, 0); + gTasks[taskId].func = Task_ProcessDriverTestInput; +} + +void Task_ProcessDriverTestInput(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + REG_DISPCNT = 0x7140; + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(1, 31); + MenuZeroFillWindowRect(0, 0, 29, 19); + gTasks[taskId].func = Task_InitSoundCheckMenu; + return; + } + if (gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8 + { + u8 old = sDriverTestSelection; + + if(--sDriverTestSelection < 0) + sDriverTestSelection = 8; + sub_80BAE10(old, sDriverTestSelection); + return; + } + if (gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0 + { + u8 old = sDriverTestSelection; + + if(++sDriverTestSelection > 8) + sDriverTestSelection = 0; + sub_80BAE10(old, sDriverTestSelection); + return; + } + if (gMain.newKeys & START_BUTTON) // _080BAAF8 + { + gUnknown_020387D8 ^= 1; + PrintDriverTestMenuText(); + return; + } + if (gMain.newKeys & SELECT_BUTTON) // _080BAB14 + { + gUnknown_020387D9 ^= 1; + PrintDriverTestMenuText(); + SetPokemonCryStereo(gUnknown_020387D9); + return; + } + if (gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38 + { + AdjustSelectedDriverParam(10); + PrintDriverTestMenuText(); + return; + } + if (gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46 + { + AdjustSelectedDriverParam(-10); + PrintDriverTestMenuText(); + return; + } + if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56 + { + AdjustSelectedDriverParam(-1); + PrintDriverTestMenuText(); + return; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64 + { + AdjustSelectedDriverParam(1); + PrintDriverTestMenuText(); + return; + } + if (gMain.newKeys & A_BUTTON) // _080BAB78 + { + u8 divide, remaining; + + SetPokemonCryVolume(sSoundTestParams[CRY_TEST_VOLUME]); + SetPokemonCryPanpot(sSoundTestParams[CRY_TEST_PANPOT]); + SetPokemonCryPitch(sSoundTestParams[CRY_TEST_PITCH]); + SetPokemonCryLength(sSoundTestParams[CRY_TEST_LENGTH]); + SetPokemonCryProgress(sSoundTestParams[CRY_TEST_PROGRESS]); + SetPokemonCryRelease(sSoundTestParams[CRY_TEST_RELEASE]); + SetPokemonCryChorus(sSoundTestParams[CRY_TEST_CHORUS]); + SetPokemonCryPriority(sSoundTestParams[CRY_TEST_PRIORITY]); + + remaining = sSoundTestParams[CRY_TEST_VOICE] % 128; + divide = sSoundTestParams[CRY_TEST_VOICE] / 128; + + switch (divide) + { + case 0: + if (gUnknown_020387D8) + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84537C0[remaining]); + else + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452590[remaining]); + break; + case 1: + if (gUnknown_020387D8) + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453DC0[remaining]); + else + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452B90[remaining]); + break; + case 2: + if (gUnknown_020387D8) + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84543C0[remaining]); + else + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453190[remaining]); + break; + case 3: + if (gUnknown_020387D8) + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84549C0[remaining]); + else + gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453790[remaining]); + break; + } + } + + // _080BACA2 + if (gUnknown_03005D30 != NULL) + { + gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30); + + if (gUnknown_020387B1 != gUnknown_020387B2) + PrintDriverTestMenuText(); + + gUnknown_020387B2 = gUnknown_020387B1; + } +} + +void AdjustSelectedDriverParam(s8 delta) +{ + // also ideally should be a MinMax struct, but any attempt to make this into a struct causes it to not match due to the weird multi dim access. + int paramRanges[] = + { + 0, 387, // Voice + 0, 127, // Volume + -127, 127, // Panpot + -128, 32639, // Pitch + 0, 65535, // Length + 0, 255, // Release + 0, 65535, // Progress + -64, 63 // Chorus + // Priority??? Why is it missing? + }; + + sSoundTestParams[sDriverTestSelection] += delta; + + if (sSoundTestParams[sDriverTestSelection] > paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)]) + sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)]; + + if (sSoundTestParams[sDriverTestSelection] < paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)]) + sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)]; +} + +void PrintDriverTestMenuText(void) +{ + PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE] + 1, 11, 1, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_VOLUME], 11, 3, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_PANPOT], 11, 5, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_PITCH], 11, 7, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_LENGTH], 11, 9, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_RELEASE], 11, 11, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_PROGRESS], 11, 13, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_CHORUS], 11, 15, 5); + PrintSignedNumber(sSoundTestParams[CRY_TEST_PRIORITY], 11, 17, 5); + PrintSignedNumber(gUnknown_020387B1, 27, 16, 1); + PrintSignedNumber(gUnknown_020387D8, 27, 14, 1); + PrintSignedNumber(gUnknown_020387D9, 27, 12, 1); +} + +void sub_80BAE10(u8 var1, u8 var2) +{ + u8 str1[] = _("▶"); + u8 str2[] = _(" "); + + MenuPrint(str2, gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 1)]); + MenuPrint(str1, gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 1)]); +} + +void PrintSignedNumber(int n, u16 x, u16 y, u8 digits) +{ + int powersOfTen[6] = + { + 1, + 10, + 100, + 1000, + 10000, + 100000 + }; + u8 str[8]; + s8 i; + s8 negative; + s8 someVar2; + + for (i = 0; i <= digits; i++) + str[i] = CHAR_SPACE; + str[digits + 1] = EOS; + + negative = FALSE; + if (n < 0) + { + n = -n; + negative = TRUE; + } + + if (digits == 1) + someVar2 = TRUE; + else + someVar2 = FALSE; + + for (i = digits - 1; i >= 0; i--) + { + s8 d = n / powersOfTen[i]; + + if (d != 0 || someVar2 || i == 0) + { + if (negative && !someVar2) + str[digits - i - 1] = CHAR_HYPHEN; + str[digits - i] = CHAR_0 + d; + someVar2 = TRUE; + } + n %= powersOfTen[i]; + } + + MenuPrint(str, x, y); +} + +static const s8 gUnknown_083D03F8[5] = { 0x3F, 0x00, 0xC0, 0x7F, 0x80 }; + +void sub_80BAF84(u8 taskId) +{ + u8 seStr[] = _("SE"); + u8 panStr[] = _("PAN"); + u8 playingStr[] = _("さいせいちゆう‥"); + + REG_DISPCNT = 0x3140; + MenuDrawTextWindow(0, 0, 29, 19); + MenuPrint(seStr, 3, 2); + MenuPrint(panStr, 3, 4); + MenuPrint(playingStr, 3, 8); + REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH); + REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT); + sSoundTestParams[CRY_TEST_VOICE] = 1; + sSoundTestParams[CRY_TEST_PANPOT] = 0; + sSoundTestParams[CRY_TEST_CHORUS] = 0; + sSoundTestParams[CRY_TEST_PROGRESS] = 0; + sSoundTestParams[CRY_TEST_RELEASE] = 0; + sub_80BB1D4(); + gTasks[taskId].func = sub_80BB038; +} + +void sub_80BB038(u8 taskId) +{ + sub_80BB1D4(); + if (sSoundTestParams[CRY_TEST_PROGRESS]) + { + if (sSoundTestParams[CRY_TEST_RELEASE]) + { + sSoundTestParams[CRY_TEST_RELEASE]--; + } + else // _080BB05C + { + s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]]; + if (panpot != -128) + { + if (panpot == 127) + { + sSoundTestParams[CRY_TEST_CHORUS] += 2; + if (sSoundTestParams[CRY_TEST_CHORUS] < 63) + SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]); + } + } + else // _080BB08C + { + sSoundTestParams[CRY_TEST_CHORUS] -= 2; + if (sSoundTestParams[CRY_TEST_CHORUS] > -64) + SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]); + } + } + } + // _080BB0A2 + if (gMain.newKeys & B_BUTTON) + { + REG_DISPCNT = 0x7140; + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(1, 31); + MenuZeroFillWindowRect(0, 0, 29, 19); + gTasks[taskId].func = Task_InitSoundCheckMenu; + return; + } + if (gMain.newKeys & A_BUTTON) // _080BB104 + { + s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]]; + if (panpot != -128) + { + if (panpot == 127) + { + PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], -64); + sSoundTestParams[CRY_TEST_CHORUS] = -64; + sSoundTestParams[CRY_TEST_PROGRESS] = 1; + sSoundTestParams[CRY_TEST_RELEASE] = 30; + return; + } + } + else // _080BB140 + { + PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], 63); + sSoundTestParams[CRY_TEST_CHORUS] = 63; + sSoundTestParams[CRY_TEST_PROGRESS] = 1; + sSoundTestParams[CRY_TEST_RELEASE] = 30; + return; + } + // _080BB154 + PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], panpot); + sSoundTestParams[CRY_TEST_PROGRESS] = 0; + return; + } + if (gMain.newKeys & L_BUTTON) // _080BB15E + { + sSoundTestParams[CRY_TEST_PANPOT]++; + if (sSoundTestParams[CRY_TEST_PANPOT] > 4) + sSoundTestParams[CRY_TEST_PANPOT] = 0; + } + if (gMain.newKeys & R_BUTTON) // _080BB176 + { + sSoundTestParams[CRY_TEST_PANPOT]--; + if (sSoundTestParams[CRY_TEST_PANPOT] < 0) + sSoundTestParams[CRY_TEST_PANPOT] = 4; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192 + { + sSoundTestParams[CRY_TEST_VOICE]++; + if (sSoundTestParams[CRY_TEST_VOICE] > 247) + sSoundTestParams[CRY_TEST_VOICE] = 0; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0 + { + sSoundTestParams[CRY_TEST_VOICE]--; + if (sSoundTestParams[CRY_TEST_VOICE] < 0) + sSoundTestParams[CRY_TEST_VOICE] = 247; + } +} + +void sub_80BB1D4(void) +{ + u8 lrStr[] = _(" LR"); + u8 rlStr[] = _(" RL"); + + PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE], 7, 2, 3); + + switch (gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]]) + { + case 127: + MenuPrint(lrStr, 7, 4); + break; + case -128: + MenuPrint(rlStr, 7, 4); + break; + default: + PrintSignedNumber(gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]], 7, 4, 3); + break; + } + PrintSignedNumber(IsSEPlaying(), 12, 8, 1); +} + +#define SOUND_LIST_BGM \ + X(BGM_STOP, "STOP") \ + X(BGM_TETSUJI, "TETSUJI") \ + X(BGM_FIELD13, "FIELD13") \ + X(BGM_KACHI22, "KACHI22") \ + X(BGM_KACHI2, "KACHI2") \ + X(BGM_KACHI3, "KACHI3") \ + X(BGM_KACHI5, "KACHI5") \ + X(BGM_PCC, "PCC") \ + X(BGM_NIBI, "NIBI") \ + X(BGM_SUIKUN, "SUIKUN") \ + X(BGM_DOORO1, "DOORO1") \ + X(BGM_DOORO_X1, "DOORO-X1") \ + X(BGM_DOORO_X3, "DOORO-X3") \ + X(BGM_MACHI_S2, "MACHI-S2") \ + X(BGM_MACHI_S4, "MACHI-S4") \ + X(BGM_GIM, "GIM") \ + X(BGM_NAMINORI, "NAMINORI") \ + X(BGM_DAN01, "DAN01") \ + X(BGM_FANFA1, "FANFA1") \ + X(BGM_ME_ASA, "ME-ASA") \ + X(BGM_ME_BACHI, "ME-BACHI") \ + X(BGM_FANFA4, "FANFA4") \ + X(BGM_FANFA5, "FANFA5") \ + X(BGM_ME_WAZA, "ME-WAZA") \ + X(BGM_BIJYUTU, "BIJYUTU") \ + X(BGM_DOORO_X4, "DOORO-X4") \ + X(BGM_FUNE_KAN, "FUNE-KAN") \ + X(BGM_ME_SHINKA, "ME-SHINKA") \ + X(BGM_SHINKA, "SHINKA") \ + X(BGM_ME_WASURE, "ME-WASURE") \ + X(BGM_SYOUJOEYE, "SYOUJOEYE") \ + X(BGM_BOYEYE, "BOYEYE") \ + X(BGM_DAN02, "DAN02") \ + X(BGM_MACHI_S3, "MACHI-S3") \ + X(BGM_ODAMAKI, "ODAMAKI") \ + X(BGM_B_TOWER, "B-TOWER") \ + X(BGM_SWIMEYE, "SWIMEYE") \ + X(BGM_DAN03, "DAN03") \ + X(BGM_ME_KINOMI, "ME-KINOMI") \ + X(BGM_ME_TAMA, "ME-TAMA") \ + X(BGM_ME_B_BIG, "ME-B-BIG") \ + X(BGM_ME_B_SMALL, "ME-B-SMALL") \ + X(BGM_ME_ZANNEN, "ME-ZANNEN") \ + X(BGM_BD_TIME, "BD-TIME") \ + X(BGM_TEST1, "TEST1") \ + X(BGM_TEST2, "TEST2") \ + X(BGM_TEST3, "TEST3") \ + X(BGM_TEST4, "TEST4") \ + X(BGM_TEST, "TEST") \ + X(BGM_GOMACHI0, "GOMACHI0") \ + X(BGM_GOTOWN, "GOTOWN") \ + X(BGM_POKECEN, "POKECEN") \ + X(BGM_NEXTROAD, "NEXTROAD") \ + X(BGM_GRANROAD, "GRANROAD") \ + X(BGM_CYCLING, "CYCLING") \ + X(BGM_FRIENDLY, "FRIENDLY") \ + X(BGM_MISHIRO, "MISHIRO") \ + X(BGM_TOZAN, "TOZAN") \ + X(BGM_GIRLEYE, "GIRLEYE") \ + X(BGM_MINAMO, "MINAMO") \ + X(BGM_ASHROAD, "ASHROAD") \ + X(BGM_EVENT0, "EVENT0") \ + X(BGM_DEEPDEEP, "DEEPDEEP") \ + X(BGM_KACHI1, "KACHI1") \ + X(BGM_TITLE3, "TITLE3") \ + X(BGM_DEMO1, "DEMO1") \ + X(BGM_GIRL_SUP, "GIRL-SUP") \ + X(BGM_HAGESHII, "HAGESHII") \ + X(BGM_KAKKOII, "KAKKOII") \ + X(BGM_KAZANBAI, "KAZANBAI") \ + X(BGM_AQA_0, "AQA-0") \ + X(BGM_TSURETEK, "TSURETEK") \ + X(BGM_BOY_SUP, "BOY-SUP") \ + X(BGM_RAINBOW, "RAINBOW") \ + X(BGM_AYASII, "AYASII") \ + X(BGM_KACHI4, "KACHI4") \ + X(BGM_ROPEWAY, "ROPEWAY") \ + X(BGM_CASINO, "CASINO") \ + X(BGM_HIGHTOWN, "HIGHTOWN") \ + X(BGM_SAFARI, "SAFARI") \ + X(BGM_C_ROAD, "C-ROAD") \ + X(BGM_AJITO, "AJITO") \ + X(BGM_M_BOAT, "M-BOAT") \ + X(BGM_M_DUNGON, "M-DUNGON") \ + X(BGM_FINECITY, "FINECITY") \ + X(BGM_MACHUPI, "MACHUPI") \ + X(BGM_P_SCHOOL, "P-SCHOOL") \ + X(BGM_DENDOU, "DENDOU") \ + X(BGM_TONEKUSA, "TONEKUSA") \ + X(BGM_MABOROSI, "MABOROSI") \ + X(BGM_CON_FAN, "CON-FAN") \ + X(BGM_CONTEST0, "CONTEST0") \ + X(BGM_MGM0, "MGM0") \ + X(BGM_T_BATTLE, "T-BATTLE") \ + X(BGM_OOAME, "OOAME") \ + X(BGM_HIDERI, "HIDERI") \ + X(BGM_RUNECITY, "RUNECITY") \ + X(BGM_CON_K, "CON-K") \ + X(BGM_EIKOU_R, "EIKOU-R") \ + X(BGM_KARAKURI, "KARAKURI") \ + X(BGM_HUTAGO, "HUTAGO") \ + X(BGM_SITENNOU, "SITENNOU") \ + X(BGM_YAMA_EYE, "YAMA-EYE") \ + X(BGM_CONLOBBY, "CONLOBBY") \ + X(BGM_INTER_V, "INTER-V") \ + X(BGM_DAIGO, "DAIGO") \ + X(BGM_THANKFOR, "THANKFOR") \ + X(BGM_END, "END") \ + X(BGM_BATTLE27, "BATTLE27") \ + X(BGM_BATTLE31, "BATTLE31") \ + X(BGM_BATTLE20, "BATTLE20") \ + X(BGM_BATTLE32, "BATTLE32") \ + X(BGM_BATTLE33, "BATTLE33") \ + X(BGM_BATTLE36, "BATTLE36") \ + X(BGM_BATTLE34, "BATTLE34") \ + X(BGM_BATTLE35, "BATTLE35") \ + X(BGM_BATTLE38, "BATTLE38") \ + X(BGM_BATTLE30, "BATTLE30") + +#define SOUND_LIST_SE \ + X(SE_STOP, "STOP") \ + X(SE_KAIFUKU, "KAIFUKU") \ + X(SE_PC_LOGON, "PC-LOGON") \ + X(SE_PC_OFF, "PC-OFF") \ + X(SE_PC_ON, "PC-ON") \ + X(SE_SELECT, "SELECT") \ + X(SE_WIN_OPEN, "WIN-OPEN") \ + X(SE_WALL_HIT, "WALL-HIT") \ + X(SE_DOOR, "DOOR") \ + X(SE_KAIDAN, "KAIDAN") \ + X(SE_DANSA, "DANSA") \ + X(SE_JITENSYA, "JITENSYA") \ + X(SE_KOUKA_L, "KOUKA-L") \ + X(SE_KOUKA_M, "KOUKA-M") \ + X(SE_KOUKA_H, "KOUKA-H") \ + X(SE_BOWA2, "BOWA2") \ + X(SE_POKE_DEAD, "POKE-DEAD") \ + X(SE_NIGERU, "NIGERU") \ + X(SE_JIDO_DOA, "JIDO-DOA") \ + X(SE_NAMINORI, "NAMINORI") \ + X(SE_BAN, "BAN") \ + X(SE_PIN, "PIN") \ + X(SE_BOO, "BOO") \ + X(SE_BOWA, "BOWA") \ + X(SE_JYUNI, "JYUNI") \ + X(SE_A, "A") \ + X(SE_I, "I") \ + X(SE_U, "U") \ + X(SE_E, "E") \ + X(SE_O, "O") \ + X(SE_N, "N") \ + X(SE_SEIKAI, "SEIKAI") \ + X(SE_HAZURE, "HAZURE") \ + X(SE_EXP, "EXP") \ + X(SE_JITE_PYOKO, "JITE-PYOKO") \ + X(SE_MU_PACHI, "MU-PACHI") \ + X(SE_TK_KASYA, "TK-KASYA") \ + X(SE_FU_ZAKU, "FU-ZAKU") \ + X(SE_FU_ZAKU2, "FU-ZAKU2") \ + X(SE_FU_ZUZUZU, "FU-ZUZUZU") \ + X(SE_RU_GASHIN, "RU-GASHIN") \ + X(SE_RU_GASYAN, "RU-GASYAN") \ + X(SE_RU_BARI, "RU-BARI") \ + X(SE_RU_HYUU, "RU-HYUU") \ + X(SE_KI_GASYAN, "KI-GASYAN") \ + X(SE_TK_WARPIN, "TK-WARPIN") \ + X(SE_TK_WARPOUT, "TK-WARPOUT") \ + X(SE_TU_SAA, "TU-SAA") \ + X(SE_HI_TURUN, "HI-TURUN") \ + X(SE_TRACK_MOVE, "TRACK-MOVE") \ + X(SE_TRACK_STOP, "TRACK-STOP") \ + X(SE_TRACK_HAIK, "TRACK-HAIK") \ + X(SE_TRACK_DOOR, "TRACK-DOOR") \ + X(SE_MOTER, "MOTER") \ + X(SE_CARD, "CARD") \ + X(SE_SAVE, "SAVE") \ + X(SE_KON, "KON") \ + X(SE_KON2, "KON2") \ + X(SE_KON3, "KON3") \ + X(SE_KON4, "KON4") \ + X(SE_SUIKOMU, "SUIKOMU") \ + X(SE_NAGERU, "NAGERU") \ + X(SE_TOY_C, "TOY-C") \ + X(SE_TOY_D, "TOY-D") \ + X(SE_TOY_E, "TOY-E") \ + X(SE_TOY_F, "TOY-F") \ + X(SE_TOY_G, "TOY-G") \ + X(SE_TOY_A, "TOY-A") \ + X(SE_TOY_B, "TOY-B") \ + X(SE_TOY_C1, "TOY-C1") \ + X(SE_MIZU, "MIZU") \ + X(SE_HASHI, "HASHI") \ + X(SE_DAUGI, "DAUGI") \ + X(SE_PINPON, "PINPON") \ + X(SE_FUUSEN1, "FUUSEN1") \ + X(SE_FUUSEN2, "FUUSEN2") \ + X(SE_FUUSEN3, "FUUSEN3") \ + X(SE_TOY_KABE, "TOY-KABE") \ + X(SE_TOY_DANGO, "TOY-DANGO") \ + X(SE_DOKU, "DOKU") \ + X(SE_ESUKA, "ESUKA") \ + X(SE_T_AME, "T-AME") \ + X(SE_T_AME_E, "T-AME-E") \ + X(SE_T_OOAME, "T-OOAME") \ + X(SE_T_OOAME_E, "T-OOAME-E") \ + X(SE_T_KOAME, "T-KOAME") \ + X(SE_T_KOAME_E, "T-KOAME-E") \ + X(SE_T_KAMI, "T-KAMI") \ + X(SE_T_KAMI2, "T-KAMI2") \ + X(SE_ELEBETA, "ELEBETA") \ + X(SE_HINSI, "HINSI") \ + X(SE_EXPMAX, "EXPMAX") \ + X(SE_TAMAKORO, "TAMAKORO") \ + X(SE_TAMAKORO_E, "TAMAKORO-E") \ + X(SE_BASABASA, "BASABASA") \ + X(SE_REGI, "REGI") \ + X(SE_C_GAJI, "C-GAJI") \ + X(SE_C_MAKU_U, "C-MAKU-U") \ + X(SE_C_MAKU_D, "C-MAKU-D") \ + X(SE_C_PASI, "C-PASI") \ + X(SE_C_SYU, "C-SYU") \ + X(SE_C_PIKON, "C-PIKON") \ + X(SE_REAPOKE, "REAPOKE") \ + X(SE_OP_BASYU, "OP-BASYU") \ + X(SE_BT_START, "BT-START") \ + X(SE_DENDOU, "DENDOU") \ + X(SE_JIHANKI, "JIHANKI") \ + X(SE_TAMA, "TAMA") \ + X(SE_Z_SCROLL, "Z-SCROLL") \ + X(SE_Z_PAGE, "Z-PAGE") \ + X(SE_PN_ON, "PN-ON") \ + X(SE_PN_OFF, "PN-OFF") \ + X(SE_Z_SEARCH, "Z-SEARCH") \ + X(SE_TAMAGO, "TAMAGO") \ + X(SE_TB_START, "TB-START") \ + X(SE_TB_KON, "TB-KON") \ + X(SE_TB_KARA, "TB-KARA") \ + X(SE_BIDORO, "BIDORO") \ + X(SE_W085, "W085") \ + X(SE_W085B, "W085B") \ + X(SE_W231, "W231") \ + X(SE_W171, "W171") \ + X(SE_W233, "W233") \ + X(SE_W233B, "W233B") \ + X(SE_W145, "W145") \ + X(SE_W145B, "W145B") \ + X(SE_W145C, "W145C") \ + X(SE_W240, "W240") \ + X(SE_W015, "W015") \ + X(SE_W081, "W081") \ + X(SE_W081B, "W081B") \ + X(SE_W088, "W088") \ + X(SE_W016, "W016") \ + X(SE_W016B, "W016B") \ + X(SE_W003, "W003") \ + X(SE_W104, "W104") \ + X(SE_W013, "W013") \ + X(SE_W196, "W196") \ + X(SE_W086, "W086") \ + X(SE_W004, "W004") \ + X(SE_W025, "W025") \ + X(SE_W025B, "W025B") \ + X(SE_W152, "W152") \ + X(SE_W026, "W026") \ + X(SE_W172, "W172") \ + X(SE_W172B, "W172B") \ + X(SE_W053, "W053") \ + X(SE_W007, "W007") \ + X(SE_W092, "W092") \ + X(SE_W221, "W221") \ + X(SE_W221B, "W221B") \ + X(SE_W052, "W052") \ + X(SE_W036, "W036") \ + X(SE_W059, "W059") \ + X(SE_W059B, "W059B") \ + X(SE_W010, "W010") \ + X(SE_W011, "W011") \ + X(SE_W017, "W017") \ + X(SE_W019, "W019") \ + X(SE_W028, "W028") \ + X(SE_W013B, "W013B") \ + X(SE_W044, "W044") \ + X(SE_W029, "W029") \ + X(SE_W057, "W057") \ + X(SE_W056, "W056") \ + X(SE_W250, "W250") \ + X(SE_W030, "W030") \ + X(SE_W039, "W039") \ + X(SE_W054, "W054") \ + X(SE_W077, "W077") \ + X(SE_W020, "W020") \ + X(SE_W082, "W082") \ + X(SE_W047, "W047") \ + X(SE_W195, "W195") \ + X(SE_W006, "W006") \ + X(SE_W091, "W091") \ + X(SE_W146, "W146") \ + X(SE_W120, "W120") \ + X(SE_W153, "W153") \ + X(SE_W071B, "W071B") \ + X(SE_W071, "W071") \ + X(SE_W103, "W103") \ + X(SE_W062, "W062") \ + X(SE_W062B, "W062B") \ + X(SE_W048, "W048") \ + X(SE_W187, "W187") \ + X(SE_W118, "W118") \ + X(SE_W155, "W155") \ + X(SE_W122, "W122") \ + X(SE_W060, "W060") \ + X(SE_W185, "W185") \ + X(SE_W014, "W014") \ + X(SE_W043, "W043") \ + X(SE_W207, "W207") \ + X(SE_W207B, "W207B") \ + X(SE_W215, "W215") \ + X(SE_W109, "W109") \ + X(SE_W173, "W173") \ + X(SE_W280, "W280") \ + X(SE_W202, "W202") \ + X(SE_W060B, "W060B") \ + X(SE_W076, "W076") \ + X(SE_W080, "W080") \ + X(SE_W100, "W100") \ + X(SE_W107, "W107") \ + X(SE_W166, "W166") \ + X(SE_W129, "W129") \ + X(SE_W115, "W115") \ + X(SE_W112, "W112") \ + X(SE_W197, "W197") \ + X(SE_W199, "W199") \ + X(SE_W236, "W236") \ + X(SE_W204, "W204") \ + X(SE_W268, "W268") \ + X(SE_W070, "W070") \ + X(SE_W063, "W063") \ + X(SE_W127, "W127") \ + X(SE_W179, "W179") \ + X(SE_W151, "W151") \ + X(SE_W201, "W201") \ + X(SE_W161, "W161") \ + X(SE_W161B, "W161B") \ + X(SE_W227, "W227") \ + X(SE_W227B, "W227B") \ + X(SE_W226, "W226") \ + X(SE_W208, "W208") \ + X(SE_W213, "W213") \ + X(SE_W213B, "W213B") \ + X(SE_W234, "W234") \ + X(SE_W260, "W260") \ + X(SE_W328, "W328") \ + X(SE_W320, "W320") \ + X(SE_W255, "W255") \ + X(SE_W291, "W291") \ + X(SE_W089, "W089") \ + X(SE_W239, "W239") \ + X(SE_W230, "W230") \ + X(SE_W281, "W281") \ + X(SE_W327, "W327") \ + X(SE_W287, "W287") \ + X(SE_W257, "W257") \ + X(SE_W253, "W253") \ + X(SE_W258, "W258") \ + X(SE_W322, "W322") \ + X(SE_W298, "W298") \ + X(SE_W287B, "W287B") \ + X(SE_W114, "W114") \ + X(SE_W063B, "W063B") + +// Create BGM list +#define X(songId, name) static const u8 sBGMName_##songId[] = _(name); +SOUND_LIST_BGM +#undef X + +#define X(songId, name) sBGMName_##songId, +static const u8 *const gBGMNames[] = +{ +SOUND_LIST_BGM +}; +#undef X + +// Create SE list +#define X(songId, name) static const u8 sSEName_##songId[] = _(name); +SOUND_LIST_SE +#undef X + +#define X(songId, name) sSEName_##songId, +static const u8 *const gSENames[] = +{ +SOUND_LIST_SE +}; +#undef X + +void Task_InitCryTest(u8 taskId) +{ + struct CryRelatedStruct cryStruct, cryStruct2; + u8 zero; + + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitMenuWindow(&gWindowConfig_81E6CE4); + gSoundTestCryNum = 1; + ResetSpriteData(); + FreeAllSpritePalettes(); + + cryStruct.unk0 = 0x2000; + cryStruct.unk2 = 29; + cryStruct.paletteNo = 12; + cryStruct.yPos = 30; + cryStruct.xPos = 4; + + zero = 0; // wtf? + gUnknown_03005E98 = 0; + + while (sub_8119E3C(&cryStruct, 3) == FALSE) + ; + + cryStruct2.unk0 = 0; + cryStruct2.unk2 = 15; + cryStruct2.paletteNo = 13; + cryStruct2.xPos = 12; + cryStruct2.yPos = 12; + + zero = 0; // wtf? + gUnknown_03005E98 = 0; + + while (ShowPokedexCryScreen(&cryStruct2, 2) == FALSE) + ; + + MenuDrawTextWindow(0, 16, 5, 19); + PrintCryNumber(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG2CNT = 0xF01; + REG_BG3CNT = 0x1D03; + REG_DISPCNT = 0x1d40; + m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2); + gTasks[taskId].func = Task_ProcessCryTestInput; +} + +void Task_ProcessCryTestInput(u8 taskId) +{ + sub_8119F88(3); + + if (gMain.newKeys & A_BUTTON) + { + sub_811A050(gSoundTestCryNum); + } + if (gMain.newKeys & R_BUTTON) + { + StopCryAndClearCrySongs(); + } + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if(--gSoundTestCryNum == 0) + gSoundTestCryNum = 384; // total species + PrintCryNumber(); + } + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if(++gSoundTestCryNum > 384) + gSoundTestCryNum = 1; + PrintCryNumber(); + } + if (gMain.newKeys & B_BUTTON) + { + REG_DISPCNT = 0x7140; + REG_WIN0H = WIN_RANGE(17, 223); + REG_WIN0V = WIN_RANGE(1, 31); + MenuZeroFillWindowRect(0, 0, 29, 19); + gTasks[taskId].func = Task_InitSoundCheckMenu; + DestroyCryMeterNeedleSprite(); + } +} + +void PrintCryNumber(void) +{ + PrintSignedNumber(gSoundTestCryNum, 1, 17, 3); +} diff --git a/src/unknown_debug_menu.c b/src/debug/unknown_debug_menu.c index a81625f2a..429f43766 100644 --- a/src/unknown_debug_menu.c +++ b/src/debug/unknown_debug_menu.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle_tower.h" #include "menu.h" extern u8 gBattleCommunication[]; @@ -41,12 +42,12 @@ static u8 sub_814A464(void) u8 sub_814A4B8(void) { - gSaveBlock2.filler_A8.var_4AE[0] = 3; - gSaveBlock2.filler_A8.var_4AE[1] = 3; - gSaveBlock2.filler_A8.var_4B4 = gBattleCommunication[0] + 1; - gSaveBlock2.filler_A8.var_4B6 = gBattleCommunication[0] + 1; - gSaveBlock2.filler_A8.var_4B0 = 1; - gSaveBlock2.filler_A8.var_4B2 = 1; + gSaveBlock2.battleTower.var_4AE[0] = 3; + gSaveBlock2.battleTower.var_4AE[1] = 3; + gSaveBlock2.battleTower.curStreakChallengesNum[0] = gBattleCommunication[0] + 1; + gSaveBlock2.battleTower.curStreakChallengesNum[1] = gBattleCommunication[0] + 1; + gSaveBlock2.battleTower.curChallengeBattleNum[0] = 1; + gSaveBlock2.battleTower.curChallengeBattleNum[1] = 1; CloseMenu(); return 1; } diff --git a/src/blend_palette.c b/src/engine/blend_palette.c index 843c50ac1..843c50ac1 100644 --- a/src/blend_palette.c +++ b/src/engine/blend_palette.c diff --git a/src/cable_club.c b/src/engine/cable_club.c index 7a85f2b6c..c61a1d01c 100644 --- a/src/cable_club.c +++ b/src/engine/cable_club.c @@ -68,7 +68,7 @@ static void sub_8083B6C(void); static void sub_8083CA4(u8 taskId); extern void sub_80831F8(u8 taskId); -extern void call_map_music_set_to_zero(void); +extern void Overworld_ResetMapMusic(void); extern void sub_810FEFC(void); extern void sub_8047CD8(void); extern void sub_805559C(void); @@ -708,7 +708,7 @@ static void sub_808382C(u8 taskId) static void sub_8083958(void) { - call_map_music_set_to_zero(); + Overworld_ResetMapMusic(); LoadPlayerParty(); SavePlayerBag(); sub_810FEFC(); diff --git a/src/clear_save_data_menu.c b/src/engine/clear_save_data_menu.c index 498562fe0..498562fe0 100644 --- a/src/clear_save_data_menu.c +++ b/src/engine/clear_save_data_menu.c diff --git a/src/clock.c b/src/engine/clock.c index 9635514d2..cb8af64a8 100644 --- a/src/clock.c +++ b/src/engine/clock.c @@ -61,19 +61,18 @@ static void UpdatePerDay(struct Time *time) static void UpdatePerMinute(struct Time *time) { struct Time newTime; - s32 minutes; + s32 minutesPassed; CalcTimeDifference(&newTime, &gSaveBlock2.lastBerryTreeUpdate, time); - minutes = 1440 * newTime.days + 60 * newTime.hours + newTime.minutes; + minutesPassed = 1440 * newTime.days + 60 * newTime.hours + newTime.minutes; - // there's no way to get the correct assembly other than with this nested if check. so dumb. - if (minutes != 0) + if (minutesPassed == 0) // do not do the update for the first minute. + return; + + if (minutesPassed > -1) // do not perform an update on invalid minutesPassed. { - if (minutes >= 0) - { - BerryTreeTimeUpdate(minutes); - gSaveBlock2.lastBerryTreeUpdate = *time; - } + BerryTreeTimeUpdate(minutesPassed); + gSaveBlock2.lastBerryTreeUpdate = *time; } } diff --git a/src/decompress.c b/src/engine/decompress.c index d7f7087a7..3e5993118 100644 --- a/src/decompress.c +++ b/src/engine/decompress.c @@ -6,7 +6,7 @@ #define WRAM 0x02000000 -void sub_800D238(const void *src, void *dest) +void LZDecompressWram(const void *src, void *dest) { LZ77UnCompWram(src, dest); } diff --git a/src/link.c b/src/engine/link.c index 850201ccb..7f7e48083 100644 --- a/src/link.c +++ b/src/engine/link.c @@ -954,7 +954,7 @@ static u16 LinkTestCalcBlockChecksum(void *data, u16 size) static void PrintHexDigit(u8 tileNum, u8 x, u8 y) { - u16 *tilemap = (u16 *)BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock); + u16 *tilemap = BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock); tilemap[(32 * y) + x] = (gLinkTestBGInfo.paletteNum << 12) | (tileNum + 1); } diff --git a/src/load_save.c b/src/engine/load_save.c index 8424b1121..8424b1121 100644 --- a/src/load_save.c +++ b/src/engine/load_save.c diff --git a/src/main.c b/src/engine/main.c index d7c11b6c8..d7c11b6c8 100644 --- a/src/main.c +++ b/src/engine/main.c diff --git a/src/main_menu.c b/src/engine/main_menu.c index e0af86f3d..e0af86f3d 100644 --- a/src/main_menu.c +++ b/src/engine/main_menu.c diff --git a/src/menu.c b/src/engine/menu.c index a9c4aaa43..a9c4aaa43 100644 --- a/src/menu.c +++ b/src/engine/menu.c diff --git a/src/menu_cursor.c b/src/engine/menu_cursor.c index d43be2a2f..d43be2a2f 100644 --- a/src/menu_cursor.c +++ b/src/engine/menu_cursor.c diff --git a/src/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 0e48dc177..0e48dc177 100644 --- a/src/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c diff --git a/src/mystery_event_script.c b/src/engine/mystery_event_script.c index f507942a7..69434710f 100644 --- a/src/mystery_event_script.c +++ b/src/engine/mystery_event_script.c @@ -1,5 +1,6 @@ #include "global.h" #include "berry.h" +#include "battle_tower.h" #include "easy_chat.h" #include "event_data.h" #include "mail_data.h" @@ -27,7 +28,6 @@ #endif extern void party_compaction(void); -extern void sub_813601C(void); extern ScrCmdFunc gMysteryEventScriptCmdTable[]; extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; @@ -401,8 +401,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx) if (species != SPECIES_EGG) { u16 pokedexNum = SpeciesToNationalPokedexNum(species); - GetNationalPokedexFlag(pokedexNum, 2); - GetNationalPokedexFlag(pokedexNum, 3); + GetSetPokedexFlag(pokedexNum, 2); + GetSetPokedexFlag(pokedexNum, 3); } heldItem = GetMonData(&gPlayerParty[5], MON_DATA_HELD_ITEM); @@ -420,8 +420,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx) bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx) { u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]; - memcpy(gSaveBlock2.filler_A8.ereaderTrainer, (void *)data, sizeof(gSaveBlock2.filler_A8.ereaderTrainer)); - sub_813601C(); + memcpy(&gSaveBlock2.battleTower.ereaderTrainer, (void *)data, sizeof(gSaveBlock2.battleTower.ereaderTrainer)); + ValidateEReaderTrainer(); StringExpandPlaceholders(gStringVar4, gOtherText_NewTrainerInHoenn); ctx->data[2] = 2; return FALSE; diff --git a/src/name_string_util.c b/src/engine/name_string_util.c index f1a935453..f1a935453 100644 --- a/src/name_string_util.c +++ b/src/engine/name_string_util.c diff --git a/src/naming_screen.c b/src/engine/naming_screen.c index 3f8417e6d..a20a15569 100644 --- a/src/naming_screen.c +++ b/src/engine/naming_screen.c @@ -30,6 +30,8 @@ extern u8 unk_2000000[]; #define namingScreenData (*(struct NamingScreenData *)(unk_2000000)) +extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); + const u32 gSpriteImage_83CE094[] = INCBIN_U32("graphics/naming_screen/pc_icon/0.4bpp"); const u32 gSpriteImage_83CE154[] = INCBIN_U32("graphics/naming_screen/pc_icon/1.4bpp"); diff --git a/src/option_menu.c b/src/engine/option_menu.c index dfc49b035..dfc49b035 100644 --- a/src/option_menu.c +++ b/src/engine/option_menu.c diff --git a/src/palette.c b/src/engine/palette.c index 94a4f8092..17e9ca178 100644 --- a/src/palette.c +++ b/src/engine/palette.c @@ -74,7 +74,7 @@ static bool8 IsSoftwarePaletteFadeFinishing(void); void LoadCompressedPalette(const void *src, u16 offset, u16 size) { - sub_800D238(src, sPaletteDecompressionBuffer); + LZDecompressWram(src, sPaletteDecompressionBuffer); CpuCopy16(sPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size); CpuCopy16(sPaletteDecompressionBuffer, gPlttBufferFaded + offset, size); } diff --git a/src/play_time.c b/src/engine/play_time.c index 9882c9c4b..9882c9c4b 100644 --- a/src/play_time.c +++ b/src/engine/play_time.c diff --git a/src/record_mixing.c b/src/engine/record_mixing.c index d02d89467..87fc6a81d 100644 --- a/src/record_mixing.c +++ b/src/engine/record_mixing.c @@ -29,7 +29,7 @@ extern u8 ewram[]; #define unk_2018000 (*(struct PlayerRecords *)(ewram + 0x18000)) #define unk_2008000 (*(struct PlayerRecords *)(ewram + 0x08000)) -extern struct RecordMixing_UnknownStruct gUnknown_02038738; +extern struct RecordMixingDayCareMail gUnknown_02038738; extern u16 gSpecialVar_0x8005; u32 gUnknown_03005D2C; @@ -42,8 +42,8 @@ void *recordMixingTvShows = &gSaveBlock1.tvShows; void *gUnknown_083D0274 = &gSaveBlock1.unknown_2ABC; void *gUnknown_083D0278 = &gSaveBlock1.mauvilleMan; void *recordMixingEasyChatPairs = &gSaveBlock1.easyChatPairs; -struct RecordMixing_UnknownStruct *gUnknown_083D0280 = &gUnknown_02038738; -void *gUnknown_083D0284 = &gSaveBlock2.filler_A8; +struct RecordMixingDayCareMail *gUnknown_083D0280 = &gUnknown_02038738; +void *gBattleTowerPlayerRecord = &gSaveBlock2.battleTower.playerRecord; #define BUFFER_CHUNK_SIZE 200 @@ -59,8 +59,8 @@ struct PlayerRecords u8 filler1004[0x40]; u8 filler1044[0x40]; struct EasyChatPair easyChatPairs[5]; - struct RecordMixing_UnknownStruct filler10AC; - u8 filler1124[0xA4]; + struct RecordMixingDayCareMail filler10AC; + struct BattleTowerRecord battleTowerRecord; u16 filler11C8[0x34]; }; @@ -74,11 +74,11 @@ void RecordMixing_PrepareExchangePacket(void) memcpy(unk_2018000.filler1004, gUnknown_083D0274, sizeof(unk_2008000.filler1004)); memcpy(unk_2018000.filler1044, gUnknown_083D0278, sizeof(unk_2008000.filler1044)); memcpy(unk_2018000.easyChatPairs, recordMixingEasyChatPairs, sizeof(unk_2018000.easyChatPairs)); - gUnknown_02038738.data[0] = gSaveBlock1.filler_303C.data[0]; - gUnknown_02038738.data[1] = gSaveBlock1.filler_303C.data[1]; - sub_8041324(gSaveBlock1.daycareData, &gUnknown_02038738); - memcpy(&unk_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixing_UnknownStruct)); - memcpy(unk_2018000.filler1124, gUnknown_083D0284, sizeof(unk_2018000.filler1124)); + gUnknown_02038738.mail[0] = gSaveBlock1.daycareData.misc.mail[0]; + gUnknown_02038738.mail[1] = gSaveBlock1.daycareData.misc.mail[1]; + sub_8041324(gSaveBlock1.daycareData.mons, &gUnknown_02038738); + memcpy(&unk_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixingDayCareMail)); + memcpy(&unk_2018000.battleTowerRecord, gBattleTowerPlayerRecord, sizeof(struct BattleTowerRecord)); if (GetMultiplayerId() == 0) unk_2018000.filler11C8[0] = GetRecordMixingGift(); @@ -92,7 +92,7 @@ void RecordMixing_ReceiveExchangePacket(u32 a) sub_80B9B1C(unk_2008000.filler1044, sizeof(struct PlayerRecords), a); sub_80FA4E4(unk_2008000.easyChatPairs, sizeof(struct PlayerRecords), a); sub_80B9C6C((u8 *)&unk_2008000.filler10AC, sizeof(struct PlayerRecords), a, unk_2008000.tvShows); - sub_80B9B70(unk_2008000.filler1124, sizeof(struct PlayerRecords), a); + sub_80B9B70(&unk_2008000.battleTowerRecord, sizeof(struct PlayerRecords), a); sub_80B9F3C(unk_2008000.filler11C8, a); } @@ -447,11 +447,11 @@ void sub_80B9B1C(u8 *a, size_t size, u8 index) sub_80F7F30(); } -void sub_80B9B70(u8 *a, size_t size, u8 index) +void sub_80B9B70(void *battleTowerRecord, u32 size, u8 index) { sub_80B9A88(gUnknown_0300071C); - memcpy(a + size * index, a + size * gUnknown_0300071C[index], 0xA4); - sub_8134AC0(a + size * index); + memcpy(battleTowerRecord + size * index, battleTowerRecord + size * gUnknown_0300071C[index], sizeof(struct BattleTowerRecord)); + sub_8134AC0(battleTowerRecord + size * index); } u8 sub_80B9BBC(u16 *a) @@ -461,10 +461,10 @@ u8 sub_80B9BBC(u16 *a) void sub_80B9BC4(u8 *a, size_t b, u8 c[][2], u8 d, u8 e) { - struct RecordMixing_UnknownStructSub *r6 = (struct RecordMixing_UnknownStructSub *)(a + b * c[d][0]); - struct RecordMixing_UnknownStructSub *src = r6 + c[d][1]; - struct RecordMixing_UnknownStructSub sp0 = *src; - struct RecordMixing_UnknownStructSub *r8 = (struct RecordMixing_UnknownStructSub *)(a + b * c[e][0]); + struct DayCareMail *r6 = (struct DayCareMail *)(a + b * c[d][0]); + struct DayCareMail *src = r6 + c[d][1]; + struct DayCareMail sp0 = *src; + struct DayCareMail *r8 = (struct DayCareMail *)(a + b * c[e][0]); r6 += c[d][1]; *r6 = *(r8 + c[e][1]); @@ -511,7 +511,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) u16 i; // r3 u16 r7; u8 r1; - struct RecordMixing_UnknownStruct *r6; + struct DayCareMisc *r6; //asm("":::"r8"); SeedRng(gLinkPlayers[0].trainerId); @@ -526,7 +526,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) sp3C = 0; for (i = 0; i < r8; i++) { - r6 = (struct RecordMixing_UnknownStruct *)(a + b * i); + r6 = (struct DayCareMisc *)(a + b * i); if (r6->unk70 != 0) { for (r7 = 0; r7 < r6->unk70; r7++) @@ -540,7 +540,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) //_080B9D46 for (r7 = 0, i = 0; i < r8; i++) { - r6 = (struct RecordMixing_UnknownStruct *)(a + b * i); + r6 = (struct DayCareMisc *)(a + b * i); if (sp1C[i][0] == 1 || sp1C[i][1] == 1) sp3C++; if (sp1C[i][0] == 1 && sp1C[i][1] == 0) @@ -596,7 +596,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) //_080B9E3E for (i = 0; i < 4; i++) { - r6 = (struct RecordMixing_UnknownStruct *)a + b * c; + r6 = (struct DayCareMisc *)a + b * c; spC[i] = r6; } r1 = sub_80B9C4C(d) % 3; @@ -630,7 +630,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) //_080B9EF0 //memcpy(&gSaveBlock1.filler_303C.data[0], a + b * c, 0x38); //memcpy(&gSaveBlock1.filler_303C.data[1], a + b * c + 0x38, 0x38); - r6 = (struct RecordMixing_UnknownStruct *)(a + b * c); + r6 = (struct DayCareMisc *)(a + b * c); gSaveBlock1.filler_303C.data[0] = r6->data[0]; gSaveBlock1.filler_303C.data[1] = r6->data[1]; //memcpy(&gSaveBlock1.filler_303C.data[0], &r6->data[0], 0x38); diff --git a/src/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c index d052992ad..d052992ad 100644 --- a/src/reset_rtc_screen.c +++ b/src/engine/reset_rtc_screen.c diff --git a/src/rng.c b/src/engine/rng.c index 7d4b5600e..7d4b5600e 100644 --- a/src/rng.c +++ b/src/engine/rng.c diff --git a/src/rtc.c b/src/engine/rtc.c index d73f943d2..d73f943d2 100644 --- a/src/rtc.c +++ b/src/engine/rtc.c diff --git a/src/save.c b/src/engine/save.c index eae3f4470..5ea949cae 100644 --- a/src/save.c +++ b/src/engine/save.c @@ -282,7 +282,7 @@ u8 sub_81255B8(u16 a1, const struct SaveSectionLocation *location) for (i = 0; i < sizeof(struct UnkSaveSection); i++) { - if (ProgramFlashByte(sector, i, ((u8 *)gFastSaveSection)[i])) + if (ProgramFlashByte(sector, i, gFastSaveSection->data[i])) { status = 0xFF; break; @@ -402,7 +402,7 @@ u8 sub_81258BC(u16 a1, const struct SaveSectionLocation *location) { u16 j; for (j = 0; j < location[id].size; j++) - ((u8 *)location[id].data)[j] = gFastSaveSection->data[j]; + location[id].data[j] = gFastSaveSection->data[j]; } } @@ -774,7 +774,7 @@ u8 unref_sub_8125FF0(u8 *data, u16 size) for (i = 0; i < size; i++) section->data[i] = data[i]; - gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], (u8 *)section, sizeof(struct SaveSection)); + gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], section, sizeof(struct SaveSection)); if (gLastSaveSectorStatus) return 0xFF; diff --git a/src/save_failed_screen.c b/src/engine/save_failed_screen.c index b91e8b5bf..17bda237e 100644 --- a/src/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -267,10 +267,10 @@ static void VBlankCB_UpdateClockGraphics(void) static bool8 VerifySectorWipe(u16 sector) { - u32 *ptr = (u32 *)unk_2000000; + u32 *ptr = (u32 *)&unk_2000000; u16 i; - ReadFlash(sector, 0, (u8 *)ptr, 4096); + ReadFlash(sector, 0, ptr, 4096); for (i = 0; i < 0x400; i++, ptr++) if (*ptr) diff --git a/src/save_menu_util.c b/src/engine/save_menu_util.c index a2d17bd36..a2d17bd36 100644 --- a/src/save_menu_util.c +++ b/src/engine/save_menu_util.c diff --git a/src/script.c b/src/engine/script.c index f049b96fc..8625cfdc2 100644 --- a/src/script.c +++ b/src/engine/script.c @@ -3,6 +3,14 @@ #include "event_data.h" #define RAM_SCRIPT_MAGIC 51 +#define SCRIPT_STACK_SIZE 20 + +enum +{ + SCRIPT_MODE_STOPPED, + SCRIPT_MODE_BYTECODE, + SCRIPT_MODE_NATIVE, +}; EWRAM_DATA u8 *gUnknown_0202E8AC = NULL; @@ -19,66 +27,66 @@ void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTable { s32 i; - ctx->mode = 0; - ctx->scriptPtr = 0; + ctx->mode = SCRIPT_MODE_STOPPED; + ctx->scriptPtr = NULL; ctx->stackDepth = 0; - ctx->nativePtr = 0; + ctx->nativePtr = NULL; ctx->cmdTable = cmdTable; ctx->cmdTableEnd = cmdTableEnd; for (i = 0; i < 4; i++) ctx->data[i] = 0; - for (i = 0; i < 20; i++) + for (i = 0; i < SCRIPT_STACK_SIZE; i++) ctx->stack[i] = 0; } u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr) { ctx->scriptPtr = ptr; - ctx->mode = 1; + ctx->mode = SCRIPT_MODE_BYTECODE; return 1; } void SetupNativeScript(struct ScriptContext *ctx, bool8 (*ptr)(void)) { - ctx->mode = 2; + ctx->mode = SCRIPT_MODE_NATIVE; ctx->nativePtr = ptr; } void StopScript(struct ScriptContext *ctx) { - ctx->mode = 0; - ctx->scriptPtr = 0; + ctx->mode = SCRIPT_MODE_STOPPED; + ctx->scriptPtr = NULL; } -u8 RunScriptCommand(struct ScriptContext *ctx) +bool8 RunScriptCommand(struct ScriptContext *ctx) { - if (ctx->mode == 0) - return 0; + if (ctx->mode == SCRIPT_MODE_STOPPED) + return FALSE; switch (ctx->mode) { - case 0: - return 0; - case 2: + case SCRIPT_MODE_STOPPED: + return FALSE; + case SCRIPT_MODE_NATIVE: if (ctx->nativePtr) { if (ctx->nativePtr() == TRUE) - ctx->mode = 1; - return 1; + ctx->mode = SCRIPT_MODE_BYTECODE; + return TRUE; } - ctx->mode = 1; - case 1: + ctx->mode = SCRIPT_MODE_BYTECODE; + case SCRIPT_MODE_BYTECODE: while (1) { u8 cmdCode; - ScrCmdFunc *func; + ScrCmdFunc *cmdFunc; - if (!ctx->scriptPtr) + if (ctx->scriptPtr == NULL) { - ctx->mode = 0; - return 0; + ctx->mode = SCRIPT_MODE_STOPPED; + return FALSE; } if (ctx->scriptPtr == gNullScriptPtr) @@ -89,25 +97,25 @@ u8 RunScriptCommand(struct ScriptContext *ctx) cmdCode = *(ctx->scriptPtr); ctx->scriptPtr++; - func = &ctx->cmdTable[cmdCode]; + cmdFunc = &ctx->cmdTable[cmdCode]; - if (func >= ctx->cmdTableEnd) + if (cmdFunc >= ctx->cmdTableEnd) { - ctx->mode = 0; - return 0; + ctx->mode = SCRIPT_MODE_STOPPED; + return FALSE; } - if ((*func)(ctx) == 1) - return 1; + if ((*cmdFunc)(ctx) == TRUE) + return TRUE; } } - return 1; + return TRUE; } u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr) { - if (ctx->stackDepth + 1 >= 20) + if (ctx->stackDepth + 1 >= SCRIPT_STACK_SIZE) { return 1; } diff --git a/src/sound.c b/src/engine/sound.c index 91f5e06a3..a6a61c0b5 100644 --- a/src/sound.c +++ b/src/engine/sound.c @@ -81,8 +81,6 @@ void MapMusicMain(void) PlayBGM(sCurrentMapMusic); break; case 2: - case 3: - case 4: break; case 5: if (IsBGMStopped()) diff --git a/src/sprite.c b/src/engine/sprite.c index fb8c2b648..34ca3802d 100644 --- a/src/sprite.c +++ b/src/engine/sprite.c @@ -833,13 +833,13 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data; - gSpriteCopyRequests[gSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; + gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } } -void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size) +void RequestSpriteCopy(const void *src, u8 *dest, u16 size) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { @@ -850,6 +850,7 @@ void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size) } } +// these two functions are unused. void CopyFromSprites(u8 *dest) { u32 i; @@ -916,16 +917,17 @@ void DestroySpriteAndFreeResources(struct Sprite *sprite) DestroySprite(sprite); } -void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5) +// Loads the mon name, level, and hp sprites into OAM. +void DrawPartyMenuMonText(u32 a1, u32 a2, const u16 *a3, u16 a4, u32 baseTileNumber) { - u16 *d = a3; + const u16 *d = a3; struct OamData *oam = &gMain.oamBuffer[gMain.objCount]; while (!(gMain.objCount & 0x80) && (s16)(d[0] + 1) != 0) { u16 *x = (u16 *)oam; x[0] = (d[0] & sOamBitmasks[0]) | ((d[0] + a2) & sOamBitmasks[1]) | ((a4 & sOamBitmasks[2]) << 8); x[1] = (d[1] & sOamBitmasks[3]) | ((d[1] + a1) & sOamBitmasks[4]) | ((a4 & sOamBitmasks[5]) << 4); - x[2] = (d[2] & sOamBitmasks[6]) | ((d[2] + a5) & sOamBitmasks[7]) | (a4 & sOamBitmasks[8]); + x[2] = (d[2] & sOamBitmasks[6]) | ((d[2] + baseTileNumber) & sOamBitmasks[7]) | (a4 & sOamBitmasks[8]); oam++; gMain.objCount++; d += 3; @@ -1478,7 +1480,7 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet) else { AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP); - CpuCopy16(sheet->data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); return (u16)tileStart; } } @@ -1516,7 +1518,7 @@ void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - CpuCopy16(data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); } void LoadTilesForSpriteSheets(struct SpriteSheet *sheets) @@ -1602,7 +1604,7 @@ void RequestSpriteSheetCopy(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - RequestSpriteCopy(data, (u8 *)OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); + RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); } u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet) diff --git a/src/string_util.c b/src/engine/string_util.c index 9686256a1..7316f533a 100644 --- a/src/string_util.c +++ b/src/engine/string_util.c @@ -376,7 +376,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src) { u8 c = *src++; u8 placeholderId; - u8 *expandedString; + const u8 *expandedString; u8 length; switch (c) @@ -432,45 +432,45 @@ u8 *StringBraille(u8 *dest, const u8 *src) } } -static u8 *ExpandPlaceholder_UnknownStringVar(void) +static const u8 *ExpandPlaceholder_UnknownStringVar(void) { return gUnknownStringVar; } -static u8 *ExpandPlaceholder_PlayerName(void) +static const u8 *ExpandPlaceholder_PlayerName(void) { return gSaveBlock2.playerName; } -static u8 *ExpandPlaceholder_StringVar1(void) +static const u8 *ExpandPlaceholder_StringVar1(void) { return gStringVar1; } -static u8 *ExpandPlaceholder_StringVar2(void) +static const u8 *ExpandPlaceholder_StringVar2(void) { return gStringVar2; } -static u8 *ExpandPlaceholder_StringVar3(void) +static const u8 *ExpandPlaceholder_StringVar3(void) { return gStringVar3; } -static u8 *ExpandPlaceholder_KunChan(void) +static const u8 *ExpandPlaceholder_KunChan(void) { if (gSaveBlock2.playerGender == MALE) - return (u8 *) gExpandedPlaceholder_Kun; + return gExpandedPlaceholder_Kun; else - return (u8 *) gExpandedPlaceholder_Chan; + return gExpandedPlaceholder_Chan; } -static u8 *ExpandPlaceholder_RivalName(void) +static const u8 *ExpandPlaceholder_RivalName(void) { if (gSaveBlock2.playerGender == MALE) - return (u8 *) gExpandedPlaceholder_May; + return gExpandedPlaceholder_May; else - return (u8 *) gExpandedPlaceholder_Brendan; + return gExpandedPlaceholder_Brendan; } #define VERSION_DEPENDENT_PLACEHOLDER_LIST \ @@ -484,19 +484,19 @@ static u8 *ExpandPlaceholder_RivalName(void) #ifdef SAPPHIRE #define X(ph, r, s) \ -static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##s; } +static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##s; } VERSION_DEPENDENT_PLACEHOLDER_LIST #else #define X(ph, r, s) \ -static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##r; } +static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##r; } VERSION_DEPENDENT_PLACEHOLDER_LIST #endif #undef X -u8 *GetExpandedPlaceholder(u32 id) +const u8 *GetExpandedPlaceholder(u32 id) { - typedef u8 *(*ExpandPlaceholderFunc)(void); + typedef const u8 *(*ExpandPlaceholderFunc)(void); static const ExpandPlaceholderFunc funcs[] = { @@ -517,7 +517,7 @@ u8 *GetExpandedPlaceholder(u32 id) }; if (id >= ARRAY_COUNT(funcs)) - return (u8 *) gExpandedPlaceholder_Empty; + return gExpandedPlaceholder_Empty; else return funcs[id](); } diff --git a/src/task.c b/src/engine/task.c index 7bd2b5937..7bd2b5937 100644 --- a/src/task.c +++ b/src/engine/task.c diff --git a/src/text.c b/src/engine/text.c index b27084b86..1d1d31383 100644 --- a/src/text.c +++ b/src/engine/text.c @@ -219,12 +219,12 @@ static const u8 sBrailleGlyphs[] = INCBIN_U8("graphics/fonts/font6_braille.1bpp" static const u32 sDownArrowTiles[] = INCBIN_U32("graphics/fonts/down_arrow.4bpp"); // clang-format off -#include "data/text/type1_map.h" -#include "data/text/type3_map.h" -#include "data/text/font1_widths.h" -#include "data/text/font4_widths.h" -#include "data/text/font0_widths.h" -#include "data/text/font3_widths.h" +#include "../data/text/type1_map.h" +#include "../data/text/type3_map.h" +#include "../data/text/font1_widths.h" +#include "../data/text/font4_widths.h" +#include "../data/text/font0_widths.h" +#include "../data/text/font3_widths.h" // clang-format on const u16 gUnknownPalette_81E6692[] = INCBIN_U16("graphics/fonts/unknown_81E6692.gbapal"); @@ -396,6 +396,8 @@ extern const u32 gFont4LatinGlyphs[]; extern const u32 gFont3JapaneseGlyphs[]; extern const u32 gFont4JapaneseGlyphs[]; +// Getting rid of the u8 recasting will make the ROM no longer match due to +// a const being required to pass the elements directly to the rodata structs. static const struct Font sFonts[] = { // Japanese fonts @@ -405,15 +407,15 @@ static const struct Font sFonts[] = { 4, (u8 *)gFont3JapaneseGlyphs, 64, 512 }, { 1, (u8 *)gFont4JapaneseGlyphs, 32, 0 }, { 2, (u8 *)gFont4JapaneseGlyphs, 32, 0 }, - { 3, (u8 *)sBrailleGlyphs, 8, 0 }, + { 3, (u8 *)sBrailleGlyphs, 8, 0 }, // Latin - { 0, (u8 *)sFont0LatinGlyphs, 16, 8 }, - { 1, (u8 *)sFont1LatinGlyphs, 8, 0 }, - { 2, (u8 *)sFont1LatinGlyphs, 8, 0 }, - { 0, (u8 *)gFont3LatinGlyphs, 64, 32 }, - { 1, (u8 *)gFont4LatinGlyphs, 32, 0 }, - { 2, (u8 *)gFont4LatinGlyphs, 32, 0 }, - { 3, (u8 *)sBrailleGlyphs, 8, 0 }, + { 0, (u8 *)sFont0LatinGlyphs, 16, 8 }, + { 1, (u8 *)sFont1LatinGlyphs, 8, 0 }, + { 2, (u8 *)sFont1LatinGlyphs, 8, 0 }, + { 0, (u8 *)gFont3LatinGlyphs, 64, 32 }, + { 1, (u8 *)gFont4LatinGlyphs, 32, 0 }, + { 2, (u8 *)gFont4LatinGlyphs, 32, 0 }, + { 3, (u8 *)sBrailleGlyphs, 8, 0 }, }; static const u8 sTextSpeedDelays[] = { 6, 3, 1 }; // slow, mid, fast @@ -492,8 +494,8 @@ const struct WindowConfig gWindowConfig_81E6C3C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6C58 = @@ -513,8 +515,8 @@ const struct WindowConfig gWindowConfig_81E6C58 = 0, // tilemap top coordinate 26, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E6C74 = @@ -534,7 +536,7 @@ const struct WindowConfig gWindowConfig_81E6C74 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)OBJ_VRAM0, // tile data + OBJ_VRAM0, // tile data NULL, // tilemap }; @@ -555,8 +557,8 @@ const struct WindowConfig gWindowConfig_81E6C90 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6CAC = @@ -597,8 +599,8 @@ const struct WindowConfig gWindowConfig_81E6CC8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E6CE4 = @@ -618,8 +620,8 @@ const struct WindowConfig gWindowConfig_81E6CE4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6D00 = @@ -639,8 +641,8 @@ const struct WindowConfig gWindowConfig_81E6D00 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6D1C = @@ -660,8 +662,8 @@ const struct WindowConfig gWindowConfig_81E6D1C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6D38 = @@ -702,8 +704,8 @@ const struct WindowConfig gWindowConfig_81E6D54 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(3), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(3), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E6D70 = @@ -723,8 +725,8 @@ const struct WindowConfig gWindowConfig_81E6D70 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(3), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(3), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E6D8C = @@ -744,8 +746,8 @@ const struct WindowConfig gWindowConfig_81E6D8C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(14), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(14), // tilemap }; const struct WindowConfig gWindowConfig_81E6DA8 = @@ -765,8 +767,8 @@ const struct WindowConfig gWindowConfig_81E6DA8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(11), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(11), // tilemap }; const struct WindowConfig WindowConfig_TrainerCard_Back_Values = @@ -786,8 +788,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Values = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig WindowConfig_TrainerCard_Back_Labels = @@ -807,8 +809,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Labels = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6DFC = @@ -828,8 +830,8 @@ const struct WindowConfig gWindowConfig_81E6DFC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6E18 = @@ -849,8 +851,8 @@ const struct WindowConfig gWindowConfig_81E6E18 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6E34 = @@ -870,8 +872,8 @@ const struct WindowConfig gWindowConfig_81E6E34 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6E50 = @@ -891,8 +893,8 @@ const struct WindowConfig gWindowConfig_81E6E50 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6E6C = @@ -912,8 +914,8 @@ const struct WindowConfig gWindowConfig_81E6E6C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6E88 = @@ -933,8 +935,8 @@ const struct WindowConfig gWindowConfig_81E6E88 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6EA4 = @@ -954,8 +956,8 @@ const struct WindowConfig gWindowConfig_81E6EA4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6EC0 = @@ -975,8 +977,8 @@ const struct WindowConfig gWindowConfig_81E6EC0 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(29), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(29), // tilemap }; const struct WindowConfig gWindowConfig_81E6EDC = @@ -996,8 +998,8 @@ const struct WindowConfig gWindowConfig_81E6EDC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6EF8 = @@ -1017,8 +1019,8 @@ const struct WindowConfig gWindowConfig_81E6EF8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(29), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(29), // tilemap }; const struct WindowConfig gWindowConfig_81E6F14 = @@ -1038,8 +1040,8 @@ const struct WindowConfig gWindowConfig_81E6F14 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6F30 = @@ -1059,8 +1061,8 @@ const struct WindowConfig gWindowConfig_81E6F30 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(29), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(29), // tilemap }; const struct WindowConfig gWindowConfig_81E6F4C = @@ -1080,8 +1082,8 @@ const struct WindowConfig gWindowConfig_81E6F4C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6F68 = @@ -1101,8 +1103,8 @@ const struct WindowConfig gWindowConfig_81E6F68 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(13), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(13), // tilemap }; const struct WindowConfig gWindowConfig_81E6F84 = @@ -1122,8 +1124,8 @@ const struct WindowConfig gWindowConfig_81E6F84 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6FA0 = @@ -1143,8 +1145,8 @@ const struct WindowConfig gWindowConfig_81E6FA0 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E6FBC = @@ -1164,8 +1166,8 @@ const struct WindowConfig gWindowConfig_81E6FBC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6FD8 = @@ -1185,8 +1187,8 @@ const struct WindowConfig gWindowConfig_81E6FD8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E6FF4 = @@ -1206,8 +1208,8 @@ const struct WindowConfig gWindowConfig_81E6FF4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E7010 = @@ -1227,8 +1229,8 @@ const struct WindowConfig gWindowConfig_81E7010 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E702C = @@ -1248,8 +1250,8 @@ const struct WindowConfig gWindowConfig_81E702C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E7048 = @@ -1269,8 +1271,8 @@ const struct WindowConfig gWindowConfig_81E7048 = 0, // tilemap top coordinate 16, // width 32, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(14), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(14), // tilemap }; const struct WindowConfig gWindowConfig_81E7064 = @@ -1290,8 +1292,8 @@ const struct WindowConfig gWindowConfig_81E7064 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(14), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(14), // tilemap }; const struct WindowConfig gWindowConfig_81E7080 = @@ -1311,8 +1313,8 @@ const struct WindowConfig gWindowConfig_81E7080 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E709C = @@ -1332,8 +1334,8 @@ const struct WindowConfig gWindowConfig_81E709C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E70B8 = @@ -1353,8 +1355,8 @@ const struct WindowConfig gWindowConfig_81E70B8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E70D4 = @@ -1374,8 +1376,8 @@ const struct WindowConfig gWindowConfig_81E70D4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E70F0 = @@ -1416,8 +1418,8 @@ const struct WindowConfig gWindowConfig_81E710C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7128 = @@ -1437,8 +1439,8 @@ const struct WindowConfig gWindowConfig_81E7128 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7144 = @@ -1458,8 +1460,8 @@ const struct WindowConfig gWindowConfig_81E7144 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7160 = @@ -1479,8 +1481,8 @@ const struct WindowConfig gWindowConfig_81E7160 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(10), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(10), // tilemap }; const struct WindowConfig gWindowConfig_81E717C = @@ -1500,8 +1502,8 @@ const struct WindowConfig gWindowConfig_81E717C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(3), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(3), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7198 = @@ -1521,8 +1523,8 @@ const struct WindowConfig gWindowConfig_81E7198 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E71B4 = @@ -1542,8 +1544,8 @@ const struct WindowConfig gWindowConfig_81E71B4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E71D0 = @@ -1563,8 +1565,8 @@ const struct WindowConfig gWindowConfig_81E71D0 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E71EC = @@ -1584,8 +1586,8 @@ const struct WindowConfig gWindowConfig_81E71EC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E7208 = @@ -1605,8 +1607,8 @@ const struct WindowConfig gWindowConfig_81E7208 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E7224 = @@ -1626,8 +1628,8 @@ const struct WindowConfig gWindowConfig_81E7224 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7240 = @@ -1647,8 +1649,8 @@ const struct WindowConfig gWindowConfig_81E7240 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E725C = @@ -1668,7 +1670,7 @@ const struct WindowConfig gWindowConfig_81E725C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)OBJ_VRAM0, // tile data + OBJ_VRAM0, // tile data NULL, // tilemap }; @@ -1943,7 +1945,7 @@ void InitWindowFromConfig(struct Window *win, const struct WindowConfig *winConf void InitWindow(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top) { - struct WindowConfig *winConfig = win->config; + const struct WindowConfig *winConfig = win->config; win->textMode = winConfig->textMode; win->fontNum = winConfig->fontNum; win->language = GAME_LANGUAGE; @@ -2342,7 +2344,7 @@ u8 sub_8003490(struct Window *win, u8 c, u16 tileDataStartOffset, u8 left, u8 to void sub_80034D4(u8 *tileData, const u8 *text) { - sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6C74, tileData, text); + sub_8004E3C(&gWindowConfig_81E6C74, tileData, text); } u8 sub_80034EC(u8 *str) @@ -3645,7 +3647,7 @@ void sub_8004E28(struct Window *win, u8 *foreground, u8 *background, u8 *shadow) *shadow = win->shadowColor; } -void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text) +void sub_8004E3C(const struct WindowConfig *winConfig, u8 *tileData, const u8 *text) { sTempWindow.config = winConfig; InitWindow(&sTempWindow, text, 0, 0, 0); @@ -3653,7 +3655,7 @@ void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text) sub_8002F44(&sTempWindow); } -u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s) +u8 GetStringWidthGivenWindowConfig(const struct WindowConfig *winConfig, const u8 *s) { sTempWindow.config = winConfig; InitWindow(&sTempWindow, s, 0, 0, 0); diff --git a/src/text_window.c b/src/engine/text_window.c index 9a88789d1..9a88789d1 100644 --- a/src/text_window.c +++ b/src/engine/text_window.c diff --git a/src/tileset_anim.c b/src/engine/tileset_anim.c index 34685381d..f892e5e9a 100644 --- a/src/tileset_anim.c +++ b/src/engine/tileset_anim.c @@ -32,8 +32,8 @@ extern u8 *gTilesetAnimTable_BikeShop[]; struct Dma { - u8 *src; - u8 *dest; + void *src; + void *dest; u16 size; }; @@ -95,7 +95,7 @@ static void ClearTilesetAnimDmas(void) CpuFill32(0, &gTilesetAnimDmas, sizeof(gTilesetAnimDmas)); } -static void QueueTilesetAnimDma(u8 *src, u8 *dest, u16 size) +static void QueueTilesetAnimDma(void *src, void *dest, u16 size) { if (gNumTilesetAnimDmas < 20) { @@ -217,28 +217,28 @@ static void sub_8073070(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], (u8 *)(BG_VRAM + 0x3f80), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], BG_TILE_ADDR(127), 0x80); } static void sub_8073098(u16 a1) { u8 v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], (u8 *)(BG_VRAM + 0x3600), 0x3c0); + QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], BG_TILE_ADDR(108), 0x3c0); } static void sub_80730C0(u16 a1) { int v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], (u8 *)(BG_VRAM + 0x3a00), 0x140); + QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], BG_TILE_ADDR(116), 0x140); } static void sub_80730E8(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], (u8 *)(BG_VRAM + 0x3e00), 0xc0); + QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], BG_TILE_ADDR(124), 0xc0); } void TilesetCB_Petalburg(void) @@ -454,37 +454,37 @@ static void sub_807361C(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], (u8 *)(BG_VRAM + 0x3c00), 0x140); + QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], BG_TILE_ADDR(120), 0x140); } static void sub_8073644(u8 a1) { u8 v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6400), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(200), 0x80); v1 = (a1 + 2) % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6480), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(201), 0x80); } static void sub_807368C(u8 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], (u8 *)(BG_VRAM + 0x7a00), 0x3c0); + QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], BG_TILE_ADDR(244), 0x3c0); } static void sub_80736B4(u8 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], (u8 *)(BG_VRAM + 0x7e00), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], BG_TILE_ADDR(252), 0x80); } static void sub_80736DC(u8 a1) { int v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], (u8 *)(BG_VRAM + 0x7e00), 0x100); + QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], BG_TILE_ADDR(252), 0x100); } static void sub_8073704(u16 a1, u8 a2) @@ -521,14 +521,14 @@ static void sub_80737E0(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], (u8 *)(BG_VRAM + 0x7800), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], BG_TILE_ADDR(240), 0x80); } static void sub_8073808(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x5400), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(168), 0x80); } static void sub_8073830(u16 a1, u8 a2) @@ -543,7 +543,7 @@ static void sub_8073868(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x7400), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(232), 0x80); } static void sub_8073890(u16 a1) @@ -590,41 +590,41 @@ static void sub_8073904(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], (u8 *)(BG_VRAM + 0x3e00), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], BG_TILE_ADDR(124), 0x80); } static void sub_807392C(u16 a1) { int v1; v1 = a1 % 3; - QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], (u8 *)(BG_VRAM + 0x7e00), 0x180); - QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], (u8 *)(BG_VRAM + 0x7a00), 0x280); + QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], BG_TILE_ADDR(252), 0x180); + QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], BG_TILE_ADDR(244), 0x280); } static void sub_8073974(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], (u8 *)(BG_VRAM + 0x7f00), 0x20); + QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], BG_TILE_ADDR(254), 0x20); } static void sub_807399C(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], (u8 *)(BG_VRAM + 0x7c00), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], BG_TILE_ADDR(248), 0x80); } static void sub_80739C4(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], (u8 *)(BG_VRAM + 0x5200), 0x200); + QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], BG_TILE_ADDR(164), 0x200); } static void sub_80739EC(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], (u8 *)(BG_VRAM + 0x7e00), 0x120); + QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], BG_TILE_ADDR(252), 0x120); } diff --git a/src/time_events.c b/src/engine/time_events.c index accb03db8..accb03db8 100644 --- a/src/time_events.c +++ b/src/engine/time_events.c diff --git a/src/engine/trade.c b/src/engine/trade.c new file mode 100644 index 000000000..8fad94be8 --- /dev/null +++ b/src/engine/trade.c @@ -0,0 +1,5715 @@ +#include "global.h" +#include "name_string_util.h" +#include "string_util.h" +#include "text.h" +#include "main.h" +#include "species.h" +#include "items.h" +#include "moves.h" +#include "easy_chat.h" +#include "link.h" +#include "strings2.h" +#include "graphics.h" +#include "palette.h" +#include "task.h" +#include "menu.h" +#include "text_window.h" +#include "pokemon_icon.h" +#include "cable_club.h" +#include "party_menu.h" +#include "songs.h" +#include "sound.h" +#include "data2.h" +#include "pokemon_summary_screen.h" +#include "overworld.h" +#include "rom_8077ABC.h" +#include "daycare.h" +#include "event_data.h" +#include "strings.h" +#include "load_save.h" +#include "save.h" +#include "script.h" +#include "field_fadetransition.h" +#include "decompress.h" +#include "mail_data.h" +#include "evolution_scene.h" +#include "pokeball.h" +#include "pokedex.h" +#include "field_effect.h" +#include "util.h" +#include "battle_interface.h" +#include "trade.h" + +#ifdef ENGLISH +#define sub_804A96C_alt sub_804A96C +asm(".set sub_804A96C_alt, sub_804A96C"); +#endif + +#define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20)) + +struct InGameTrade { + /*0x00*/ u8 name[11]; + /*0x0C*/ u16 species; + /*0x0E*/ u8 ivs[6]; + /*0x14*/ bool8 secondAbility; + /*0x18*/ u32 otId; + /*0x1C*/ u8 stats[5]; + /*0x24*/ u32 personality; + /*0x28*/ u16 heldItem; + /*0x2A*/ u8 mailNum; + /*0x2B*/ u8 otName[11]; + /*0x36*/ u8 otGender; + /*0x37*/ u8 sheen; + /*0x38*/ u16 playerSpecies; +}; + +struct UnkStructC { + /*0x00*/ u16 words[9]; + /*0x10*/ u8 string[8]; + /*0x1A*/ u8 otId[4]; + /*0x1E*/ u16 species; + /*0x20*/ u16 heldItem; +}; + +struct UnkStructD { + /*0x00*/ u8 filler_00[8]; + /*0x08*/ void *vramAddr; + /*0x0c*/ u8 filler_0c[4]; + /*0x10*/ u8 unk_10; + /*0x12*/ u16 unk_12[0x400]; +}; + +struct UnkStructE { + /*0x00*/ u8 unk_00; + /*0x02*/ u16 unk_02; + /*0x04*/ u8 unk_04; +}; + +struct TradeEwramSubstruct { + /*0x0000*/ u8 unk_0000; + /*0x0001*/ u8 unk_0001; + /*0x0004*/ struct Window window; + /*0x0034*/ u8 partyIcons[2][6]; + /*0x0040*/ u8 tradeMenuCursorSpriteIdx; + /*0x0041*/ u8 tradeMenuCursorPosition; + /*0x0042*/ u8 partyCounts[2]; + /*0x0044*/ u8 tradeMenuOptionsActive[13]; + /*0x0051*/ u8 unk_0051[2][6]; + /*0x005d*/ u8 unk_005d[2][6]; + /*0x005d*/ u8 unk_0069[2][6]; + /*0x0075*/ u8 unk_0075; + /*0x0076*/ u8 filler_0076[4]; + /*0x007a*/ u8 unk_007a; + /*0x007b*/ u8 unk_007b; + /*0x007c*/ u8 unk_007c; + /*0x007d*/ u8 unk_007d; + /*0x007e*/ u16 unk_007e; + /*0x0080*/ u8 unk_0080[2]; + /*0x0082*/ u8 unk_0082[2]; + /*0x0084*/ u8 unk_0084; + /*0x0085*/ u8 unk_0085; + /*0x0086*/ u8 unk_0086; + /*0x0087*/ u8 unk_0087; + /*0x0088*/ u8 filler_0088[2]; + /*0x008a*/ u8 unk_008a; + /*0x008c*/ u16 linkData[20]; + /*0x00b4*/ u8 unk_00b4; + /*0x00b5*/ u8 unk_00b5[11]; + /*0x00c0*/ u8 filler_00c0[8]; + /*0x00c8*/ struct UnkStructD unk_00c8; + /*0x08dc*/ struct UnkStructE unk_08dc[4]; + /*0x08fc*/ u8 filler_08fc[0x704]; +}; + +IWRAM_DATA u8 gUnknown_03000508[8]; + +struct UnkStructF { + u8 filler_0000[9]; + u8 unk_0009; + u8 filler_000a[0xff6]; +}; + +struct TradeEwramStruct { + /*0x00000*/ u8 filler_00000[0x7000]; + /*0x07000*/ struct TradeEwramSubstruct unk_07000; + /*0x08000*/ struct UnkStructF unk_08000; + /*0x09000*/ u8 filler_09000[0x4000]; + /*0x0d000*/ u8 tileBuffers[13][256]; + /*0x0dd00*/ u8 filler_0dd00[0x1300]; + /*0x0f000*/ struct TradeEwramSubstruct2 unk_0f000; +}; + +static void sub_8047EC0(void); +static void sub_804AFB8(const struct WindowConfig *, u8 *, const u8 *, u8); +static void sub_804ACD8(const u8 *, u8 *, u8); +static void nullsub_5(u8, u8); +static void sub_804AA88(void); +static void sub_804A964(struct UnkStructD *, void *); +static void sub_80489F4(void); +static void sub_804AA0C(u8); +static bool8 sub_8048D44(void); +static void sub_804AF84(void); +static bool8 sub_804ABF8(void); +static void sub_804ACF4(u8); +static void sub_804A41C(u8); +static void sub_8048C70(void); +static void sub_8048B0C(u8); +static void sub_804AE3C(u8); +static void sub_804AF10(void); +static void sub_80494D8(void); +static void sub_8048AB4(void); +static void sub_804A940(struct UnkStructD *); +static void sub_804B41C(void); +static void sub_8049DE0(void); +static void sub_804AB30(void); +static void sub_8049ED4(u8); +static void sub_804A6DC(u8); +static void sub_804A938(struct UnkStructD *); +static void sub_804A9F4(u8); +static void sub_804AA00(u8); +static void sub_8049E9C(u8); +static void sub_804AADC(u16, u8); +static void sub_804A80C(void); +static u8 sub_80499F0(const u8 *, u8, u8); +static void sub_804A840(u8); +#ifdef NONMATCHING +static +#endif +u8 sub_804A2B4(u8 *, u8, u8); +static void sub_804A96C_alt(struct UnkStructD *, u8, u8, const u16 *, u8, u8, u16); +static void sub_804A96C(struct UnkStructD *, u8, u8, const u16 *, u8, u8, u16); +#ifdef NONMATCHING +static +#endif +void sub_804A33C(u8 *, u8, u8); +#ifdef NONMATCHING +static +#endif +void sub_804A51C(u8, u8, u8, u8, u8, u8); +static void sub_804D7AC(struct Sprite *); +static bool8 sub_804C29C(void); +static void sub_804DC18(void); +static u8 sub_804B2B0(void); +static void sub_804E144(void); +static void sub_804E1A0(u8); +static void sub_804DAD4(struct MailStruct *, const struct InGameTrade *); +static void sub_804DC88(void); +static void sub_804D6BC(struct Sprite *); +static void sub_804D738(struct Sprite *); +static void sub_804BBE8(u8); +static void sub_804B058(struct Sprite *); +static void sub_804B07C(struct Sprite *); +static void sub_804B0BC(struct Sprite *); +static void sub_804B104(struct Sprite *); +static void sub_804D80C(struct Sprite *); +static void sub_804E1DC(void); +static void sub_804BBCC(void); +static void sub_804D8E4(void); +static void sub_804C164(void); +static void sub_804C1A8(void); +#ifdef NONMATCHING +static +#endif +void sub_804DB84(void); + +extern u8 gUnknown_020297D8[2]; +extern u8 *gUnknown_020296CC[13]; +extern struct TradeEwramSubstruct *gUnknown_03004824; +extern struct MailStruct gUnknown_02029700[16]; + +#define ewram_2010000 (*(struct TradeEwramStruct *)(ewram + 0x10000)) + + +const u32 unref_data_820ABD4[] = { + 0x00000890, + 0x00003AC0, + 0x0000001C, + 0x00000530, + 0x00000024, + 0x00000064, + 0x000004D8 +}; + +const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); +const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); +const u16 gTradeStripesBG2Tilemap[] = INCBIN_U16("graphics/trade/stripes_bg2_map.bin"); +const u16 gTradeStripesBG3Tilemap[] = INCBIN_U16("graphics/trade/stripes_bg3_map.bin"); + +const struct OamData gOamData_820BFEC = { + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 1 +}; + +const union AnimCmd gSpriteAnim_820BFF4[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_820BFFC[] = { + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_820C004[] = { + ANIMCMD_FRAME(16, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_820C00C[] = { + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_820C014[] = { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_820C01C[] = { + ANIMCMD_FRAME(40, 5), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_820C024[] = { + gSpriteAnim_820BFF4, + gSpriteAnim_820BFFC, + gSpriteAnim_820C004, + gSpriteAnim_820C00C, + gSpriteAnim_820C014, + gSpriteAnim_820C01C +}; + +const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text1.gbapal"); +const u16 UnrefTradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text2.gbapal"); + +const struct SpriteSheet gUnknown_0820C07C[] = { + {ewram_2010000.tileBuffers[ 0], 256, 200}, + {ewram_2010000.tileBuffers[ 1], 256, 201}, + {ewram_2010000.tileBuffers[ 2], 256, 202}, + {ewram_2010000.tileBuffers[ 3], 256, 203}, + {ewram_2010000.tileBuffers[ 4], 256, 204}, + {ewram_2010000.tileBuffers[ 5], 256, 205}, + {ewram_2010000.tileBuffers[ 6], 256, 206}, + {ewram_2010000.tileBuffers[ 7], 256, 207}, + {ewram_2010000.tileBuffers[ 8], 256, 208}, + {ewram_2010000.tileBuffers[ 9], 256, 209}, + {ewram_2010000.tileBuffers[10], 256, 210}, + {ewram_2010000.tileBuffers[11], 256, 211}, + {ewram_2010000.tileBuffers[12], 256, 212}, +}; + +const struct SpritePalette gSpritePalette_TradeScreenText = { + TradeScreenTextPalette, 4925 +}; + +const struct SpriteTemplate gSpriteTemplate_820C0EC = { + 200, + 4925, + &gOamData_820BFEC, + gSpriteAnimTable_820C024, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +const struct OamData gOamData_820C104 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +const union AnimCmd gSpriteAnim_820C10C[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_820C114[] = { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_820C11C[] = { + gSpriteAnim_820C10C, + gSpriteAnim_820C114 +}; + +const struct SpriteSheet gUnknown_0820C124 = { + gUnknown_08EA1DEC, 0x800, 300 +}; + +const struct SpritePalette gUnknown_0820C12C = { + gUnknown_08EA0328, 2345 +}; + +const struct SpriteTemplate gSpriteTemplate_820C134 = { + 300, + 2345, + &gOamData_820C104, + gSpriteAnimTable_820C11C, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +const u8 *const gUnknown_0820C14C[] = { + TradeText_Cancel, + TradeText_ChoosePoke, + TradeText_Summary1, + TradeText_Trade1, + TradeText_CancelTradePrompt, + TradeText_PressBToExit +}; + +// This is used to determine the next mon to select when the D-Pad is +// pressed in a given direction. +// Note that the mons are laid out like this. +// 0-5 are the player's party and 6-11 are the trading partner's party. +// 12 is the cancel button. +// 0 1 6 7 +// 2 3 8 9 +// 4 5 10 11 +// 12 + +const u8 gTradeNextSelectedMonTable[][4][6] = { + { + { 4, 2, 12, 12, 0, 0}, + { 2, 4, 12, 12, 0, 0}, + { 7, 6, 1, 0, 0, 0}, + { 1, 6, 7, 0, 0, 0} + }, { + { 5, 3, 12, 12, 0, 0}, + { 3, 5, 12, 12, 0, 0}, + { 0, 7, 6, 1, 0, 0}, + { 6, 7, 0, 1, 0, 0} + }, { + { 0, 0, 0, 0, 0, 0}, + { 4, 0, 0, 0, 0, 0}, + { 9, 8, 7, 6, 0, 0}, + { 3, 1, 0, 0, 0, 0} + }, { + { 1, 1, 1, 1, 0, 0}, + { 5, 1, 1, 1, 0, 0}, + { 2, 9, 8, 7, 0, 0}, + { 8, 9, 6, 6, 0, 0} + }, { + { 2, 2, 2, 2, 0, 0}, + { 0, 0, 0, 0, 0, 0}, + {11, 10, 9, 8, 7, 6}, + { 5, 3, 1, 0, 0, 0} + }, { + { 3, 3, 3, 3, 0, 0}, + { 1, 1, 1, 1, 0, 0}, + { 4, 4, 4, 4, 0, 0}, + {10, 8, 6, 0, 0, 0} + }, { + {10, 8, 12, 0, 0, 0}, + { 8, 10, 12, 0, 0, 0}, + { 1, 0, 0, 0, 0, 0}, + { 7, 0, 1, 0, 0, 0} + }, { + {12, 0, 0, 0, 0, 0}, + { 9, 12, 0, 0, 0, 0}, + { 6, 0, 0, 0, 0, 0}, + { 0, 0, 0, 0, 0, 0} + }, { + { 6, 0, 0, 0, 0, 0}, + {10, 6, 0, 0, 0, 0}, + { 3, 2, 1, 0, 0, 0}, + { 9, 7, 0, 0, 0, 0} + }, { + { 7, 0, 0, 0, 0, 0}, + {11, 12, 0, 0, 0, 0}, + { 8, 0, 0, 0, 0, 0}, + { 2, 1, 0, 0, 0, 0} + }, { + { 8, 0, 0, 0, 0, 0}, + { 6, 0, 0, 0, 0, 0}, + { 5, 4, 3, 2, 1, 0}, + {11, 9, 7, 0, 0, 0} + }, { + { 9, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {10, 0, 0, 0, 0, 0}, + { 4, 2, 0, 0, 0, 0} + }, { + {11, 9, 7, 6, 0, 0}, + { 7, 6, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0} + } +}; + +const u8 gTradeMonSpriteCoords[][2] = { + // Your party + {1, 5}, + {8, 5}, + {1, 10}, + {8, 10}, + {1, 15}, + {8, 15}, + + // Friend's party + {16, 5}, + {23, 5}, + {16, 10}, + {23, 10}, + {16, 15}, + {23, 15}, + + {23, 18} // CANCEL +}; + +const u8 gTradeLevelDisplayCoords[2][6][2] = { + { + // Your party + {5, 4}, + {12, 4}, + {5, 9}, + {12, 9}, + {5, 14}, + {12, 14}, + }, + { + // Friend's party + {20, 4}, + {27, 4}, + {20, 9}, + {27, 9}, + {20, 14}, + {27, 14} + } +}; + +const u8 gTradeMonBoxCoords[2][6][2] = { + { + // Your party + {1, 3}, + {8, 3}, + {1, 8}, + {8, 8}, + {1, 13}, + {8, 13}, + }, + { + // Friend's party + {16, 3}, + {23, 3}, + {16, 8}, + {23, 8}, + {16, 13}, + {23, 13} + } +}; + +const u8 gTradeUnknownSpriteCoords[][2][2] = { + { + { 59, 10}, + {179, 10}, + }, + { + { 59, 10}, + {179, 10} + } +}; + +const u8 *const gUnknown_0820C2F0[] = { + TradeText_LinkStandby, + TradeText_TradeCancelled, + TradeText_OnlyPoke, + TradeText_NonTradablePoke, + TradeText_WaitingForFriend, + TradeText_WantToTrade +}; + +const u8 gTradeMessageWindowRects[][4] = { + {8, 7, 22, 12}, + {8, 7, 22, 12}, + {6, 7, 24, 12}, + {6, 7, 24, 12}, + {8, 7, 22, 12}, + {7, 7, 23, 12} +}; + +const struct MenuAction2 gUnknown_0820C320[] = { + {TradeText_Summary2, sub_804A9F4}, + {TradeText_Trade2, sub_804AA00} +}; + +const u8 gUnknown_0820C330[][2] = { + { 0, 14}, + {15, 29} +}; + +const u8 gUnknown_0820C334[][2] = { + { 3, 5}, + { 3, 7}, + {18, 5}, + {18, 7} +}; + +const u8 gOtherText_Terminator[] = _(""); +const u8 gOtherText_MaleSymbol3[] = _("♂"); +const u8 gOtherText_FemaleSymbol3[] = _("♀"); +const u8 gOtherText_GenderlessSymbol[] = _("$"); + +u8 *const unref_data_820C344 = gTileBuffer; +const u8 unref_strings_820C348[][13] = { + _("かいめの そうしん"), + _("かいめの じゅしん"), + _("ポケモンアイコンセット"), + _("OBJテキストセット"), + _("セルセット"), + _("OBJテキストADD"), + _("システムメッセージADD"), + _("はいけいセット"), +}; + +const u8 gUnknown_0820C3B0[] = _("ヌケニン"); +const u8 unref_string_0820C3B5[] = _("こうかんせいりつ "); +const u8 unref_string_0820C3C3[] = _("だめだたらしいよ "); +const u8 gUnknown_0820C3D1[][2] = { + { 4, 3}, + {19, 3}, + { 0, 0} +}; + +const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal"); +const u32 gTradeBallTiles[] = INCBIN_U32("graphics/trade/ball.4bpp"); +const u16 gUnknown_0820C9F8[][16] = { + INCBIN_U16("graphics/trade/unknown.gbapal"), + INCBIN_U16("graphics/trade/gba.gbapal"), + INCBIN_U16("graphics/trade/shadow.gbapal"), + {}, + INCBIN_U16("graphics/trade/misc.gbapal") +}; + +const u32 gUnknown_0820CA98[] = INCBIN_U32("graphics/trade/gba.4bpp"); +const u32 gUnknown_0820CA98_2[] = INCBIN_U32("graphics/trade/shadow.4bpp"); +const u32 gUnknown_0820DD98[] = INCBIN_U32("graphics/trade/pokeball_symbol.8bpp"); +const u16 gUnknown_0820F798[] = INCBIN_U16("graphics/trade/shadow_map.bin"); +const u16 gUnknown_08210798[] = INCBIN_U16("graphics/trade/gba_map.bin"); +const u16 gUnknown_08211798[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); +const u16 gUnknown_08211F98[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); +const u16 unused_08212098[] = INCBIN_U16("graphics/unused/unknown/8212098.gbapal"); +const u16 gTradeCableEndPalette[] = INCBIN_U16("graphics/trade/cable_end.gbapal"); +const u16 unused_082120D8[] = INCBIN_U16("graphics/unused/unknown/82120D8.gbapal"); +const u16 nullpal_082120F8[16] = {}; +const u16 gTradeGlowPalette[] = INCBIN_U16("graphics/trade/glow.gbapal"); +const u32 gTradeGlow1Tiles[] = INCBIN_U32("graphics/trade/glow1.4bpp"); +const u32 gTradeGlow2Tiles[] = INCBIN_U32("graphics/trade/glow2.4bpp"); +const u32 gTradeCableEndTiles[] = INCBIN_U32("graphics/trade/cable_end.4bpp"); +const u32 gTradeGBAScreenTiles[] = INCBIN_U32("graphics/trade/gba_screen.4bpp"); +const u32 gUnknown_08213738[] = INCBIN_U32("graphics/trade/gba_affine.8bpp"); +const u16 gUnknown_08215778[] = INCBIN_U16("graphics/trade/gba_affine_map.bin"); + +const struct OamData gOamData_8215878 = { + .affineMode = 1, + .size = 1 +}; + +const union AnimCmd gSpriteAnim_8215880[] = { + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_82158BC[] = { + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(2), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_82158F8[] = { + gSpriteAnim_8215880, + gSpriteAnim_82158BC +}; + +const union AffineAnimCmd gSpriteAffineAnim_8215900[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnim_8215910[] = { + AFFINEANIMCMD_FRAME(-8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnim_8215920[] = { + AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), + AFFINEANIMCMD_FRAME( 0, 0, 0, 5), + AFFINEANIMCMD_FRAME( 8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_8215940[] = { + gSpriteAffineAnim_8215900, + gSpriteAffineAnim_8215910, + gSpriteAffineAnim_8215920 +}; + +const struct SpriteSheet gUnknown_0821594C = { + (const u8 *)gTradeBallTiles, 0x600, 5557 +}; + +const struct SpritePalette gUnknown_08215954 = { + gTradeBallPalette, 5558 +}; + +const struct SpriteTemplate gSpriteTemplate_821595C = { + 5557, + 5558, + &gOamData_8215878, + gSpriteAnimTable_82158F8, + NULL, + gSpriteAffineAnimTable_8215940, + sub_804D6BC +}; + +const struct OamData gOamData_8215974 = { + .affineMode = 1, + .objMode = 1, + .size = 2, + .priority = 1 +}; + +const union AnimCmd gSpriteAnim_821597C[] = { + ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8215984[] = { + gSpriteAnim_821597C +}; + +const union AffineAnimCmd gSpriteAffineAnim_8215988[] = { + AFFINEANIMCMD_FRAME(-10, -10, 0, 5), + AFFINEANIMCMD_FRAME(10, 10, 0, 5), + AFFINEANIMCMD_JUMP(0) +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_82159A0[] = { + gSpriteAffineAnim_8215988 +}; + +const struct SpriteSheet gUnknown_082159A4 = { + (const u8 *)gTradeGlow1Tiles, 0x200, 5550 +}; + +const struct SpritePalette gUnknown_082159AC = { + gTradeGlowPalette, 5551 +}; + +const struct SpritePalette gUnknown_082159B4 = { + gTradeCableEndPalette, 5555 +}; + +const struct SpriteTemplate gSpriteTemplate_82159BC = { + 5550, + 5551, + &gOamData_8215974, + gSpriteAnimTable_8215984, + NULL, + gSpriteAffineAnimTable_82159A0, + sub_804B058 +}; + +const struct OamData gOamData_82159D4 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 1 +}; + +const union AnimCmd gSpriteAnim_82159DC[] = { + ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_82159E4[] = { + ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_82159EC[] = { + gSpriteAnim_82159DC, + gSpriteAnim_82159E4 +}; + +const struct SpriteSheet gUnknown_082159F4 = { + (const u8 *)gTradeGlow2Tiles, 0x300, 5552 +}; + +const struct SpriteTemplate gSpriteTemplate_82159FC = { + 5552, + 5551, + &gOamData_82159D4, + gSpriteAnimTable_82159EC, + NULL, + gDummySpriteAffineAnimTable, + sub_804B07C +}; + +const struct OamData gOamData_8215A14 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 1 +}; + +const union AnimCmd gSpriteAnim_8215A1C[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8215A24[] = { + gSpriteAnim_8215A1C +}; + +const struct SpriteSheet gUnknown_08215A28 = { + (const u8 *)gTradeCableEndTiles, 0x100, 5554 +}; + +const struct SpriteTemplate gSpriteTemplate_8215A30 = { + 5554, + 5555, + &gOamData_8215A14, + gSpriteAnimTable_8215A24, + NULL, + gDummySpriteAffineAnimTable, + sub_804B0BC +}; + +const struct OamData gOamData_8215A48 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +const union AnimCmd gSpriteAnim_8215A50[] = { + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(8), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8215A74[] = { + gSpriteAnim_8215A50 +}; + +const struct SpriteSheet gUnknown_08215A78 = { + (const u8 *)gTradeGBAScreenTiles, 0x1000, 5556 +}; + +const struct SpriteTemplate gSpriteTemplate_8215A80 = { + 5556, + 5555, + &gOamData_8215A48, + gSpriteAnimTable_8215A74, + NULL, + gDummySpriteAffineAnimTable, + sub_804B104 +}; + +const u16 gTradeGlow2PaletteAnimTable[] = { + RGB(18, 24, 31), + RGB(18, 24, 31), + RGB(18, 24, 31), + RGB(31, 31, 31), + RGB(31, 31, 31), + RGB(31, 31, 31), + RGB(18, 24, 31), + RGB(18, 24, 31), + RGB(18, 24, 31), + RGB(31, 31, 31), + RGB(31, 31, 31), + RGB(31, 31, 31), +}; + +const union AffineAnimCmd gSpriteAffineAnim_8215AB0[] = { + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_8215AC0[] = { + gSpriteAffineAnim_8215AB0 +}; + +const struct InGameTrade gIngameTrades[] = { +#if ENGLISH + { + _("MAKIT"), SPECIES_MAKUHITA, + 5, 5, 4, 4, 4, 4, + TRUE, 49562, + 5, 5, 5, 5, 30, + 0x9C40, + ITEM_X_ATTACK, -1, + _("ELYSSA"), MALE, 10, + SPECIES_SLAKOTH + }, { + _("SKITIT"), SPECIES_SKITTY, + 5, 4, 4, 5, 4, 4, + FALSE, 2259, + 5, 5, 30, 5, 5, + 0x498A2E17, + ITEM_GLITTER_MAIL, 0, + _("DARRELL"), FEMALE, 10, + SPECIES_PIKACHU + }, { + _("COROSO"), + SPECIES_CORSOLA, + 4, 4, 5, 4, 4, 5, + TRUE, 50183, + 5, 30, 5, 5, 5, + 0x4C970B7F, + ITEM_TROPIC_MAIL, 1, + _("LANE"), FEMALE, 10, + SPECIES_BELLOSSOM + } +#elif GERMAN + { + _("MAKIT"), SPECIES_MAKUHITA, + 5, 5, 4, 4, 4, 4, + TRUE, 49562, + 5, 5, 5, 5, 30, + 0x9C40, + ITEM_X_ATTACK, -1, + _("MAIK"), MALE, 10, + SPECIES_SLAKOTH + }, { + _("CONEC"), SPECIES_SKITTY, + 5, 4, 4, 5, 4, 4, + FALSE, 2259, + 5, 5, 30, 5, 5, + 0x498A2E17, + ITEM_GLITTER_MAIL, 0, + _("MADINA"), FEMALE, 10, + SPECIES_PIKACHU + }, { + _("CORASO"), + SPECIES_CORSOLA, + 4, 4, 5, 4, 4, 5, + TRUE, 50183, + 5, 30, 5, 5, 5, + 0x4C970B7F, + ITEM_TROPIC_MAIL, 1, + _("LIANA"), FEMALE, 10, + SPECIES_BELLOSSOM + } +#endif +}; + +const u16 gIngameTradeMail[][10] = { +#if ENGLISH + { + EC_POKEMON(PIKACHU), + EC_WORD_THANK_YOU, + EC_WORD_EXCL, + EC_WORD_MY, + EC_POKEMON(SKITTY), + EC_WORD_EATS, + EC_WORD_A_LOT, + EC_WORD_NOW, + EC_WORD_EXCL, + 0 + }, { + EC_WORD_I, + EC_WORD_WANT, + EC_WORD_TO, + EC_WORD_SEE, + EC_WORD_A, + EC_MOVE2(PETAL_DANCE), + EC_WORD_IT_S, + EC_WORD_SO, + EC_WORD_PRETTY, + 0 + } +#elif GERMAN + { + EC_POKEMON(PIKACHU), + EC_WORD_THANK_YOU, + EC_WORD_EXCL, + EC_WORD_MY, + EC_POKEMON(SKITTY), + EC_WORD_EATS, + 0xFFFF, + EC_WORD_A_LOT, + EC_WORD_EXCL, + 0 + }, { + EC_WORD_I, + EC_WORD_WANT, + EC_WORD_OF, + EC_MOVE2(PETAL_DANCE), + EC_WORD_WORKS, + EC_WORD_THE, + EC_WORD_IS, + EC_WORD_SO, + EC_WORD_PRETTY, + 0 + } +#endif +}; + +const s8 gTradeBallVerticalVelocityTable[] = { + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -4, + -4, -3, -3, -3, + -3, -2, -2, -2, + -2, -1, -1, -1, + -1, 0, -1, 0, + -1, 0, 0, 0, + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -3, + -3, -2, -2, -1, + -1, -1, 0, -1, + 0, 0, 0, 0, + 0, 0, 1, 0, + 1, 1, 1, 2, + 2, 3, 3, 4, + -4, -3, -2, -1, + -1, -1, 0, 0, + 0, 0, 1, 0, + 1, 1, 2, 3 +}; + +// .text + +void sub_8047CD8(void) +{ + SetMainCallback2(sub_8047EC0); +} + +static void sub_8047CE8(void) +{ + u8 mpId; + sub_804AFB8(&gWindowConfig_81E725C, gUnknown_020296CC[0], gSaveBlock2.playerName, 0xC); + mpId = GetMultiplayerId(); + sub_804AFB8(&gWindowConfig_81E725C, gUnknown_020296CC[3], gLinkPlayers[mpId ^ 1].name, 0xC); + sub_804AFB8(&gWindowConfig_81E725C, gUnknown_020296CC[6], gUnknown_0820C14C[0], 0x8); + sub_804ACD8(gUnknown_0820C14C[1], gUnknown_020296CC[8], 0x14); + nullsub_5(3, 0); +} + +static void sub_8047D58(void) +{ + struct SpriteTemplate spriteTemplate; + int i; + u8 mpId; + u16 slen; + int language; + + slen = StringLength(gSaveBlock2.playerName); + language = slen <= 5 ? 0 : 1; + for (i = 0; i < 3; i ++) + { + spriteTemplate = gSpriteTemplate_820C0EC; + spriteTemplate.tileTag += i; + CreateSprite(&spriteTemplate, gTradeUnknownSpriteCoords[language][0][0] + 32 * i, gTradeUnknownSpriteCoords[language][0][1], 1); + } + + mpId = GetMultiplayerId(); + slen = StringLength(gLinkPlayers[mpId ^ 1].name); + language = slen <= 5 ? 0 : 1; + for (i = 0; i < 3; i ++) + { + spriteTemplate = gSpriteTemplate_820C0EC; + spriteTemplate.tileTag += i + 3; + CreateSprite(&spriteTemplate, gTradeUnknownSpriteCoords[language][1][0] + 32 * i, gTradeUnknownSpriteCoords[language][1][1], 1); + } + nullsub_5(5, 0); +} + +static void sub_8047E44(void) +{ + struct SpriteTemplate spriteTemplate; + int i; + + for (i = 0; i < 2; i ++) + { + spriteTemplate = gSpriteTemplate_820C0EC; + spriteTemplate.tileTag += i + 6; + CreateSprite(&spriteTemplate, 0xd6 + 32 * i, 0x98, 1); + } + + for (i = 0; i < 5; i ++) + { + spriteTemplate = gSpriteTemplate_820C0EC; + spriteTemplate.tileTag += i + 8; + CreateSprite(&spriteTemplate, 0x18 + 32 * i, 0x96, 1); + } +} + +static void sub_8047EC0(void) +{ + int i; + + switch (gMain.state) + { + case 0: + gUnknown_03004824 = &ewram_2010000.unk_07000; + sub_804AA88(); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5)); + SetVBlankCallback(sub_80489F4); + InitMenuWindow(&gWindowConfig_81E6CE4); + SetUpWindowConfig(&gWindowConfig_81E6F84); + InitWindowFromConfig(&gUnknown_03004824->window, &gWindowConfig_81E6F84); + gUnknown_03004824->unk_007a = SetTextWindowBaseTileNum(20); + LoadTextWindowGraphics(&gUnknown_03004824->window); + MenuZeroFillScreen(); + sub_809D51C(); + gUnknown_03004824->unk_0075 = 0; + gUnknown_03004824->unk_007b = 0; + gUnknown_03004824->unk_007c = 0; + gUnknown_03004824->unk_0080[0] = 0; + gUnknown_03004824->unk_0080[1] = 0; + gUnknown_03004824->unk_0086 = 0; + gUnknown_03004824->unk_0087 = 0; + gUnknown_03004824->unk_00b4 = 0; + gUnknown_03000508[0] = 0; + gMain.state ++; + sub_804AA0C(0); + CpuFill16(0, ewram_2010000.tileBuffers, sizeof(ewram_2010000.tileBuffers)); + for (i = 0; i < 13; i ++) + gUnknown_020296CC[i] = ewram_2010000.tileBuffers[i]; + break; + case 1: + gLinkType = 0x1122; + OpenLink(); + for (i = 0; i < PARTY_SIZE; i ++) + CreateMon(&gEnemyParty[i], 0, 0, 0x20, FALSE, 0, FALSE, 0); + gMain.state ++; + gUnknown_03004824->unk_00b4 = 0; + CreateTask(sub_8083C50, 1); + break; + case 2: + gUnknown_03004824->unk_00b4 ++; + if (gUnknown_03004824->unk_00b4 > 11) + { + gUnknown_03004824->unk_00b4 = 0; + gMain.state ++; + } + break; + case 3: + if (GetLinkPlayerCount_2() >= sub_800820C()) + { + if (IsLinkMaster()) + { + if (++gUnknown_03004824->unk_00b4 > 30) + { + sub_8007F4C(); + gMain.state ++; + } + } + else + gMain.state ++; + } + break; + case 4: + if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == TRUE) + { + CalculatePlayerPartyCount(); + gMain.state ++; + } + break; + case 5: + if (sub_8048D44()) + { + sub_804AF84(); + gMain.state ++; + } + break; + case 6: + CalculateEnemyPartyCount(); + FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, 0, 0, 29, 19); + REG_DISPCNT = 0; + gUnknown_03004824->partyCounts[0] = gPlayerPartyCount; + gUnknown_03004824->partyCounts[1] = gEnemyPartyCount; + for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++) + gUnknown_03004824->partyIcons[0][i] = CreateMonIcon(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2), sub_809D62C, gTradeMonSpriteCoords[i][0] * 8 + 14, gTradeMonSpriteCoords[i][1] * 8 - 12, TRUE, GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY)); + for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++) + gUnknown_03004824->partyIcons[1][i] = CreateMonIcon(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2, NULL), sub_809D62C, gTradeMonSpriteCoords[6 + i][0] * 8 + 14, gTradeMonSpriteCoords[6 + i][1] * 8 - 12, TRUE, GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY)); + nullsub_5(2, 0); + gMain.state ++; + break; + case 7: + LoadHeldItemIconGraphics(); + CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 0); + gMain.state ++; + break; + case 8: + CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 1); + gMain.state ++; + break; + case 9: + sub_8047CE8(); + gMain.state ++; + gUnknown_03004824->unk_00b4 = 0; + break; + case 10: + nullsub_5(4, 0); + if (sub_804ABF8()) + gMain.state ++; + break; + case 11: + sub_8047D58(); + gMain.state ++; + break; + case 12: + sub_8047E44(); + gUnknown_03004824->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_820C134, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2); + gUnknown_03004824->tradeMenuCursorPosition = 0; + gMain.state ++; + nullsub_5(6, 0); + break; + case 13: + sub_804ACF4(0); + sub_804A41C(0); + gUnknown_03004824->unk_0000 = 0; + gUnknown_03004824->unk_0001 = 0; + sub_8048C70(); + gMain.state ++; + nullsub_5(7, 0); + PlayBGM(BGM_P_SCHOOL); + break; + case 14: + sub_804ACF4(1); + sub_804A41C(1); + gMain.state ++; + // fallthrough + case 15: + sub_8048B0C(0); + gMain.state ++; + break; + case 16: + sub_8048B0C(1); + gMain.state ++; + break; + case 17: + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gMain.state ++; + break; + case 18: + REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; + gMain.state ++; + break; + case 19: + sub_804AE3C(0); + gMain.state ++; + break; + case 20: + sub_804AE3C(1); + sub_804AF10(); + gMain.state ++; + break; + case 21: + if (!gPaletteFade.active) + { + gMain.callback1 = sub_80494D8; + SetMainCallback2(sub_8048AB4); + gUnknown_03000508[0] = 0; + } + break; + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_80484F4(void) +{ + int i; + struct UnkStructF *unkStructF; + + switch (gMain.state) + { + case 0: + gUnknown_03004824 = &ewram_2010000.unk_07000; + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5)); + SetVBlankCallback(sub_80489F4); + InitMenuWindow(&gWindowConfig_81E6CE4); + SetUpWindowConfig(&gWindowConfig_81E6F84); + InitWindowFromConfig(&gUnknown_03004824->window, &gWindowConfig_81E6F84); + gUnknown_03004824->unk_007a = SetTextWindowBaseTileNum(20); + LoadTextWindowGraphics(&gUnknown_03004824->window); + MenuZeroFillScreen(); + sub_809D51C(); + gUnknown_03004824->unk_0075 = 0; + gUnknown_03004824->unk_007b = 0; + gUnknown_03004824->unk_007c = 0; + gUnknown_03004824->unk_0080[0] = 0; + gUnknown_03004824->unk_0080[1] = 0; + gUnknown_03004824->unk_0086 = 0; + gUnknown_03004824->unk_0087 = 0; + gUnknown_03004824->unk_00b4 = 0; + gUnknown_03000508[0] = 0; + gMain.state ++; + for (i = 0; i < 13; i ++) + gUnknown_020296CC[i] = ewram_2010000.tileBuffers[i]; + break; + case 1: + gMain.state ++; + gUnknown_03004824->unk_00b4 = 0; + break; + case 2: + gMain.state ++; + break; + case 3: + gMain.state ++; + break; + case 4: + CalculatePlayerPartyCount(); + gMain.state ++; + break; + case 5: + gMain.state ++; + break; + case 6: + CalculateEnemyPartyCount(); + REG_DISPCNT = 0; + gUnknown_03004824->partyCounts[0] = gPlayerPartyCount; + gUnknown_03004824->partyCounts[1] = gEnemyPartyCount; + sub_804A41C(0); + sub_804A41C(1); + for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++) + gUnknown_03004824->partyIcons[0][i] = CreateMonIcon(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL), sub_809D62C, gTradeMonSpriteCoords[i][0] * 8 + 14, gTradeMonSpriteCoords[i][1] * 8 - 12, TRUE, GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY)); + for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++) + gUnknown_03004824->partyIcons[1][i] = CreateMonIcon(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2, NULL), sub_809D62C, gTradeMonSpriteCoords[6 + i][0] * 8 + 14, gTradeMonSpriteCoords[6 + i][1] * 8 - 12, TRUE, GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY)); + nullsub_5(2, 0); + gMain.state ++; + break; + case 7: + LoadHeldItemIconGraphics(); + CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 0); + gMain.state ++; + break; + case 8: + CreateHeldItemIcons(&gUnknown_03004824->partyCounts[0], gUnknown_03004824->partyIcons[0], 1); + gMain.state ++; + break; + case 9: + sub_8047CE8(); + gMain.state ++; + gUnknown_03004824->unk_00b4 = 0; + break; + case 10: + nullsub_5(4, 0); + if (sub_804ABF8()) + { + gMain.state ++; + } + break; + case 11: + sub_8047D58(); + gMain.state ++; + break; + case 12: + sub_8047E44(); + unkStructF = &ewram_2010000.unk_08000; + if (gUnknown_03004824->tradeMenuCursorPosition < 6) + gUnknown_03004824->tradeMenuCursorPosition = unkStructF->unk_0009; + else + gUnknown_03004824->tradeMenuCursorPosition = unkStructF->unk_0009 + 6; + gUnknown_03004824->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_820C134, gTradeMonSpriteCoords[gUnknown_03004824->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_03004824->tradeMenuCursorPosition][1] * 8, 2); + gMain.state = 15; + nullsub_5(6, 0); + break; + case 15: + sub_8048B0C(0); + gMain.state ++; + break; + case 16: + sub_8048B0C(1); + gUnknown_03004824->unk_0000 = 0; + gUnknown_03004824->unk_0001 = 0; + sub_8048C70(); + nullsub_5(7, 0); + gMain.state ++; + break; + case 17: + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gMain.state ++; + break; + case 18: + REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; + gMain.state ++; + break; + case 19: + gMain.state ++; + break; + case 20: + sub_804AF10(); + gMain.state ++; + break; + case 21: + if (!gPaletteFade.active) + { + SetMainCallback2(sub_8048AB4); + gUnknown_03000508[0] = 0; + } + break; + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_80489F4(void) +{ + sub_804A940(&gUnknown_03004824->unk_00c8); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +/*static*/ void sub_8048A14(void) +{ + if (++gUnknown_03004824->unk_00b4 >= 16) + { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004824->unk_007b = 10; + } +} + +/*static*/ void sub_8048A50(void) +{ + if (!gPaletteFade.active) + { + gUnknown_020297D8[0] = gUnknown_03004824->tradeMenuCursorPosition; + gUnknown_020297D8[1] = gUnknown_03004824->unk_008a; + sub_800832C(); + gUnknown_03004824->unk_007b = 13; + } +} + +/*static*/ void sub_8048A90(void) +{ + if (!gReceivedRemoteLinkPlayers) + { + gMain.callback1 = NULL; + SetMainCallback2(sub_804B41C); + } +} + +static void sub_8048AB4(void) +{ + sub_8049DE0(); + sub_804AB30(); + sub_8049ED4(0); + sub_8049ED4(1); + REG_BG2HOFS = gUnknown_03004824->unk_0000++; + REG_BG3HOFS = gUnknown_03004824->unk_0001--; + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +#ifdef NONMATCHING +// Only minor register permutations +#pragma push_macro("BLOCKSIZE") +#define BLOCKSIZE 0x800 +static void sub_8048B0C(u8 a0) +{ + int i; + u16 *dest; + const u16 *src; + u32 size; + switch (a0) + { + case 0: + for (i = 0; i < 48; i ++) + { + gPlttBufferUnfaded[i] = *(gUnknown_08EA02C8 + i); + gPlttBufferFaded[i] = *(gUnknown_08EA02C8 + i); + } + src = gUnknown_08EA0348; + dest = (u16 *)BG_VRAM; + size = 0x1280; + while (1) + { + DmaCopy16(3, src, dest, BLOCKSIZE * sizeof(u16)); + src += BLOCKSIZE; + dest += BLOCKSIZE; + size -= BLOCKSIZE * sizeof(u16); + if (size <= BLOCKSIZE * sizeof(u16)) + { + DmaCopy16(3, src, dest, size); + break; + } + } + for (i = 0; i < 0x400; i ++) + gUnknown_03004824->unk_00c8.unk_12[i] = gUnknown_08EA15C8[i]; + dest = BG_SCREEN_ADDR(6); + DmaCopy16(3, gTradeStripesBG2Tilemap, dest, 0x800); + break; + case 1: + src = gTradeStripesBG3Tilemap; + dest = BG_SCREEN_ADDR(7); + DmaCopy16(3, src, dest, 0x800); + sub_804A6DC(0); + sub_804A6DC(1); + sub_804A938(&gUnknown_03004824->unk_00c8); + REG_BG0CNT &= ~0x03; // BGCNT_PRIORITY(0) + REG_BG1CNT = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(5); + REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(6); + REG_BG3CNT = BGCNT_PRIORITY(3) | BGCNT_SCREENBASE(7); + REG_BG0HOFS = 0; + REG_BG1HOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1VOFS = 0; + REG_BG2VOFS = 0; + REG_BG3VOFS = 0; + break; + } +} +#pragma pop_macro("BLOCKSIZE") +#else +asm(".include \"constants/gba_constants.inc\""); +__attribute__((naked)) +static void sub_8048B0C(u8 a0) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _08048B1C\n" + "\tcmp r0, 0x1\n" + "\tbeq _08048BD0\n" + "\tb _08048C3A\n" + "_08048B1C:\n" + "\tldr r5, _08048BA0 @ =gUnknown_08EA0348\n" + "\tldr r0, _08048BA4 @ =gTradeStripesBG2Tilemap\n" + "\tmov r12, r0\n" + "\tldr r1, _08048BA8 @ =gUnknown_08EA02C8\n" + "\tldr r4, _08048BAC @ =gPlttBufferFaded\n" + "\tldr r3, _08048BB0 @ =gPlttBufferUnfaded\n" + "\tmovs r2, 0x2F\n" + "_08048B2A:\n" + "\tldrh r0, [r1]\n" + "\tstrh r0, [r3]\n" + "\tldrh r0, [r1]\n" + "\tstrh r0, [r4]\n" + "\tadds r1, 0x2\n" + "\tadds r4, 0x2\n" + "\tadds r3, 0x2\n" + "\tsubs r2, 0x1\n" + "\tcmp r2, 0\n" + "\tbge _08048B2A\n" + "\tadds r3, r5, 0\n" + "\tmovs r4, 0xC0\n" + "\tlsls r4, 19\n" + "\tmovs r5, 0x94\n" + "\tlsls r5, 5\n" + "\tldr r1, _08048BB4 @ =0x040000d4\n" + "\tldr r6, _08048BB8 @ =0x80000800\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 5\n" + "\tmovs r7, 0x80\n" + "\tlsls r7, 24\n" + "_08048B54:\n" + "\tstr r3, [r1]\n" + "\tstr r4, [r1, 0x4]\n" + "\tstr r6, [r1, 0x8]\n" + "\tldr r0, [r1, 0x8]\n" + "\tadds r3, r2\n" + "\tadds r4, r2\n" + "\tsubs r5, r2\n" + "\tcmp r5, r2\n" + "\tbhi _08048B54\n" + "\tstr r3, [r1]\n" + "\tstr r4, [r1, 0x4]\n" + "\tlsrs r0, r5, 1\n" + "\torrs r0, r7\n" + "\tstr r0, [r1, 0x8]\n" + "\tldr r0, [r1, 0x8]\n" + "\tmovs r2, 0\n" + "\tldr r5, _08048BBC @ =0x000003ff\n" + "\tldr r4, _08048BC0 @ =gUnknown_03004824\n" + "\tldr r3, _08048BC4 @ =gUnknown_08EA15C8\n" + "_08048B7A:\n" + "\tldr r0, [r4]\n" + "\tlsls r1, r2, 1\n" + "\tadds r0, 0xDA\n" + "\tadds r0, r1\n" + "\tldrh r1, [r3]\n" + "\tstrh r1, [r0]\n" + "\tadds r3, 0x2\n" + "\tadds r2, 0x1\n" + "\tcmp r2, r5\n" + "\tble _08048B7A\n" + "\tldr r1, _08048BC8 @ =0x06003000\n" + "\tldr r0, _08048BB4 @ =0x040000d4\n" + "\tmov r2, r12\n" + "\tstr r2, [r0]\n" + "\tstr r1, [r0, 0x4]\n" + "\tldr r1, _08048BCC @ =0x80000400\n" + "\tstr r1, [r0, 0x8]\n" + "\tldr r0, [r0, 0x8]\n" + "\tb _08048C3A\n" + "\t.align 2, 0\n" + "_08048BA0: .4byte gUnknown_08EA0348\n" + "_08048BA4: .4byte gTradeStripesBG2Tilemap\n" + "_08048BA8: .4byte gUnknown_08EA02C8\n" + "_08048BAC: .4byte gPlttBufferFaded\n" + "_08048BB0: .4byte gPlttBufferUnfaded\n" + "_08048BB4: .4byte 0x040000d4\n" + "_08048BB8: .4byte 0x80000800\n" + "_08048BBC: .4byte 0x000003ff\n" + "_08048BC0: .4byte gUnknown_03004824\n" + "_08048BC4: .4byte gUnknown_08EA15C8\n" + "_08048BC8: .4byte 0x06003000\n" + "_08048BCC: .4byte 0x80000400\n" + "_08048BD0:\n" + "\tldr r1, _08048C40 @ =gTradeStripesBG3Tilemap\n" + "\tldr r2, _08048C44 @ =0x06003800\n" + "\tldr r0, _08048C48 @ =0x040000d4\n" + "\tstr r1, [r0]\n" + "\tstr r2, [r0, 0x4]\n" + "\tldr r1, _08048C4C @ =0x80000400\n" + "\tstr r1, [r0, 0x8]\n" + "\tldr r0, [r0, 0x8]\n" + "\tmovs r0, 0\n" + "\tbl sub_804A6DC\n" + "\tmovs r0, 0x1\n" + "\tbl sub_804A6DC\n" + "\tldr r0, _08048C50 @ =gUnknown_03004824\n" + "\tldr r0, [r0]\n" + "\tadds r0, 0xC8\n" + "\tbl sub_804A938\n" + "\tldr r2, _08048C54 @ =REG_BG0CNT\n" + "\tldrh r1, [r2]\n" + "\tldr r0, _08048C58 @ =0x0000fffc\n" + "\tands r0, r1\n" + "\tstrh r0, [r2]\n" + "\tldr r1, _08048C5C @ =REG_BG1CNT\n" + "\tldr r2, _08048C60 @ =0x00000501\n" + "\tadds r0, r2, 0\n" + "\tstrh r0, [r1]\n" + "\tadds r1, 0x2\n" + "\tldr r2, _08048C64 @ =0x00000602\n" + "\tadds r0, r2, 0\n" + "\tstrh r0, [r1]\n" + "\tadds r1, 0x2\n" + "\tldr r2, _08048C68 @ =0x00000703\n" + "\tadds r0, r2, 0\n" + "\tstrh r0, [r1]\n" + "\tldr r0, _08048C6C @ =REG_BG0HOFS\n" + "\tmovs r1, 0\n" + "\tstrh r1, [r0]\n" + "\tadds r0, 0x4\n" + "\tstrh r1, [r0]\n" + "\tadds r0, 0x4\n" + "\tstrh r1, [r0]\n" + "\tadds r0, 0x4\n" + "\tstrh r1, [r0]\n" + "\tsubs r0, 0xA\n" + "\tstrh r1, [r0]\n" + "\tadds r0, 0x4\n" + "\tstrh r1, [r0]\n" + "\tadds r0, 0x4\n" + "\tstrh r1, [r0]\n" + "\tadds r0, 0x4\n" + "\tstrh r1, [r0]\n" + "_08048C3A:\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08048C40: .4byte gTradeStripesBG3Tilemap\n" + "_08048C44: .4byte 0x06003800\n" + "_08048C48: .4byte 0x040000d4\n" + "_08048C4C: .4byte 0x80000400\n" + "_08048C50: .4byte gUnknown_03004824\n" + "_08048C54: .4byte REG_BG0CNT\n" + "_08048C58: .4byte 0x0000fffc\n" + "_08048C5C: .4byte REG_BG1CNT\n" + "_08048C60: .4byte 0x00000501\n" + "_08048C64: .4byte 0x00000602\n" + "_08048C68: .4byte 0x00000703\n" + "_08048C6C: .4byte REG_BG0HOFS"); +} +#endif + +static void sub_8048C70(void) +{ + int i; + for (i = 0; i < PARTY_SIZE; i ++) + { + if (i < gUnknown_03004824->partyCounts[0]) + { + gSprites[gUnknown_03004824->partyIcons[0][i]].invisible = FALSE; + gUnknown_03004824->tradeMenuOptionsActive[i] = TRUE; + } + else + { + gUnknown_03004824->tradeMenuOptionsActive[i] = FALSE; + } + if (i < gUnknown_03004824->partyCounts[1]) + { + gSprites[gUnknown_03004824->partyIcons[1][i]].invisible = FALSE; + gUnknown_03004824->tradeMenuOptionsActive[i + 6] = TRUE; + } + else + { + gUnknown_03004824->tradeMenuOptionsActive[i + 6] = FALSE; + } + } + gUnknown_03004824->tradeMenuOptionsActive[12] = TRUE; +} + +static void nullsub_5(u8 a0, u8 a1) {} + +// why not just use memcpy? +static void Trade_Memcpy(void *dataDest, void *dataSrc, u32 size) +{ + u8 *dest = dataDest; + u8 *src = dataSrc; + int i; + for (i = 0; i < size; i ++) dest[i] = src[i]; +} + +static bool8 sub_8048D44(void) +{ + u8 mpId = GetMultiplayerId(); + int i; + u16 species; + u8 nickname[11]; + struct Pokemon *pokemon; + + SetLinkDebugValues(gUnknown_03004824->unk_0075 / 100, gUnknown_03004824->unk_0075 % 100); + switch (gUnknown_03004824->unk_0075) + { + case 0: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); + gUnknown_03004824->unk_0075 ++; + break; + case 1: + if (sub_8007ECC()) + { + if (GetBlockReceivedStatus() == 0) + { + gUnknown_03004824->unk_0075 ++; + } + else + { + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + } + break; + case 2: + if (mpId == 0) + { + sub_8007E9C(1); + } + gUnknown_03004824->unk_0075 ++; + break; + case 3: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 4: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); + gUnknown_03004824->unk_0075 ++; + break; + case 5: + if (mpId == 0) + { + sub_8007E9C(1); + } + gUnknown_03004824->unk_0075 ++; + break; + case 6: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 7: + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 2 * sizeof(struct Pokemon)); + gUnknown_03004824->unk_0075 ++; + break; + case 8: + if (mpId == 0) + { + sub_8007E9C(1); + } + gUnknown_03004824->unk_0075 ++; + break; + case 9: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 10: + Trade_Memcpy(gBlockSendBuffer, &gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4); + gUnknown_03004824->unk_0075 ++; + break; + case 11: + if (mpId == 0) + { + sub_8007E9C(3); + } + gUnknown_03004824->unk_0075 ++; + break; + case 12: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(&gUnknown_02029700[0], gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct)); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 13: + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1.giftRibbons, 11); + gUnknown_03004824->unk_0075 ++; + break; + case 14: + if (mpId == 0) + { + sub_8007E9C(4); + } + gUnknown_03004824->unk_0075 ++; + break; + case 15: + if (GetBlockReceivedStatus() == 3) + { + Trade_Memcpy(gUnknown_03004824->unk_00b5, gBlockRecvBuffer[mpId ^ 1], 11); + ResetBlockReceivedFlags(); + gUnknown_03004824->unk_0075 ++; + } + break; + case 16: + pokemon = gEnemyParty; + for (i = 0; i < PARTY_SIZE; i ++) + { + if ((species = GetMonData(pokemon, MON_DATA_SPECIES)) != SPECIES_NONE && species == SPECIES_SHEDINJA && GetMonData(pokemon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) + { + GetMonData(pokemon, MON_DATA_NICKNAME, nickname); + if (!StringCompareWithoutExtCtrlCodes(nickname, gUnknown_0820C3B0)) + SetMonData(pokemon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); + } + pokemon ++; + } + return TRUE; + } + return FALSE; +} + +static void sub_8049088(void) +{ + u8 string[28]; + StringCopy(string, gTradeText_TradeOkayPrompt); + sub_804ACD8(string, BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20); +} + +static void sub_80490BC(u8 mpId, u8 a1) +{ + if (a1 & 1) + { + switch (gBlockRecvBuffer[mpId][0]) + { + case 0xeeaa: + gUnknown_03004824->unk_0084 = 2; + break; + case 0xaabb: + gUnknown_03004824->unk_0084 = 1; + break; + case 0xbbbb: + gUnknown_03004824->unk_0086 = 1; + break; + case 0xbbcc: + gUnknown_03004824->unk_0086 = 2; + break; + } + ResetBlockReceivedFlag(0); + } + if (a1 & 2) + { + switch (gBlockRecvBuffer[1][0]) + { + case 0xeeaa: + gUnknown_03004824->unk_0085 = 2; + break; + case 0xaabb: + gUnknown_03004824->unk_008a = gBlockRecvBuffer[1][1] + 6; + gUnknown_03004824->unk_0085 = 1; + break; + case 0xbbbb: + gUnknown_03004824->unk_0087 = 1; + break; + case 0xbbcc: + gUnknown_03004824->unk_0087 = 2; + break; + } + ResetBlockReceivedFlag(1); + } +} + +static void sub_80491E4(u8 mpId, u8 status) +{ + if (status & 1) + { + switch (gBlockRecvBuffer[0][0]) + { + case 0xeebb: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + sub_804AA0C(4); + gUnknown_03004824->unk_007b = 11; + break; + case 0xeecc: + sub_804AA0C(5); + gUnknown_03004824->unk_007b = 8; + break; + case 0xdddd: + gUnknown_03004824->unk_008a = gBlockRecvBuffer[0][1] + 6; + sub_8049E9C(gUnknown_03004824->tradeMenuCursorPosition); + sub_8049E9C(gUnknown_03004824->unk_008a); + gUnknown_03004824->unk_007b = 7; + break; + case 0xccdd: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004824->unk_007b = 10; + break; + case 0xddee: + sub_804AA0C(1); + gUnknown_03004824->unk_007b = 8; + break; + } + ResetBlockReceivedFlag(0); + } + if (status & 2) + { + ResetBlockReceivedFlag(1); + } +} + +static void sub_80492D8(void) +{ + if (gUnknown_03004824->unk_0084 && gUnknown_03004824->unk_0085) + { + if (gUnknown_03004824->unk_0084 == 1 && gUnknown_03004824->unk_0085 == 1) + { + gUnknown_03004824->unk_007b = 6; + gUnknown_03004824->linkData[0] = 0xdddd; + gUnknown_03004824->linkData[1] = gUnknown_03004824->tradeMenuCursorPosition; + sub_804AADC(5, 0); + gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0; + } + else if (gUnknown_03004824->unk_0084 == 1 && gUnknown_03004824->unk_0085 == 2) + { + sub_804AA0C(1); + gUnknown_03004824->linkData[0] = 0xeecc; + gUnknown_03004824->linkData[1] = 0; + sub_804AADC(5, 0); + gUnknown_03004824->unk_0086 = gUnknown_03004824->unk_0087 = 0; + gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0; + gUnknown_03004824->unk_007b = 8; + } + else if (gUnknown_03004824->unk_0084 == 2 && gUnknown_03004824->unk_0085 == 1) + { + sub_804AA0C(5); + gUnknown_03004824->linkData[0] = 0xddee; + gUnknown_03004824->linkData[1] = 0; + sub_804AADC(5, 0); + gUnknown_03004824->unk_0086 = gUnknown_03004824->unk_0087 = 0; + gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0; + gUnknown_03004824->unk_007b = 8; + } + else if (gUnknown_03004824->unk_0084 == 2 && gUnknown_03004824->unk_0085 == 2) + { + gUnknown_03004824->linkData[0] = 0xeebb; + gUnknown_03004824->linkData[1] = 0; + sub_804AADC(5, 0); + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0; + gUnknown_03004824->unk_007b = 11; + } + } + if (gUnknown_03004824->unk_0086 && gUnknown_03004824->unk_0087) + { + if (gUnknown_03004824->unk_0086 == 1 && gUnknown_03004824->unk_0087 == 1) + { + gUnknown_03004824->linkData[0] = 0xccdd; + gUnknown_03004824->linkData[1] = 0; + sub_804AADC(5, 0); + gUnknown_03004824->unk_0086 = 0; + gUnknown_03004824->unk_0087 = 0; + gUnknown_03004824->unk_007b = 9; + } + if (gUnknown_03004824->unk_0086 == 2 || gUnknown_03004824->unk_0087 == 2) + { + sub_804AA0C(1); + gUnknown_03004824->linkData[0] = 0xddee; + gUnknown_03004824->linkData[1] = 0; + sub_804AADC(5, 0); + gUnknown_03004824->unk_0086 = 0; + gUnknown_03004824->unk_0087 = 0; + gUnknown_03004824->unk_007b = 8; + } + } +} + +static void sub_80494D8(void) +{ + u8 mpId = GetMultiplayerId(); + u8 status; + if ((status = GetBlockReceivedStatus())) + { + if (mpId == 0) + sub_80490BC(mpId, status); + else + sub_80491E4(mpId, status); + ResetBlockReceivedFlags(); + } + if (mpId == 0) + sub_80492D8(); +} + +static u8 sub_8049514(u8 oldPosition, u8 direction) +{ + int i; + u8 newPosition = 0; + for (i = 0; i < PARTY_SIZE; i ++) + { + if (gUnknown_03004824->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) + { + newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i]; + break; + } + } + return newPosition; +} + +static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction) +{ + u8 newPosition = sub_8049514(*tradeMenuCursorPosition, direction); + if (newPosition == 12) // CANCEL + { + StartSpriteAnim(&gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx], 1); + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.x = 0xe0; + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.y = 0xa0; + } + else + { + StartSpriteAnim(&gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx], 0); + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32; + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8; + } + if (*tradeMenuCursorPosition != newPosition) + { + PlaySE(SE_SELECT); + } + *tradeMenuCursorPosition = newPosition; +} + +static void sub_8049620(void) +{ + sub_804AA0C(0); + gUnknown_03004824->unk_007b = 5; + if (GetMultiplayerId() == 1) + { + gUnknown_03004824->linkData[0] = 0xaabb; + gUnknown_03004824->linkData[1] = gUnknown_03004824->tradeMenuCursorPosition; + Trade_SendData(gUnknown_03004824); + } + else + { + gUnknown_03004824->unk_0084 = 1; + } +} + +static void sub_8049680(void) +{ + int i; + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 0); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 1); + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 2); + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + TradeMenuMoveCursor(&gUnknown_03004824->tradeMenuCursorPosition, 3); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gUnknown_03004824->tradeMenuCursorPosition < PARTY_SIZE) + { + DrawTextWindow(&gUnknown_03004824->window, 18, 14, 28, 19); + PrintMenuItems(19, 15, 2, (const struct MenuAction *)gUnknown_0820C320); + InitMenu(0, 19, 15, 2, 0, 9); + gUnknown_03004824->unk_007b = 1; + } + else if (gUnknown_03004824->tradeMenuCursorPosition < 2 * PARTY_SIZE) + { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004824->unk_007b = 2; + } + else if (gUnknown_03004824->tradeMenuCursorPosition == 2 * PARTY_SIZE) + { + DrawTextWindow(&gUnknown_03004824->window, 24, 14, 29, 19); + InitYesNoMenu(24, 14, 4); + gUnknown_03004824->unk_007b = 4; + sub_804ACD8(gUnknown_0820C14C[4], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); + } + } + if (gMain.newKeys & R_BUTTON) + { + for (i = 0; i < 10; i ++) + { + gUnknown_03004824->linkData[i] = i; + } + Trade_SendData(gUnknown_03004824); + } +} + +static void sub_8049804(void) +{ + HandleDestroyMenuCursors(); + sub_804A80C(); + gUnknown_03004824->unk_007b = 0; + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = FALSE; + sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); +} + +static void sub_8049860(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gUnknown_03004824->unk_007c = MoveMenuCursor(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gUnknown_03004824->unk_007c = MoveMenuCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (GetMenuCursorPos() == 0) + { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004824->unk_007b = 2; + } + else if (sub_80499F0(gUnknown_03004824->unk_0051[0], gUnknown_03004824->partyCounts[0], gUnknown_03004824->tradeMenuCursorPosition) == 0) + { + sub_804AADC(3, 2); + gUnknown_03004824->unk_007b = 8; + } + else + { + sub_8049620(); + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = TRUE; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_8049804(); + } +} + +static void sub_8049954(void) +{ + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_8049804(); + } +} + +static void sub_804997C(void) +{ + if (!gPaletteFade.active) + { + if (gUnknown_03004824->tradeMenuCursorPosition < PARTY_SIZE) + { + ShowPokemonSummaryScreen(gPlayerParty, gUnknown_03004824->tradeMenuCursorPosition, gUnknown_03004824->partyCounts[0] - 1, sub_80484F4, 4); + } + else + { + ShowPokemonSummaryScreen(gEnemyParty, gUnknown_03004824->tradeMenuCursorPosition - 6, gUnknown_03004824->partyCounts[1] - 1, sub_80484F4, 4); + } + } +} + +static u8 sub_80499F0(const u8 *src, u8 partyCount, u8 tradeMenuCursorPosition) +{ + u8 retval = 0; + int i; + for (i = 0; i < partyCount; i ++) + { + if (tradeMenuCursorPosition != i) + { + retval += src[i]; + } + } + return retval; +} + +static void sub_8049A20(void) +{ + u8 unk_0051[12]; + int i; + for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++) + { + unk_0051[i] = gUnknown_03004824->unk_0051[0][i]; + } + if (sub_80499F0(unk_0051, gUnknown_03004824->partyCounts[0], gUnknown_03004824->tradeMenuCursorPosition) == 0) + { + sub_804AADC(3, 2); + gUnknown_03004824->linkData[0] = 0xbbcc; + sub_804AADC(0xb4, 0); + } + else + { + sub_804AADC(3, 1); + gUnknown_03004824->linkData[0] = 0xbbbb; + if (sub_8007ECC()) + { + Trade_SendData(gUnknown_03004824); + } + } +} + +static void sub_8049AC0(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gUnknown_03004824->unk_007c = MoveMenuCursor(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gUnknown_03004824->unk_007c = MoveMenuCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (GetMenuCursorPos() == 0) + { + sub_8049A20(); + } + else + { + sub_804AADC(3, 1); + if (sub_8007ECC()) + { + gUnknown_03004824->linkData[0] = 0xbbcc; + Trade_SendData(gUnknown_03004824); + } + } + gUnknown_03004824->unk_007b = 100; + } + else if (gMain.newKeys & B_BUTTON) + { + sub_804AADC(3, 1); + if (GetMenuCursorPos() == 0) + { + gUnknown_03004824->unk_007c = MoveMenuCursor(+1); + } + gUnknown_03004824->linkData[0] = 0xbbcc; + Trade_SendData(gUnknown_03004824); + gUnknown_03004824->unk_007b = 100; + } +} + +static void sub_8049BC0(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gUnknown_03004824->unk_007c = MoveMenuCursor(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gUnknown_03004824->unk_007c = MoveMenuCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (GetMenuCursorPos() == 0) + { + sub_804AA0C(4); + gUnknown_03004824->linkData[0] = 0xeeaa; + gUnknown_03004824->linkData[1] = 0; + sub_804AADC(5, 0); + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = TRUE; + gUnknown_03004824->unk_007b = 100; + } + else + { + sub_8049804(); + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_8049804(); + } +} + +static void sub_8049C8C(void) +{ + if (GetMultiplayerId() == 0) + { + sub_8049E9C(gUnknown_03004824->tradeMenuCursorPosition); + sub_8049E9C(gUnknown_03004824->unk_008a); + } + gUnknown_03004824->unk_007b = 7; +} + +static void sub_8049CC4(void) +{ + if (gUnknown_03004824->unk_0080[0] == 5 && gUnknown_03004824->unk_0080[1] == 5) + { + sub_8049088(); + gUnknown_03004824->unk_007b = 14; + } +} + +static void DisplayMessageAndContinueTask(void) +{ + gUnknown_03004824->unk_00b4++; + if (gUnknown_03004824->unk_00b4 > 120) + { + DrawTextWindow(&gUnknown_03004824->window, 24, 14, 29, 19); + InitYesNoMenu(24, 14, 4); + gUnknown_03004824->unk_00b4 = 0; + gUnknown_03004824->unk_007b = 3; + } +} + +static void sub_8049D44(void) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_804A840(0); + sub_804A840(1); + gUnknown_03004824->unk_007b = 0; + gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = FALSE; + } +} + +static void sub_8049D9C(void) +{ + if (!gPaletteFade.active) + { + sub_800832C(); + gUnknown_03004824->unk_007b = 12; + } +} + +static void sub_8049DC4(void) +{ + if (gReceivedRemoteLinkPlayers == 0) + { + SetMainCallback2(sub_805465C); + } +} + +static void sub_8049DE0(void) +{ + switch (gUnknown_03004824->unk_007b) + { + case 0: + sub_8049680(); + break; + case 1: + sub_8049860(); + break; + case 2: + sub_804997C(); + break; + case 3: + sub_8049AC0(); + break; + case 4: + sub_8049BC0(); + break; + case 6: + sub_8049C8C(); + break; + case 7: + sub_8049CC4(); + break; + case 8: + sub_8049D44(); + break; + case 9: + sub_8048A14(); + break; + case 10: + sub_8048A50(); + break; + case 11: + sub_8049D9C(); + break; + case 12: + sub_8049DC4(); + break; + case 13: + sub_8048A90(); + break; + case 14: + DisplayMessageAndContinueTask(); + break; + case 15: + sub_8049954(); + break; + } +} + +static void sub_8049E9C(u8 a0) +{ + u8 v0 = a0 / 6; + if (gUnknown_03004824->unk_0080[v0] == 0) + { + gUnknown_03004824->unk_0080[v0] = 1; + gUnknown_03004824->unk_0082[v0] = a0; + } +} + +// TODO: Figure out what the f**k is going on here +#ifdef NONMATCHING +static void sub_8049ED4(u8 a0) +{ + u8 i; + s8 stringLength; + u8 whichParty = 1; + u8 whichPokemon; + u8 string1[40]; + u8 string2[56]; + u8 temp0 = gUnknown_03004824->unk_0082[a0]; + if (temp0 < PARTY_SIZE) + whichParty = 0; + whichPokemon = temp0 % PARTY_SIZE; + + switch (gUnknown_03004824->unk_0080[a0]) + { + case 1: + for (i = 0; i < gUnknown_03004824->partyCounts[a0]; i ++) + { + gSprites[gUnknown_03004824->partyIcons[whichParty][i]].invisible = TRUE; + } + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].invisible = FALSE; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data0 = 20; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data2 = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data4 = gTradeMonSpriteCoords[6 * whichParty + whichPokemon][1] * 8 - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]], sub_809D62C); + gUnknown_03004824->unk_0080[a0] ++; + sub_8078A34(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]]); + HandleDestroyMenuCursors(); + FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[whichParty][0], 0, gUnknown_0820C330[whichParty][1], 19); + sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * a0, 0, gTradePartyBoxTilemap, 15, 17, 0); + if (whichParty == 0) + { + sub_804A80C(); + } + break; + case 2: + if (gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].callback == sub_809D62C) + { + gUnknown_03004824->unk_0080[a0] = 3; + } + break; + case 3: + sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * whichParty, 0, gTradePartyBoxTilemap, 15, 17, 0); + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos1.x = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon ][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos1.y = gTradeMonSpriteCoords[6 * whichParty + whichPokemon ][1] * 8 - 12; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos2.x = 0; + gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos2.y = 0; + stringLength = sub_804A2B4(string1 + 6, whichParty, whichPokemon); + string1[0] = 0xFC; + string1[1] = 0x06; + string1[2] = 0x04; + string1[3] = 0xFC; + string1[4] = 0x11; + string1[5] = (64 - stringLength) / 2; + sub_8003460(&gUnknown_03004824->window, string1, gUnknown_03004824->unk_007a + whichParty * 6 * 32, gUnknown_0820C334[whichParty][0], gUnknown_0820C334[whichParty][1]); + sub_804A33C(string2, whichParty, whichPokemon); + sub_8003460(&gUnknown_03004824->window, gOtherText_Terminator2, gUnknown_03004824->unk_007a + whichParty * 6 * 32 + 32, gUnknown_0820C334[whichParty + 1][0], gUnknown_0820C334[whichParty + 1][1] + 1); + sub_8003460(&gUnknown_03004824->window, string2, gUnknown_03004824->unk_007a + whichParty * 6 * 32 + 38, gUnknown_0820C334[whichParty + 1][0], gUnknown_0820C334[whichParty + 1][1] + 1); + gUnknown_03004824->unk_0080[a0] ++; + break; + case 4: + sub_804ACD8(gUnknown_0820C14C[5], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); + sub_804A51C(a0, whichPokemon, gUnknown_0820C3D1[a0][0] + 4, gUnknown_0820C3D1[a0][1] + 1, gUnknown_0820C3D1[a0][0], gUnknown_0820C3D1[a0][1]); + gUnknown_03004824->unk_0080[a0] ++; + break; + } +} +#else +__attribute__((naked)) +static void sub_8049ED4(u8 a0) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x74\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r10, r0\n" + "\tldr r0, _08049F24 @ =gUnknown_03004824\n" + "\tldr r5, [r0]\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x82\n" + "\tadd r0, r10\n" + "\tldrb r0, [r0]\n" + "\tmovs r1, 0x1\n" + "\tstr r1, [sp, 0x6C]\n" + "\tcmp r0, 0x5\n" + "\tbhi _08049EFE\n" + "\tmovs r2, 0\n" + "\tstr r2, [sp, 0x6C]\n" + "_08049EFE:\n" + "\tmovs r1, 0x6\n" + "\tbl __umodsi3\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r8, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x80\n" + "\tmov r1, r10\n" + "\tadds r3, r0, r1\n" + "\tldrb r0, [r3]\n" + "\tcmp r0, 0x2\n" + "\tbne _08049F1A\n" + "\tb _0804A0AC\n" + "_08049F1A:\n" + "\tcmp r0, 0x2\n" + "\tbgt _08049F28\n" + "\tcmp r0, 0x1\n" + "\tbeq _08049F36\n" + "\tb _0804A294\n" + "\t.align 2, 0\n" + "_08049F24: .4byte gUnknown_03004824\n" + "_08049F28:\n" + "\tcmp r0, 0x3\n" + "\tbne _08049F2E\n" + "\tb _0804A0E4\n" + "_08049F2E:\n" + "\tcmp r0, 0x4\n" + "\tbne _08049F34\n" + "\tb _0804A244\n" + "_08049F34:\n" + "\tb _0804A294\n" + "_08049F36:\n" + "\tmovs r4, 0\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x42\n" + "\tadd r0, r10\n" + "\tldr r7, _0804A094 @ =gSprites\n" + "\tldr r2, [sp, 0x6C]\n" + "\tlsls r2, 1\n" + "\tmov r9, r2\n" + "\tldr r3, _0804A098 @ =gTradeMonSpriteCoords\n" + "\tmov r12, r3\n" + "\tmov r5, r10\n" + "\tlsls r5, 4\n" + "\tstr r5, [sp, 0x70]\n" + "\tldrb r0, [r0]\n" + "\tcmp r4, r0\n" + "\tbcs _08049F8E\n" + "\tadds r6, r7, 0\n" + "\tldr r2, _0804A09C @ =gUnknown_03004824\n" + "\tldr r0, [sp, 0x6C]\n" + "\tadd r0, r9\n" + "\tlsls r3, r0, 1\n" + "\tmovs r5, 0x4\n" + "_08049F62:\n" + "\tldr r0, [r2]\n" + "\tadds r1, r4, r3\n" + "\tadds r0, 0x34\n" + "\tadds r0, r1\n" + "\tldrb r1, [r0]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r6\n" + "\tadds r0, 0x3E\n" + "\tldrb r1, [r0]\n" + "\torrs r1, r5\n" + "\tstrb r1, [r0]\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tldr r0, [r2]\n" + "\tadds r0, 0x42\n" + "\tadd r0, r10\n" + "\tldrb r0, [r0]\n" + "\tcmp r4, r0\n" + "\tbcc _08049F62\n" + "_08049F8E:\n" + "\tldr r1, _0804A09C @ =gUnknown_03004824\n" + "\tldr r0, [r1]\n" + "\tldr r5, [sp, 0x6C]\n" + "\tadd r5, r9\n" + "\tlsls r3, r5, 1\n" + "\tmov r2, r8\n" + "\tadds r6, r2, r3\n" + "\tadds r0, 0x34\n" + "\tadds r0, r6\n" + "\tldrb r1, [r0]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r7\n" + "\tadds r0, 0x3E\n" + "\tldrb r2, [r0]\n" + "\tmovs r1, 0x5\n" + "\tnegs r1, r1\n" + "\tands r1, r2\n" + "\tstrb r1, [r0]\n" + "\tldr r0, _0804A09C @ =gUnknown_03004824\n" + "\tldr r4, [r0]\n" + "\tadds r4, 0x34\n" + "\tadds r4, r6\n" + "\tldrb r1, [r4]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r7\n" + "\tmovs r1, 0x14\n" + "\tstrh r1, [r0, 0x2E]\n" + "\tldrb r0, [r4]\n" + "\tlsls r2, r0, 4\n" + "\tadds r2, r0\n" + "\tlsls r2, 2\n" + "\tadds r2, r7\n" + "\tlsls r5, 2\n" + "\tmov r1, r12\n" + "\tadds r0, r5, r1\n" + "\tldrb r0, [r0]\n" + "\tadds r3, 0x1\n" + "\tlsls r3, 1\n" + "\tadd r3, r12\n" + "\tldrb r1, [r3]\n" + "\tadds r0, r1\n" + "\tasrs r0, 1\n" + "\tlsls r0, 3\n" + "\tadds r0, 0xE\n" + "\tstrh r0, [r2, 0x32]\n" + "\tldrb r0, [r4]\n" + "\tlsls r1, r0, 4\n" + "\tadds r1, r0\n" + "\tlsls r1, 2\n" + "\tadds r1, r7\n" + "\tmov r0, r12\n" + "\tadds r0, 0x1\n" + "\tadds r5, r0\n" + "\tldrb r0, [r5]\n" + "\tlsls r0, 3\n" + "\tsubs r0, 0xC\n" + "\tstrh r0, [r1, 0x36]\n" + "\tldrb r1, [r4]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r7\n" + "\tldr r1, _0804A0A0 @ =sub_809D62C\n" + "\tbl StoreSpriteCallbackInData6\n" + "\tldr r2, _0804A09C @ =gUnknown_03004824\n" + "\tldr r1, [r2]\n" + "\tadds r1, 0x80\n" + "\tadd r1, r10\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tldr r0, [r2]\n" + "\tadds r0, 0x34\n" + "\tadds r0, r6\n" + "\tldrb r1, [r0]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r7\n" + "\tbl sub_8078A34\n" + "\tbl HandleDestroyMenuCursors\n" + "\tldr r3, _0804A09C @ =gUnknown_03004824\n" + "\tldr r0, [r3]\n" + "\tadds r0, 0x4\n" + "\tldr r1, _0804A0A4 @ =gUnknown_0820C330\n" + "\tmov r5, r9\n" + "\tadds r2, r5, r1\n" + "\tldrb r2, [r2]\n" + "\tadds r1, 0x1\n" + "\tadd r1, r9\n" + "\tldrb r1, [r1]\n" + "\tstr r1, [sp]\n" + "\tmovs r1, 0x13\n" + "\tstr r1, [sp, 0x4]\n" + "\tmovs r1, 0\n" + "\tmovs r3, 0\n" + "\tbl FillWindowRect_DefaultPalette\n" + "\tldr r1, _0804A09C @ =gUnknown_03004824\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0xC8\n" + "\tldr r2, [sp, 0x70]\n" + "\tmov r3, r10\n" + "\tsubs r1, r2, r3\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tldr r3, _0804A0A8 @ =gTradePartyBoxTilemap\n" + "\tmovs r2, 0xF\n" + "\tstr r2, [sp]\n" + "\tmovs r2, 0x11\n" + "\tstr r2, [sp, 0x4]\n" + "\tmovs r5, 0\n" + "\tstr r5, [sp, 0x8]\n" + "\tmovs r2, 0\n" + "\tbl sub_804A96C_alt\n" + "\tldr r0, [sp, 0x6C]\n" + "\tcmp r0, 0\n" + "\tbeq _0804A08C\n" + "\tb _0804A294\n" + "_0804A08C:\n" + "\tbl sub_804A80C\n" + "\tb _0804A294\n" + "\t.align 2, 0\n" + "_0804A094: .4byte gSprites\n" + "_0804A098: .4byte gTradeMonSpriteCoords\n" + "_0804A09C: .4byte gUnknown_03004824\n" + "_0804A0A0: .4byte sub_809D62C\n" + "_0804A0A4: .4byte gUnknown_0820C330\n" + "_0804A0A8: .4byte gTradePartyBoxTilemap\n" + "_0804A0AC:\n" + "\tldr r2, _0804A0DC @ =gSprites\n" + "\tldr r1, [sp, 0x6C]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r1\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r1, r5, 0\n" + "\tadds r1, 0x34\n" + "\tadds r1, r0\n" + "\tldrb r1, [r1]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r2, 0x1C\n" + "\tadds r0, r2\n" + "\tldr r1, [r0]\n" + "\tldr r0, _0804A0E0 @ =sub_809D62C\n" + "\tcmp r1, r0\n" + "\tbeq _0804A0D4\n" + "\tb _0804A294\n" + "_0804A0D4:\n" + "\tmovs r0, 0x3\n" + "\tstrb r0, [r3]\n" + "\tb _0804A294\n" + "\t.align 2, 0\n" + "_0804A0DC: .4byte gSprites\n" + "_0804A0E0: .4byte sub_809D62C\n" + "_0804A0E4:\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0xC8\n" + "\tldr r2, [sp, 0x6C]\n" + "\tlsls r1, r2, 4\n" + "\tsubs r1, r2\n" + "\tlsls r1, 24\n" + "\tlsrs r1, 24\n" + "\tldr r3, _0804A228 @ =gTradeMovesBoxTilemap\n" + "\tmovs r2, 0xF\n" + "\tstr r2, [sp]\n" + "\tmovs r7, 0x11\n" + "\tstr r7, [sp, 0x4]\n" + "\tmovs r5, 0\n" + "\tstr r5, [sp, 0x8]\n" + "\tmovs r2, 0\n" + "\tbl sub_804A96C_alt\n" + "\tldr r0, _0804A22C @ =gUnknown_03004824\n" + "\tldr r3, [r0]\n" + "\tldr r1, [sp, 0x6C]\n" + "\tlsls r6, r1, 1\n" + "\tadds r1, r6\n" + "\tmov r9, r1\n" + "\tlsls r1, 1\n" + "\tmov r2, r8\n" + "\tadds r0, r2, r1\n" + "\tadds r3, 0x34\n" + "\tadds r3, r0\n" + "\tldrb r0, [r3]\n" + "\tlsls r2, r0, 4\n" + "\tadds r2, r0\n" + "\tlsls r2, 2\n" + "\tldr r5, _0804A230 @ =gSprites\n" + "\tadds r2, r5\n" + "\tldr r4, _0804A234 @ =gTradeMonSpriteCoords\n" + "\tmov r0, r9\n" + "\tlsls r5, r0, 2\n" + "\tadds r0, r5, r4\n" + "\tldrb r0, [r0]\n" + "\tadds r1, 0x1\n" + "\tlsls r1, 1\n" + "\tadds r1, r4\n" + "\tldrb r1, [r1]\n" + "\tadds r0, r1\n" + "\tasrs r0, 1\n" + "\tlsls r0, 3\n" + "\tadds r0, 0xE\n" + "\tstrh r0, [r2, 0x20]\n" + "\tldrb r0, [r3]\n" + "\tlsls r1, r0, 4\n" + "\tadds r1, r0\n" + "\tlsls r1, 2\n" + "\tldr r2, _0804A230 @ =gSprites\n" + "\tadds r1, r2\n" + "\tadds r4, 0x1\n" + "\tadds r5, r4\n" + "\tldrb r0, [r5]\n" + "\tlsls r0, 3\n" + "\tsubs r0, 0xC\n" + "\tstrh r0, [r1, 0x22]\n" + "\tldrb r1, [r3]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r2\n" + "\tmovs r5, 0\n" + "\tstrh r5, [r0, 0x24]\n" + "\tldrb r1, [r3]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r2\n" + "\tstrh r5, [r0, 0x26]\n" + "\tmov r0, sp\n" + "\tadds r0, 0x12\n" + "\tldr r1, [sp, 0x6C]\n" + "\tmov r2, r8\n" + "\tbl sub_804A2B4\n" + "\tadd r1, sp, 0xC\n" + "\tmovs r3, 0xFC\n" + "\tstrb r3, [r1]\n" + "\tadds r2, r1, 0\n" + "\tmovs r1, 0x6\n" + "\tstrb r1, [r2, 0x1]\n" + "\tmovs r1, 0x4\n" + "\tstrb r1, [r2, 0x2]\n" + "\tadds r1, r2, 0\n" + "\tstrb r3, [r1, 0x3]\n" + "\tstrb r7, [r1, 0x4]\n" + "\tlsls r0, 24\n" + "\tasrs r0, 24\n" + "\tmovs r1, 0x40\n" + "\tsubs r1, r0\n" + "\tlsrs r0, r1, 31\n" + "\tadds r1, r0\n" + "\tasrs r1, 1\n" + "\tstrb r1, [r2, 0x5]\n" + "\tldr r0, _0804A22C @ =gUnknown_03004824\n" + "\tldr r1, [r0]\n" + "\tadds r0, r1, 0x4\n" + "\tadds r1, 0x7A\n" + "\tldrb r2, [r1]\n" + "\tmov r1, r9\n" + "\tlsls r1, 6\n" + "\tmov r9, r1\n" + "\tadd r2, r9\n" + "\tldr r4, _0804A238 @ =gUnknown_0820C334\n" + "\tldr r3, [sp, 0x6C]\n" + "\tlsls r1, r3, 2\n" + "\tadds r3, r1, r4\n" + "\tldrb r3, [r3]\n" + "\tldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1\n" + "\tadds r1, r5\n" + "\tldrb r1, [r1]\n" + "\tstr r1, [sp]\n" + "\tadd r1, sp, 0xC\n" + "\tbl sub_8003460\n" + "\tadd r7, sp, 0x34\n" + "\tadds r0, r7, 0\n" + "\tldr r1, [sp, 0x6C]\n" + "\tmov r2, r8\n" + "\tbl sub_804A33C\n" + "\tldr r0, _0804A22C @ =gUnknown_03004824\n" + "\tldr r2, [r0]\n" + "\tadds r0, r2, 0x4\n" + "\tldr r1, _0804A240 @ =gOtherText_Terminator2\n" + "\tadds r2, 0x7A\n" + "\tldrb r2, [r2]\n" + "\tadd r2, r9\n" + "\tadds r2, 0x20\n" + "\tadds r6, 0x1\n" + "\tlsls r6, 1\n" + "\tadds r4, r6, r4\n" + "\tldrb r5, [r4]\n" + "\tldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1\n" + "\tadds r6, r3\n" + "\tldrb r4, [r6]\n" + "\tadds r4, 0x1\n" + "\tlsls r4, 24\n" + "\tlsrs r4, 24\n" + "\tstr r4, [sp]\n" + "\tadds r3, r5, 0\n" + "\tbl sub_8003460\n" + "\tldr r0, _0804A22C @ =gUnknown_03004824\n" + "\tldr r1, [r0]\n" + "\tadds r0, r1, 0x4\n" + "\tadds r1, 0x7A\n" + "\tldrb r2, [r1]\n" + "\tadd r2, r9\n" + "\tadds r2, 0x26\n" + "\tstr r4, [sp]\n" + "\tadds r1, r7, 0\n" + "\tadds r3, r5, 0\n" + "\tbl sub_8003460\n" + "\tldr r2, _0804A22C @ =gUnknown_03004824\n" + "\tldr r1, [r2]\n" + "\tb _0804A28A\n" + "\t.align 2, 0\n" + "_0804A228: .4byte gTradeMovesBoxTilemap\n" + "_0804A22C: .4byte gUnknown_03004824\n" + "_0804A230: .4byte gSprites\n" + "_0804A234: .4byte gTradeMonSpriteCoords\n" + "_0804A238: .4byte gUnknown_0820C334\n" + "_0804A23C: .4byte gUnknown_0820C334 + 0x1\n" + "_0804A240: .4byte gOtherText_Terminator2\n" + "_0804A244:\n" + "\tldr r0, _0804A2A4 @ =gUnknown_0820C14C\n" + "\tldr r0, [r0, 0x14]\n" + "\tadds r1, r5, 0\n" + "\tadds r1, 0x7E\n" + "\tldrh r1, [r1]\n" + "\tlsls r1, 5\n" + "\tldr r3, _0804A2A8 @ =0x06010000\n" + "\tadds r1, r3\n" + "\tmovs r2, 0x14\n" + "\tbl sub_804ACD8\n" + "\tldr r0, _0804A2AC @ =gUnknown_0820C3D1\n" + "\tmov r5, r10\n" + "\tlsls r1, r5, 1\n" + "\tadds r4, r1, r0\n" + "\tldrb r2, [r4]\n" + "\tadds r2, 0x4\n" + "\tlsls r2, 24\n" + "\tlsrs r2, 24\n" + "\tadds r0, 0x1\n" + "\tadds r1, r0\n" + "\tldrb r3, [r1]\n" + "\tadds r3, 0x1\n" + "\tlsls r3, 24\n" + "\tlsrs r3, 24\n" + "\tldrb r0, [r4]\n" + "\tstr r0, [sp]\n" + "\tldrb r0, [r1]\n" + "\tstr r0, [sp, 0x4]\n" + "\tmov r0, r10\n" + "\tmov r1, r8\n" + "\tbl sub_804A51C\n" + "\tldr r0, _0804A2B0 @ =gUnknown_03004824\n" + "\tldr r1, [r0]\n" + "_0804A28A:\n" + "\tadds r1, 0x80\n" + "\tadd r1, r10\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "_0804A294:\n" + "\tadd sp, 0x74\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0804A2A4: .4byte gUnknown_0820C14C\n" + "_0804A2A8: .4byte 0x06010000\n" + "_0804A2AC: .4byte gUnknown_0820C3D1\n" + "_0804A2B0: .4byte gUnknown_03004824"); +} +#endif + +#ifdef NONMATCHING +static +#endif +u8 sub_804A2B4(u8 *a0, u8 whichParty, u8 whichPokemon) +{ + u8 string[11]; + if (whichParty == 0) + { + GetMonData(&gPlayerParty[whichPokemon], MON_DATA_NICKNAME, string); + StringCopy10(a0, string); + GetMonGender(&gPlayerParty[whichPokemon]); + GetMonData(&gPlayerParty[whichPokemon], MON_DATA_LEVEL); + } + else + { + GetMonData(&gEnemyParty[whichPokemon], MON_DATA_NICKNAME, string); + StringCopy10(a0, string); + GetMonGender(&gEnemyParty[whichPokemon]); + GetMonData(&gEnemyParty[whichPokemon], MON_DATA_LEVEL); + } + return GetStringWidthGivenWindowConfig(&gWindowConfig_81E7294, a0); +} + +#ifdef NONMATCHING +static +#endif +void sub_804A33C(u8 *a0, u8 whichParty, u8 whichPokemon) +{ + u16 i; + u16 moves[4]; + if (gUnknown_03004824->unk_005d[whichParty][whichPokemon] == 0) + { + for (i = 0; i < 4; i ++) + { + if (whichParty == 0) + moves[i] = GetMonData(&gPlayerParty[whichPokemon], MON_DATA_MOVE1 + i, NULL); + else + moves[i] = GetMonData(&gEnemyParty[whichPokemon], MON_DATA_MOVE1 + i, NULL); + } + StringCopy(a0, gOtherText_Terminator); + for (i = 0; i < 4; i ++) + { + if (moves[i] != 0) + { + StringAppend(a0, gMoveNames[moves[i]]); + } + StringAppend(a0, gOtherText_ControlAndMiscText); + } + } + else + { + StringCopy(a0, gOtherText_Terminator); + StringAppend(a0, gOtherText_FourQuestions); + } +} + +#ifdef NONMATCHING +static void sub_804A41C(u8 whichParty) +{ + u8 i; + u8 nickname[22]; + u8 string[40]; + struct Pokemon *pokemon; + + string[0] = 0xFC; + string[1] = 0x06; + string[2] = 0x04; + string[3] = 0xFC; + string[4] = 0x11; + string[5] = 0x00; + + for (i = 0; i < gUnknown_03004824->partyCounts[whichParty]; i ++) + { + pokemon = whichParty == 0 ? &gPlayerParty[i] : &gEnemyParty[i]; + GetMonData(pokemon, MON_DATA_NICKNAME, nickname); + StringCopy10(string + 6, nickname); + GetMonGender(pokemon); + string[5] = (50 - GetStringWidthGivenWindowConfig(&gWindowConfig_81E7294, string + 6)) / 2; + sub_8003460(&gUnknown_03004824->window, string, gUnknown_03004824->unk_007a + 22 * 6 * whichParty + 22 * i, gTradeMonSpriteCoords[i + 6 * whichParty][0], gTradeMonSpriteCoords[i + 6 * whichParty][1]); + } +} +#else +__attribute__((naked)) +static void sub_804A41C(u8 whichParty) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x44\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tadd r3, sp, 0x1C\n" + "\tmovs r2, 0\n" + "\tmovs r1, 0xFC\n" + "\tstrb r1, [r3]\n" + "\tmovs r0, 0x6\n" + "\tstrb r0, [r3, 0x1]\n" + "\tmovs r0, 0x4\n" + "\tstrb r0, [r3, 0x2]\n" + "\tstrb r1, [r3, 0x3]\n" + "\tmovs r0, 0x11\n" + "\tstrb r0, [r3, 0x4]\n" + "\tstrb r2, [r3, 0x5]\n" + "\tmovs r6, 0\n" + "\tldr r1, _0804A470 @ =gUnknown_03004824\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0x42\n" + "\tadds r0, r5\n" + "\tldrb r0, [r0]\n" + "\tcmp r6, r0\n" + "\tbcs _0804A504\n" + "\tmov r8, r3\n" + "\tadds r7, r1, 0\n" + "\tldr r0, _0804A474 @ =gTradeMonSpriteCoords\n" + "\tmov r9, r0\n" + "\tmovs r4, 0x1\n" + "\tadd r4, r9\n" + "\tmov r10, r4\n" + "_0804A462:\n" + "\tcmp r5, 0\n" + "\tbne _0804A47C\n" + "\tmovs r0, 0x64\n" + "\tadds r4, r6, 0\n" + "\tmuls r4, r0\n" + "\tldr r0, _0804A478 @ =gPlayerParty\n" + "\tb _0804A484\n" + "\t.align 2, 0\n" + "_0804A470: .4byte gUnknown_03004824\n" + "_0804A474: .4byte gTradeMonSpriteCoords\n" + "_0804A478: .4byte gPlayerParty\n" + "_0804A47C:\n" + "\tmovs r0, 0x64\n" + "\tadds r4, r6, 0\n" + "\tmuls r4, r0\n" + "\tldr r0, _0804A514 @ =gEnemyParty\n" + "_0804A484:\n" + "\tadds r4, r0\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x2\n" + "\tadd r2, sp, 0x4\n" + "\tbl GetMonData\n" + "\tmov r0, sp\n" + "\tadds r0, 0x22\n" + "\tadd r1, sp, 0x4\n" + "\tbl StringCopy10\n" + "\tadds r0, r4, 0\n" + "\tbl GetMonGender\n" + "\tmov r1, sp\n" + "\tadds r1, 0x22\n" + "\tldr r0, _0804A518 @ =gWindowConfig_81E7294\n" + "\tbl GetStringWidthGivenWindowConfig\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmovs r1, 0x32\n" + "\tsubs r1, r0\n" + "\tlsrs r0, r1, 31\n" + "\tadds r1, r0\n" + "\tasrs r1, 1\n" + "\tmov r0, r8\n" + "\tstrb r1, [r0, 0x5]\n" + "\tldr r1, [r7]\n" + "\tadds r0, r1, 0x4\n" + "\tadds r1, 0x7A\n" + "\tlsls r2, r5, 5\n" + "\tadds r2, r5\n" + "\tlsls r2, 2\n" + "\tldrb r1, [r1]\n" + "\tadds r2, r1\n" + "\tmovs r1, 0x16\n" + "\tmuls r1, r6\n" + "\tadds r2, r1\n" + "\tlsls r2, 16\n" + "\tlsrs r2, 16\n" + "\tlsls r1, r5, 1\n" + "\tadds r1, r5\n" + "\tlsls r1, 1\n" + "\tadds r1, r6, r1\n" + "\tlsls r1, 1\n" + "\tmov r4, r9\n" + "\tadds r3, r1, r4\n" + "\tldrb r3, [r3]\n" + "\tadd r1, r10\n" + "\tldrb r1, [r1]\n" + "\tstr r1, [sp]\n" + "\tmov r1, r8\n" + "\tbl sub_8003460\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tldr r0, [r7]\n" + "\tadds r0, 0x42\n" + "\tadds r0, r5\n" + "\tldrb r0, [r0]\n" + "\tcmp r6, r0\n" + "\tbcc _0804A462\n" + "_0804A504:\n" + "\tadd sp, 0x44\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0804A514: .4byte gEnemyParty\n" + "_0804A518: .4byte gWindowConfig_81E7294"); +} +#endif + +#ifdef NONMATCHING +static +#endif +void sub_804A51C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) +{ + u8 nickname[24]; + u8 level; + u8 gender; + u8 lv_div_10; + sub_804A96C(&gUnknown_03004824->unk_00c8, a4, a5, gTradeMonBoxTilemap, 6, 3, 0); + if (a0 == 0) + { + level = GetMonData(&gPlayerParty[a1], MON_DATA_LEVEL, NULL); + gender = GetMonGender(&gPlayerParty[a1]); + GetMonData(&gPlayerParty[a1], MON_DATA_NICKNAME, nickname); + } + else + { + level = GetMonData(&gEnemyParty[a1], MON_DATA_LEVEL, NULL); + gender = GetMonGender(&gEnemyParty[a1]); + GetMonData(&gEnemyParty[a1], MON_DATA_NICKNAME, nickname); + } + if (gUnknown_03004824->unk_005d[a0][a1] == 0) + { + lv_div_10 = level / 10; + if (lv_div_10 != 0) + { + gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3] = lv_div_10 + 0x60; + } + gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 + 1] = (u8)(level % 10) + 0x70; + if (gender == MON_MALE) + { + if (!NameHasGenderSymbol(nickname, MON_MALE)) + { + gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 31] += 1; + } + } + else if (gender == MON_FEMALE) + { + if (!NameHasGenderSymbol(nickname, MON_FEMALE)) + { + gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 31] += 2; + } + } + } + else + { + gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 32] = gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 33]; + gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 31] = gUnknown_03004824->unk_00c8.unk_12[a2 + 32 * a3 - 36] | 0x400; + } +#ifdef GERMAN + gUnknown_03004824->unk_00c8.unk_10 = 1; +#endif +} + +#ifdef NONMATCHING +static void sub_804A6DC(u8 whichParty) +{ + int i; + for (i = 0; i < gUnknown_03004824->partyCounts[whichParty]; i ++) + { + sub_804A51C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]); + } +} +#else +__attribute__((naked)) +static void sub_804A6DC(u8 whichParty) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tsub sp, 0x8\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tmovs r7, 0\n" + "\tldr r0, _0804A734 @ =gUnknown_03004824\n" + "\tldr r0, [r0]\n" + "\tadds r0, 0x42\n" + "\tadds r0, r6\n" + "\tldrb r0, [r0]\n" + "\tcmp r7, r0\n" + "\tbge _0804A72C\n" + "\tlsls r0, r6, 1\n" + "\tadds r0, r6\n" + "\tldr r1, _0804A738 @ =gTradeLevelDisplayCoords\n" + "\tlsls r0, 2\n" + "\tadds r5, r0, r1\n" + "\tldr r1, _0804A73C @ =gTradeMonBoxCoords\n" + "\tadds r4, r0, r1\n" + "_0804A702:\n" + "\tlsls r1, r7, 24\n" + "\tlsrs r1, 24\n" + "\tldrb r2, [r5]\n" + "\tldrb r3, [r5, 0x1]\n" + "\tldrb r0, [r4]\n" + "\tstr r0, [sp]\n" + "\tldrb r0, [r4, 0x1]\n" + "\tstr r0, [sp, 0x4]\n" + "\tadds r0, r6, 0\n" + "\tbl sub_804A51C\n" + "\tadds r5, 0x2\n" + "\tadds r4, 0x2\n" + "\tadds r7, 0x1\n" + "\tldr r0, _0804A734 @ =gUnknown_03004824\n" + "\tldr r0, [r0]\n" + "\tadds r0, 0x42\n" + "\tadds r0, r6\n" + "\tldrb r0, [r0]\n" + "\tcmp r7, r0\n" + "\tblt _0804A702\n" + "_0804A72C:\n" + "\tadd sp, 0x8\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0804A734: .4byte gUnknown_03004824\n" + "_0804A738: .4byte gTradeLevelDisplayCoords\n" + "_0804A73C: .4byte gTradeMonBoxCoords"); +} +#endif + +static void sub_804A740(u8 whichParty) +{ + int i; + for (i = 0; i < gUnknown_03004824->partyCounts[whichParty]; i ++) + { + gSprites[gUnknown_03004824->partyIcons[whichParty][i]].invisible = FALSE; + gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[6 * whichParty + i][0] * 8 + 14; + gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[6 * whichParty + i][1] * 8 - 12; + gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos2.x = 0; + gSprites[gUnknown_03004824->partyIcons[whichParty][i]].pos2.y = 0; + } +} + +static void sub_804A80C(void) +{ + FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[1][0], 0, gUnknown_0820C330[1][1], 19); + sub_804A41C(1); +} + +static void sub_804A840(u8 whichParty) +{ + if (whichParty == 0) + { + FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[0][0], 0, gUnknown_0820C330[0][1], 19); + sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 0, 0, gTradePartyBoxTilemap, 15, 17, 0); + sub_804A6DC(0); + sub_804A41C(0); + sub_804A740(0); + sub_804A938(&gUnknown_03004824->unk_00c8); + } + else + { + HandleDestroyMenuCursors(); + FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[1][0], 0, gUnknown_0820C330[1][1], 19); + sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15, 0, gTradePartyBoxTilemap, 15, 17, 0); + sub_804A6DC(1); + sub_804A41C(1); + sub_804A740(1); + sub_804A938(&gUnknown_03004824->unk_00c8); + } + sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); + gUnknown_03004824->unk_0080[whichParty] = 0; +} + +static void sub_804A938(struct UnkStructD *unkStructD) +{ + unkStructD->unk_10 = 1; +} + +static void sub_804A940(struct UnkStructD *unkStructD) +{ + if (unkStructD->unk_10) + { + CpuCopy16(unkStructD->unk_12, unkStructD->vramAddr, sizeof(unkStructD->unk_12)); + unkStructD->unk_10 = 0; + } +} + +static void sub_804A964(struct UnkStructD *unkStructD, void *dest) +{ + unkStructD->unk_10 = 0; + unkStructD->vramAddr = dest; +} + +static void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, const u16 *tilemap, u8 width, u8 height, u16 sp8) { + int y, x; + + for (y = 0; y < height; y++) + { + + for (x = 0; x < width; x++) + { + arg0->unk_12[(top * 32 + left) + y * 32 + x] = tilemap[width * y + x] | sp8; + } + } + +#if ENGLISH + arg0->unk_10 = 1; +#endif +} + +#if GERMAN +static void sub_804A96C_alt(struct UnkStructD *arg0, u8 left, u8 top, const u16 *tilemap, u8 width, u8 height, u16 sp8) { + sub_804A96C(arg0, left, top, tilemap, width, height, sp8); + + arg0->unk_10 = 1; +} +#endif + +static void sub_804A9F4(u8 unused) +{ + MenuZeroFillScreen(); +} + +static void sub_804AA00(u8 unused) +{ + MenuZeroFillScreen(); +} + +static void sub_804AA0C(u8 a0) +{ + DrawTextWindow(&gUnknown_03004824->window, gTradeMessageWindowRects[a0][0], gTradeMessageWindowRects[a0][1], gTradeMessageWindowRects[a0][2], gTradeMessageWindowRects[a0][3]); + sub_8003460(&gUnknown_03004824->window, gUnknown_0820C2F0[a0], 0x180 + gUnknown_03004824->unk_007a, gTradeMessageWindowRects[a0][0] + 1, gTradeMessageWindowRects[a0][1] + 1); +} + +static void sub_804AA88(void) +{ + int i; + for (i = 0; i < 4; i ++) + { + gUnknown_03004824->unk_08dc[i].unk_00 = 0; + gUnknown_03004824->unk_08dc[i].unk_02 = 0; + gUnknown_03004824->unk_08dc[i].unk_04 |= 0xff; + } +} + +static void sub_804AADC(u16 a0, u8 a1) +{ + int i; + for (i = 0; i < 4; i ++) + { + if (gUnknown_03004824->unk_08dc[i].unk_00 == 0) + { + gUnknown_03004824->unk_08dc[i].unk_02 = a0; + gUnknown_03004824->unk_08dc[i].unk_04 = a1; + gUnknown_03004824->unk_08dc[i].unk_00 = 1; + break; + } + } +} + +static void sub_804AB30(void) +{ + int i; + for (i = 0; i < 4; i ++) + { + if (gUnknown_03004824->unk_08dc[i].unk_00) + { + if (gUnknown_03004824->unk_08dc[i].unk_02 != 0) + { + gUnknown_03004824->unk_08dc[i].unk_02 --; + continue; + } + switch (gUnknown_03004824->unk_08dc[i].unk_04) + { + case 0: + Trade_SendData(gUnknown_03004824); + break; + case 1: + sub_804AA0C(0); + break; + case 2: + sub_804AA0C(2); + break; + case 3: + sub_804AA0C(3); + break; + case 4: + sub_804AA0C(3); + break; + case 5: + sub_804AA0C(3); + break; + } + gUnknown_03004824->unk_08dc[i].unk_00 = 0; + } + } +} + +static bool8 sub_804ABF8(void) +{ + switch (gUnknown_03004824->unk_00b4) + { + case 8: + gUnknown_03004824->unk_007e = LoadSpriteSheet(&gUnknown_0820C07C[gUnknown_03004824->unk_00b4]); + gUnknown_03004824->unk_00b4 ++; + return FALSE; + case 13: + LoadSpritePalette(&gSpritePalette_TradeScreenText); + gUnknown_03004824->unk_00b4 ++; + return FALSE; + case 14: + LoadSpritePalette(&gUnknown_0820C12C); + gUnknown_03004824->unk_00b4 ++; + return FALSE; + case 15: + LoadSpriteSheet(&gUnknown_0820C124); + gUnknown_03004824->unk_00b4 ++; + // fallthrough + case 16: + gUnknown_03004824->unk_00b4 = 0; + return TRUE; + default: + LoadSpriteSheet(&gUnknown_0820C07C[gUnknown_03004824->unk_00b4]); + gUnknown_03004824->unk_00b4 ++; + return FALSE; + } +} + +static void sub_804ACD8(const u8 *src, u8 *dest, u8 a2) +{ + sub_804AFB8(&gWindowConfig_81E725C, dest, src, a2); +} + +#ifdef NONMATCHING +static void sub_804ACF4(u8 who) +{ + struct Pokemon *pokemon; + int i; + switch (who) + { + case 0: + for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++) + { + pokemon = &gPlayerParty[i]; + if (GetMonData(pokemon, MON_DATA_IS_EGG) == TRUE) + { + gUnknown_03004824->unk_0051[0][i] = 0; + gUnknown_03004824->unk_005d[0][i] = 1; + } + else if (GetMonData(pokemon, MON_DATA_HP) == 0) + { + gUnknown_03004824->unk_0051[0][i] = 0; + gUnknown_03004824->unk_005d[0][i] = 0; + } + else + { + gUnknown_03004824->unk_0051[0][i] = 1; + gUnknown_03004824->unk_005d[0][i] = 0; + } + } + break; + case 1: + for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++) + { + pokemon = &gEnemyParty[i]; + if (GetMonData(pokemon, MON_DATA_IS_EGG) == TRUE) + { + gUnknown_03004824->unk_0051[1][i] = 0; + gUnknown_03004824->unk_005d[1][i] = 1; + } + else if (GetMonData(pokemon, MON_DATA_HP) == 0) + { + gUnknown_03004824->unk_0051[1][i] = 0; + gUnknown_03004824->unk_005d[1][i] = 0; + } + else + { + gUnknown_03004824->unk_0051[1][i] = 1; + gUnknown_03004824->unk_005d[1][i] = 0; + } + } + break; + } +} +#else +static __attribute__((naked)) void sub_804ACF4(u8 who) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r9\n" + "\tmov r6, r8\n" + "\tpush {r6,r7}\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r8, r0\n" + "\tcmp r0, 0\n" + "\tbeq _0804AD0C\n" + "\tcmp r0, 0x1\n" + "\tbeq _0804ADA0\n" + "\tb _0804AE2C\n" + "_0804AD0C:\n" + "\tmovs r7, 0\n" + "\tldr r1, _0804AD4C @ =gUnknown_03004824\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0x42\n" + "\tldrb r0, [r0]\n" + "\tcmp r7, r0\n" + "\tblt _0804AD1C\n" + "\tb _0804AE2C\n" + "_0804AD1C:\n" + "\tadds r6, r1, 0\n" + "\tmovs r5, 0\n" + "\tmov r9, r5\n" + "_0804AD22:\n" + "\tmovs r0, 0x64\n" + "\tadds r1, r7, 0\n" + "\tmuls r1, r0\n" + "\tldr r0, _0804AD50 @ =gPlayerParty\n" + "\tadds r4, r1, r0\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x2D\n" + "\tbl GetMonData\n" + "\tadds r1, r0, 0\n" + "\tcmp r1, 0x1\n" + "\tbne _0804AD54\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x51\n" + "\tadds r0, r5\n" + "\tmov r2, r9\n" + "\tstrb r2, [r0]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x5D\n" + "\tadds r0, r5\n" + "\tb _0804AD84\n" + "\t.align 2, 0\n" + "_0804AD4C: .4byte gUnknown_03004824\n" + "_0804AD50: .4byte gPlayerParty\n" + "_0804AD54:\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x39\n" + "\tbl GetMonData\n" + "\tadds r1, r0, 0\n" + "\tcmp r1, 0\n" + "\tbne _0804AD72\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x51\n" + "\tadds r0, r5\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x5D\n" + "\tadds r0, r5\n" + "\tb _0804AD84\n" + "_0804AD72:\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x51\n" + "\tadds r0, r5\n" + "\tmovs r1, 0x1\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x5D\n" + "\tadds r0, r5\n" + "\tmov r1, r9\n" + "_0804AD84:\n" + "\tstrb r1, [r0]\n" + "\tldr r0, _0804AD9C @ =gUnknown_03004824\n" + "\tadds r5, 0x1\n" + "\tadds r7, 0x1\n" + "\tldr r0, [r0]\n" + "\tadds r0, 0x42\n" + "\tadd r0, r8\n" + "\tldrb r0, [r0]\n" + "\tcmp r7, r0\n" + "\tblt _0804AD22\n" + "\tb _0804AE2C\n" + "\t.align 2, 0\n" + "_0804AD9C: .4byte gUnknown_03004824\n" + "_0804ADA0:\n" + "\tmovs r7, 0\n" + "\tldr r1, _0804ADE0 @ =gUnknown_03004824\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0x43\n" + "\tldrb r0, [r0]\n" + "\tcmp r7, r0\n" + "\tbge _0804AE2C\n" + "\tadds r6, r1, 0\n" + "\tmovs r5, 0x6\n" + "\tmovs r2, 0\n" + "\tmov r9, r2\n" + "_0804ADB6:\n" + "\tmovs r0, 0x64\n" + "\tadds r1, r7, 0\n" + "\tmuls r1, r0\n" + "\tldr r0, _0804ADE4 @ =gEnemyParty\n" + "\tadds r4, r1, r0\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x2D\n" + "\tbl GetMonData\n" + "\tadds r1, r0, 0\n" + "\tcmp r1, 0x1\n" + "\tbne _0804ADE8\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x51\n" + "\tadds r0, r5\n" + "\tmov r2, r9\n" + "\tstrb r2, [r0]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x5D\n" + "\tadds r0, r5\n" + "\tb _0804AE18\n" + "\t.align 2, 0\n" + "_0804ADE0: .4byte gUnknown_03004824\n" + "_0804ADE4: .4byte gEnemyParty\n" + "_0804ADE8:\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x39\n" + "\tbl GetMonData\n" + "\tadds r1, r0, 0\n" + "\tcmp r1, 0\n" + "\tbne _0804AE06\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x51\n" + "\tadds r0, r5\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x5D\n" + "\tadds r0, r5\n" + "\tb _0804AE18\n" + "_0804AE06:\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x51\n" + "\tadds r0, r5\n" + "\tmovs r1, 0x1\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x5D\n" + "\tadds r0, r5\n" + "\tmov r1, r9\n" + "_0804AE18:\n" + "\tstrb r1, [r0]\n" + "\tldr r0, _0804AE38 @ =gUnknown_03004824\n" + "\tadds r5, 0x1\n" + "\tadds r7, 0x1\n" + "\tldr r0, [r0]\n" + "\tadds r0, 0x42\n" + "\tadd r0, r8\n" + "\tldrb r0, [r0]\n" + "\tcmp r7, r0\n" + "\tblt _0804ADB6\n" + "_0804AE2C:\n" + "\tpop {r3,r4}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0804AE38: .4byte gUnknown_03004824"); +} +#endif + +static void sub_804AE3C(u8 who) +{ + u16 i; + u16 curHp; + u16 maxHp; + switch (who) + { + case 0: + for (i = 0; i < gUnknown_03004824->partyCounts[0]; i ++) + { + curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + gUnknown_03004824->unk_0069[0][i] = GetHPBarLevel(curHp, maxHp); + } + break; + case 1: + for (i = 0; i < gUnknown_03004824->partyCounts[1]; i ++) + { + curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); + gUnknown_03004824->unk_0069[1][i] = GetHPBarLevel(curHp, maxHp); + } + break; + } +} + +static void sub_804AF10(void) +{ + int i, j; + for (i = 0; i < 2; i ++) + { + for (j = 0; j < gUnknown_03004824->partyCounts[i]; j ++) + { + sub_809D824(&gSprites[gUnknown_03004824->partyIcons[i][j]], 4 - gUnknown_03004824->unk_0069[i][j]); + } + } +} + +static void sub_804AF84(void) +{ + int i; + for (i = 0; i < 11; i ++) + if (gSaveBlock1.giftRibbons[i] == 0 && gUnknown_03004824->unk_00b5[i] != 0) + gSaveBlock1.giftRibbons[i] = gUnknown_03004824->unk_00b5[i]; +} + +static void sub_804AFB8(const struct WindowConfig *windowConfig, u8 *dest, const u8 *src, u8 size) +{ + u8 i; + u8 *tileBuffer; + size = (size + 3) / 4; + tileBuffer = gTileBuffer; + CpuFill16(0, tileBuffer, size * 0x80); + CpuFill16(0, tileBuffer + windowConfig->width * 0x20, size * 0x80); + sub_8004E3C(windowConfig, tileBuffer, src); + for (i = 0; i < size; i ++) + { + CpuCopy16(&tileBuffer[32 * (i * 4)], &dest[32 * (i * 8)], 0x80); + CpuCopy16(&tileBuffer[32 * (i * 4 + windowConfig->width)], &dest[32 * (i * 8 + 4)], 0x80); + } +} + +static void sub_804B058(struct Sprite *sprite) +{ + if (++ sprite->data0 == 10) + { + PlaySE(SE_BOWA); + sprite->data0 = 0; + } +} + +static void sub_804B07C(struct Sprite *sprite) +{ + if (sprite->data1 == 0) + { + if (++ sprite->data0 == 12) + sprite->data0 = 0; + LoadPalette(&gTradeGlow2PaletteAnimTable[sprite->data0], 16 * (sprite->oam.paletteNum + 16) + 4, 2); + } +} + +static void sub_804B0BC(struct Sprite *sprite) +{ + sprite->data0 ++; + sprite->pos2.y ++; + if (sprite->data0 == 10) + DestroySprite(sprite); +} + +static void sub_804B0E0(struct Sprite *sprite) +{ + sprite->data0 ++; + sprite->pos2.y --; + if (sprite->data0 == 10) + DestroySprite(sprite); +} + +static void sub_804B104(struct Sprite *sprite) +{ + if (++ sprite->data0 == 15) + { + PlaySE(SE_W107); + sprite->data0 = 0; + } +} + +static void sub_804B128(void) +{ + struct BgAffineDstData dest; + DoBgAffineSet(&dest, gUnknown_03004828->unk_0104 << 8, gUnknown_03004828->unk_0106 << 8, gUnknown_03004828->unk_010c, gUnknown_03004828->unk_010e, gUnknown_03004828->unk_0118, gUnknown_03004828->unk_0118, gUnknown_03004828->unk_011c); + REG_BG2PA = dest.pa; + REG_BG2PB = dest.pb; + REG_BG2PC = dest.pc; + REG_BG2PD = dest.pd; + REG_BG2X = dest.dx; + REG_BG2Y = dest.dy; +} + +#ifdef NONMATCHING +static void sub_804B1BC(void) +{ + REG_BG1VOFS = gUnknown_03004828->bg1vofs; + REG_BG1HOFS = gUnknown_03004828->bg1hofs; + if ((REG_DISPCNT & 7) == DISPCNT_MODE_0) + { + REG_BG2VOFS = gUnknown_03004828->bg2vofs; + REG_BG2HOFS = gUnknown_03004828->bg2hofs; + } + else + { + sub_804B128(); + } +} +#else +__attribute__((naked)) static void sub_804B1BC(void) +{ + asm_unified("\tpush {lr}\n" + "\tldr r1, _0804B1FC @ =REG_BG1VOFS\n" + "\tldr r0, _0804B200 @ =gUnknown_03004828\n" + "\tldr r2, [r0]\n" + "\tmovs r3, 0x88\n" + "\tlsls r3, 1\n" + "\tadds r0, r2, r3\n" + "\tldrh r0, [r0]\n" + "\tstrh r0, [r1]\n" + "\tsubs r1, 0x2\n" + "\tadds r3, 0x2\n" + "\tadds r0, r2, r3\n" + "\tldrh r0, [r0]\n" + "\tstrh r0, [r1]\n" + "\tmovs r0, 0x80\n" + "\tlsls r0, 19\n" + "\tldrh r0, [r0]\n" + "\tmovs r1, 0x7\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0804B208\n" + "\tldr r1, _0804B204 @ =REG_BG2VOFS\n" + "\tadds r3, 0x2\n" + "\tadds r0, r2, r3\n" + "\tldrh r0, [r0]\n" + "\tstrh r0, [r1]\n" + "\tsubs r1, 0x2\n" + "\tadds r3, 0x2\n" + "\tadds r0, r2, r3\n" + "\tldrh r0, [r0]\n" + "\tstrh r0, [r1]\n" + "\tb _0804B20C\n" + "\t.align 2, 0\n" + "_0804B1FC: .4byte REG_BG1VOFS\n" + "_0804B200: .4byte gUnknown_03004828\n" + "_0804B204: .4byte REG_BG2VOFS\n" + "_0804B208:\n" + "\tbl sub_804B128\n" + "_0804B20C:\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif + +static void sub_804B210(void) +{ + sub_804B1BC(); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void sub_804B228(void) +{ + gUnknown_03004828->unk_00b4 = 0; + gUnknown_03004828->unk_00b2 = 0; + gUnknown_03004828->unk_00b3 = 0; +} + +#ifdef NONMATCHING +static +#endif +void sub_804B24C(void) +{ + if (gUnknown_03004828->unk_00b2 == gUnknown_03004828->unk_00b3) + { + gUnknown_03004828->unk_00b4 ++; + } + else + { + gUnknown_03004828->unk_00b4 = 0; + } + if (gUnknown_03004828->unk_00b4 > 0xb4) + { + gUnknown_03004828->unk_00b4 = 0; + gUnknown_03004828->unk_00b3 = 0; + gUnknown_03004828->unk_00b2 = 0; + } + gUnknown_03004828->unk_00b3 = gUnknown_03004828->unk_00b2; +} + +static u8 sub_804B2B0(void) +{ + if (gReceivedRemoteLinkPlayers) + return GetMultiplayerId(); + return 0; +} + +static void sub_804B2D0(u8 whichParty, u8 a1) +{ + u8 v0; + struct Pokemon *pokemon; + u16 species; + u32 personality; + + v0 = 0; + pokemon = NULL; + if (whichParty == 0) + { + pokemon = &gPlayerParty[gUnknown_020297D8[0]]; + v0 = 1; + } + if (whichParty == 1) + { + pokemon = &gEnemyParty[gUnknown_020297D8[1] % 6]; + v0 = 3; + } + switch (a1) + { + case 0: + species = GetMonData(pokemon, MON_DATA_SPECIES2); + personality = GetMonData(pokemon, MON_DATA_PERSONALITY); + HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)ewram, gUnknown_081FAF4C[whichParty * 2 + 1], species, personality); + LoadCompressedObjectPalette(GetMonSpritePalStruct(pokemon)); + gUnknown_03004828->tradeSpecies[whichParty] = species; + break; + case 1: + GetMonSpriteTemplate_803C56C(GetMonSpritePalStruct(pokemon)->tag, v0); + gUnknown_03004828->pokePicSpriteIdxs[whichParty] = CreateSprite(&gUnknown_02024E8C, 0x78, 0x3c, 0x6); + gSprites[gUnknown_03004828->pokePicSpriteIdxs[whichParty]].invisible = TRUE; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; + break; + } +} + +#ifdef NONMATCHING +static void sub_804B41C(void) +// Link trade init +{ + switch (gMain.state) + { + case 0: + REG_DISPCNT = 0; + ResetTasks(); + CloseLink(); + gUnknown_03004828 = &ewram_2010000.unk_0f000; + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(sub_804B210); + sub_804B228(); + SetUpWindowConfig(&gWindowConfig_81E6F84); + InitWindowFromConfig(&gUnknown_03004828->window, &gWindowConfig_81E6F84); + gUnknown_03004828->textWindowBaseTileNum = SetTextWindowBaseTileNum(2); + LoadTextWindowGraphics(&gUnknown_03004828->window); + MenuZeroFillScreen(); + gLinkType = 0x1144; + gMain.state ++; + LZDecompressVram(gUnknown_08D00000, (void *)VRAM); + CpuCopy16(gUnknown_08D00524, ewram, 0x1000); + DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500); + LoadCompressedPalette(gUnknown_08D004E0, 0, 32); + gUnknown_03004828->unk_00b6 = 0; + gUnknown_03004828->unk_00c4 = 0; + gUnknown_03004828->isLinkTrade = TRUE; + gUnknown_03004828->unk_0104 = 0x40; + gUnknown_03004828->unk_0106 = 0x40; + gUnknown_03004828->unk_0108 = 0; + gUnknown_03004828->unk_010a = 0; + gUnknown_03004828->unk_010c = 0x78; + gUnknown_03004828->unk_010e = 0x50; + gUnknown_03004828->unk_0118 = 0x100; + gUnknown_03004828->unk_011c = 0; + break; + case 1: + OpenLink(); + gMain.state ++; + gUnknown_03004828->unk_00c0 = 0; + break; + case 2: + if (++ gUnknown_03004828->unk_00c0 > 60) + { + gUnknown_03004828->unk_00c0 = 0; + gMain.state ++; + } + break; + case 3: + if (IsLinkMaster()) + { + if (GetLinkPlayerCount_2() >= sub_800820C() && ++ gUnknown_03004828->unk_00c0 > 30) + { + sub_8007F4C(); + gMain.state ++; + } + } + else + { + gMain.state ++; + } + break; + case 4: + sub_804B24C(); + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) gMain.state ++; + break; + case 5: + gUnknown_03004828->unk_009c = 0; + gUnknown_03004828->unk_009d = 0; + gUnknown_03004828->unk_00bd = 0; + sub_804B2D0(0, 0); + gMain.state ++; + break; + case 6: + sub_804B2D0(0, 1); + gMain.state ++; + break; + case 7: + sub_804B2D0(1, 0); + gMain.state ++; + break; + case 8: + sub_804B2D0(1, 1); + gMain.state ++; + break; + case 9: + sub_804C164(); + LoadSpriteSheet(&gUnknown_0821594C); + LoadSpritePalette(&gUnknown_08215954); + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5); + gMain.state ++; + break; + case 10: + gMain.state ++; + // fallthrough + case 11: + sub_804BBE8(5); + sub_804BBE8(0); + sub_804C1A8(); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gMain.state ++; + break; + case 12: + if (!gPaletteFade.active) + { + SetMainCallback2(sub_804DB84); + } + break; + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} +#else +static __attribute__((naked)) void sub_804B41C(void) +{ + asm_unified("\tpush {r4-r6,lr}\n" + "\tsub sp, 0x4\n" + "\tldr r1, _0804B43C @ =gMain\n" + "\tldr r2, _0804B440 @ =0x0000043c\n" + "\tadds r0, r1, r2\n" + "\tldrb r0, [r0]\n" + "\tadds r2, r1, 0\n" + "\tcmp r0, 0xC\n" + "\tbls _0804B430\n" + "\tb _0804B76E_break\n" + "_0804B430:\n" + "\tlsls r0, 2\n" + "\tldr r1, _0804B444 @ =_0804B448\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tmov pc, r0\n" + "\t.align 2, 0\n" + "_0804B43C: .4byte gMain\n" + "_0804B440: .4byte 0x0000043c\n" + "_0804B444: .4byte _0804B448\n" + "\t.align 2, 0\n" + "_0804B448:\n" + "\t.4byte _0804B47C_case00\n" + "\t.4byte _0804B5AC_case01\n" + "\t.4byte _0804B5D4_case02\n" + "\t.4byte _0804B5FC_case03\n" + "\t.4byte _0804B648_case04\n" + "\t.4byte _0804B678_case05\n" + "\t.4byte _0804B6A8_case06\n" + "\t.4byte _0804B6B2_case07\n" + "\t.4byte _0804B6CC_case08\n" + "\t.4byte _0804B6E4_case09\n" + "\t.4byte _0804B71C_case10\n" + "\t.4byte _0804B726_case11\n" + "\t.4byte _0804B75C_case12\n" + "_0804B47C_case00:\n" + "\tmovs r1, 0x80\n" + "\tlsls r1, 19\n" + "\tmovs r0, 0\n" + "\tstrh r0, [r1]\n" + "\tbl ResetTasks\n" + "\tbl CloseLink\n" + "\tldr r6, _0804B570 @ =gUnknown_03004828\n" + "\tldr r5, _0804B574 @ =0x0201f000\n" + "\tstr r5, [r6]\n" + "\tbl ResetSpriteData\n" + "\tbl FreeAllSpritePalettes\n" + "\tldr r0, _0804B578 @ =sub_804B210\n" + "\tbl SetVBlankCallback\n" + "\tbl sub_804B228\n" + "\tldr r4, _0804B57C @ =gWindowConfig_81E6F84\n" + "\tadds r0, r4, 0\n" + "\tbl SetUpWindowConfig\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x4\n" + "\tadds r1, r4, 0\n" + "\tbl InitWindowFromConfig\n" + "\tmovs r0, 0x2\n" + "\tbl SetTextWindowBaseTileNum\n" + "\tldr r1, [r6]\n" + "\tadds r1, 0x34\n" + "\tstrb r0, [r1]\n" + "\tldr r0, [r6]\n" + "\tadds r0, 0x4\n" + "\tbl LoadTextWindowGraphics\n" + "\tbl MenuZeroFillScreen\n" + "\tldr r1, _0804B580 @ =gLinkType\n" + "\tldr r4, _0804B584 @ =0x00001144\n" + "\tadds r0, r4, 0\n" + "\tstrh r0, [r1]\n" + "\tldr r1, _0804B588 @ =gMain\n" + "\tldr r0, _0804B58C @ =0x0000043c\n" + "\tadds r1, r0\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tldr r0, _0804B590 @ =gUnknown_08D00000\n" + "\tmovs r1, 0xC0\n" + "\tlsls r1, 19\n" + "\tbl LZDecompressVram\n" + "\tldr r0, _0804B594 @ =gUnknown_08D00524\n" + "\tldr r1, _0804B598 @ =0xfffe1000\n" + "\tadds r5, r1\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 4\n" + "\tadds r1, r5, 0\n" + "\tbl CpuSet\n" + "\tldr r1, _0804B59C @ =0x06002800\n" + "\tldr r0, _0804B5A0 @ =0x040000d4\n" + "\tstr r5, [r0]\n" + "\tstr r1, [r0, 0x4]\n" + "\tldr r1, _0804B5A4 @ =0x80000280\n" + "\tstr r1, [r0, 0x8]\n" + "\tldr r0, [r0, 0x8]\n" + "\tldr r0, _0804B5A8 @ =gUnknown_08D004E0\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0x20\n" + "\tbl LoadCompressedPalette\n" + "\tldr r1, [r6]\n" + "\tadds r0, r1, 0\n" + "\tadds r0, 0xB6\n" + "\tmovs r2, 0\n" + "\tstrh r2, [r0]\n" + "\tadds r0, 0xE\n" + "\tstrh r2, [r0]\n" + "\tmovs r4, 0x8F\n" + "\tlsls r4, 1\n" + "\tadds r1, r4\n" + "\tmovs r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tldr r3, [r6]\n" + "\tmovs r1, 0x82\n" + "\tlsls r1, 1\n" + "\tadds r0, r3, r1\n" + "\tmovs r1, 0x40\n" + "\tstrh r1, [r0]\n" + "\tsubs r4, 0x18\n" + "\tadds r0, r3, r4\n" + "\tstrh r1, [r0]\n" + "\tadds r1, 0xC8\n" + "\tadds r0, r3, r1\n" + "\tstrh r2, [r0]\n" + "\tadds r4, 0x4\n" + "\tadds r0, r3, r4\n" + "\tstrh r2, [r0]\n" + "\tmovs r0, 0x86\n" + "\tlsls r0, 1\n" + "\tadds r1, r3, r0\n" + "\tmovs r0, 0x78\n" + "\tstrh r0, [r1]\n" + "\tadds r4, 0x4\n" + "\tadds r1, r3, r4\n" + "\tmovs r0, 0x50\n" + "\tstrh r0, [r1]\n" + "\tadds r0, 0xC8\n" + "\tadds r1, r3, r0\n" + "\tsubs r0, 0x18\n" + "\tstrh r0, [r1]\n" + "\tmovs r1, 0x8E\n" + "\tlsls r1, 1\n" + "\tadds r0, r3, r1\n" + "\tstrh r2, [r0]\n" + "\tb _0804B76E_break\n" + "\t.align 2, 0\n" + "_0804B570: .4byte gUnknown_03004828\n" + "_0804B574: .4byte 0x0201f000\n" + "_0804B578: .4byte sub_804B210\n" + "_0804B57C: .4byte gWindowConfig_81E6F84\n" + "_0804B580: .4byte gLinkType\n" + "_0804B584: .4byte 0x00001144\n" + "_0804B588: .4byte gMain\n" + "_0804B58C: .4byte 0x0000043c\n" + "_0804B590: .4byte gUnknown_08D00000\n" + "_0804B594: .4byte gUnknown_08D00524\n" + "_0804B598: .4byte 0xfffe1000\n" + "_0804B59C: .4byte 0x06002800\n" + "_0804B5A0: .4byte 0x040000d4\n" + "_0804B5A4: .4byte 0x80000280\n" + "_0804B5A8: .4byte gUnknown_08D004E0\n" + "_0804B5AC_case01:\n" + "\tbl OpenLink\n" + "\tldr r1, _0804B5C8 @ =gMain\n" + "\tldr r2, _0804B5CC @ =0x0000043c\n" + "\tadds r1, r2\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tmovs r2, 0\n" + "\tstrb r0, [r1]\n" + "\tldr r0, _0804B5D0 @ =gUnknown_03004828\n" + "\tldr r0, [r0]\n" + "\tadds r0, 0xC0\n" + "\tstr r2, [r0]\n" + "\tb _0804B76E_break\n" + "\t.align 2, 0\n" + "_0804B5C8: .4byte gMain\n" + "_0804B5CC: .4byte 0x0000043c\n" + "_0804B5D0: .4byte gUnknown_03004828\n" + "_0804B5D4_case02:\n" + "\tldr r0, _0804B5F4 @ =gUnknown_03004828\n" + "\tldr r0, [r0]\n" + "\tadds r1, r0, 0\n" + "\tadds r1, 0xC0\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstr r0, [r1]\n" + "\tcmp r0, 0x3C\n" + "\tbhi _0804B5E8\n" + "\tb _0804B76E_break\n" + "_0804B5E8:\n" + "\tmovs r0, 0\n" + "\tstr r0, [r1]\n" + "\tldr r4, _0804B5F8 @ =0x0000043c\n" + "\tadds r1, r2, r4\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B5F4: .4byte gUnknown_03004828\n" + "_0804B5F8: .4byte 0x0000043c\n" + "_0804B5FC_case03:\n" + "\tbl IsLinkMaster\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbne _0804B608\n" + "\tb _0804B746\n" + "_0804B608:\n" + "\tbl GetLinkPlayerCount_2\n" + "\tadds r4, r0, 0\n" + "\tbl sub_800820C\n" + "\tlsls r4, 24\n" + "\tlsls r0, 24\n" + "\tcmp r4, r0\n" + "\tbcs _0804B61C\n" + "\tb _0804B76E_break\n" + "_0804B61C:\n" + "\tldr r0, _0804B63C @ =gUnknown_03004828\n" + "\tldr r1, [r0]\n" + "\tadds r1, 0xC0\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstr r0, [r1]\n" + "\tcmp r0, 0x1E\n" + "\tbhi _0804B62E\n" + "\tb _0804B76E_break\n" + "_0804B62E:\n" + "\tbl sub_8007F4C\n" + "\tldr r1, _0804B640 @ =gMain\n" + "\tldr r0, _0804B644 @ =0x0000043c\n" + "\tadds r1, r0\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B63C: .4byte gUnknown_03004828\n" + "_0804B640: .4byte gMain\n" + "_0804B644: .4byte 0x0000043c\n" + "_0804B648_case04:\n" + "\tbl sub_804B24C\n" + "\tldr r0, _0804B66C @ =gReceivedRemoteLinkPlayers\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0x1\n" + "\tbeq _0804B656\n" + "\tb _0804B76E_break\n" + "_0804B656:\n" + "\tbl IsLinkPlayerDataExchangeComplete\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x1\n" + "\tbeq _0804B664\n" + "\tb _0804B76E_break\n" + "_0804B664:\n" + "\tldr r1, _0804B670 @ =gMain\n" + "\tldr r4, _0804B674 @ =0x0000043c\n" + "\tadds r1, r4\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B66C: .4byte gReceivedRemoteLinkPlayers\n" + "_0804B670: .4byte gMain\n" + "_0804B674: .4byte 0x0000043c\n" + "_0804B678_case05:\n" + "\tldr r2, _0804B69C @ =gUnknown_03004828\n" + "\tldr r0, [r2]\n" + "\tadds r0, 0x9C\n" + "\tmovs r1, 0\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r2]\n" + "\tadds r0, 0x9D\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r2]\n" + "\tadds r0, 0xBD\n" + "\tstrb r1, [r0]\n" + "\tmovs r0, 0\n" + "\tbl sub_804B2D0\n" + "\tldr r1, _0804B6A0 @ =gMain\n" + "\tldr r0, _0804B6A4 @ =0x0000043c\n" + "\tadds r1, r0\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B69C: .4byte gUnknown_03004828\n" + "_0804B6A0: .4byte gMain\n" + "_0804B6A4: .4byte 0x0000043c\n" + "_0804B6A8_case06:\n" + "\tmovs r0, 0\n" + "\tmovs r1, 0x1\n" + "\tbl sub_804B2D0\n" + "\tb _0804B746\n" + "_0804B6B2_case07:\n" + "\tmovs r0, 0x1\n" + "\tmovs r1, 0\n" + "\tbl sub_804B2D0\n" + "\tldr r1, _0804B6C4 @ =gMain\n" + "\tldr r4, _0804B6C8 @ =0x0000043c\n" + "\tadds r1, r4\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B6C4: .4byte gMain\n" + "_0804B6C8: .4byte 0x0000043c\n" + "_0804B6CC_case08:\n" + "\tmovs r0, 0x1\n" + "\tmovs r1, 0x1\n" + "\tbl sub_804B2D0\n" + "\tldr r1, _0804B6DC @ =gMain\n" + "\tldr r0, _0804B6E0 @ =0x0000043c\n" + "\tadds r1, r0\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B6DC: .4byte gMain\n" + "_0804B6E0: .4byte 0x0000043c\n" + "_0804B6E4_case09:\n" + "\tbl sub_804C164\n" + "\tldr r0, _0804B704 @ =gUnknown_0821594C\n" + "\tbl LoadSpriteSheet\n" + "\tldr r0, _0804B708 @ =gUnknown_08215954\n" + "\tbl LoadSpritePalette\n" + "\tldr r1, _0804B70C @ =REG_BG1CNT\n" + "\tldr r2, _0804B710 @ =0x00000502\n" + "\tadds r0, r2, 0\n" + "\tstrh r0, [r1]\n" + "\tldr r1, _0804B714 @ =gMain\n" + "\tldr r4, _0804B718 @ =0x0000043c\n" + "\tadds r1, r4\n" + "\tb _0804B74C\n" + "\t.align 2, 0\n" + "_0804B704: .4byte gUnknown_0821594C\n" + "_0804B708: .4byte gUnknown_08215954\n" + "_0804B70C: .4byte REG_BG1CNT\n" + "_0804B710: .4byte 0x00000502\n" + "_0804B714: .4byte gMain\n" + "_0804B718: .4byte 0x0000043c\n" + "_0804B71C_case10:\n" + "\tldr r0, _0804B754 @ =0x0000043c\n" + "\tadds r1, r2, r0\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "_0804B726_case11:\n" + "\tmovs r0, 0x5\n" + "\tbl sub_804BBE8\n" + "\tmovs r0, 0\n" + "\tbl sub_804BBE8\n" + "\tbl sub_804C1A8\n" + "\tmovs r0, 0x1\n" + "\tnegs r0, r0\n" + "\tmovs r1, 0\n" + "\tstr r1, [sp]\n" + "\tmovs r2, 0x10\n" + "\tmovs r3, 0\n" + "\tbl BeginNormalPaletteFade\n" + "_0804B746:\n" + "\tldr r1, _0804B758 @ =gMain\n" + "\tldr r2, _0804B754 @ =0x0000043c\n" + "\tadds r1, r2\n" + "_0804B74C:\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tb _0804B76E_break\n" + "\t.align 2, 0\n" + "_0804B754: .4byte 0x0000043c\n" + "_0804B758: .4byte gMain\n" + "_0804B75C_case12:\n" + "\tldr r0, _0804B788 @ =gPaletteFade\n" + "\tldrb r1, [r0, 0x7]\n" + "\tmovs r0, 0x80\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0804B76E_break\n" + "\tldr r0, _0804B78C @ =sub_804DB84\n" + "\tbl SetMainCallback2\n" + "_0804B76E_break:\n" + "\tbl RunTasks\n" + "\tbl AnimateSprites\n" + "\tbl BuildOamBuffer\n" + "\tbl UpdatePaletteFade\n" + "\tadd sp, 0x4\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0804B788: .4byte gPaletteFade\n" + "_0804B78C: .4byte sub_804DB84"); +} +#endif + +static void sub_804B790(void) +// In-game trade init +{ + u8 otName[11]; + switch (gMain.state) + { + case 0: + gUnknown_020297D8[0] = gSpecialVar_0x8005; + gUnknown_020297D8[1] = 6; + StringCopy(gLinkPlayers[0].name, gSaveBlock2.playerName); + GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); + StringCopy(gLinkPlayers[1].name, otName); + REG_DISPCNT = 0; + ResetTasks(); + gUnknown_03004828 = &ewram_2010000.unk_0f000; + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(sub_804B210); + sub_804B228(); + SetUpWindowConfig(&gWindowConfig_81E717C); + InitWindowFromConfig(&gUnknown_03004828->window, &gWindowConfig_81E717C); + gUnknown_03004828->textWindowBaseTileNum = SetTextWindowBaseTileNum(2); + LoadTextWindowGraphics(&gUnknown_03004828->window); + MenuZeroFillScreen(); + gLinkType = 0x1144; + gUnknown_03004828->isLinkTrade = FALSE; + gUnknown_03004828->unk_00b6 = 0; + gUnknown_03004828->unk_00c4 = 0; + gUnknown_03004828->unk_0104 = 0x40; + gUnknown_03004828->unk_0106 = 0x40; + gUnknown_03004828->unk_0108 = 0; + gUnknown_03004828->unk_010a = 0; + gUnknown_03004828->unk_010c = 0x78; + gUnknown_03004828->unk_010e = 0x50; + gUnknown_03004828->unk_0118 = 0x100; + gUnknown_03004828->unk_011c = 0; + gUnknown_03004828->unk_00c0 = 0; + gMain.state = 5; + break; + case 5: + sub_804B2D0(0, 0); + gMain.state ++; + break; + case 6: + sub_804B2D0(0, 1); + gMain.state ++; + break; + case 7: + sub_804B2D0(1, 0); + gMain.state ++; + break; + case 8: + sub_804B2D0(1, 1); + gMain.state ++; + break; + case 9: + sub_804C164(); + LoadSpriteSheet(&gUnknown_0821594C); + LoadSpritePalette(&gUnknown_08215954); + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5); + gMain.state ++; + break; + case 10: + gMain.state ++; + // fallthrough + case 11: + sub_804BBE8(5); + sub_804BBE8(0); + sub_804C1A8(); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gMain.state ++; + break; + case 12: + if (!gPaletteFade.active) + { + SetMainCallback2(sub_804BBCC); + } + break; + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_804BA18(u8 partyIdx) +{ + struct Pokemon *pokemon = &gPlayerParty[partyIdx]; + if (!GetMonData(pokemon, MON_DATA_IS_EGG)) + { + u16 species = SpeciesToNationalPokedexNum(GetMonData(pokemon, MON_DATA_SPECIES, NULL)); + GetSetPokedexFlag(species, 2); + GetSetPokedexFlag(species, 3); + } +} + +static void sub_804BA64(void) +{ + u8 mpId = GetMultiplayerId(); + if (gLinkPlayers[mpId ^ 1].lp_field_2 == 0x8000) + EnableNationalPokedex(); +} + +static void sub_804BA94(u8 a0, u8 a1) +{ + u8 friendship; + struct Pokemon *playerPokemon = &gPlayerParty[a0]; + u16 playerMail = GetMonData(playerPokemon, MON_DATA_MAIL); + + struct Pokemon *friendPokemon = &gEnemyParty[a1]; + u16 friendMail = GetMonData(friendPokemon, MON_DATA_MAIL); + + if (playerMail != 0xff) + ClearMailStruct(&gSaveBlock1.mail[playerMail]); + + // This is where the actual trade happens!! + gUnknown_03004828->pokemon = *playerPokemon; + *playerPokemon = *friendPokemon; + *friendPokemon = gUnknown_03004828->pokemon; + + friendship = 70; + if (!GetMonData(playerPokemon, MON_DATA_IS_EGG)) + SetMonData(playerPokemon, MON_DATA_FRIENDSHIP, &friendship); + + if (friendMail != 0xff) + GiveMailToMon2(playerPokemon, &gUnknown_02029700[friendMail]); + + sub_804BA18(a0); + if (gReceivedRemoteLinkPlayers) + sub_804BA64(); +} + +static void sub_804BB78(void) +{ + switch (gUnknown_03004828->unk_00bd) + { + case 1: + if (sub_8007ECC()) + { + Trade_SendData(gUnknown_03004828); + gUnknown_03004828->unk_00bd ++; + } + // fallthrough + case 2: + gUnknown_03004828->unk_00bd = 0; + break; + } +} + +static void sub_804BBCC(void) +{ + sub_804C29C(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_804BBE8(u8 a0) +{ + int i; + u16 *buffer; + switch (a0) + { + case 0: + LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0); + DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000); + DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000); + gUnknown_03004828->bg2vofs = 0; + gUnknown_03004828->bg2hofs = 0xb4; + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256; + break; + case 1: + gUnknown_03004828->bg1hofs = 0; + gUnknown_03004828->bg1vofs = 0x15c; + REG_BG1VOFS = 0x15c; + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5) | BGCNT_TXT256x512; + + DmaCopy16Defvars(3, gUnknown_08210798, BG_SCREEN_ADDR(5), 0x1000); + DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(0), 0x1300, 0x1000); + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; + break; + case 2: + gUnknown_03004828->bg1vofs = 0; + gUnknown_03004828->bg1hofs = 0; + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; + DmaCopy16Defvars(3, gUnknown_08211798, BG_SCREEN_ADDR(5), 0x800); + break; + case 3: + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; + gUnknown_03004828->unk_0104 = 0x40; + gUnknown_03004828->unk_0106 = 0x40; + gUnknown_03004828->unk_010c = 0x78; + gUnknown_03004828->unk_010e = -0x46; + gUnknown_03004828->unk_011c = 0; + DmaCopyLarge16(3, gUnknown_0820DD98, BG_CHAR_ADDR(1), 0x1a00, 0x1000); + DmaCopy16Defvars(3, gUnknown_08211F98, BG_SCREEN_ADDR(18), 0x100); + break; + case 4: + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18); + gUnknown_03004828->unk_0104 = 0x40; + gUnknown_03004828->unk_0106 = 0x5c; + gUnknown_03004828->unk_0118 = 0x20; + gUnknown_03004828->unk_011a = 0x400; + gUnknown_03004828->unk_011c = 0; + DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000); + DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100); + break; + case 5: + gUnknown_03004828->bg1vofs = 0; + gUnknown_03004828->bg1hofs = 0; + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5); + LZDecompressVram(gUnknown_08D00000, BG_CHAR_ADDR(0)); + CpuCopy16(gUnknown_08D00524, buffer = (u16 *)ewram, 0x1000); + LoadCompressedPalette(gUnknown_08D004E0, 0x70, 0x20); + FillPalette(0, 0, 2); + for (i = 0; i < 0x280; i ++) + buffer[i] |= 0x7000; + DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500); + MenuZeroFillWindowRect(2, 15, 27, 18); + break; + case 6: + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18); + gUnknown_03004828->unk_0104 = 0x40; + gUnknown_03004828->unk_0106 = 0x5c; + gUnknown_03004828->unk_0118 = 0x100; + gUnknown_03004828->unk_011a = 0x80; + gUnknown_03004828->unk_010c = 0x78; + gUnknown_03004828->unk_010e = 0x50; + gUnknown_03004828->unk_011c = 0; + DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000); + DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100); + break; + case 7: + gUnknown_03004828->bg2vofs = 0; + gUnknown_03004828->bg2hofs = 0; + REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256; + LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0); + DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000); + DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000); + break; + } +} + +static void sub_804C0F8(u8 a0) +{ + if (a0 == 0) + { + if (gUnknown_03004828->bg1vofs < 0x10a) + { + gUnknown_03004828->unk_010e ++; + gUnknown_03004828->unk_011c += 64; + } + } + else + { + if (gUnknown_03004828->unk_010e > -0x40) + { + gUnknown_03004828->unk_010e --; + gUnknown_03004828->unk_011c += 64; + } + } +} + +static void sub_804C164(void) +{ + LoadSpriteSheet(&gUnknown_082159A4); + LoadSpriteSheet(&gUnknown_082159F4); + LoadSpriteSheet(&gUnknown_08215A28); + LoadSpriteSheet(&gUnknown_08215A78); + LoadSpritePalette(&gUnknown_082159AC); + LoadSpritePalette(&gUnknown_082159B4); +} + +static void sub_804C1A8(void) +{ + u8 mpId; + u8 string[20]; + const struct InGameTrade *ingameTrade; + if (gUnknown_03004828->isLinkTrade) + { + mpId = GetMultiplayerId(); + StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name); + GetMonData(&gEnemyParty[gUnknown_020297D8[1] % 6], MON_DATA_NICKNAME, string); + StringCopy10(gStringVar3, string); + GetMonData(&gPlayerParty[gUnknown_020297D8[0]], MON_DATA_NICKNAME, string); + StringCopy10(gStringVar2, string); + } + else + { + ingameTrade = &gIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, ingameTrade->otName); + StringCopy10(gStringVar3, ingameTrade->name); + GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, string); + StringCopy10(gStringVar2, string); + } +} + +static bool8 sub_804C29C(void) +{ + u16 evoTarget; + + switch (gUnknown_03004828->unk_00c4) + { + case 0: + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.x = -0xb4; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_03004828->tradeSpecies[0]].y_offset; + gUnknown_03004828->unk_00c4 ++; + gUnknown_03004828->unk_0124 = GetCurrentMapMusic(); + PlayBGM(BGM_SHINKA); + break; + case 1: + if (gUnknown_03004828->bg2hofs > 0) + { + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.x += 3; + gUnknown_03004828->bg2hofs -= 3; + } + else + { + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.x = 0; + gUnknown_03004828->bg2hofs = 0; + gUnknown_03004828->unk_00c4 = 10; + } + break; + + case 10: + StringExpandPlaceholders(gStringVar4, gTradeText_WillBeSent); + sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); + gUnknown_03004828->unk_00c4 = 11; + gUnknown_03004828->unk_00c0 = 0; + break; + case 11: + if (++gUnknown_03004828->unk_00c0 == 80) + { + gUnknown_03004828->unk_0102 = sub_8047580(gUnknown_03004828->pokePicSpriteIdxs[0], gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].oam.paletteNum, 0x78, 0x20, 0x2, 0x1, 0x14, 0xfffff); + gUnknown_03004828->unk_00c4 ++; + ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19); + StringExpandPlaceholders(gStringVar4, gTradeText_ByeBye); + sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); + } + break; + case 12: + if (gSprites[gUnknown_03004828->unk_0102].callback == SpriteCallbackDummy && sub_80035AC(&gUnknown_03004828->window) == TRUE) + { + gUnknown_03004828->unk_0103 = CreateSprite(&gSpriteTemplate_821595C, 0x78, 0x20, 0); + gSprites[gUnknown_03004828->unk_0103].callback = sub_804D738; + DestroySprite(&gSprites[gUnknown_03004828->unk_0102]); + gUnknown_03004828->unk_00c4 ++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004828->unk_00c4 = 20; + break; + + case 20: + if (!gPaletteFade.active) + { + sub_804BBE8(4); + gUnknown_03004828->unk_00c4 ++; + } + break; + case 21: + BeginNormalPaletteFade(-1, -1, 16, 0, 0); + gUnknown_03004828->unk_00c4 ++; + break; + case 22: + if (!gPaletteFade.active) + { + gUnknown_03004828->unk_00c4 = 23; + } + break; + case 23: + if (gUnknown_03004828->unk_011a > 0x100) + { + gUnknown_03004828->unk_011a -= 0x34; + } + else + { + sub_804BBE8(1); + gUnknown_03004828->unk_011a = 0x80; + gUnknown_03004828->unk_00c4 ++; + gUnknown_03004828->unk_00c0 = 0; + } + gUnknown_03004828->unk_0118 = 0x8000 / gUnknown_03004828->unk_011a; + break; + case 24: + if (++ gUnknown_03004828->unk_00c0 > 20) + { + sub_804BBE8(3); + sub_804B128(); + gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_8215A80, 0x78, 0x50, 0); + gUnknown_03004828->unk_00c4 ++; + } + break; + case 25: + if (gSprites[gUnknown_03004828->unk_00bb].animEnded) + { + DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]); + REG_BLDCNT = 0x640; + REG_BLDALPHA = 0x40C; + gUnknown_03004828->unk_00c4 ++; + } + break; + case 26: + if (-- gUnknown_03004828->bg1vofs == 0x13C) + { + gUnknown_03004828->unk_00c4 ++; + } + if (gUnknown_03004828->bg1vofs == 0x148) + { + gUnknown_03004828->unk_00bc = CreateSprite(&gSpriteTemplate_8215A30, 0x80, 0x41, 0); + } + break; + case 27: + gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159BC, 0x80, 0x50, 3); + gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x80, 0x50, 0); + StartSpriteAnim(&gSprites[gUnknown_03004828->unk_00bb], 1); + gUnknown_03004828->unk_00c4 ++; + break; + case 28: + if ((gUnknown_03004828->bg1vofs -= 2) == 0xA6) + { + gUnknown_03004828->unk_00c4 = 200; + } + sub_804C0F8(0); + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + break; + case 200: + gSprites[gUnknown_03004828->unk_00ba].pos1.y -= 2; + gSprites[gUnknown_03004828->unk_00bb].pos1.y -= 2; + sub_804C0F8(0); + if (gSprites[gUnknown_03004828->unk_00ba].pos1.y < -8) + { + gUnknown_03004828->unk_00c4 = 29; + } + break; + case 29: + BeginNormalPaletteFade(-1, -1, 0, 16, 0); + gUnknown_03004828->unk_00c4 = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]); + DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]); + sub_804BBE8(2); + gUnknown_03004828->unk_00c4 ++; + } + break; + case 31: + BeginNormalPaletteFade(-1, -1, 16, 0, 0); + gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159FC, 0x6f, 0xaa, 0); + gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x81, -0xa, 0); + gUnknown_03004828->unk_00c4 ++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + gUnknown_03004828->unk_00c4 ++; + } + gSprites[gUnknown_03004828->unk_00ba].pos2.y -= 3; + gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3; + break; + case 33: + gSprites[gUnknown_03004828->unk_00ba].pos2.y -= 3; + gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3; + if (gSprites[gUnknown_03004828->unk_00ba].pos2.y <= -0x5a) + { + gSprites[gUnknown_03004828->unk_00ba].data1 = 1; + gSprites[gUnknown_03004828->unk_00bb].data1 = 1; + gUnknown_03004828->unk_00c4 ++; + } + break; + case 34: + BlendPalettes(1, 16, 0xffff); + gUnknown_03004828->unk_00c4 ++; + break; + case 35: + BlendPalettes(1, 0, 0xffff); + gUnknown_03004828->unk_00c4 ++; + break; + case 36: + BlendPalettes(1, 16, 0xffff); + gUnknown_03004828->unk_00c4 ++; + break; + case 37: + if (!IsPokeSpriteNotFlipped(gUnknown_03004828->tradeSpecies[0])) + { + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8215AC0; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]], 0); + } + StartSpriteAffineAnim(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]], 0); + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos1.x = 0x3c; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.x = 0xb4; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos1.y = 0xc0; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.y = -0x20; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].invisible = FALSE; + gUnknown_03004828->unk_00c4 ++; + break; + case 38: + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y -= 3; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos2.y += 3; + if (-0xa0 > gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y && gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y >= -0xa3) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y < -0xde) + { + gSprites[gUnknown_03004828->unk_00ba].data1 = 0; + gSprites[gUnknown_03004828->unk_00bb].data1 = 0; + gUnknown_03004828->unk_00c4 ++; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = TRUE; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].invisible = TRUE; + BlendPalettes(1, 0, 0xffff); + } + break; + case 39: + gSprites[gUnknown_03004828->unk_00ba].pos2.y -= 3; + gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3; + if (gSprites[gUnknown_03004828->unk_00ba].pos2.y <= -0xde) + { + BeginNormalPaletteFade(-1, -1, 0, 16, 0); + gUnknown_03004828->unk_00c4 ++; + DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]); + DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]); + } + break; + case 40: + if (!gPaletteFade.active) + { + gUnknown_03004828->unk_00c4 ++; + sub_804BBE8(1); + gUnknown_03004828->bg1vofs = 0xa6; + gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159BC, 0x80, -0x14, 3); + gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x80, -0x14, 0); + StartSpriteAnim(&gSprites[gUnknown_03004828->unk_00bb], 1); + } + break; + case 41: + BeginNormalPaletteFade(-1, -1, 16, 0, 0); + gUnknown_03004828->unk_00c4 ++; + break; + case 42: + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + sub_804C0F8(1); + if (!gPaletteFade.active) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 43: + sub_804C0F8(1); + gSprites[gUnknown_03004828->unk_00ba].pos2.y += 3; + gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3; + if (gSprites[gUnknown_03004828->unk_00ba].pos2.y + gSprites[gUnknown_03004828->unk_00ba].pos1.y == 64) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 44: + sub_804C0F8(1); + if ((gUnknown_03004828->bg1vofs += 2) > 0x13c) + { + gUnknown_03004828->bg1vofs = 0x13c; + gUnknown_03004828->unk_00c4 ++; + } + break; + case 45: + DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]); + DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]); + gUnknown_03004828->unk_00c4 ++; + gUnknown_03004828->unk_00c0 = 0; + break; + case 46: + if (++ gUnknown_03004828->unk_00c0 == 10) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 47: + if (++ gUnknown_03004828->bg1vofs > 0x15c) + { + gUnknown_03004828->bg1vofs = 0x15c; + gUnknown_03004828->unk_00c4 ++; + } + if (gUnknown_03004828->bg1vofs == 0x148) + gUnknown_03004828->unk_00bc = CreateSprite(&gSpriteTemplate_8215A30, 0x80, 0x41, 0); + gSprites[gUnknown_03004828->unk_00bc].callback = sub_804B0E0; + break; + case 48: + gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_8215A80, 0x78, 0x50, 0); + gUnknown_03004828->unk_00c4 = 50; + break; + + case 50: + if (gSprites[gUnknown_03004828->unk_00bb].animEnded) + { + DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]); + sub_804BBE8(6); + gUnknown_03004828->unk_00c4 ++; + PlaySE(SE_W028); + } + break; + case 51: + if (gUnknown_03004828->unk_011a < 0x400) + { + gUnknown_03004828->unk_011a += 0x34; + } + else + { + gUnknown_03004828->unk_011a = 0x400; + gUnknown_03004828->unk_00c4 ++; + } + gUnknown_03004828->unk_0118 = 0x8000 / gUnknown_03004828->unk_011a; + break; + case 52: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004828->unk_00c4 = 60; + break; + + case 60: + if (!gPaletteFade.active) + { + sub_804BBE8(5); + sub_804BBE8(7); + gUnknown_03004828->unk_00c4 ++; + } + break; + case 61: + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gUnknown_03004828->unk_00c4 ++; + break; + case 62: + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + if (!gPaletteFade.active) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 63: + gUnknown_03004828->unk_0103 = CreateSprite(&gSpriteTemplate_821595C, 0x78, -0x8, 0); + gSprites[gUnknown_03004828->unk_0103].data3 = 0x4a; + gSprites[gUnknown_03004828->unk_0103].callback = sub_804D80C; + StartSpriteAnim(&gSprites[gUnknown_03004828->unk_0103], 1); + StartSpriteAffineAnim(&gSprites[gUnknown_03004828->unk_0103], 2); + BlendPalettes(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 16, 0xffff); + gUnknown_03004828->unk_00c4 ++; + gUnknown_03004828->unk_00c0 = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 1, 16, 0, 0xffff); + gUnknown_03004828->unk_00c4 ++; + break; + case 65: + if (gSprites[gUnknown_03004828->unk_0103].callback == SpriteCallbackDummy) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 66: + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.x = 0x78; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_03004828->tradeSpecies[1]].y_offset + 60; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos2.x = 0; + gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].pos2.y = 0; + CreatePokeballSprite(gUnknown_03004828->pokePicSpriteIdxs[1], gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].oam.paletteNum, 0x78, 0x54, 2, 1, 0x14, 0xfffff); + FreeSpriteOamMatrix(&gSprites[gUnknown_03004828->unk_0103]); + DestroySprite(&gSprites[gUnknown_03004828->unk_0103]); + gUnknown_03004828->unk_00c4 ++; + break; + case 67: + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19); + StringExpandPlaceholders(gStringVar4, gTradeText_SentOverPoke); + sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); + gUnknown_03004828->unk_00c4 ++; + gUnknown_03004828->unk_00c0 = 0; + break; + case 68: + if (++ gUnknown_03004828->unk_00c0 == 4) + { + PlayFanfare(BGM_FANFA5); + } + if (gUnknown_03004828->unk_00c0 == 0xf0) + { + gUnknown_03004828->unk_00c4 ++; + ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19); + StringExpandPlaceholders(gStringVar4, gTradeText_TakeGoodCare); + sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); + gUnknown_03004828->unk_00c0 = 0; + } + break; + case 69: // OneHand + if (++ gUnknown_03004828->unk_00c0 == 60) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 70: + sub_804E1DC(); + gUnknown_03004828->unk_00c4 ++; + break; + case 71: + if (gUnknown_03004828->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_03004828->unk_00c4 ++; + } + break; + case 72: // Only if in-game trade + sub_804BA94(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = sub_804BBCC; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_020297D8[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + TradeEvolutionScene(&gPlayerParty[gUnknown_020297D8[0]], evoTarget, gUnknown_03004828->pokePicSpriteIdxs[1], gUnknown_020297D8[0]); + gUnknown_03004828->unk_00c4 ++; + break; + case 73: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_03004828->unk_00c4 ++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayBGM(gUnknown_03004828->unk_0124); + SetMainCallback2(c2_exit_to_overworld_2_switch); + sub_804D8E4(); + } + break; + } + return FALSE; +} + +static void sub_804D588(void) +{ + u16 evoTarget; + switch (gMain.state) + { + case 0: + gMain.state = 4; + gSoftResetDisabled = TRUE; + break; + case 4: + gCB2_AfterEvolution = sub_804DC88; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_020297D8[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + TradeEvolutionScene(&gPlayerParty[gUnknown_020297D8[0]], evoTarget, gUnknown_03004828->pokePicSpriteIdxs[1], gUnknown_020297D8[0]); + else + SetMainCallback2(sub_804DC88); + gUnknown_020297D8[0] = 255; + break; + } + if (!HasLinkErrorOccurred()) + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_804D63C(void) +{ + u8 blockReceivedStatus; + sub_804B2B0(); + blockReceivedStatus = GetBlockReceivedStatus(); + if (blockReceivedStatus & 0x01) + { + if (gBlockRecvBuffer[0][0] == 0xdcba) + { + SetMainCallback2(sub_804D588); + } + if (gBlockRecvBuffer[0][0] == 0xabcd) + { + gUnknown_03004828->unk_009c = 1; + } + ResetBlockReceivedFlag(0); + } + if (blockReceivedStatus & 0x02) + { + if (gBlockRecvBuffer[1][0] == 0xabcd) + { + gUnknown_03004828->unk_009d = 1; + } + ResetBlockReceivedFlag(1); + } +} + +static void sub_804D6BC(struct Sprite *sprite) +{ + sprite->pos1.y += sprite->data0 / 10; + sprite->data5 += sprite->data1; + sprite->pos1.x = sprite->data5 / 10; + if (sprite->pos1.y > 0x4c) + { + sprite->pos1.y = 0x4c; + sprite->data0 = -(sprite->data0 * sprite->data2) / 100; + sprite->data3 ++; + } + if (sprite->pos1.x == 0x78) + sprite->data1 = 0; + sprite->data0 += sprite->data4; + if (sprite->data3 == 4) + { + sprite->data7 = 1; + sprite->callback = SpriteCallbackDummy; + } +} + +static void sub_804D738(struct Sprite *sprite) +{ + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data0]; + if (sprite->data0 == 22) + PlaySE(SE_KON); + if (++ sprite->data0 == 44) + { + PlaySE(SE_W025); + sprite->callback = sub_804D7AC; + sprite->data0 = 0; + BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, -1); + } +} + +static void sub_804D7AC(struct Sprite *sprite) +{ + if (sprite->data1 == 20) + StartSpriteAffineAnim(sprite, 1); + if (++ sprite->data1 > 20) + { + sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data0]; + if (++ sprite->data0 == 23) + { + DestroySprite(sprite); + gUnknown_03004828->unk_00c4 = 14; // Resume the master trade animation + } + } +} + +static void sub_804D80C(struct Sprite *sprite) +{ + if (sprite->data2 == 0) + { + if ((sprite->pos1.y += 4) > sprite->data3) + { + sprite->data2 ++; + sprite->data0 = 0x16; + PlaySE(SE_KON); + } + } + else + { + if (sprite->data0 == 0x42) + PlaySE(SE_KON2); + if (sprite->data0 == 0x5c) + PlaySE(SE_KON3); + if (sprite->data0 == 0x6b) + PlaySE(SE_KON4); + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data0]; + if (++sprite->data0 == 0x6c) + sprite->callback = SpriteCallbackDummy; + } +} + +u16 sub_804D89C(void) +{ + const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]); + StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); + return inGameTrade->playerSpecies; +} + +static void sub_804D8E4(void) +{ + u8 nickname[32]; + const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); + StringCopy10(gStringVar1, nickname); + StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); +} + +static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade) +{ + const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade]; + u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL); + + struct MailStruct mail; + u8 metLocation = 0xFE; + u8 isMail; + struct Pokemon *pokemon = &gEnemyParty[0]; + + CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId); + + SetMonData(pokemon, MON_DATA_HP_IV, &inGameTrade->ivs[0]); + SetMonData(pokemon, MON_DATA_ATK_IV, &inGameTrade->ivs[1]); + SetMonData(pokemon, MON_DATA_DEF_IV, &inGameTrade->ivs[2]); + SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]); + SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]); + SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]); + SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name); + SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName); + SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender); + SetMonData(pokemon, MON_DATA_ALT_ABILITY, &inGameTrade->secondAbility); + SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]); + SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]); + SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]); + SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]); + SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]); + SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen); + SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation); + + isMail = FALSE; + if (inGameTrade->heldItem != ITEM_NONE) + { + if (ItemIsMail(inGameTrade->heldItem)) + { + sub_804DAD4(&mail, inGameTrade); + gUnknown_02029700[0] = mail; + SetMonData(pokemon, MON_DATA_MAIL, &isMail); + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); + } + else + { + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); + } + } + CalculateMonStats(&gEnemyParty[0]); +} + +static void sub_804DAD4(struct MailStruct *mail, const struct InGameTrade *trade) { + s32 i; + + for (i = 0; i < 9; i++) + { + mail->words[i] = gIngameTradeMail[trade->mailNum][i]; + } + + StringCopy(mail->playerName, trade->otName); + +#if GERMAN + PadNameString(mail->playerName, CHAR_SPACE); +#endif + + mail->trainerId[0] = trade->otId >> 24; + mail->trainerId[1] = trade->otId >> 16; + mail->trainerId[2] = trade->otId >> 8; + mail->trainerId[3] = trade->otId; + mail->species = trade->species; + mail->itemId = trade->heldItem; +} + +u16 sub_804DB2C(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_IS_EGG)) + return SPECIES_NONE; + return GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_SPECIES); +} + +void sub_804DB68(void) +{ + sub_804D948(gSpecialVar_0x8005, gSpecialVar_0x8004); +} + +#ifdef NONMATCHING +static +#endif +void sub_804DB84(void) +{ + if (sub_804C29C() == TRUE) + { + DestroySprite(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]]); + FreeSpriteOamMatrix(&gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]]); + sub_804BA94(gUnknown_020297D8[0], gUnknown_020297D8[1] % 6); + gUnknown_03004828->linkData[0] = 0xabcd; + gUnknown_03004828->unk_00bd = 1; + SetMainCallback2(sub_804DC18); + } + sub_804BB78(); + sub_804D63C(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_804DC18(void) +{ + u8 mpId = sub_804B2B0(); + sub_804D63C(); + if (mpId == 0 && gUnknown_03004828->unk_009c == 1 && gUnknown_03004828->unk_009d == 1) + { + gUnknown_03004828->linkData[0] = 0xdcba; + Trade_SendData(gUnknown_03004828); + gUnknown_03004828->unk_009c = 2; + gUnknown_03004828->unk_009d = 2; + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_804DC88(void) +{ + switch (gMain.state) + { + case 0: + gUnknown_03004828 = &ewram_2010000.unk_0f000; + gMain.state ++; + ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19); + StringExpandPlaceholders(gStringVar4, gOtherText_LinkStandby2); + sub_8003460(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); + break; + case 1: + sub_80084A4(); + gMain.state = 100; + gUnknown_03004828->unk_00c0 = 0; + break; + case 100: + if (++ gUnknown_03004828->unk_00c0 > 180) + { + gMain.state = 101; + gUnknown_03004828->unk_00c0 = 0; + } + if (sub_8007ECC()) + { + gMain.state = 2; + } + break; + case 101: + if (sub_8007ECC()) + { + gMain.state = 2; + } + break; + case 2: + gMain.state = 50; + ZeroFillWindowRect(&gUnknown_03004828->window, 0, 0, 29, 19); + sub_8003460(&gUnknown_03004828->window, gSystemText_Saving, gUnknown_03004828->textWindowBaseTileNum, 2, 15); + break; + case 50: + SetSecretBase2Field_9_AndHideBG(); + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + sub_8125D80(); + gMain.state ++; + gUnknown_03004828->unk_00c0 = 0; + break; + case 51: + if (++ gUnknown_03004828->unk_00c0 == 5) + { + gMain.state ++; + } + break; + case 52: + if (sub_8125DA8()) + { + ClearSecretBase2Field_9_2(); + gMain.state = 4; + } + else + { + gUnknown_03004828->unk_00c0 = 0; + gMain.state = 51; + } + break; + case 4: + sub_8125DDC(); + gMain.state = 40; + gUnknown_03004828->unk_00c0 = 0; + break; + case 40: + if (++ gUnknown_03004828->unk_00c0 > 50) + { + gUnknown_03004828->unk_00c0 = 0; + gMain.state = 41; + } + break; + case 41: + sub_80084A4(); + gMain.state = 42; + break; + case 42: + if (sub_8007ECC()) + { + sub_8125E04(); + gSoftResetDisabled = FALSE; + gMain.state = 5; + } + break; + case 5: + if (++ gUnknown_03004828->unk_00c0 > 60) + { + gMain.state ++; + sub_80084A4(); + } + break; + case 6: + if (sub_8007ECC()) + { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gMain.state ++; + } + break; + case 7: + if (!gPaletteFade.active) + { + FadeOutBGM(3); + gMain.state ++; + } + break; + case 8: + if (IsBGMStopped() == TRUE) + { + sub_800832C(); + gMain.state ++; + } + break; + case 9: + if (!gReceivedRemoteLinkPlayers) + { + SetMainCallback2(sub_804E144); + } + break; + } + if (!HasLinkErrorOccurred()) + { + RunTasks(); + } + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_804E144(void) +{ + if (!gPaletteFade.active) + SetMainCallback2((sub_8047CD8)); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_804E174(void) +{ + ScriptContext2_Enable(); + CreateTask(sub_804E1A0, 10); + BeginNormalPaletteFade(-1, 0, 0, 16, 0); +} + +static void sub_804E1A0(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(sub_804B790); + gFieldCallback = sub_8080990; + DestroyTask(taskId); + } +} + +static void sub_804E1DC(void) +{ + u8 i; + u8 numRibbons = 0; + for (i = 0; i < 12; i ++) + { + numRibbons += GetMonData(&gEnemyParty[gUnknown_020297D8[1] % 6], MON_DATA_CHAMPION_RIBBON + i); + } + if (numRibbons != 0) + FlagSet(SYS_RIBBON_GET); +} + +void sub_804E22C(void) +{ + const u16 *src; + u16 *dest; + LZDecompressVram(gUnknown_08D00000, (void *)VRAM); + CpuCopy16(gUnknown_08D00524, ewram, 0x1000); + src = (const u16 *)ewram; + dest = BG_SCREEN_ADDR(5); + DmaCopy16(3, src, dest, 0x500) + LoadCompressedPalette(gUnknown_08D004E0, 0, 32); + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5); +} diff --git a/src/trainer_card.c b/src/engine/trainer_card.c index bcb62ede6..3e9dadbda 100644 --- a/src/trainer_card.c +++ b/src/engine/trainer_card.c @@ -311,16 +311,16 @@ static void nullsub_60(u8 taskid) { } -void sub_8093390(struct TrainerCard *arg1) +void sub_8093390(struct TrainerCard *trainerCard) { u32 playTime; bool32 enteredHallOfFame; bool8 r4; u8 i; - arg1->gender = gSaveBlock2.playerGender; - arg1->playTimeHours = gSaveBlock2.playTimeHours; - arg1->playTimeMinutes = gSaveBlock2.playTimeMinutes; + trainerCard->gender = gSaveBlock2.playerGender; + trainerCard->playTimeHours = gSaveBlock2.playTimeHours; + trainerCard->playTimeMinutes = gSaveBlock2.playTimeMinutes; playTime = GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME); enteredHallOfFame = GetGameStat(GAME_STAT_ENTERED_HOF); @@ -328,39 +328,39 @@ void sub_8093390(struct TrainerCard *arg1) { playTime = 0; } - arg1->firstHallOfFameA = playTime >> 16; - arg1->firstHallOfFameB = (playTime >> 8) & 0xFF; - arg1->firstHallOfFameC = playTime & 0xFF; + trainerCard->firstHallOfFameA = playTime >> 16; + trainerCard->firstHallOfFameB = (playTime >> 8) & 0xFF; + trainerCard->firstHallOfFameC = playTime & 0xFF; - arg1->hasPokedex = FlagGet(SYS_POKEDEX_GET); - arg1->var_3 = sub_8090FC0(); - arg1->pokedexSeen = GetPokedexSeenCount(); + trainerCard->hasPokedex = FlagGet(SYS_POKEDEX_GET); + trainerCard->var_3 = sub_8090FC0(); + trainerCard->pokedexSeen = GetPokedexSeenCount(); - arg1->trainerId = (gSaveBlock2.playerTrainerId[1] << 8) | gSaveBlock2.playerTrainerId[0]; + trainerCard->trainerId = (gSaveBlock2.playerTrainerId[1] << 8) | gSaveBlock2.playerTrainerId[0]; // Link Cable Battles - arg1->linkBattleWins = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_WINS, 9999); - arg1->linkBattleLosses = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_LOSSES, 9999); + trainerCard->linkBattleWins = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_WINS, 9999); + trainerCard->linkBattleLosses = sav12_xor_get_clamped_above(GAME_STAT_LINK_BATTLE_LOSSES, 9999); // Contests w/ Friends - arg1->contestsWithFriends = sav12_xor_get_clamped_above(GAME_STAT_WON_LINK_CONTEST, 999); + trainerCard->contestsWithFriends = sav12_xor_get_clamped_above(GAME_STAT_WON_LINK_CONTEST, 999); // Pokéblocks w/ Friends - arg1->pokeblocksWithFriends = sav12_xor_get_clamped_above(GAME_STAT_POKEBLOCKS_WITH_FRIENDS, 0xFFFF); + trainerCard->pokeblocksWithFriends = sav12_xor_get_clamped_above(GAME_STAT_POKEBLOCKS_WITH_FRIENDS, 0xFFFF); // Pokémon Trades - arg1->pokemonTrades = sav12_xor_get_clamped_above(GAME_STAT_POKEMON_TRADES, 0xFFFF); + trainerCard->pokemonTrades = sav12_xor_get_clamped_above(GAME_STAT_POKEMON_TRADES, 0xFFFF); - // Battle tower? - arg1->battleTowerWins = gSaveBlock2.filler_A8.var_4C8; - arg1->battleTowerLosses = gSaveBlock2.filler_A8.var_4CA; - if (arg1->battleTowerWins > 9999) + // Battle Tower + trainerCard->battleTowerWins = gSaveBlock2.battleTower.totalBattleTowerWins; + trainerCard->battleTowerLosses = gSaveBlock2.battleTower.bestBattleTowerWinStreak; + if (trainerCard->battleTowerWins > 9999) { - arg1->battleTowerWins = 9999; + trainerCard->battleTowerWins = 9999; } - if (arg1->battleTowerLosses > 9999) + if (trainerCard->battleTowerLosses > 9999) { - arg1->battleTowerLosses = 9999; + trainerCard->battleTowerLosses = 9999; } r4 = FALSE; @@ -368,21 +368,21 @@ void sub_8093390(struct TrainerCard *arg1) { r4 = TRUE; } - arg1->var_4 = r4; + trainerCard->var_4 = r4; - arg1->money = gSaveBlock1.money; + trainerCard->money = gSaveBlock1.money; for (i = 0; i < 4; i++) { - arg1->var_28[i] = gSaveBlock1.unk2B1C[i]; + trainerCard->var_28[i] = gSaveBlock1.easyChats.unk2B1C[i]; } for (i = 0; i < 8; i++) { - arg1->playerName[i] = gSaveBlock2.playerName[i]; + trainerCard->playerName[i] = gSaveBlock2.playerName[i]; } - arg1->stars = sub_80934F4(arg1); + trainerCard->stars = sub_80934F4(trainerCard); } u8 sub_80934C4(u8 id) diff --git a/src/trig.c b/src/engine/trig.c index e16a69e63..e16a69e63 100644 --- a/src/trig.c +++ b/src/engine/trig.c diff --git a/src/util.c b/src/engine/util.c index 582b9f806..582b9f806 100644 --- a/src/util.c +++ b/src/engine/util.c diff --git a/src/bard_music.c b/src/field/bard_music.c index daf003233..daf003233 100644 --- a/src/bard_music.c +++ b/src/field/bard_music.c diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c new file mode 100644 index 000000000..1b5759f49 --- /dev/null +++ b/src/field/battle_tower.c @@ -0,0 +1,2375 @@ +#include "global.h" +#include "battle.h" +#include "battle_setup.h" +#include "battle_tower.h" +#include "battle_transition.h" +#include "data2.h" +#include "easy_chat.h" +#include "event_data.h" +#include "item.h" +#include "items.h" +#include "main.h" +#include "map_object_constants.h" +#include "moves.h" +#include "new_game.h" +#include "overworld.h" +#include "pokedex.h" +#include "rng.h" +#include "save.h" +#include "script_pokemon_80C4.h" +#include "species.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "trainer.h" +#include "tv.h" +#include "vars.h" + +#if ENGLISH +#include "../data/battle_tower/trainers.h" +#elif GERMAN +#include "../data/battle_tower/trainers_de.h" +#endif + +static const u16 sBattleTowerHeldItems[] = { + ITEM_NONE, + ITEM_KINGS_ROCK, + ITEM_SITRUS_BERRY, + ITEM_ORAN_BERRY, + ITEM_CHESTO_BERRY, + ITEM_HARD_STONE, + ITEM_FOCUS_BAND, + ITEM_PERSIM_BERRY, + ITEM_MIRACLE_SEED, + ITEM_BERRY_JUICE, + ITEM_MACHO_BRACE, + ITEM_SILVER_POWDER, + ITEM_CHERI_BERRY, + ITEM_BLACK_GLASSES, + ITEM_BLACK_BELT, + ITEM_SOUL_DEW, + ITEM_CHOICE_BAND, + ITEM_MAGNET, + ITEM_SILK_SCARF, + ITEM_WHITE_HERB, + ITEM_DEEP_SEA_SCALE, + ITEM_DEEP_SEA_TOOTH, + ITEM_MYSTIC_WATER, + ITEM_SHARP_BEAK, + ITEM_QUICK_CLAW, + ITEM_LEFTOVERS, + ITEM_RAWST_BERRY, + ITEM_LIGHT_BALL, + ITEM_POISON_BARB, + ITEM_NEVER_MELT_ICE, + ITEM_ASPEAR_BERRY, + ITEM_SPELL_TAG, + ITEM_BRIGHT_POWDER, + ITEM_LEPPA_BERRY, + ITEM_SCOPE_LENS, + ITEM_TWISTED_SPOON, + ITEM_METAL_COAT, + ITEM_MENTAL_HERB, + ITEM_CHARCOAL, + ITEM_PECHA_BERRY, + ITEM_SOFT_SAND, + ITEM_LUM_BERRY, + ITEM_DRAGON_SCALE, + ITEM_DRAGON_FANG, + ITEM_IAPAPA_BERRY, + ITEM_WIKI_BERRY, + ITEM_SEA_INCENSE, + ITEM_SHELL_BELL, + ITEM_SALAC_BERRY, + ITEM_LANSAT_BERRY, + ITEM_APICOT_BERRY, + ITEM_STARF_BERRY, + ITEM_LIECHI_BERRY, + ITEM_STICK, + ITEM_LAX_INCENSE, + ITEM_AGUAV_BERRY, + ITEM_FIGY_BERRY, + ITEM_THICK_CLUB, + ITEM_MAGO_BERRY, + ITEM_METAL_POWDER, + ITEM_PETAYA_BERRY, + ITEM_LUCKY_PUNCH, + ITEM_GANLON_BERRY, +}; + +#include "../data/battle_tower/level_50_mons.h" +#include "../data/battle_tower/level_100_mons.h" + +static const u8 sMaleTrainerClasses[] = { + TRAINER_CLASS_RUIN_MANIAC, + TRAINER_CLASS_TUBER_M, + TRAINER_CLASS_COOL_TRAINER_M, + TRAINER_CLASS_RICH_BOY, + TRAINER_CLASS_POKEMANIAC, + TRAINER_CLASS_SWIMMER_M, + TRAINER_CLASS_BLACK_BELT, + TRAINER_CLASS_GUITARIST, + TRAINER_CLASS_KINDLER, + TRAINER_CLASS_CAMPER, + TRAINER_CLASS_BUG_MANIAC, + TRAINER_CLASS_PSYCHIC_M, + TRAINER_CLASS_GENTLEMAN, + TRAINER_CLASS_SCHOOL_KID_M, + TRAINER_CLASS_POKEFAN_M, + TRAINER_CLASS_EXPERT_M, + TRAINER_CLASS_YOUNGSTER, + TRAINER_CLASS_FISHERMAN, + TRAINER_CLASS_CYCLING_TRIATHLETE_M, + TRAINER_CLASS_RUNNING_TRIATHLETE_M, + TRAINER_CLASS_SWIMMING_TRIATHLETE_M, + TRAINER_CLASS_DRAGON_TAMER, + TRAINER_CLASS_BIRD_KEEPER, + TRAINER_CLASS_NINJA_BOY, + TRAINER_CLASS_SAILOR, + TRAINER_CLASS_COLLECTOR, + TRAINER_CLASS_POKEMON_BREEDER_M, + TRAINER_CLASS_POKEMON_RANGER_M, + TRAINER_CLASS_BUG_CATCHER, + TRAINER_CLASS_HIKER, +}; + +static const u8 sFemaleTrainerClasses[] = { + TRAINER_CLASS_AROMA_LADY, + TRAINER_CLASS_TUBER_F, + TRAINER_CLASS_COOL_TRAINER_F, + TRAINER_CLASS_HEX_MANIAC, + TRAINER_CLASS_LADY, + TRAINER_CLASS_BEAUTY, + TRAINER_CLASS_PSYCHIC_F, + TRAINER_CLASS_SCHOOL_KID_F, + TRAINER_CLASS_POKEFAN_F, + TRAINER_CLASS_EXPERT_F, + TRAINER_CLASS_CYCLING_TRIATHLETE_F, + TRAINER_CLASS_RUNNING_TRIATHLETE_F, + TRAINER_CLASS_SWIMMING_TRIATHLETE_F, + TRAINER_CLASS_BATTLE_GIRL, + TRAINER_CLASS_PARASOL_LADY, + TRAINER_CLASS_SWIMMER_F, + TRAINER_CLASS_PICNICKER, + TRAINER_CLASS_POKEMON_BREEDER_F, + TRAINER_CLASS_POKEMON_RANGER_F, + TRAINER_CLASS_LASS, +}; + +static const u8 sMaleTrainerGfxIds[] = { + MAP_OBJ_GFX_HIKER, + MAP_OBJ_GFX_TUBER_M, + MAP_OBJ_GFX_MAN_4, + MAP_OBJ_GFX_BOY_4, + MAP_OBJ_GFX_MANIAC, + MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, + MAP_OBJ_GFX_BLACK_BELT, + MAP_OBJ_GFX_MAN_6, + MAP_OBJ_GFX_MAN_6, + MAP_OBJ_GFX_CAMPER, + MAP_OBJ_GFX_MANIAC, + MAP_OBJ_GFX_PSYCHIC_M, + MAP_OBJ_GFX_GENTLEMAN, + MAP_OBJ_GFX_SCHOOL_KID_M, + MAP_OBJ_GFX_MAN_3, + MAP_OBJ_GFX_OLD_MAN_1, + MAP_OBJ_GFX_YOUNGSTER, + MAP_OBJ_GFX_FISHERMAN, + MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, + MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, + MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, + MAP_OBJ_GFX_MAN_4, + MAP_OBJ_GFX_MAN_6, + MAP_OBJ_GFX_LITTLE_BOY_1, + MAP_OBJ_GFX_SAILOR, + MAP_OBJ_GFX_MANIAC, + MAP_OBJ_GFX_MAN_5, + MAP_OBJ_GFX_CAMPER, + MAP_OBJ_GFX_BUG_CATCHER, + MAP_OBJ_GFX_HIKER, +}; + +static const u8 sFemaleTrainerGfxIds[] = { + MAP_OBJ_GFX_WOMAN_3, + MAP_OBJ_GFX_TUBER_F, + MAP_OBJ_GFX_WOMAN_7, + MAP_OBJ_GFX_WOMAN_1, + MAP_OBJ_GFX_WOMAN_3, + MAP_OBJ_GFX_BEAUTY, + MAP_OBJ_GFX_LASS, + MAP_OBJ_GFX_GIRL_3, + MAP_OBJ_GFX_WOMAN_2, + MAP_OBJ_GFX_OLD_WOMAN_1, + MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, + MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, + MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, + MAP_OBJ_GFX_GIRL_3, + MAP_OBJ_GFX_WOMAN_7, + MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, + MAP_OBJ_GFX_PICNICKER, + MAP_OBJ_GFX_WOMAN_3, + MAP_OBJ_GFX_PICNICKER, + MAP_OBJ_GFX_LASS, +}; + +const u16 gBattleTowerBannedSpecies[] = { + SPECIES_MEW, + SPECIES_MEWTWO, + SPECIES_HO_OH, + SPECIES_LUGIA, + SPECIES_CELEBI, + SPECIES_KYOGRE, + SPECIES_GROUDON, + SPECIES_RAYQUAZA, + SPECIES_JIRACHI, + SPECIES_DEOXYS, + 0xFFFF, +}; + +// Item prizes for battle tower streaks of 5 or fewer sets. +/*static*/ const u16 sShortStreakPrizes[] = { + ITEM_HP_UP, + ITEM_PROTEIN, + ITEM_IRON, + ITEM_CALCIUM, + ITEM_CARBOS, + ITEM_ZINC, +}; + +// Item prizes for battle tower streaks of greater than 5 sets. +/*static*/ const u16 sLongStreakPrizes[] = { + ITEM_BRIGHT_POWDER, + ITEM_WHITE_HERB, + ITEM_QUICK_CLAW, + ITEM_LEFTOVERS, + ITEM_MENTAL_HERB, + ITEM_KINGS_ROCK, + ITEM_FOCUS_BAND, + ITEM_SCOPE_LENS, + ITEM_CHOICE_BAND, +}; + +static void ResetBattleTowerStreak(u8 levelType); +static void ValidateBattleTowerRecordChecksums(void); +static void PrintEReaderTrainerFarewellMessage(void); +extern void SetBattleTowerTrainerGfxId(u8); +extern void sub_8135A3C(void); +static void sub_8135CFC(void); +static void CheckMonBattleTowerBanlist(u16, u16, u16, u8, u8, u16 *, u16 *, u8 *); +static void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *); +static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer); +static void SetBattleTowerRecordChecksum(struct BattleTowerRecord *); +static void ClearBattleTowerRecord(struct BattleTowerRecord *); + +extern const u8 gUnknown_08400E23[]; +extern const u8 gUnknown_08400E29[]; +extern const u8 gUnknown_08400E2C[]; +extern const u8 gUnknown_08400E2E[]; +extern const u8 gUnknown_08400E30[]; +extern const u8 gUnknown_08400E32[]; +extern const u8 gUnknown_08400E36[]; +extern u16 gSpecialVar_0x8004; +extern u8 gTrainerClassToPicIndex[]; +extern u8 gTrainerClassToNameIndex[]; +extern u16 gTrainerBattleOpponent; +extern u16 gBattleTypeFlags; +extern u8 gSelectedOrderFromParty[]; +extern u8 gBattleOutcome; +extern struct Pokemon gUnknown_030042FC[]; +extern struct BattlePokemon gBattleMons[]; + +#define ewram160FB (ewram[0x160FB]) + + +void sub_8134548(void) +{ + u8 var1 = 0; + s32 levelType; + + for (levelType = 0; levelType < 2; levelType++) + { + switch (gSaveBlock2.battleTower.var_4AE[levelType]) + { + case 0: + default: + ResetBattleTowerStreak(levelType); + if (!var1) + { + VarSet(VAR_0x4000, 5); + } + break; + case 1: + ResetBattleTowerStreak(levelType); + VarSet(VAR_0x4000, 1); + var1++; + break; + case 4: + VarSet(VAR_0x4000, 2); + var1++; + break; + case 5: + VarSet(VAR_0x4000, 3); + var1++; + break; + case 2: + VarSet(VAR_0x4000, 4); + var1++; + break; + case 3: + case 6: + break; + } + } + + if ((gSaveBlock2.battleTower.var_4AE[0] == 3 || gSaveBlock2.battleTower.var_4AE[0] == 6) + && (gSaveBlock2.battleTower.var_4AE[1] == 3 || gSaveBlock2.battleTower.var_4AE[1] == 6)) + { + VarSet(VAR_0x4000, 5); + } + + ValidateBattleTowerRecordChecksums(); +} + +void ResetBattleTowerStreak(u8 levelType) +{ + gSaveBlock2.battleTower.var_4AE[levelType] = 0; + gSaveBlock2.battleTower.curChallengeBattleNum[levelType] = 1; + gSaveBlock2.battleTower.curStreakChallengesNum[levelType] = 1; +} + +// Checks if the next trainer in Battle Tower should be the E-Reader trainer. +bool8 ShouldBattleEReaderTrainer(u8 levelType, u16 winStreak) +{ + u8 trainerTeamLevel; + u8 monLevel; + s32 i; + u16 validPartySpecies[6]; + u16 validPartyHeldItems[6]; + u8 numValid; + + numValid = 0; + + ValidateEReaderTrainer(); + + if (gScriptResult != 0 || gSaveBlock2.battleTower.ereaderTrainer.winStreak != winStreak) + { + return FALSE; + } + + trainerTeamLevel = 50; + if (levelType != 0) + { + trainerTeamLevel = 100; + } + + for (i = 0; i < 3; i++) + { + monLevel = gSaveBlock2.battleTower.ereaderTrainer.party[i].level; + if (gSaveBlock2.battleTower.ereaderTrainer.party[i].level != trainerTeamLevel) + { + return FALSE; + } + + CheckMonBattleTowerBanlist( + gSaveBlock2.battleTower.ereaderTrainer.party[i].species, + gSaveBlock2.battleTower.ereaderTrainer.party[i].heldItem, + 1, + levelType, + monLevel, + validPartySpecies, + validPartyHeldItems, + &numValid); + } + + return numValid == 3; +} + +bool8 sub_81346F4(void) +{ + s32 recordIndex, i; + u8 battleTowerLevelType; + u16 winStreak; + bool8 retVal; + s32 numCandidates; + u32 trainerIds[5]; + + numCandidates = 0; + battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType); + if (ShouldBattleEReaderTrainer(battleTowerLevelType, winStreak)) + { + gSaveBlock2.battleTower.battleTowerTrainerId = BATTLE_TOWER_EREADER_TRAINER_ID; + retVal = TRUE; + } + else + { + // Check if one of the battle tower trainers from record mixing should be the next trainer. + for (recordIndex = 0; recordIndex < 5; recordIndex++) + { + struct BattleTowerRecord *record = &gSaveBlock2.battleTower.records[recordIndex]; + u32 recordHasData = 0; + u32 checksum = 0; + for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32) - 1; i++) + { + recordHasData |= ((u32 *)record)[i]; + checksum += ((u32 *)record)[i]; + } + + if (gSaveBlock2.battleTower.records[recordIndex].winStreak == winStreak + && gSaveBlock2.battleTower.records[recordIndex].battleTowerLevelType == battleTowerLevelType + && recordHasData + && gSaveBlock2.battleTower.records[recordIndex].checksum == checksum) + { + trainerIds[numCandidates] = recordIndex; + numCandidates++; + } + } + + if (numCandidates == 0) + { + retVal = FALSE; + } + else + { + gSaveBlock2.battleTower.battleTowerTrainerId = trainerIds[Random() % numCandidates] + BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID; + retVal = TRUE; + } + } + + return retVal; +} + +// void sub_81347F8(void) +// { +// bool8 levelType = gSaveBlock2.battleTower.battleTowerLevelType; +// if (sub_81346F4()) +// { +// SetBattleTowerTrainerGfxId(gSaveBlock2.battleTower.battleTowerTrainerId); +// gSaveBlock2.battleTower.var_4C1[gSaveBlock2.battleTower.curChallengeBattleNum[levelType]] = gSaveBlock2.battleTower.battleTowerTrainerId; +// } +// else +// { +// u16 var1; + +// if (gSaveBlock2.battleTower.curStreakChallengesNum[levelType] > 7) +// { +// while (1) +// { +// s32 i; +// u32 temp = ((Random() & 0xFF) * 30) >> 8; +// var1 = temp + 70; +// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && var1 != gSaveBlock2.battleTower.var_4C1[i]; i++) // TODO: [i + 1]??? +// { } + +// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1) +// { +// break; +// } +// } +// } +// else +// { +// if (gSaveBlock2.battleTower.curChallengeBattleNum[levelType] == 7) +// { +// while (1) +// { +// s32 i; +// u32 temp = ((Random() & 0xFF) * 5); +// u32 temp2 = (((gSaveBlock2.battleTower.curStreakChallengesNum[levelType] - 1) * 10) + 20); +// var1 = temp / 128 + temp2; +// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && gSaveBlock2.battleTower.var_4C1[i] != var1; i++) // TODO: [i + 1]???? +// { } + +// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1) +// { +// break; +// } +// } +// } +// else +// { +// while (1) +// { +// s32 i; +// u32 temp = ((Random() & 0xFF) * 320); +// u32 temp2 = ((gSaveBlock2.battleTower.curStreakChallengesNum[levelType] - 1) * 10); +// var1 = temp + temp2; +// for (i = 0; i < gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1 && gSaveBlock2.battleTower.var_4C1[i] != var1; i++) +// { } + +// if (i == gSaveBlock2.battleTower.curChallengeBattleNum[levelType] - 1) +// { +// break; +// } +// } +// } +// } + +// gSaveBlock2.battleTower.battleTowerTrainerId = var1; +// SetBattleTowerTrainerGfxId(gSaveBlock2.battleTower.battleTowerTrainerId); + +// if (gSaveBlock2.battleTower.curChallengeBattleNum[levelType] < 7) +// { +// gSaveBlock2.battleTower.var_4C1[gSaveBlock2.battleTower.curChallengeBattleNum[levelType]] = gSaveBlock2.battleTower.battleTowerTrainerId; +// } +// } +// } + +__attribute__((naked)) +void sub_81347F8(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + ldr r5, _08134838 @ =gSaveBlock2\n\ + ldr r1, _0813483C @ =0x00000554\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + lsls r0, 31\n\ + lsrs r6, r0, 31\n\ + bl sub_81346F4\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _08134848\n\ + ldr r2, _08134840 @ =0x00000564\n\ + adds r4, r5, r2\n\ + ldrb r0, [r4]\n\ + bl SetBattleTowerTrainerGfxId\n\ + lsls r0, r6, 1\n\ + movs r3, 0xAB\n\ + lsls r3, 3\n\ + adds r1, r5, r3\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + adds r0, r5, r0\n\ + ldr r1, _08134844 @ =0x00000569\n\ + adds r0, r1\n\ + ldrb r1, [r4]\n\ + b _081349DC\n\ + .align 2, 0\n\ +_08134838: .4byte gSaveBlock2\n\ +_0813483C: .4byte 0x00000554\n\ +_08134840: .4byte 0x00000564\n\ +_08134844: .4byte 0x00000569\n\ +_08134848:\n\ + lsls r0, r6, 1\n\ + ldr r2, _081348D8 @ =0x0000055c\n\ + adds r1, r5, r2\n\ + adds r1, r0, r1\n\ + ldrh r1, [r1]\n\ + adds r7, r0, 0\n\ + cmp r1, 0x7\n\ + bls _0813485A\n\ + b _0813495C\n\ +_0813485A:\n\ + movs r3, 0xAB\n\ + lsls r3, 3\n\ + adds r0, r5, r3\n\ + adds r1, r7, r0\n\ + ldrh r0, [r1]\n\ + cmp r0, 0x7\n\ + bne _081348E4\n\ + adds r6, r5, 0\n\ + mov r9, r7\n\ + adds r5, r1, 0\n\ + ldr r0, _081348DC @ =0x0000056a\n\ + adds r0, r6\n\ + mov r10, r0\n\ + mov r8, r5\n\ +_08134876:\n\ + bl Random\n\ + movs r1, 0xFF\n\ + ands r1, r0\n\ + lsls r2, r1, 2\n\ + adds r2, r1\n\ + ldr r1, _081348D8 @ =0x0000055c\n\ + adds r4, r6, r1\n\ + mov r3, r9\n\ + adds r0, r3, r4\n\ + ldrh r1, [r0]\n\ + subs r1, 0x1\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + adds r0, 0x14\n\ + lsrs r2, 7\n\ + adds r2, r0\n\ + lsls r2, 16\n\ + lsrs r2, 16\n\ + movs r1, 0\n\ + ldrh r0, [r5]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + bge _081348C8\n\ + mov r3, r10\n\ + ldrb r0, [r3]\n\ + cmp r0, r2\n\ + beq _081348C8\n\ + subs r0, r4, 0x4\n\ + adds r0, r7, r0\n\ + ldrh r0, [r0]\n\ + subs r3, r0, 0x1\n\ + adds r4, 0xE\n\ +_081348BA:\n\ + adds r1, 0x1\n\ + cmp r1, r3\n\ + bge _081348C8\n\ + adds r0, r1, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, r2\n\ + bne _081348BA\n\ +_081348C8:\n\ + mov r3, r8\n\ + ldrh r0, [r3]\n\ + subs r0, 0x1\n\ + ldr r4, _081348E0 @ =gSaveBlock2\n\ + cmp r1, r0\n\ + bne _08134876\n\ + b _081349B6\n\ + .align 2, 0\n\ +_081348D8: .4byte 0x0000055c\n\ +_081348DC: .4byte 0x0000056a\n\ +_081348E0: .4byte gSaveBlock2\n\ +_081348E4:\n\ + adds r6, r5, 0\n\ + mov r9, r7\n\ + adds r5, r1, 0\n\ + ldr r2, _08134950 @ =0x0000056a\n\ + adds r2, r6\n\ + mov r10, r2\n\ + mov r8, r5\n\ +_081348F2:\n\ + bl Random\n\ + movs r1, 0xFF\n\ + ands r1, r0\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsrs r2, r0, 6\n\ + ldr r3, _08134954 @ =0x0000055c\n\ + adds r4, r6, r3\n\ + mov r1, r9\n\ + adds r0, r1, r4\n\ + ldrh r1, [r0]\n\ + subs r1, 0x1\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + adds r0, r2, r0\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + movs r1, 0\n\ + ldrh r0, [r5]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + bge _08134942\n\ + mov r3, r10\n\ + ldrb r0, [r3]\n\ + cmp r0, r2\n\ + beq _08134942\n\ + subs r0, r4, 0x4\n\ + adds r0, r7, r0\n\ + ldrh r0, [r0]\n\ + subs r3, r0, 0x1\n\ + adds r4, 0xE\n\ +_08134934:\n\ + adds r1, 0x1\n\ + cmp r1, r3\n\ + bge _08134942\n\ + adds r0, r1, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, r2\n\ + bne _08134934\n\ +_08134942:\n\ + mov r3, r8\n\ + ldrh r0, [r3]\n\ + subs r0, 0x1\n\ + ldr r4, _08134958 @ =gSaveBlock2\n\ + cmp r1, r0\n\ + bne _081348F2\n\ + b _081349B6\n\ + .align 2, 0\n\ +_08134950: .4byte 0x0000056a\n\ +_08134954: .4byte 0x0000055c\n\ +_08134958: .4byte gSaveBlock2\n\ +_0813495C:\n\ + movs r2, 0xAB\n\ + lsls r2, 3\n\ + adds r0, r5, r2\n\ + adds r6, r7, r0\n\ + ldr r3, _081349EC @ =0x0000056a\n\ + adds r3, r5\n\ + mov r8, r3\n\ + adds r5, r6, 0\n\ +_0813496C:\n\ + bl Random\n\ + movs r1, 0xFF\n\ + ands r1, r0\n\ + lsls r0, r1, 4\n\ + subs r0, r1\n\ + lsls r0, 1\n\ + asrs r0, 8\n\ + adds r0, 0x46\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + movs r1, 0\n\ + ldrh r0, [r6]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + bge _081349AC\n\ + mov r3, r8\n\ + ldrb r0, [r3]\n\ + ldr r4, _081349F0 @ =gSaveBlock2\n\ + cmp r0, r2\n\ + beq _081349AC\n\ + ldrh r0, [r5]\n\ + subs r3, r0, 0x1\n\ + ldr r0, _081349EC @ =0x0000056a\n\ + adds r4, r0\n\ +_0813499E:\n\ + adds r1, 0x1\n\ + cmp r1, r3\n\ + bge _081349AC\n\ + adds r0, r1, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, r2\n\ + bne _0813499E\n\ +_081349AC:\n\ + ldrh r0, [r6]\n\ + subs r0, 0x1\n\ + ldr r4, _081349F0 @ =gSaveBlock2\n\ + cmp r1, r0\n\ + bne _0813496C\n\ +_081349B6:\n\ + ldr r1, _081349F4 @ =0x00000564\n\ + adds r0, r4, r1\n\ + strb r2, [r0]\n\ + ldr r2, _081349F4 @ =0x00000564\n\ + adds r5, r4, r2\n\ + ldrb r0, [r5]\n\ + bl SetBattleTowerTrainerGfxId\n\ + movs r3, 0xAB\n\ + lsls r3, 3\n\ + adds r0, r4, r3\n\ + adds r1, r7, r0\n\ + ldrh r0, [r1]\n\ + cmp r0, 0x6\n\ + bhi _081349DE\n\ + adds r0, r4, r0\n\ + ldr r1, _081349F8 @ =0x00000569\n\ + adds r0, r1\n\ + ldrb r1, [r5]\n\ +_081349DC:\n\ + strb r1, [r0]\n\ +_081349DE:\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_081349EC: .4byte 0x0000056a\n\ +_081349F0: .4byte gSaveBlock2\n\ +_081349F4: .4byte 0x00000564\n\ +_081349F8: .4byte 0x00000569\n\ +.syntax divided\n"); +} + +void SetBattleTowerTrainerGfxId(u8 trainerIndex) +{ + u32 i; + u8 trainerClass; + + if (trainerIndex < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + trainerClass = gBattleTowerTrainers[trainerIndex].trainerClass; + } + else if (trainerIndex < BATTLE_TOWER_EREADER_TRAINER_ID) + { + trainerClass = gSaveBlock2.battleTower.records[trainerIndex - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass; + } + else + { + trainerClass = gSaveBlock2.battleTower.ereaderTrainer.trainerClass; + } + + for (i = 0; i < 30 && sMaleTrainerClasses[i] != trainerClass; i++); + if (i != 30) + { + u8 trainerObjectGfxId = sMaleTrainerGfxIds[i]; + VarSet(0x4010, trainerObjectGfxId); + return; + } + + for (i = 0; i < 20 && sFemaleTrainerClasses[i] != trainerClass; i++); + if (i != 20) + { + u8 trainerObjectGfxId = sFemaleTrainerGfxIds[i]; + VarSet(0x4010, trainerObjectGfxId); + return; + } + + VarSet(0x4010, MAP_OBJ_GFX_BOY_1); +} + +void SetEReaderTrainerGfxId(void) +{ + SetBattleTowerTrainerGfxId(BATTLE_TOWER_EREADER_TRAINER_ID); +} + +// void sub_8134AC0(struct BattleTowerRecord *record) +// { +// u16 var1[6]; +// u16 var2[6]; +// s32 i, j, k; +// s16 l = 0; + +// for (i = 0; i < 5; i++) +// { +// k = 0; +// for (j = 0; j < 4 && gSaveBlock2.battleTower.records[i].trainerId[j] == record->trainerId[j]; j++); +// if (j == 4) +// { +// for (; k < 7 && gSaveBlock2.battleTower.records[i].name[4] == record->name[4]; k++) +// { +// if (record->name[4] == 0xFF) +// { +// k = 7; +// break; +// } +// } +// } + +// if (k == 7) +// { +// break; +// } +// } + +// if (i < 5) +// { +// gSaveBlock2.battleTower.records[i] = *record; +// return; +// } + +// i = 0; +// while (i < 5) +// { +// if (gSaveBlock2.battleTower.records[i].winStreak == 0) +// { +// if (i > 4) +// { +// break; +// } + +// gSaveBlock2.battleTower.records[i] = *record; +// return; +// } + +// i++; +// } + +// var1[0] = gSaveBlock2.battleTower.records[0].winStreak; +// var2[0] = 0; +// l++; + +// for (i = 1; i < 5; i++) +// { +// j = 0; +// if (j < l) +// { +// for (; gSaveBlock2.battleTower.records[i].winStreak <= var1[j]; j++) +// { +// if (gSaveBlock2.battleTower.records[i].winStreak < var1[j]) +// { +// j = 0; +// l = 1; +// var1[0] = gSaveBlock2.battleTower.records[i].winStreak; +// var2[0] = i; +// break; +// } +// } +// } + +// if (j == l) +// { +// var1[l] = gSaveBlock2.battleTower.records[i].winStreak; +// var2[l] = i; +// l++; +// } +// } + +// gSaveBlock2.battleTower.records[var2[(Random() % l)]] = *record; +// } +__attribute__((naked)) +void sub_8134AC0(struct BattleTowerRecord *record) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x1C\n\ + movs r7, 0\n\ + mov r8, r0\n\ + movs r5, 0\n\ + ldr r0, _08134B3C @ =gSaveBlock2\n\ + mov r12, r0\n\ + mov r1, r8\n\ + ldrb r1, [r1, 0xC]\n\ + str r1, [sp, 0x18]\n\ + movs r2, 0xAA\n\ + lsls r2, 1\n\ + add r2, r12\n\ + mov r10, r2\n\ + mov r9, r5\n\ +_08134AE6:\n\ + movs r6, 0\n\ + movs r3, 0\n\ + ldr r0, _08134B40 @ =gSaveBlock2 + 0x158\n\ + add r0, r9\n\ + ldrb r0, [r0]\n\ + ldr r1, [sp, 0x18]\n\ + cmp r0, r1\n\ + bne _08134B14\n\ + movs r0, 0xA4\n\ + muls r0, r5\n\ + ldr r1, _08134B40 @ =gSaveBlock2 + 0x158\n\ + adds r2, r0, r1\n\ + mov r4, r8\n\ + adds r4, 0xC\n\ +_08134B02:\n\ + adds r2, 0x1\n\ + adds r3, 0x1\n\ + cmp r3, 0x3\n\ + bgt _08134B14\n\ + adds r1, r4, r3\n\ + ldrb r0, [r2]\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + beq _08134B02\n\ +_08134B14:\n\ + cmp r3, 0x4\n\ + bne _08134B54\n\ + movs r6, 0\n\ + mov r2, r10\n\ + ldrb r0, [r2]\n\ + mov r3, r8\n\ + ldrb r3, [r3, 0x8]\n\ + cmp r0, r3\n\ + bne _08134B54\n\ + adds r1, r0, 0\n\ + movs r0, 0xA4\n\ + muls r0, r5\n\ + adds r0, 0x4\n\ + ldr r3, _08134B44 @ =gSaveBlock2 + 0x150\n\ + adds r2, r0, r3\n\ +_08134B32:\n\ + cmp r1, 0xFF\n\ + bne _08134B48\n\ + movs r6, 0x7\n\ + b _08134B54\n\ + .align 2, 0\n\ +_08134B3C: .4byte gSaveBlock2\n\ +_08134B40: .4byte gSaveBlock2 + 0x158\n\ +_08134B44: .4byte gSaveBlock2 + 0x150\n\ +_08134B48:\n\ + adds r6, 0x1\n\ + cmp r6, 0x6\n\ + bgt _08134B54\n\ + ldrb r0, [r2]\n\ + cmp r0, r1\n\ + beq _08134B32\n\ +_08134B54:\n\ + cmp r6, 0x7\n\ + beq _08134B64\n\ + movs r0, 0xA4\n\ + add r10, r0\n\ + add r9, r0\n\ + adds r5, 0x1\n\ + cmp r5, 0x4\n\ + ble _08134AE6\n\ +\n\ +_08134B64:\n\ + cmp r5, 0x4\n\ + bgt _08134B76\n\ + movs r0, 0xA4\n\ + muls r0, r5\n\ + add r0, r12\n\ + movs r1, 0xA6\n\ + lsls r1, 1\n\ + adds r0, r1\n\ + b _08134B9E\n\ +_08134B76:\n\ + movs r5, 0\n\ + movs r1, 0xA7\n\ + lsls r1, 1\n\ + add r1, r12\n\ + b _08134B88\n\ +_08134B80:\n\ + adds r1, 0xA4\n\ + adds r5, 0x1\n\ + cmp r5, 0x4\n\ + bgt _08134BA8\n\ +_08134B88:\n\ + ldrh r0, [r1]\n\ + cmp r0, 0\n\ + bne _08134B80\n\ + cmp r5, 0x4\n\ + bgt _08134BA8\n\ + movs r0, 0xA4\n\ + muls r0, r5\n\ + add r0, r12\n\ + movs r2, 0xA6\n\ + lsls r2, 1\n\ + adds r0, r2\n\ +_08134B9E:\n\ + mov r1, r8\n\ + movs r2, 0xA4\n\ + bl memcpy\n\ + b _08134C5E\n\ +\n\ +_08134BA8:\n\ + mov r2, sp\n\ + movs r3, 0xA7\n\ + lsls r3, 1\n\ + mov r1, r12\n\ + adds r0, r1, r3\n\ + ldrh r0, [r0]\n\ + movs r1, 0\n\ + strh r0, [r2]\n\ + add r0, sp, 0xC\n\ + strh r1, [r0]\n\ + adds r7, 0x1\n\ + movs r5, 0x1\n\ + add r2, sp, 0xC @var2 = r2\n\ + mov r9, r2\n\ + mov r10, r3\n\ +_08134BC6:\n\ + movs r3, 0\n\ + adds r0, r5, 0x1\n\ + mov r12, r0\n\ + cmp r3, r7\n\ + bge _08134C0A @ j < l\n\ + movs r1, 0xA4\n\ + adds r0, r5, 0\n\ + muls r0, r1\n\ + ldr r2, _08134BFC @ =gSaveBlock2\n\ + adds r0, r2\n\ + mov r1, r10\n\ + adds r4, r0, r1\n\ + mov r6, sp\n\ +_08134BE0:\n\ + lsls r0, r3, 1\n\ + add r0, sp\n\ + ldrh r2, [r4]\n\ + adds r1, r2, 0\n\ + ldrh r0, [r0]\n\ + cmp r1, r0\n\ + bcs _08134C00\n\ + movs r3, 0\n\ + movs r7, 0x1\n\ + strh r2, [r6]\n\ + mov r2, r9\n\ + strh r5, [r2]\n\ + b _08134C0A\n\ + .align 2, 0\n\ +_08134BFC: .4byte gSaveBlock2\n\ +_08134C00:\n\ + cmp r1, r0\n\ + bhi _08134C0A\n\ + adds r3, 0x1\n\ + cmp r3, r7\n\ + blt _08134BE0\n\ +_08134C0A:\n\ + cmp r3, r7\n\ + bne _08134C2A\n\ + lsls r1, r7, 1\n\ + mov r3, sp\n\ + adds r2, r3, r1\n\ + movs r3, 0xA4\n\ + adds r0, r5, 0\n\ + muls r0, r3\n\ + ldr r3, _08134C70 @ =gSaveBlock2\n\ + adds r0, r3\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + strh r0, [r2]\n\ + add r1, r9\n\ + strh r5, [r1]\n\ + adds r7, 0x1\n\ +_08134C2A:\n\ + mov r5, r12\n\ + cmp r5, 0x4\n\ + ble _08134BC6\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + adds r1, r7, 0\n\ + bl __modsi3\n\ + adds r5, r0, 0\n\ + ldr r2, _08134C70 @ =gSaveBlock2\n\ + lsls r0, r5, 1\n\ + add r0, sp\n\ + adds r0, 0xC\n\ + ldrh r1, [r0]\n\ + movs r0, 0xA4\n\ + muls r0, r1\n\ + adds r0, r2\n\ + movs r1, 0xA6\n\ + lsls r1, 1\n\ + adds r0, r1\n\ + mov r1, r8\n\ + movs r2, 0xA4\n\ + bl memcpy\n\ +_08134C5E:\n\ + add sp, 0x1C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08134C70: .4byte gSaveBlock2\n\ + .syntax divided\n"); +} + +u8 get_trainer_class_pic_index(void) +{ + if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + return gTrainerClassToPicIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass]; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + return gTrainerClassToPicIndex[gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass]; + } + else + { + return gTrainerClassToPicIndex[gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass]; + } +} + +u8 get_trainer_class_name_index(void) +{ + if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + return gTrainerClassToNameIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass]; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + return gTrainerClassToNameIndex[gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass]; + } + else + { + return gTrainerClassToNameIndex[gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass]; + } +} + +void get_trainer_name(u8* dest) +{ + s32 i; + + if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + for (i = 0; i < 7; i++) + { + dest[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i]; + } + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + for (i = 0; i < 7; i++) + { + dest[i] = gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].name[i]; + } + } + else + { + for (i = 0; i < 7; i++) + { + dest[i] = gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].name[i]; + } + } + + dest[i] = 0xFF; +} + +void FillBattleTowerTrainerParty(void) +{ + s32 partyIndex, i; + u16 chosenMonIndices[3]; + u8 friendship; + u8 level; + u8 fixedIV; + u8 battleMonsOffset; + u8 monPoolSize; + u8 teamFlags; + const struct BattleTowerPokemon *battleTowerMons; + + battleMonsOffset = 0; + monPoolSize = 60; + friendship = 255; + + ZeroEnemyPartyMons(); + + // Different trainers have access to different sets of pokemon to use in battle. + // The pokemon later in gBattleTowerLevel100Mons or gBattleTowerLevel50Mons are + // stronger. Additionally, the later trainers' pokemon are granted higher IVs. + if (gSaveBlock2.battleTower.battleTowerTrainerId < 20) + { + fixedIV = 6; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < 30) + { + fixedIV = 9; + battleMonsOffset = 30; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < 40) + { + fixedIV = 12; + battleMonsOffset = 60; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < 50) + { + fixedIV = 15; + battleMonsOffset = 90; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < 60) + { + fixedIV = 18; + battleMonsOffset = 120; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < 70) + { + fixedIV = 21; + battleMonsOffset = 150; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < 80) + { + fixedIV = 31; + battleMonsOffset = 180; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + fixedIV = 31; + battleMonsOffset = 200; + monPoolSize = 100; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + // Load E-Reader trainer's party. + for (partyIndex = 0; partyIndex < 3; partyIndex++) + { + sub_803ADE8(&gEnemyParty[partyIndex], &gSaveBlock2.battleTower.ereaderTrainer.party[partyIndex]); + } + + return; + } + else + { + // Load a battle tower record's party. (From record mixing) + for (partyIndex = 0; partyIndex < 3; partyIndex++) + { + sub_803ADE8( + &gEnemyParty[partyIndex], + &gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].party[partyIndex]); + } + + return; + } + + // Use the appropriate list of pokemon and level depending on the + // current challenge type. (level 50 or level 100 challenge) + if (gSaveBlock2.battleTower.battleTowerLevelType != 0) + { + battleTowerMons = gBattleTowerLevel100Mons; + level = 100; + } + else + { + battleTowerMons = gBattleTowerLevel50Mons; + level = 50; + } + + teamFlags = gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].teamFlags; + + // Attempt to fill the trainer's party with random Pokemon until 3 have been + // successfully chosen. The trainer's party may not have duplicate pokemon species + // or duplicate held items. Each pokemon must have all of the trainer's team flags + // set, as well. If any of those conditions are not met, then the loop starts over + // and another pokemon is chosen at random. + partyIndex = 0; + while (partyIndex != 3) + { + // Pick a random pokemon index based on the number of pokemon available to choose from + // and the starting offset in the battle tower pokemon array. + s32 battleMonIndex = ((Random() & 0xFF) * monPoolSize) / 256 + battleMonsOffset; + + // Ensure the chosen pokemon has compatible team flags with the trainer. + if (teamFlags == 0 || (battleTowerMons[battleMonIndex].teamFlags & teamFlags) == teamFlags) + { + // Ensure this pokemon species isn't a duplicate. + for (i = 0; i < partyIndex; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES, NULL) == battleTowerMons[battleMonIndex].species) + break; + } + + if (i != partyIndex) + continue; + + // Ensure this pokemon's held item isn't a duplicate. + for (i = 0; i < partyIndex; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) != 0 + && GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, NULL) == sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]) + { + break; + } + } + + if (i != partyIndex) + continue; + + // Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary + // because the species and held items were already checked directly above. Perhaps this + // is leftover code before the logic for duplicate species and held items was added. + for (i = 0; i < partyIndex && chosenMonIndices[i] != battleMonIndex; i++); + + if (i != partyIndex) + continue; + + chosenMonIndices[partyIndex] = battleMonIndex; + + // Place the chosen pokemon into the trainer's party. + CreateMonWithEVSpread( + &gEnemyParty[partyIndex], + battleTowerMons[battleMonIndex].species, + level, + fixedIV, + battleTowerMons[battleMonIndex].evSpread); + + // Give the chosen pokemon its specified moves. + for (i = 0; i < 4; i++) + { + SetMonMoveSlot(&gEnemyParty[partyIndex], battleTowerMons[battleMonIndex].moves[i], i); + if (battleTowerMons[battleMonIndex].moves[i] == MOVE_FRUSTRATION) + { + // MOVE_FRUSTRATION is more powerful the lower the pokemon's friendship is. + friendship = 0; + } + } + + SetMonData(&gEnemyParty[partyIndex], MON_DATA_FRIENDSHIP, &friendship); + SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, &sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]); + + // The pokemon was successfully added to the trainer's party, so it's safe to move on to + // the next party slot. + partyIndex++; + } + } + +} + +u32 CountBattleTowerBanlistCaught(void) +{ + s32 i; + u32 numCaught = 0; + + for (i = 0; gBattleTowerBannedSpecies[i] != 0xFFFF; i++) + { + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleTowerBannedSpecies[i]), FLAG_GET_CAUGHT)) + { + numCaught++; + } + } + + return numCaught; +} + +u8 AppendBattleTowerBannedSpeciesName(u16 species, u8 curIndexToAppend, s32 numToAppend) +{ + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT)) + { + curIndexToAppend++; + + switch (curIndexToAppend - 1) + { + case 0: + case 2: + case 4: + case 6: + case 8: + case 10: + if (numToAppend == curIndexToAppend) + { + StringAppend(gStringVar1, gUnknown_08400E23); + } + else if (numToAppend > curIndexToAppend) + { + StringAppend(gStringVar1, gUnknown_08400E29); + } + break; + case 1: + if (curIndexToAppend == numToAppend) + { + StringAppend(gStringVar1, gUnknown_08400E23); + } + else + { + StringAppend(gStringVar1, gUnknown_08400E29); + } + + StringAppend(gStringVar1, gUnknown_08400E30); + break; + case 3: + case 5: + case 7: + case 9: + default: + if (curIndexToAppend == numToAppend) + { + StringAppend(gStringVar1, gUnknown_08400E23); + } + else + { + StringAppend(gStringVar1, gUnknown_08400E29); + } + + StringAppend(gStringVar1, gUnknown_08400E2E); + break; + } + + StringAppend(gStringVar1, gSpeciesNames[species]); + } + + return curIndexToAppend; +} + +void CheckMonBattleTowerBanlist(u16 species, u16 heldItem, u16 hp, u8 battleTowerLevelType, u8 monLevel, u16 *validPartySpecies, u16 *validPartyHeldItems, u8 *numValid) +{ + s32 i; + u32 counter = 0; + + if (species == SPECIES_EGG || species == SPECIES_NONE) + return; + + while (1) + { + if (gBattleTowerBannedSpecies[counter] == 0xFFFF) + goto EXIT2; // Couldn't get the code to match without this GOTO + + if (gBattleTowerBannedSpecies[counter] == species) + break; + + counter++; + } + + if (gBattleTowerBannedSpecies[counter] != 0xFFFF) + return; + + EXIT2: + if (battleTowerLevelType == 0 && monLevel > 50) + return; + + for (i = 0; i < *numValid && validPartySpecies[i] != species ; i++); + if (i != *numValid) + return; + + if (heldItem != 0) + { + for (i = 0; i < *numValid && validPartyHeldItems[i] != heldItem ; i++); + if (i != *numValid) + return; + } + + validPartySpecies[*numValid] = species; + validPartyHeldItems[*numValid] = heldItem; + *numValid = *numValid + 1; +} + +void CheckPartyBattleTowerBanlist(void) +{ + s32 i; + u16 species2; + u16 heldItem; + u8 level; + u16 hp; + u32 numBanlistCaught; + u16 validPartySpecies[6]; + u16 validPartyHeldItems[6]; + u8 counter; + + counter = 0; + + for (i = 0; i < PARTY_SIZE; i++) + { + species2 = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + + CheckMonBattleTowerBanlist(species2, heldItem, hp, gScriptResult, level, validPartySpecies, validPartyHeldItems, &counter); + } + + if (counter < 3) + { + gStringVar1[0] = 0xFF; + gSpecialVar_0x8004 = 1; + counter = 0; + + numBanlistCaught = CountBattleTowerBanlistCaught(); + + for (i = 0; gBattleTowerBannedSpecies[i] != 0xFFFF; i++) + { + counter = AppendBattleTowerBannedSpeciesName(gBattleTowerBannedSpecies[i], counter, numBanlistCaught); + } + + if (counter == 0) + { + StringAppend(gStringVar1, gUnknown_08400E2C); + StringAppend(gStringVar1, gUnknown_08400E32); + return; + } + + if (1 & counter) + StringAppend(gStringVar1, gUnknown_08400E2E); + else + StringAppend(gStringVar1, gUnknown_08400E2C); + + StringAppend(gStringVar1, gUnknown_08400E36); + } + else + { + gSpecialVar_0x8004 = 0; + gSaveBlock2.battleTower.battleTowerLevelType = gScriptResult; + } +} + +void PrintBattleTowerTrainerMessage(u16 *easyChat) +{ + sub_80EB544(gStringVar4, easyChat, 2, 3); +} + +void PrintBattleTowerTrainerGreeting(void) +{ + if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat); + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + PrintBattleTowerTrainerMessage((u16 *)gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].greeting.easyChat); + } + else + { + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].greeting.easyChat); + } +} + +void sub_81354CC(void) +{ + s32 i; + u16 heldItem; + + switch (gSpecialVar_0x8004) + { + case 0: + break; + case 1: + for (i = 0; i < PARTY_SIZE; i++) + { + heldItem = GetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM); + SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem); + } + break; + case 2: + PrintEReaderTrainerFarewellMessage(); + break; + } + + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); +} + +void sub_8135534(u8 taskId) +{ + if (IsBattleTransitionDone() == TRUE) + { + gMain.savedCallback = sub_81354CC; + SetMainCallback2(sub_800E7C4); + DestroyTask(taskId); + } +} + +void sub_813556C(void) +{ + s32 i; + u16 heldItem; + u8 transition; + + switch (gSpecialVar_0x8004) + { + case 0: + gBattleTypeFlags = (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_TRAINER); + gTrainerBattleOpponent = 0; + + FillBattleTowerTrainerParty(); + + CreateTask(sub_8135534, 1); + current_map_music_set__default_for_battle(0); + transition = BattleSetup_GetBattleTowerBattleTransition(); + BattleTransition_StartOnField(transition); + break; + case 1: + for (i = 0; i < PARTY_SIZE; i++) + { + heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, &heldItem); + } + + CreateTask(sub_8135534, 1); + current_map_music_set__default_for_battle(0); + transition = BattleSetup_GetBattleTowerBattleTransition(); + BattleTransition_StartOnField(transition); + break; + case 2: + ZeroEnemyPartyMons(); + + for (i = 0; i < 3; i++) + { + sub_803ADE8(&gEnemyParty[i], &gSaveBlock2.battleTower.ereaderTrainer.party[i]); + } + + gBattleTypeFlags = (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER); + gTrainerBattleOpponent = 0; + + CreateTask(sub_8135534, 1); + current_map_music_set__default_for_battle(0); + transition = BattleSetup_GetBattleTowerBattleTransition(); + BattleTransition_StartOnField(transition); + break; + } +} + +void sub_8135668(void) +{ + s32 i; + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + switch (gSpecialVar_0x8004) + { + case 0: + ewram160FB = gSaveBlock2.battleTower.var_4AE[battleTowerLevelType]; + gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8005; + break; + case 1: + gSaveBlock2.battleTower.battleTowerLevelType = gSpecialVar_0x8005; + break; + case 2: + gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] = gSpecialVar_0x8005; + break; + case 3: + gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] = gSpecialVar_0x8005; + break; + case 4: + gSaveBlock2.battleTower.battleTowerTrainerId = gSpecialVar_0x8005; + break; + case 5: + for (i = 0; i < 3; i++) + { + gSaveBlock2.battleTower.selectedPartyMons[i] = gSelectedOrderFromParty[i]; + } + break; + case 6: + if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer); + } + + if (gSaveBlock2.battleTower.totalBattleTowerWins < 9999) + { + gSaveBlock2.battleTower.totalBattleTowerWins++; + } + + gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]++; + sub_8135A3C(); + gScriptResult = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]; + + gStringVar1[0] = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] + 0xA1; + gStringVar1[1] = 0xFF; + break; + case 7: + if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] < 1430) + { + gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]++; + } + + sub_8135A3C(); + gScriptResult = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]; + break; + case 8: + gSaveBlock2.battleTower.unk_554 = gSpecialVar_0x8005; + break; + case 9: + break; + case 10: + SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2.battleTower.bestBattleTowerWinStreak); + break; + case 11: + if (gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] != 3) + { + ResetBattleTowerStreak(battleTowerLevelType); + } + break; + case 12: + gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB; + break; + case 13: + gSaveBlock2.battleTower.currentWinStreaks[battleTowerLevelType] = GetCurrentBattleTowerWinStreak(battleTowerLevelType); + break; + case 14: + gSaveBlock2.battleTower.lastStreakLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + break; + } +} + +void sub_81358A4(void) +{ + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + switch (gSpecialVar_0x8004) + { + case 0: + gScriptResult = gSaveBlock2.battleTower.var_4AE[battleTowerLevelType]; + break; + case 1: + gScriptResult = gSaveBlock2.battleTower.battleTowerLevelType; + break; + case 2: + gScriptResult = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]; + break; + case 3: + gScriptResult = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]; + break; + case 4: + gScriptResult = gSaveBlock2.battleTower.battleTowerTrainerId; + break; + case 5: + case 6: + case 7: + break; + case 8: + gScriptResult = gSaveBlock2.battleTower.unk_554; + break; + case 9: + gScriptResult = GetCurrentBattleTowerWinStreak(battleTowerLevelType); + break; + case 10: + SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2.battleTower.bestBattleTowerWinStreak); + break; + case 11: + ResetBattleTowerStreak(battleTowerLevelType); + break; + case 12: + gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB; + break; + case 13: + gSaveBlock2.battleTower.currentWinStreaks[battleTowerLevelType] = GetCurrentBattleTowerWinStreak(battleTowerLevelType); + break; + case 14: + gSaveBlock2.battleTower.lastStreakLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + break; + } +} + +void sub_8135A14(void) +{ + s32 i; + + for (i = 0; i < 3; i++) + { + gSelectedOrderFromParty[i] = gSaveBlock2.battleTower.selectedPartyMons[i]; + } + + ReducePlayerPartyToThree(); +} + +#ifdef NONMATCHING +void sub_8135A3C(void) +{ + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + u16 winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType); + + if (gSaveBlock2.battleTower.recordWinStreaks[battleTowerLevelType] < winStreak) + { + gSaveBlock2.battleTower.recordWinStreaks[battleTowerLevelType] = winStreak; + } + + if (gSaveBlock2.battleTower.recordWinStreaks[0] > gSaveBlock2.battleTower.recordWinStreaks[1]) + { + u16 streak = gSaveBlock2.battleTower.recordWinStreaks[0]; + SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, streak); + if (streak > 9999) + { + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999; + } + else + { + gSaveBlock2.battleTower.bestBattleTowerWinStreak = streak; + } + } + else + { + u16 streak = gSaveBlock2.battleTower.recordWinStreaks[1]; + SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, streak); + if (streak > 9999) + { + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999; + } + else + { + gSaveBlock2.battleTower.bestBattleTowerWinStreak = streak; + } + } +} +#else +__attribute__((naked)) +void sub_8135A3C(void) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + ldr r6, _08135A84 @ =gSaveBlock2\n\ + ldr r1, _08135A88 @ =0x00000554\n\ + adds r0, r6, r1\n\ + ldrb r4, [r0]\n\ + lsls r4, 31\n\ + lsrs r4, 31\n\ + adds r0, r4, 0\n\ + bl GetCurrentBattleTowerWinStreak\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + lsls r4, 1\n\ + movs r3, 0xAC\n\ + lsls r3, 3\n\ + adds r2, r6, r3\n\ + adds r4, r2\n\ + ldrh r0, [r4]\n\ + cmp r0, r5\n\ + bcs _08135A66\n\ + strh r5, [r4]\n\ +_08135A66:\n\ + ldr r0, _08135A8C @ =0x00000562\n\ + adds r1, r6, r0\n\ + ldrh r0, [r2]\n\ + ldrh r3, [r1]\n\ + cmp r0, r3\n\ + bls _08135A94\n\ + adds r5, r0, 0\n\ + movs r0, 0x20\n\ + adds r1, r5, 0\n\ + bl SetGameStat\n\ + ldr r1, _08135A90 @ =0x0000270f\n\ + cmp r5, r1\n\ + bhi _08135AA4\n\ + b _08135AB4\n\ + .align 2, 0\n\ +_08135A84: .4byte gSaveBlock2\n\ +_08135A88: .4byte 0x00000554\n\ +_08135A8C: .4byte 0x00000562\n\ +_08135A90: .4byte 0x0000270f\n\ +_08135A94:\n\ + ldrh r5, [r1]\n\ + movs r0, 0x20\n\ + adds r1, r5, 0\n\ + bl SetGameStat\n\ + ldr r1, _08135AAC @ =0x0000270f\n\ + cmp r5, r1\n\ + bls _08135AB4\n\ +_08135AA4:\n\ + ldr r2, _08135AB0 @ =0x00000572\n\ + adds r0, r6, r2\n\ + strh r1, [r0]\n\ + b _08135ABA\n\ + .align 2, 0\n\ +_08135AAC: .4byte 0x0000270f\n\ +_08135AB0: .4byte 0x00000572\n\ +_08135AB4:\n\ + ldr r3, _08135AC0 @ =0x00000572\n\ + adds r0, r6, r3\n\ + strh r5, [r0]\n\ +_08135ABA:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08135AC0: .4byte 0x00000572\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void sub_8135AC4(void) +{ + s32 i; + u8 trainerClass; + struct BattleTowerRecord *playerRecord = &gSaveBlock2.battleTower.playerRecord; + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + if (gSaveBlock2.playerGender != MALE) + { + trainerClass = sFemaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1] + + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 20u]; + } + else + { + trainerClass = sMaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1] + + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 30u]; + } + + playerRecord->battleTowerLevelType = battleTowerLevelType; + playerRecord->trainerClass = trainerClass; + + copy_word_to_mem(playerRecord->trainerId, gSaveBlock2.playerTrainerId); + StringCopy8(playerRecord->name, gSaveBlock2.playerName); + + playerRecord->winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType); + + for (i = 0; i < 6; i++) + { + playerRecord->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i]; + } + + for (i = 0; i < 3; i++) + { + sub_803AF78(&gUnknown_030042FC[gSaveBlock2.battleTower.selectedPartyMons[i]], &playerRecord->party[i]); + } + + SetBattleTowerRecordChecksum(&gSaveBlock2.battleTower.playerRecord); + sub_8135A3C(); +} + +void sub_8135BA0(void) +{ + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + if (gSpecialVar_0x8004 == 3 || gSpecialVar_0x8004 == 0) + { + if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] > 1 + || gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] > 1) + { + sub_8135AC4(); + } + } + + sub_8135CFC(); + + gSaveBlock2.battleTower.battleOutcome = gBattleOutcome; + + if (gSpecialVar_0x8004 != 3) + { + gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8004; + } + + VarSet(VAR_0x4000, 0); + gSaveBlock2.battleTower.unk_554 = 1; + TrySavingData(EREADER_SAVE); +} + +void BattleTower_SoftReset(void) +{ + DoSoftReset(); +} + +void ValidateBattleTowerRecordChecksums(void) +{ + u32 i; + s32 recordIndex; + struct BattleTowerRecord *record; + u32 checksum; + + checksum = 0; + for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++) + { + checksum += ((u32 *)&gSaveBlock2.battleTower.playerRecord)[i]; + } + + if (gSaveBlock2.battleTower.playerRecord.checksum != checksum) + { + ClearBattleTowerRecord(&gSaveBlock2.battleTower.playerRecord); + } + + for (recordIndex = 0; recordIndex < 5; recordIndex++) + { + record = &gSaveBlock2.battleTower.records[recordIndex]; + checksum = 0; + for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++) + { + checksum += ((u32 *)record)[i]; + } + + if (gSaveBlock2.battleTower.records[recordIndex].checksum != checksum) + { + ClearBattleTowerRecord(&gSaveBlock2.battleTower.records[recordIndex]); + } + } +} + +void SetBattleTowerRecordChecksum(struct BattleTowerRecord *record) +{ + u32 i; + + record->checksum = 0; + for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++) + { + record->checksum += ((u32 *)record)[i]; + } +} + +void ClearBattleTowerRecord(struct BattleTowerRecord *record) +{ + u32 i; + + for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32); i++) + { + ((u32 *)record)[i] = 0; + } +} + +void sub_8135CFC(void) +{ + s32 i; + + get_trainer_name(gSaveBlock2.battleTower.defeatedByTrainerName); + gSaveBlock2.battleTower.defeatedBySpecies = gBattleMons[1].species; + gSaveBlock2.battleTower.firstMonSpecies = gBattleMons[0].species; + + for (i = 0; i < POKEMON_NAME_LENGTH; i++) + { + gSaveBlock2.battleTower.firstMonNickname[i] = gBattleMons[0].nickname[i]; + } +} + +u16 GetCurrentBattleTowerWinStreak(u8 battleTowerLevelType) +{ + u16 winStreak = ((gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] - 1) * 7 - 1) + + gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]; + + if (winStreak > 9999) + { + return 9999; + } + + return winStreak; +} + +#ifdef NONMATCHING +void DetermineBattleTowerPrize(void) +{ + u16 prizeItem; + struct SaveBlock2 *saveBlock = &gSaveBlock2; + u8 battleTowerLevelType = saveBlock->battleTower.battleTowerLevelType; + + if (saveBlock->battleTower.curStreakChallengesNum[battleTowerLevelType] - 1 > 5) + { + prizeItem = sLongStreakPrizes[Random() % ARRAY_COUNT(sLongStreakPrizes)]; + } + else + { + prizeItem = sShortStreakPrizes[Random() % ARRAY_COUNT(sShortStreakPrizes)]; + } + + saveBlock->battleTower.prizeItem = prizeItem; +} +#else +__attribute__((naked)) +void DetermineBattleTowerPrize(void) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + ldr r5, _08135DB0 @ =gSaveBlock2\n\ + ldr r1, _08135DB4 @ =0x00000554\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + lsls r0, 31\n\ + lsrs r0, 31\n\ + lsls r0, 1\n\ + ldr r2, _08135DB8 @ =0x0000055c\n\ + adds r1, r5, r2\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + subs r0, 0x1\n\ + cmp r0, 0x5\n\ + ble _08135DC0\n\ + bl Random\n\ + ldr r4, _08135DBC @ =sLongStreakPrizes\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0x9\n\ + b _08135DCC\n\ + .align 2, 0\n\ +_08135DB0: .4byte gSaveBlock2\n\ +_08135DB4: .4byte 0x00000554\n\ +_08135DB8: .4byte 0x0000055c\n\ +_08135DBC: .4byte sLongStreakPrizes\n\ +_08135DC0:\n\ + bl Random\n\ + ldr r4, _08135DE8 @ =sShortStreakPrizes\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0x6\n\ +_08135DCC:\n\ + bl __umodsi3\n\ + lsls r0, 16\n\ + lsrs r0, 15\n\ + adds r0, r4\n\ + ldrh r1, [r0]\n\ + movs r2, 0xAD\n\ + lsls r2, 3\n\ + adds r0, r5, r2\n\ + strh r1, [r0]\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08135DE8: .4byte sShortStreakPrizes\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void GiveBattleTowerPrize(void) +{ + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + if (AddBagItem(gSaveBlock2.battleTower.prizeItem, 1) == TRUE) + { + CopyItemName(gSaveBlock2.battleTower.prizeItem, gStringVar1); + gScriptResult = 1; + } + else + { + gScriptResult = 0; + gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = 6; + } +} + +void AwardBattleTowerRibbons(void) +{ + s32 i; + u32 partyIndex; + struct Pokemon *pokemon; + u8 ribbonType; + u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; + + ribbonType = MON_DATA_WINNING_RIBBON; + if (battleTowerLevelType != 0) + { + ribbonType = MON_DATA_VICTORY_RIBBON; + } + + gScriptResult = 0; + + if (GetCurrentBattleTowerWinStreak(battleTowerLevelType) > 55) + { + for (i = 0; i < 3; i++) + { + partyIndex = gSaveBlock2.battleTower.selectedPartyMons[i] - 1; + pokemon = &gPlayerParty[partyIndex]; + if (!GetMonData(pokemon, ribbonType)) + { + gScriptResult = 1; + SetMonData(pokemon, ribbonType, &gScriptResult); + } + } + } + + if (gScriptResult != 0) + { + IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); + } +} + +// This is a leftover debugging function that is used to populate the E-Reader +// trainer with the player's current data. +void Debug_FillEReaderTrainerWithPlayerData(void) +{ + struct BattleTowerEReaderTrainer *ereaderTrainer; + s32 i; + s32 j; + + ereaderTrainer = &gSaveBlock2.battleTower.ereaderTrainer; + + if (gSaveBlock2.playerGender != MALE) + { + ereaderTrainer->trainerClass = sFemaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1] + + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 20u]; + } + else + { + ereaderTrainer->trainerClass = sMaleTrainerClasses[(gSaveBlock2.playerTrainerId[0] + gSaveBlock2.playerTrainerId[1] + + gSaveBlock2.playerTrainerId[2] + gSaveBlock2.playerTrainerId[3]) % 30u]; + } + + copy_word_to_mem(ereaderTrainer->trainerId, gSaveBlock2.playerTrainerId); + StringCopy8(ereaderTrainer->name, gSaveBlock2.playerName); + + ereaderTrainer->winStreak = 1; + + j = 7; + for (i = 0; i < 6; i++) + { + ereaderTrainer->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i]; + ereaderTrainer->farewellPlayerLost.easyChat[i] = j; + ereaderTrainer->farewellPlayerWon.easyChat[i] = j + 6; + j++; + } + + for (i = 0; i < 3; i++) + { + sub_803AF78(&gPlayerParty[i], &ereaderTrainer->party[i]); + } + + SetEReaderTrainerChecksum(ereaderTrainer); +} + +u8 GetEReaderTrainerPicIndex(void) +{ + return gTrainerClassToPicIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass]; +} + +u8 GetEReaderTrainerClassNameIndex(void) +{ + return gTrainerClassToNameIndex[gSaveBlock2.battleTower.ereaderTrainer.trainerClass]; +} + +void SetEReaderTrainerName(u8 *trainerName) +{ + s32 i; + + for (i = 0; i < 7; i++) + { + trainerName[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i]; + } + + trainerName[i] = 0xFF; +} + +// Checks if the saved E-Reader trainer is valid. +void ValidateEReaderTrainer(void) +{ + u32 i; + u32 checksum; + struct BattleTowerEReaderTrainer *ereaderTrainer; + + gScriptResult = 0; + ereaderTrainer = &gSaveBlock2.battleTower.ereaderTrainer; + + checksum = 0; + for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++) + { + checksum |= ((u32 *)ereaderTrainer)[i]; + } + + if (checksum == 0) + { + gScriptResult = 1; + return; + } + + checksum = 0; + for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++) + { + checksum += ((u32 *)ereaderTrainer)[i]; + } + + if (gSaveBlock2.battleTower.ereaderTrainer.checksum != checksum) + { + ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer); + gScriptResult = 1; + } +} + +void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer) +{ + s32 i; + + ereaderTrainer->checksum = 0; + for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++) + { + ereaderTrainer->checksum += ((u32 *)ereaderTrainer)[i]; + } +} + +void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer) +{ + u32 i; + + for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32); i++) + { + ((u32 *)ereaderTrainer)[i] = 0; + } +} + +void PrintEReaderTrainerGreeting(void) +{ + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat); +} + +void PrintEReaderTrainerFarewellMessage(void) +{ + if (gBattleOutcome == BATTLE_DREW) + { + gStringVar4[0] = 0xFF; + } + else if (gBattleOutcome == BATTLE_WON) + { + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerWon.easyChat); + } + else + { + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerLost.easyChat); + } +} + +void sub_813610C(void) +{ + s32 i; + + for (i = 0; i < 2; i++) + { + if (gSaveBlock2.battleTower.var_4AE[i] == 1) + { + sub_80BFD20(); + } + } +} + +#if GERMAN +u8 de_sub_81364AC(void) +{ + if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) + { + return gSaveBlock2.battleTower.ereaderTrainer.trainerClass; + } + else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) + { + return gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass; + } + else + { + return gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass; + } +} + +u8 de_sub_81364F8(void) +{ + return gSaveBlock2.battleTower.ereaderTrainer.trainerClass; +} +#endif diff --git a/src/berry.c b/src/field/berry.c index d82eab2a6..cd1fc5c94 100644 --- a/src/berry.c +++ b/src/field/berry.c @@ -12,10 +12,16 @@ #include "text.h" #define BERRY_NAME_LENGTH 6 +#define BERRY_REGROW_LIMIT 10 +#define MAX_BERRY_TREES 128 +#define BERRY_NONE 0 #define FIRST_BERRY ITEM_CHERI_BERRY #define LAST_BERRY ITEM_ENIGMA_BERRY +#define GETBERRYID(berry) ((berry - FIRST_BERRY) + 1) +#define GETITEMID(berry) ((berry + FIRST_BERRY) - 1) + #ifdef ENGLISH #define NAME_CHERI_BERRY _("CHERI") #define NAME_CHESTO_BERRY _("CHESTO") @@ -61,92 +67,92 @@ #define NAME_STARF_BERRY _("STARF") #define NAME_ENIGMA_BERRY _("ENIGMA") -const u8 gBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers."); -const u8 gBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy."); -const u8 gBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are"); -const u8 gBerryDescriptionPart2_Chesto[] = _("very tough. It is dry-tasting all over."); -const u8 gBerryDescriptionPart1_Pecha[] = _("Very sweet and delicious."); -const u8 gBerryDescriptionPart2_Pecha[] = _("Also very tender - handle with care."); -const u8 gBerryDescriptionPart1_Rawst[] = _("If the leaves grow long and curly,"); -const u8 gBerryDescriptionPart2_Rawst[] = _("the BERRY seems to grow very bitter."); -const u8 gBerryDescriptionPart1_Aspear[] = _("The hard BERRY is dense with a rich"); -const u8 gBerryDescriptionPart2_Aspear[] = _("juice. It is quite sour."); -const u8 gBerryDescriptionPart1_Leppa[] = _("Grows slower than CHERI and others."); -const u8 gBerryDescriptionPart2_Leppa[] = _("The smaller the BERRY, the tastier."); -const u8 gBerryDescriptionPart1_Oran[] = _("A peculiar BERRY with a mix of flavors."); -const u8 gBerryDescriptionPart2_Oran[] = _("BERRIES grow in half a day."); -const u8 gBerryDescriptionPart1_Persim[] = _("Loves sunlight. The BERRY’s color"); -const u8 gBerryDescriptionPart2_Persim[] = _("grows vivid when exposed to the sun."); -const u8 gBerryDescriptionPart1_Lum[] = _("Slow to grow. If raised with loving"); -const u8 gBerryDescriptionPart2_Lum[] = _("care, it may grow two BERRIES."); -const u8 gBerryDescriptionPart1_Sitrus[] = _("Closely related to ORAN. The large"); -const u8 gBerryDescriptionPart2_Sitrus[] = _("BERRY has a well-rounded flavor."); -const u8 gBerryDescriptionPart1_Figy[] = _("The BERRY, which looks chewed up,"); -const u8 gBerryDescriptionPart2_Figy[] = _("brims with spicy substances."); -const u8 gBerryDescriptionPart1_Wiki[] = _("The BERRY is said to have grown lumpy"); -const u8 gBerryDescriptionPart2_Wiki[] = _("to help POKéMON grip it."); -const u8 gBerryDescriptionPart1_Mago[] = _("The BERRY turns curvy as it grows."); -const u8 gBerryDescriptionPart2_Mago[] = _("The curvier, the sweeter and tastier."); -const u8 gBerryDescriptionPart1_Aguav[] = _("The flower is dainty. It is rare in its"); -const u8 gBerryDescriptionPart2_Aguav[] = _("ability to grow without light."); -const u8 gBerryDescriptionPart1_Iapapa[] = _("The BERRY is very big and sour."); -const u8 gBerryDescriptionPart2_Iapapa[] = _("It takes at least a day to grow."); -const u8 gBerryDescriptionPart1_Razz[] = _("The red BERRY tastes slightly spicy."); -const u8 gBerryDescriptionPart2_Razz[] = _("It grows quickly in just four hours."); -const u8 gBerryDescriptionPart1_Bluk[] = _("The BERRY is blue on the outside, but"); -const u8 gBerryDescriptionPart2_Bluk[] = _("it blackens the mouth when eaten."); -const u8 gBerryDescriptionPart1_Nanab[] = _("This BERRY was the seventh"); -const u8 gBerryDescriptionPart2_Nanab[] = _("discovered in the world. It is sweet."); -const u8 gBerryDescriptionPart1_Wepear[] = _("The flower is small and white. It has a"); -const u8 gBerryDescriptionPart2_Wepear[] = _("delicate balance of bitter and sour."); -const u8 gBerryDescriptionPart1_Pinap[] = _("Weak against wind and cold."); -const u8 gBerryDescriptionPart2_Pinap[] = _("The fruit is spicy and the skin, sour."); -const u8 gBerryDescriptionPart1_Pomeg[] = _("However much it is watered,"); -const u8 gBerryDescriptionPart2_Pomeg[] = _("it only grows up to six BERRIES."); -const u8 gBerryDescriptionPart1_Kelpsy[] = _("A rare variety shaped like a root."); -const u8 gBerryDescriptionPart2_Kelpsy[] = _("Grows a very large flower."); -const u8 gBerryDescriptionPart1_Qualot[] = _("Loves water. Grows strong even in"); -const u8 gBerryDescriptionPart2_Qualot[] = _("locations with constant rainfall."); -const u8 gBerryDescriptionPart1_Hondew[] = _("A BERRY that is very valuable and"); -const u8 gBerryDescriptionPart2_Hondew[] = _("rarely seen. It is very delicious."); -const u8 gBerryDescriptionPart1_Grepa[] = _("Despite its tenderness and round"); -const u8 gBerryDescriptionPart2_Grepa[] = _("shape, the BERRY is unimaginably sour."); -const u8 gBerryDescriptionPart1_Tamato[] = _("The BERRY is lip-bendingly spicy."); -const u8 gBerryDescriptionPart2_Tamato[] = _("It takes time to grow."); -const u8 gBerryDescriptionPart1_Cornn[] = _("A BERRY from an ancient era. May not"); -const u8 gBerryDescriptionPart2_Cornn[] = _("grow unless planted in quantity."); -const u8 gBerryDescriptionPart1_Magost[] = _("A BERRY that is widely said to have"); -const u8 gBerryDescriptionPart2_Magost[] = _("a finely balanced flavor."); -const u8 gBerryDescriptionPart1_Rabuta[] = _("A rare variety that is overgrown with"); -const u8 gBerryDescriptionPart2_Rabuta[] = _("hair. It is quite bitter."); -const u8 gBerryDescriptionPart1_Nomel[] = _("Quite sour. Just one bite makes it"); -const u8 gBerryDescriptionPart2_Nomel[] = _("impossible to taste for three days."); -const u8 gBerryDescriptionPart1_Spelon[] = _("The vividly red BERRY is very spicy."); -const u8 gBerryDescriptionPart2_Spelon[] = _("Its warts secrete a spicy substance."); -const u8 gBerryDescriptionPart1_Pamtre[] = _("Drifts on the sea from somewhere."); -const u8 gBerryDescriptionPart2_Pamtre[] = _("It is thought to grow elsewhere."); -const u8 gBerryDescriptionPart1_Watmel[] = _("A huge BERRY, with some over 20"); -const u8 gBerryDescriptionPart2_Watmel[] = _("inches discovered. Exceedingly sweet."); -const u8 gBerryDescriptionPart1_Durin[] = _("Bitter to even look at. It is so"); -const u8 gBerryDescriptionPart2_Durin[] = _("bitter, no one has ever eaten it as is."); -const u8 gBerryDescriptionPart1_Belue[] = _("It is glossy and looks delicious, but"); -const u8 gBerryDescriptionPart2_Belue[] = _("it is awfully sour. Takes time to grow."); -const u8 gBerryDescriptionPart1_Liechi[] = _("A mysterious BERRY. It is rumored to"); -const u8 gBerryDescriptionPart2_Liechi[] = _("contain the power of the sea."); -const u8 gBerryDescriptionPart1_Ganlon[] = _("A mysterious BERRY. It is rumored to"); -const u8 gBerryDescriptionPart2_Ganlon[] = _("contain the power of the land."); -const u8 gBerryDescriptionPart1_Salac[] = _("A mysterious BERRY. It is rumored to"); -const u8 gBerryDescriptionPart2_Salac[] = _("contain the power of the sky."); -const u8 gBerryDescriptionPart1_Petaya[] = _("A mysterious BERRY. It is rumored to"); -const u8 gBerryDescriptionPart2_Petaya[] = _("contain the power of all living things."); -const u8 gBerryDescriptionPart1_Apicot[] = _("A very mystifying BERRY. No telling"); -const u8 gBerryDescriptionPart2_Apicot[] = _("what may happen or how it can be used."); -const u8 gBerryDescriptionPart1_Lansat[] = _("Said to be a legendary BERRY."); -const u8 gBerryDescriptionPart2_Lansat[] = _("Holding it supposedly brings joy."); -const u8 gBerryDescriptionPart1_Starf[] = _("So strong, it was abandoned at the"); -const u8 gBerryDescriptionPart2_Starf[] = _("world’s edge. Considered a mirage."); -const u8 gBerryDescriptionPart1_Enigma[] = _("A completely enigmatic BERRY."); -const u8 gBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars."); +static const u8 gBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers."); +static const u8 gBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy."); +static const u8 gBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are"); +static const u8 gBerryDescriptionPart2_Chesto[] = _("very tough. It is dry-tasting all over."); +static const u8 gBerryDescriptionPart1_Pecha[] = _("Very sweet and delicious."); +static const u8 gBerryDescriptionPart2_Pecha[] = _("Also very tender - handle with care."); +static const u8 gBerryDescriptionPart1_Rawst[] = _("If the leaves grow long and curly,"); +static const u8 gBerryDescriptionPart2_Rawst[] = _("the BERRY seems to grow very bitter."); +static const u8 gBerryDescriptionPart1_Aspear[] = _("The hard BERRY is dense with a rich"); +static const u8 gBerryDescriptionPart2_Aspear[] = _("juice. It is quite sour."); +static const u8 gBerryDescriptionPart1_Leppa[] = _("Grows slower than CHERI and others."); +static const u8 gBerryDescriptionPart2_Leppa[] = _("The smaller the BERRY, the tastier."); +static const u8 gBerryDescriptionPart1_Oran[] = _("A peculiar BERRY with a mix of flavors."); +static const u8 gBerryDescriptionPart2_Oran[] = _("BERRIES grow in half a day."); +static const u8 gBerryDescriptionPart1_Persim[] = _("Loves sunlight. The BERRY’s color"); +static const u8 gBerryDescriptionPart2_Persim[] = _("grows vivid when exposed to the sun."); +static const u8 gBerryDescriptionPart1_Lum[] = _("Slow to grow. If raised with loving"); +static const u8 gBerryDescriptionPart2_Lum[] = _("care, it may grow two BERRIES."); +static const u8 gBerryDescriptionPart1_Sitrus[] = _("Closely related to ORAN. The large"); +static const u8 gBerryDescriptionPart2_Sitrus[] = _("BERRY has a well-rounded flavor."); +static const u8 gBerryDescriptionPart1_Figy[] = _("The BERRY, which looks chewed up,"); +static const u8 gBerryDescriptionPart2_Figy[] = _("brims with spicy substances."); +static const u8 gBerryDescriptionPart1_Wiki[] = _("The BERRY is said to have grown lumpy"); +static const u8 gBerryDescriptionPart2_Wiki[] = _("to help POKéMON grip it."); +static const u8 gBerryDescriptionPart1_Mago[] = _("The BERRY turns curvy as it grows."); +static const u8 gBerryDescriptionPart2_Mago[] = _("The curvier, the sweeter and tastier."); +static const u8 gBerryDescriptionPart1_Aguav[] = _("The flower is dainty. It is rare in its"); +static const u8 gBerryDescriptionPart2_Aguav[] = _("ability to grow without light."); +static const u8 gBerryDescriptionPart1_Iapapa[] = _("The BERRY is very big and sour."); +static const u8 gBerryDescriptionPart2_Iapapa[] = _("It takes at least a day to grow."); +static const u8 gBerryDescriptionPart1_Razz[] = _("The red BERRY tastes slightly spicy."); +static const u8 gBerryDescriptionPart2_Razz[] = _("It grows quickly in just four hours."); +static const u8 gBerryDescriptionPart1_Bluk[] = _("The BERRY is blue on the outside, but"); +static const u8 gBerryDescriptionPart2_Bluk[] = _("it blackens the mouth when eaten."); +static const u8 gBerryDescriptionPart1_Nanab[] = _("This BERRY was the seventh"); +static const u8 gBerryDescriptionPart2_Nanab[] = _("discovered in the world. It is sweet."); +static const u8 gBerryDescriptionPart1_Wepear[] = _("The flower is small and white. It has a"); +static const u8 gBerryDescriptionPart2_Wepear[] = _("delicate balance of bitter and sour."); +static const u8 gBerryDescriptionPart1_Pinap[] = _("Weak against wind and cold."); +static const u8 gBerryDescriptionPart2_Pinap[] = _("The fruit is spicy and the skin, sour."); +static const u8 gBerryDescriptionPart1_Pomeg[] = _("However much it is watered,"); +static const u8 gBerryDescriptionPart2_Pomeg[] = _("it only grows up to six BERRIES."); +static const u8 gBerryDescriptionPart1_Kelpsy[] = _("A rare variety shaped like a root."); +static const u8 gBerryDescriptionPart2_Kelpsy[] = _("Grows a very large flower."); +static const u8 gBerryDescriptionPart1_Qualot[] = _("Loves water. Grows strong even in"); +static const u8 gBerryDescriptionPart2_Qualot[] = _("locations with constant rainfall."); +static const u8 gBerryDescriptionPart1_Hondew[] = _("A BERRY that is very valuable and"); +static const u8 gBerryDescriptionPart2_Hondew[] = _("rarely seen. It is very delicious."); +static const u8 gBerryDescriptionPart1_Grepa[] = _("Despite its tenderness and round"); +static const u8 gBerryDescriptionPart2_Grepa[] = _("shape, the BERRY is unimaginably sour."); +static const u8 gBerryDescriptionPart1_Tamato[] = _("The BERRY is lip-bendingly spicy."); +static const u8 gBerryDescriptionPart2_Tamato[] = _("It takes time to grow."); +static const u8 gBerryDescriptionPart1_Cornn[] = _("A BERRY from an ancient era. May not"); +static const u8 gBerryDescriptionPart2_Cornn[] = _("grow unless planted in quantity."); +static const u8 gBerryDescriptionPart1_Magost[] = _("A BERRY that is widely said to have"); +static const u8 gBerryDescriptionPart2_Magost[] = _("a finely balanced flavor."); +static const u8 gBerryDescriptionPart1_Rabuta[] = _("A rare variety that is overgrown with"); +static const u8 gBerryDescriptionPart2_Rabuta[] = _("hair. It is quite bitter."); +static const u8 gBerryDescriptionPart1_Nomel[] = _("Quite sour. Just one bite makes it"); +static const u8 gBerryDescriptionPart2_Nomel[] = _("impossible to taste for three days."); +static const u8 gBerryDescriptionPart1_Spelon[] = _("The vividly red BERRY is very spicy."); +static const u8 gBerryDescriptionPart2_Spelon[] = _("Its warts secrete a spicy substance."); +static const u8 gBerryDescriptionPart1_Pamtre[] = _("Drifts on the sea from somewhere."); +static const u8 gBerryDescriptionPart2_Pamtre[] = _("It is thought to grow elsewhere."); +static const u8 gBerryDescriptionPart1_Watmel[] = _("A huge BERRY, with some over 20"); +static const u8 gBerryDescriptionPart2_Watmel[] = _("inches discovered. Exceedingly sweet."); +static const u8 gBerryDescriptionPart1_Durin[] = _("Bitter to even look at. It is so"); +static const u8 gBerryDescriptionPart2_Durin[] = _("bitter, no one has ever eaten it as is."); +static const u8 gBerryDescriptionPart1_Belue[] = _("It is glossy and looks delicious, but"); +static const u8 gBerryDescriptionPart2_Belue[] = _("it is awfully sour. Takes time to grow."); +static const u8 gBerryDescriptionPart1_Liechi[] = _("A mysterious BERRY. It is rumored to"); +static const u8 gBerryDescriptionPart2_Liechi[] = _("contain the power of the sea."); +static const u8 gBerryDescriptionPart1_Ganlon[] = _("A mysterious BERRY. It is rumored to"); +static const u8 gBerryDescriptionPart2_Ganlon[] = _("contain the power of the land."); +static const u8 gBerryDescriptionPart1_Salac[] = _("A mysterious BERRY. It is rumored to"); +static const u8 gBerryDescriptionPart2_Salac[] = _("contain the power of the sky."); +static const u8 gBerryDescriptionPart1_Petaya[] = _("A mysterious BERRY. It is rumored to"); +static const u8 gBerryDescriptionPart2_Petaya[] = _("contain the power of all living things."); +static const u8 gBerryDescriptionPart1_Apicot[] = _("A very mystifying BERRY. No telling"); +static const u8 gBerryDescriptionPart2_Apicot[] = _("what may happen or how it can be used."); +static const u8 gBerryDescriptionPart1_Lansat[] = _("Said to be a legendary BERRY."); +static const u8 gBerryDescriptionPart2_Lansat[] = _("Holding it supposedly brings joy."); +static const u8 gBerryDescriptionPart1_Starf[] = _("So strong, it was abandoned at the"); +static const u8 gBerryDescriptionPart2_Starf[] = _("world’s edge. Considered a mirage."); +static const u8 gBerryDescriptionPart1_Enigma[] = _("A completely enigmatic BERRY."); +static const u8 gBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars."); #elif defined(GERMAN) #define NAME_CHERI_BERRY _("AMRENA") #define NAME_CHESTO_BERRY _("MARON") @@ -192,92 +198,92 @@ const u8 gBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars #define NAME_STARF_BERRY _("KRAMBO") #define NAME_ENIGMA_BERRY _("ENIGMA") -const u8 gBerryDescriptionPart1_Cheri[] = _("Erblüht mit hübschen, zarten Blumen."); -const u8 gBerryDescriptionPart2_Cheri[] = _("Diese knallrote BEERE ist sehr scharf."); -const u8 gBerryDescriptionPart1_Chesto[] = _("Diese BEERE hat eine dicke Haut und"); -const u8 gBerryDescriptionPart2_Chesto[] = _("hartes Fruchtfleisch. Trocken!"); -const u8 gBerryDescriptionPart1_Pecha[] = _("Sehr süß und delikat."); -const u8 gBerryDescriptionPart2_Pecha[] = _("Sehr zart. Vorsichtig anfassen!"); -const u8 gBerryDescriptionPart1_Rawst[] = _("Wenn die Blätter lang und wellig sind,"); -const u8 gBerryDescriptionPart2_Rawst[] = _("wird die BEERE sehr bitter."); -const u8 gBerryDescriptionPart1_Aspear[] = _("Diese harte BEERE ist sehr"); -const u8 gBerryDescriptionPart2_Aspear[] = _("saftig und sauer im Geschmack!"); -const u8 gBerryDescriptionPart1_Leppa[] = _("Wächst langsamer als AMRENA und"); -const u8 gBerryDescriptionPart2_Leppa[] = _("andere. Je kleiner, desto delikater."); -const u8 gBerryDescriptionPart1_Oran[] = _("Eine BEERE unterschiedlichsten Ge-"); -const u8 gBerryDescriptionPart2_Oran[] = _("schmacks. Wächst an einem halben Tag."); -const u8 gBerryDescriptionPart1_Persim[] = _("Liebt Sonnenlicht. Die BEERE"); -const u8 gBerryDescriptionPart2_Persim[] = _("wächst im Sonnenlicht sehr schnell."); -const u8 gBerryDescriptionPart1_Lum[] = _("Langsamer Wuchs. Wird sie liebevoll ge-"); -const u8 gBerryDescriptionPart2_Lum[] = _("pflegt, kann sie 2 BEEREN tragen."); -const u8 gBerryDescriptionPart1_Sitrus[] = _("Eng verwandt mit SINEL. Diese große"); -const u8 gBerryDescriptionPart2_Sitrus[] = _("BEERE ist von rundem Geschmack."); -const u8 gBerryDescriptionPart1_Figy[] = _("Die BEERE sieht angekaut aus. Sie ist"); -const u8 gBerryDescriptionPart2_Figy[] = _("voller scharfer Substanzen."); -const u8 gBerryDescriptionPart1_Wiki[] = _("Die BEERE wächst unförmig,"); -const u8 gBerryDescriptionPart2_Wiki[] = _("damit PKMN sie besser greifen können."); -const u8 gBerryDescriptionPart1_Mago[] = _("Die BEERE hat Ausbeulungen. Je mehr"); -const u8 gBerryDescriptionPart2_Mago[] = _("Beulen, desto schmackhafter ist sie."); -const u8 gBerryDescriptionPart1_Aguav[] = _("Die Blume ist zart. Sie ist fähig,"); -const u8 gBerryDescriptionPart2_Aguav[] = _("ohne Licht wachsen zu können."); -const u8 gBerryDescriptionPart1_Iapapa[] = _("Die BEERE ist groß und sauer."); -const u8 gBerryDescriptionPart2_Iapapa[] = _("Sie braucht einen Tag zum Wachsen."); -const u8 gBerryDescriptionPart1_Razz[] = _("Diese rote BEERE schmeckt etwas"); -const u8 gBerryDescriptionPart2_Razz[] = _("scharf. Sie wächst in nur 4 Stunden."); -const u8 gBerryDescriptionPart1_Bluk[] = _("Die BEERE ist außen blau, verfärbt"); -const u8 gBerryDescriptionPart2_Bluk[] = _("sich im Mund aber schwarz."); -const u8 gBerryDescriptionPart1_Nanab[] = _("Diese BEERE war die 7., die auf der"); -const u8 gBerryDescriptionPart2_Nanab[] = _("Welt entdeckt wurde. Sie ist süß."); -const u8 gBerryDescriptionPart1_Wepear[] = _("Die Blume ist klein und weiß. Angenehm"); -const u8 gBerryDescriptionPart2_Wepear[] = _("bitter und sauer zugleich."); -const u8 gBerryDescriptionPart1_Pinap[] = _("Wind und Kälte verträgt sie nicht."); -const u8 gBerryDescriptionPart2_Pinap[] = _("Fruchtfleisch: Scharf. Haut: Sauer."); -const u8 gBerryDescriptionPart1_Pomeg[] = _("Egal wie viel Wasser sie bekommt, sie"); -const u8 gBerryDescriptionPart2_Pomeg[] = _("trägt immer bis zu 6 BEEREN."); -const u8 gBerryDescriptionPart1_Kelpsy[] = _("Eine Seltenheit. Geformt wie eine"); -const u8 gBerryDescriptionPart2_Kelpsy[] = _("Wurzel. Hat eine große Blume."); -const u8 gBerryDescriptionPart1_Qualot[] = _("Liebt das Wasser. Wächst besonders"); -const u8 gBerryDescriptionPart2_Qualot[] = _("gut in regenreichen Gegenden."); -const u8 gBerryDescriptionPart1_Hondew[] = _("Eine wertvolle und seltene BEERE."); -const u8 gBerryDescriptionPart2_Hondew[] = _("Sie ist sehr schmackhaft."); -const u8 gBerryDescriptionPart1_Grepa[] = _("Die BEERE ist zart und von runder"); -const u8 gBerryDescriptionPart2_Grepa[] = _("Form. Aber sie ist unglaublich sauer!"); -const u8 gBerryDescriptionPart1_Tamato[] = _("Die Schärfe der BEERE verbrennt die"); -const u8 gBerryDescriptionPart2_Tamato[] = _("Lippen. Sie braucht Zeit zum Wachsen."); -const u8 gBerryDescriptionPart1_Cornn[] = _("Eine BEERE aus alten Zeiten. Wächst"); -const u8 gBerryDescriptionPart2_Cornn[] = _("nur, wenn in großen Mengen gepflanzt."); -const u8 gBerryDescriptionPart1_Magost[] = _("Eine BEERE, die für ihren feinen, aus-"); -const u8 gBerryDescriptionPart2_Magost[] = _("gewogenen Geschmack bekannt ist."); -const u8 gBerryDescriptionPart1_Rabuta[] = _("Eine Seltenheit, die über und über mit"); -const u8 gBerryDescriptionPart2_Rabuta[] = _("Haaren bewachsen ist. Sehr bitter!"); -const u8 gBerryDescriptionPart1_Nomel[] = _("Sehr sauer. Ein Biss betäubt die"); -const u8 gBerryDescriptionPart2_Nomel[] = _("Geschmacksnerven für 3 Tage!"); -const u8 gBerryDescriptionPart1_Spelon[] = _("Die leuchtend rote BEERE ist sehr"); -const u8 gBerryDescriptionPart2_Spelon[] = _("scharf. Gibt scharfe Substanzen ab!"); -const u8 gBerryDescriptionPart1_Pamtre[] = _("Wird vom Meer angespült. Sie wächst"); -const u8 gBerryDescriptionPart2_Pamtre[] = _("an einem anderen Ort."); -const u8 gBerryDescriptionPart1_Watmel[] = _("Eine große BEERE, 25 cm groß."); -const u8 gBerryDescriptionPart2_Watmel[] = _("Außergewöhnlich süß."); -const u8 gBerryDescriptionPart1_Durin[] = _("Bitter schon ihr Anblick! Sie ist so"); -const u8 gBerryDescriptionPart2_Durin[] = _("bitter, dass niemand sie pur isst."); -const u8 gBerryDescriptionPart1_Belue[] = _("Sie glänzt, sieht zart aus, ist extrem"); -const u8 gBerryDescriptionPart2_Belue[] = _("sauer und braucht Zeit zum Wachsen."); -const u8 gBerryDescriptionPart1_Liechi[] = _("Eine geheimnisvolle BEERE. Man sagt,"); -const u8 gBerryDescriptionPart2_Liechi[] = _("sie enthalte die Kraft des Meeres."); -const u8 gBerryDescriptionPart1_Ganlon[] = _("Eine geheimnisvolle BEERE. Man sagt,"); -const u8 gBerryDescriptionPart2_Ganlon[] = _("sie enthalte die Kraft des Landes."); -const u8 gBerryDescriptionPart1_Salac[] = _("Eine geheimnisvolle BEERE. Man sagt,"); -const u8 gBerryDescriptionPart2_Salac[] = _("sie enthalte die Kraft des Himmels."); -const u8 gBerryDescriptionPart1_Petaya[] = _("Eine geheimnisvolle BEERE. Man sagt,"); -const u8 gBerryDescriptionPart2_Petaya[] = _("sie enthalte die Kraft allen Lebens."); -const u8 gBerryDescriptionPart1_Apicot[] = _("Eine rätselhafte BEERE. Man kann"); -const u8 gBerryDescriptionPart2_Apicot[] = _("nicht sagen, wie und was sie ist."); -const u8 gBerryDescriptionPart1_Lansat[] = _("Eine legendäre BEERE. Sie zu"); -const u8 gBerryDescriptionPart2_Lansat[] = _("tragen bringt Freude."); -const u8 gBerryDescriptionPart1_Starf[] = _("So stark, dass sie an den Rand der"); -const u8 gBerryDescriptionPart2_Starf[] = _("Welt verbannt wurde. Ein Märchen?"); -const u8 gBerryDescriptionPart1_Enigma[] = _("Eine enigmatische BEERE. Sie scheint"); -const u8 gBerryDescriptionPart2_Enigma[] = _("die Macht der Sterne zu besitzen."); +static const u8 gBerryDescriptionPart1_Cheri[] = _("Erblüht mit hübschen, zarten Blumen."); +static const u8 gBerryDescriptionPart2_Cheri[] = _("Diese knallrote BEERE ist sehr scharf."); +static const u8 gBerryDescriptionPart1_Chesto[] = _("Diese BEERE hat eine dicke Haut und"); +static const u8 gBerryDescriptionPart2_Chesto[] = _("hartes Fruchtfleisch. Trocken!"); +static const u8 gBerryDescriptionPart1_Pecha[] = _("Sehr süß und delikat."); +static const u8 gBerryDescriptionPart2_Pecha[] = _("Sehr zart. Vorsichtig anfassen!"); +static const u8 gBerryDescriptionPart1_Rawst[] = _("Wenn die Blätter lang und wellig sind,"); +static const u8 gBerryDescriptionPart2_Rawst[] = _("wird die BEERE sehr bitter."); +static const u8 gBerryDescriptionPart1_Aspear[] = _("Diese harte BEERE ist sehr"); +static const u8 gBerryDescriptionPart2_Aspear[] = _("saftig und sauer im Geschmack!"); +static const u8 gBerryDescriptionPart1_Leppa[] = _("Wächst langsamer als AMRENA und"); +static const u8 gBerryDescriptionPart2_Leppa[] = _("andere. Je kleiner, desto delikater."); +static const u8 gBerryDescriptionPart1_Oran[] = _("Eine BEERE unterschiedlichsten Ge-"); +static const u8 gBerryDescriptionPart2_Oran[] = _("schmacks. Wächst an einem halben Tag."); +static const u8 gBerryDescriptionPart1_Persim[] = _("Liebt Sonnenlicht. Die BEERE"); +static const u8 gBerryDescriptionPart2_Persim[] = _("wächst im Sonnenlicht sehr schnell."); +static const u8 gBerryDescriptionPart1_Lum[] = _("Langsamer Wuchs. Wird sie liebevoll ge-"); +static const u8 gBerryDescriptionPart2_Lum[] = _("pflegt, kann sie 2 BEEREN tragen."); +static const u8 gBerryDescriptionPart1_Sitrus[] = _("Eng verwandt mit SINEL. Diese große"); +static const u8 gBerryDescriptionPart2_Sitrus[] = _("BEERE ist von rundem Geschmack."); +static const u8 gBerryDescriptionPart1_Figy[] = _("Die BEERE sieht angekaut aus. Sie ist"); +static const u8 gBerryDescriptionPart2_Figy[] = _("voller scharfer Substanzen."); +static const u8 gBerryDescriptionPart1_Wiki[] = _("Die BEERE wächst unförmig,"); +static const u8 gBerryDescriptionPart2_Wiki[] = _("damit PKMN sie besser greifen können."); +static const u8 gBerryDescriptionPart1_Mago[] = _("Die BEERE hat Ausbeulungen. Je mehr"); +static const u8 gBerryDescriptionPart2_Mago[] = _("Beulen, desto schmackhafter ist sie."); +static const u8 gBerryDescriptionPart1_Aguav[] = _("Die Blume ist zart. Sie ist fähig,"); +static const u8 gBerryDescriptionPart2_Aguav[] = _("ohne Licht wachsen zu können."); +static const u8 gBerryDescriptionPart1_Iapapa[] = _("Die BEERE ist groß und sauer."); +static const u8 gBerryDescriptionPart2_Iapapa[] = _("Sie braucht einen Tag zum Wachsen."); +static const u8 gBerryDescriptionPart1_Razz[] = _("Diese rote BEERE schmeckt etwas"); +static const u8 gBerryDescriptionPart2_Razz[] = _("scharf. Sie wächst in nur 4 Stunden."); +static const u8 gBerryDescriptionPart1_Bluk[] = _("Die BEERE ist außen blau, verfärbt"); +static const u8 gBerryDescriptionPart2_Bluk[] = _("sich im Mund aber schwarz."); +static const u8 gBerryDescriptionPart1_Nanab[] = _("Diese BEERE war die 7., die auf der"); +static const u8 gBerryDescriptionPart2_Nanab[] = _("Welt entdeckt wurde. Sie ist süß."); +static const u8 gBerryDescriptionPart1_Wepear[] = _("Die Blume ist klein und weiß. Angenehm"); +static const u8 gBerryDescriptionPart2_Wepear[] = _("bitter und sauer zugleich."); +static const u8 gBerryDescriptionPart1_Pinap[] = _("Wind und Kälte verträgt sie nicht."); +static const u8 gBerryDescriptionPart2_Pinap[] = _("Fruchtfleisch: Scharf. Haut: Sauer."); +static const u8 gBerryDescriptionPart1_Pomeg[] = _("Egal wie viel Wasser sie bekommt, sie"); +static const u8 gBerryDescriptionPart2_Pomeg[] = _("trägt immer bis zu 6 BEEREN."); +static const u8 gBerryDescriptionPart1_Kelpsy[] = _("Eine Seltenheit. Geformt wie eine"); +static const u8 gBerryDescriptionPart2_Kelpsy[] = _("Wurzel. Hat eine große Blume."); +static const u8 gBerryDescriptionPart1_Qualot[] = _("Liebt das Wasser. Wächst besonders"); +static const u8 gBerryDescriptionPart2_Qualot[] = _("gut in regenreichen Gegenden."); +static const u8 gBerryDescriptionPart1_Hondew[] = _("Eine wertvolle und seltene BEERE."); +static const u8 gBerryDescriptionPart2_Hondew[] = _("Sie ist sehr schmackhaft."); +static const u8 gBerryDescriptionPart1_Grepa[] = _("Die BEERE ist zart und von runder"); +static const u8 gBerryDescriptionPart2_Grepa[] = _("Form. Aber sie ist unglaublich sauer!"); +static const u8 gBerryDescriptionPart1_Tamato[] = _("Die Schärfe der BEERE verbrennt die"); +static const u8 gBerryDescriptionPart2_Tamato[] = _("Lippen. Sie braucht Zeit zum Wachsen."); +static const u8 gBerryDescriptionPart1_Cornn[] = _("Eine BEERE aus alten Zeiten. Wächst"); +static const u8 gBerryDescriptionPart2_Cornn[] = _("nur, wenn in großen Mengen gepflanzt."); +static const u8 gBerryDescriptionPart1_Magost[] = _("Eine BEERE, die für ihren feinen, aus-"); +static const u8 gBerryDescriptionPart2_Magost[] = _("gewogenen Geschmack bekannt ist."); +static const u8 gBerryDescriptionPart1_Rabuta[] = _("Eine Seltenheit, die über und über mit"); +static const u8 gBerryDescriptionPart2_Rabuta[] = _("Haaren bewachsen ist. Sehr bitter!"); +static const u8 gBerryDescriptionPart1_Nomel[] = _("Sehr sauer. Ein Biss betäubt die"); +static const u8 gBerryDescriptionPart2_Nomel[] = _("Geschmacksnerven für 3 Tage!"); +static const u8 gBerryDescriptionPart1_Spelon[] = _("Die leuchtend rote BEERE ist sehr"); +static const u8 gBerryDescriptionPart2_Spelon[] = _("scharf. Gibt scharfe Substanzen ab!"); +static const u8 gBerryDescriptionPart1_Pamtre[] = _("Wird vom Meer angespült. Sie wächst"); +static const u8 gBerryDescriptionPart2_Pamtre[] = _("an einem anderen Ort."); +static const u8 gBerryDescriptionPart1_Watmel[] = _("Eine große BEERE, 25 cm groß."); +static const u8 gBerryDescriptionPart2_Watmel[] = _("Außergewöhnlich süß."); +static const u8 gBerryDescriptionPart1_Durin[] = _("Bitter schon ihr Anblick! Sie ist so"); +static const u8 gBerryDescriptionPart2_Durin[] = _("bitter, dass niemand sie pur isst."); +static const u8 gBerryDescriptionPart1_Belue[] = _("Sie glänzt, sieht zart aus, ist extrem"); +static const u8 gBerryDescriptionPart2_Belue[] = _("sauer und braucht Zeit zum Wachsen."); +static const u8 gBerryDescriptionPart1_Liechi[] = _("Eine geheimnisvolle BEERE. Man sagt,"); +static const u8 gBerryDescriptionPart2_Liechi[] = _("sie enthalte die Kraft des Meeres."); +static const u8 gBerryDescriptionPart1_Ganlon[] = _("Eine geheimnisvolle BEERE. Man sagt,"); +static const u8 gBerryDescriptionPart2_Ganlon[] = _("sie enthalte die Kraft des Landes."); +static const u8 gBerryDescriptionPart1_Salac[] = _("Eine geheimnisvolle BEERE. Man sagt,"); +static const u8 gBerryDescriptionPart2_Salac[] = _("sie enthalte die Kraft des Himmels."); +static const u8 gBerryDescriptionPart1_Petaya[] = _("Eine geheimnisvolle BEERE. Man sagt,"); +static const u8 gBerryDescriptionPart2_Petaya[] = _("sie enthalte die Kraft allen Lebens."); +static const u8 gBerryDescriptionPart1_Apicot[] = _("Eine rätselhafte BEERE. Man kann"); +static const u8 gBerryDescriptionPart2_Apicot[] = _("nicht sagen, wie und was sie ist."); +static const u8 gBerryDescriptionPart1_Lansat[] = _("Eine legendäre BEERE. Sie zu"); +static const u8 gBerryDescriptionPart2_Lansat[] = _("tragen bringt Freude."); +static const u8 gBerryDescriptionPart1_Starf[] = _("So stark, dass sie an den Rand der"); +static const u8 gBerryDescriptionPart2_Starf[] = _("Welt verbannt wurde. Ein Märchen?"); +static const u8 gBerryDescriptionPart1_Enigma[] = _("Eine enigmatische BEERE. Sie scheint"); +static const u8 gBerryDescriptionPart2_Enigma[] = _("die Macht der Sterne zu besitzen."); #endif const struct Berry gBerries[] = @@ -972,7 +978,7 @@ const struct Berry gBerries[] = }, }; -const struct BerryTree gBlankBerryTree = {0}; +static const struct BerryTree gBlankBerryTree = {0}; extern u8 S_BerryTree[]; extern u16 gScriptLastTalked; @@ -980,7 +986,21 @@ extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; extern u16 gSpecialVar_0x8006; +/* + An enigma berry is a type of berry which functions + as though it is a custom berry. Because it behaves + like its a custom berry, it doesn't hold an identity + represented in its icons or descriptions, leaving its + information to be decided by the e-reader cards + which were intended to deliver these custom + berries. +*/ + +static u8 CalcBerryYield(struct BerryTree *tree); +static u16 GetStageDurationByBerryType(u8 berry); + // unused +// this could be static, but making it so causes a compile-time warning. void ClearEnigmaBerries(void) { CpuFill16(0, &gSaveBlock1.enigmaBerry, sizeof(gSaveBlock1.enigmaBerry)); @@ -988,17 +1008,21 @@ void ClearEnigmaBerries(void) void SetEnigmaBerry(u8 *src) { + // initialize the enigma berry by copying the data from the script. u32 i; u8 *dest = (u8*)&gSaveBlock1.enigmaBerry; for (i = 0; i < sizeof(gSaveBlock1.enigmaBerry); i++) dest[i] = src[i]; + // at this point, the description pointer is not yet initialized. we need to initialize it since + // we dont know where in memory this is going to be. set the berry desc pointers to the + // EnigmaBerry struct's description arrays since these are where the descriptions are stored. gSaveBlock1.enigmaBerry.berry.description1 = gSaveBlock1.enigmaBerry.description1; gSaveBlock1.enigmaBerry.berry.description2 = gSaveBlock1.enigmaBerry.description2; } -u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) +static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) { const u8 *description1; const u8 *description2; @@ -1006,10 +1030,13 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) u32 checksum; u8 *dest; + // the description pointers could be pointing to anywhere in memory. we do not want these + // pointers to factor into the checksum as it will produce a different result every time: so + // back the pointers up and set them to null so the checksum is safe to calculate. description1 = gSaveBlock1.enigmaBerry.berry.description1; description2 = gSaveBlock1.enigmaBerry.berry.description2; - gSaveBlock1.enigmaBerry.berry.description1 = 0; - gSaveBlock1.enigmaBerry.berry.description2 = 0; + gSaveBlock1.enigmaBerry.berry.description1 = NULL; + gSaveBlock1.enigmaBerry.berry.description2 = NULL; dest = (u8*)enigmaBerry; checksum = 0; @@ -1018,17 +1045,20 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) checksum += dest[i]; } + // the checksum is calculated: the descriptions are safe to restore now. gSaveBlock1.enigmaBerry.berry.description1 = description1; gSaveBlock1.enigmaBerry.berry.description2 = description2; return checksum; } +// due to e-reader scans being particularly volatile to failure, it is a requirement to check for +// their integrity here due to scans possibly failing to produce the correct result. bool32 IsEnigmaBerryValid(void) { - if (!gSaveBlock1.enigmaBerry.berry.stageDuration) + if (gSaveBlock1.enigmaBerry.berry.stageDuration == 0) return FALSE; - if (!gSaveBlock1.enigmaBerry.berry.maxYield) + if (gSaveBlock1.enigmaBerry.berry.maxYield == 0) return FALSE; if (GetEnigmaBerryChecksum(&gSaveBlock1.enigmaBerry) != gSaveBlock1.enigmaBerry.checksum) return FALSE; @@ -1037,37 +1067,51 @@ bool32 IsEnigmaBerryValid(void) const struct Berry *GetBerryInfo(u8 berry) { - if (berry == 0x2B && IsEnigmaBerryValid()) + // when getting the pointer to the berry info, enigma berries are handled differently. if your + // berry is an Enigma Berry and its checksum is valid, fetch the pointer to its information in + // the save block. + if (berry == GETBERRYID(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid()) return &gSaveBlock1.enigmaBerry.berry; else { - if (berry == 0 || berry > 0x2B) - berry = 1; + // invalid berries will be flattened into a cheri berry. Interestingly, if your berry was + // an enigma berry whos checksum failed, the game will use the Enigma Berry information + // for this: meaning if you see the Enigma Berry information, its actually because the + // checksum failed. + if (berry == BERRY_NONE || berry > GETBERRYID(LAST_BERRY)) + berry = GETBERRYID(FIRST_BERRY); return &gBerries[berry - 1]; } } -struct BerryTree *GetBerryTreeInfo(u8 id) +// the save file can handle up to a number of 128 berry trees as indicated by its definition +// in global.h. Interestingly, this function does not check that limit of 128. +static struct BerryTree *GetBerryTreeInfo(u8 id) { return &gSaveBlock1.berryTrees[id]; } +// this was called because the berry script was successful: meaning the player chose to +// water the tree. We need to check for the current tree stage and set the appropriate +// water flag to true. bool32 FieldObjectInteractionWaterBerryTree(void) { + // GetBerryTreeInfo does not sanitize the tree retrieved, but there are no known + // instances where this can cause problems. struct BerryTree *tree = GetBerryTreeInfo(FieldObjectGetBerryTreeId(gSelectedMapObject)); switch (tree->stage) { - case 1: + case BERRY_STAGE_PLANTED: tree->watered1 = TRUE; break; - case 2: + case BERRY_STAGE_SPROUTED: tree->watered2 = TRUE; break; - case 3: + case BERRY_STAGE_TALLER: tree->watered3 = TRUE; break; - case 4: + case BERRY_STAGE_FLOWERING: tree->watered4 = TRUE; break; default: @@ -1076,10 +1120,10 @@ bool32 FieldObjectInteractionWaterBerryTree(void) return TRUE; } -bool8 IsPlayerFacingPlantedBerryTree(void) +bool8 IsPlayerFacingUnplantedSoil(void) { - if (GetFieldObjectScriptPointerForComparison() == S_BerryTree - && GetStageByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject)) == 0) + if (GetFieldObjectScriptPointerPlayerFacing() == S_BerryTree + && GetStageByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject)) == BERRY_STAGE_NO_BERRY) return TRUE; else return FALSE; @@ -1087,7 +1131,7 @@ bool8 IsPlayerFacingPlantedBerryTree(void) bool8 TryToWaterBerryTree(void) { - if (GetFieldObjectScriptPointerForComparison() != S_BerryTree) + if (GetFieldObjectScriptPointerPlayerFacing() != S_BerryTree) return FALSE; else return FieldObjectInteractionWaterBerryTree(); @@ -1099,70 +1143,84 @@ void ClearBerryTrees(void) struct SaveBlock1 *saveBlock1 = &gSaveBlock1; struct BerryTree berryTree = gBlankBerryTree; - for (i = 0; i < (u8)ARRAY_COUNT(saveBlock1->berryTrees); i++) // casting to u8 fixes a mismatched signed compare. what + for (i = 0; i < MAX_BERRY_TREES; i++) saveBlock1->berryTrees[i] = berryTree; } -bool32 BerryTreeGrow(struct BerryTree *tree) +// when the player does not interact with the tree for a period of time, this is called +// to advance the grow state. +static bool32 BerryTreeGrow(struct BerryTree *tree) { if (tree->growthSparkle) return FALSE; switch (tree->stage) { - case 0: + case BERRY_STAGE_NO_BERRY: return FALSE; - case 4: + case BERRY_STAGE_FLOWERING: tree->berryYield = CalcBerryYield(tree); - case 1: - case 2: - case 3: + case BERRY_STAGE_PLANTED: + case BERRY_STAGE_SPROUTED: + case BERRY_STAGE_TALLER: tree->stage++; break; - case 5: + case BERRY_STAGE_BERRIES: tree->watered1 = 0; tree->watered2 = 0; tree->watered3 = 0; tree->watered4 = 0; tree->berryYield = 0; - tree->stage = 2; - if (++tree->regrowthCount == 10) + tree->stage = BERRY_STAGE_SPROUTED; + if (++tree->regrowthCount == BERRY_REGROW_LIMIT) *tree = gBlankBerryTree; break; } return TRUE; } -void BerryTreeTimeUpdate(s32 minutes) +void BerryTreeTimeUpdate(s32 minutesPassed) { int i; struct BerryTree *tree; - for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.berryTrees); i++) + for (i = 0; i < MAX_BERRY_TREES; i++) { tree = &gSaveBlock1.berryTrees[i]; - if (tree->berry && tree->stage && !tree->growthSparkle) + if (tree->berry != BERRY_NONE && tree->stage != BERRY_STAGE_NO_BERRY && tree->growthSparkle == FALSE) { - if (minutes >= GetStageDurationByBerryType(tree->berry) * 71) + // the player has waited too long to water the berry. Reset the tree. This is because + // if the berry state is not in the unwatered state, the tree will grow anyway despite this + // check, which means BerryTreeGrow will handle the regrow process for this, removing the + // need for this check. This only handles the unwatered soil state. + if (minutesPassed >= GetStageDurationByBerryType(tree->berry) * 71) { *tree = gBlankBerryTree; } else { - s32 time = minutes; + // because time is altered below, perhaps they thought it was unsafe to change it, even + // though that is not how passed arguments behave. + s32 time = minutesPassed; while (time != 0) { if (tree->minutesUntilNextStage > time) { - tree->minutesUntilNextStage -= time; + // its been X minutes since the last berry update, so update + // minutesUntilNextStage appropriately to match the time offset + // that has passed since the update. + tree->minutesUntilNextStage -= time; break; } + // perform the subtraction the other way around to get the number of minutes since + // the inferred stage update that occured, since minutesUntilNextStage is <= time. + // we may need this variable to simulate multiple berry cycles in the while loop. time -= tree->minutesUntilNextStage; - tree->minutesUntilNextStage = GetStageDurationByBerryType(tree->berry); - if (!BerryTreeGrow(tree)) + tree->minutesUntilNextStage = GetStageDurationByBerryType(tree->berry); // since the tree was inferred to update, set the new minutesUntilNextStage. + if (BerryTreeGrow(tree) == FALSE) break; - if (tree->stage == 5) + if (tree->stage == BERRY_STAGE_BERRIES) tree->minutesUntilNextStage *= 4; } } @@ -1170,7 +1228,7 @@ void BerryTreeTimeUpdate(s32 minutes) } } -void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle) +void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 noSparkle) { struct BerryTree *tree = GetBerryTreeInfo(id); @@ -1178,12 +1236,12 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle) tree->berry = berry; tree->minutesUntilNextStage = GetStageDurationByBerryType(berry); tree->stage = stage; - if (stage == 5) + if (stage == BERRY_STAGE_BERRIES) { tree->berryYield = CalcBerryYield(tree); tree->minutesUntilNextStage *= 4; } - if (!sparkle) + if (noSparkle == FALSE) { tree->growthSparkle = TRUE; } @@ -1209,19 +1267,19 @@ u8 ItemIdToBerryType(u16 item) u16 berry = item - FIRST_BERRY; if (berry > LAST_BERRY - FIRST_BERRY) - return 1; + return GETBERRYID(FIRST_BERRY); else - return item - FIRST_BERRY + 1; + return GETBERRYID(item); } -u16 BerryTypeToItemId(u16 berry) +static u16 BerryTypeToItemId(u16 berry) { u16 item = berry - 1; if (item > LAST_BERRY - FIRST_BERRY) return FIRST_BERRY; else - return berry + FIRST_BERRY - 1; + return GETITEMID(berry); } void GetBerryNameByBerryType(u8 berry, u8 *string) @@ -1232,10 +1290,10 @@ void GetBerryNameByBerryType(u8 berry, u8 *string) void ResetBerryTreeSparkleFlag(u8 id) { - GetBerryTreeInfo(id)->growthSparkle = 0; + GetBerryTreeInfo(id)->growthSparkle = FALSE; } -u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree) +static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree) { u8 count = 0; @@ -1250,18 +1308,20 @@ u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree) return count; } -u8 GetNumStagesWateredByBerryTreeId(u8 id) +static u8 GetNumStagesWateredByBerryTreeId(u8 id) { return BerryTreeGetNumStagesWatered(GetBerryTreeInfo(id)); } -u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water) +static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water) { u32 randMin; u32 randMax; u32 rand; u32 extraYield; + // depending on if the player gave the tree plenty of water, berry yield will be affected proportionally. + if (water == 0) return min; else @@ -1270,7 +1330,7 @@ u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water) randMax = (max - min) * (water); rand = randMin + Random() % (randMax - randMin + 1); - if ((rand & 3) > 1) + if ((rand % 4) > 1) extraYield = rand / 4 + 1; else extraYield = rand / 4; @@ -1278,7 +1338,7 @@ u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water) } } -u8 CalcBerryYield(struct BerryTree *tree) +static u8 CalcBerryYield(struct BerryTree *tree) { const struct Berry *berry = GetBerryInfo(tree->berry); u8 min = berry->minYield; @@ -1287,12 +1347,12 @@ u8 CalcBerryYield(struct BerryTree *tree) return CalcBerryYieldInternal(max, min, BerryTreeGetNumStagesWatered(tree)); } -u8 GetBerryCountByBerryTreeId(u8 id) +static u8 GetBerryCountByBerryTreeId(u8 id) { return gSaveBlock1.berryTrees[id].berryYield; } -u16 GetStageDurationByBerryType(u8 berry) +static u16 GetStageDurationByBerryType(u8 berry) { return GetBerryInfo(berry)->stageDuration * 60; } @@ -1301,18 +1361,23 @@ void FieldObjectInteractionGetBerryTreeData(void) { u8 id; u8 berry; - u8 unk; + u8 localId; u8 group; u8 num; id = FieldObjectGetBerryTreeId(gSelectedMapObject); berry = GetBerryTypeByBerryTreeId(id); ResetBerryTreeSparkleFlag(id); - unk = gScriptLastTalked; + localId = gScriptLastTalked; num = gSaveBlock1.location.mapNum; group = gSaveBlock1.location.mapGroup; - if (sub_8060234(unk, num, group)) - gSpecialVar_0x8004 = 0xFF; + if (IsBerryTreeSparkling(localId, num, group)) + { + // we cannot allow the player to grow/interact with the tree while the tree + // is undergoing the sparkling effect, so set the special var to the sparkling + // state and let the event script process the flag. + gSpecialVar_0x8004 = BERRY_STAGE_SPARKLING; + } else gSpecialVar_0x8004 = GetStageByBerryTreeId(id); gSpecialVar_0x8005 = GetNumStagesWateredByBerryTreeId(id); @@ -1320,7 +1385,7 @@ void FieldObjectInteractionGetBerryTreeData(void) GetBerryNameByBerryType(berry, gStringVar1); } -void sub_80B4EE4(void) +void Berry_FadeAndGoToBerryBagMenu(void) { SetMainCallback2(sub_80A68CC); } @@ -1347,11 +1412,13 @@ void FieldObjectInteractionRemoveBerryTree(void) sub_8060288(gScriptLastTalked, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } -u8 PlayerHasBerries(void) +bool8 PlayerHasBerries(void) { return IsBagPocketNonEmpty(BAG_BERRIES); } +// whenever the player is not within view of the berry tree during its sparkle state, the +// sparkle state will be reset. void ResetBerryTreeSparkleFlags(void) { s16 cam_left; @@ -1369,7 +1436,7 @@ void ResetBerryTreeSparkleFlags(void) bottom = top + 8; for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.mapObjects); i++) { - if (gMapObjects[i].active && gMapObjects[i].animPattern == 12) + if (gMapObjects[i].active && gMapObjects[i].animPattern == 12) // is the object an active berry tree? { cam_left = gMapObjects[i].coords2.x; cam_top = gMapObjects[i].coords2.y; diff --git a/src/berry_tag_screen.c b/src/field/berry_tag_screen.c index 1413a02ca..1413a02ca 100644 --- a/src/berry_tag_screen.c +++ b/src/field/berry_tag_screen.c diff --git a/src/field/bike.c b/src/field/bike.c new file mode 100644 index 000000000..e36ae1798 --- /dev/null +++ b/src/field/bike.c @@ -0,0 +1,1051 @@ +#include "global.h" +#include "bike.h" +#include "field_map_obj.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "flags.h" +#include "global.fieldmap.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "songs.h" +#include "sound.h" + +extern bool8 gBikeCyclingChallenge; +extern u8 gBikeCollisions; +extern u8 gUnusedBikeCameraAheadPanback; + +static void MovePlayerOnMachBike(u8, u16, u16); +static u8 GetMachBikeTransition(u8 *); +static void MachBikeTransition_FaceDirection(u8); +static void MachBikeTransition_TurnDirection(u8); +static void MachBikeTransition_TrySpeedUp(u8); +static void MachBikeTransition_TrySlowDown(u8); +static void MovePlayerOnAcroBike(u8, u16, u16); +static u8 CheckMovementInputAcroBike(u8 *, u16, u16); +static u8 AcroBikeHandleInputNormal(u8 *, u16, u16); +static u8 AcroBikeHandleInputTurning(u8 *, u16, u16); +static u8 AcroBikeHandleInputWheelieStanding(u8 *, u16, u16); +static u8 AcroBikeHandleInputBunnyHop(u8 *, u16, u16); +static u8 AcroBikeHandleInputWheelieMoving(u8 *, u16, u16); +static u8 AcroBikeHandleInputSidewaysJump(u8 *, u16, u16); +static u8 AcroBikeHandleInputTurnJump(u8 *, u16, u16); +static void AcroBikeTransition_FaceDirection(u8); +static void AcroBikeTransition_TurnDirection(u8); +static void AcroBikeTransition_Moving(u8); +static void AcroBikeTransition_NormalToWheelie(u8); +static void AcroBikeTransition_WheelieToNormal(u8); +static void AcroBikeTransition_WheelieIdle(u8); +static void AcroBikeTransition_WheelieHoppingStanding(u8); +static void AcroBikeTransition_WheelieHoppingMoving(u8); +static void AcroBikeTransition_SideJump(u8); +static void AcroBikeTransition_TurnJump(u8); +static void AcroBikeTransition_WheelieMoving(u8); +static void AcroBikeTransition_WheelieRisingMoving(u8); +static void AcroBikeTransition_WheelieLoweringMoving(u8); +static void AcroBike_TryHistoryUpdate(u16, u16); +static u8 AcroBike_GetJumpDirection(void); +static void Bike_UpdateDirTimerHistory(u8); +static void Bike_UpdateABStartSelectHistory(u8); +static u8 Bike_DPadToDirection(u16); +static u8 get_some_collision(u8); +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *, s16, s16, u8, u8); +static bool8 IsRunningDisallowedByMetatile(u8); +static void Bike_TryAdvanceCyclingRoadCollisions(); +static u8 CanBikeFaceDirOnMetatile(u8, u8); +static bool8 WillPlayerCollideWithCollision(u8, u8); +static void Bike_SetBikeStill(void); + +/* + A bike transition is a type of callback for the bike that actually + modifies the bicycle's direction or momentum or otherwise movement. + Alternatively, a bike may also have input handlers which process the + bike transition to call: the acro bike has input handlers while the mach + bike does not. This is because the Acro needs to know the button inputs + for its complex tricks and actions. +*/ + +static void (*const sMachBikeTransitions[])(u8) = +{ + MachBikeTransition_FaceDirection, // Face vs Turn: Face has no anim while Turn does. Turn checks for collision because if you turn right as opposed to face right, if there is a wall there, turn will make a bonk sound effect while face will not. + MachBikeTransition_TurnDirection, + MachBikeTransition_TrySpeedUp, + MachBikeTransition_TrySlowDown, +}; + +// bikeFrameCounter is input which is represented by gMachBikeSpeeds in order: 0 is normal speed (1 speed), 1 is fast speed (2 speed), 2 is fastest speed (4 speed) +static void (*const sMachBikeSpeedCallbacks[])(u8) = +{ + PlayerGoSpeed1, // normal speed (1 speed) + PlayerGoSpeed2, // fast speed (2 speed) + PlayerGoSpeed4, // fastest speed (4 speed) +}; + +static void (*const sAcroBikeTransitions[])(u8) = +{ + AcroBikeTransition_FaceDirection, + AcroBikeTransition_TurnDirection, + AcroBikeTransition_Moving, + AcroBikeTransition_NormalToWheelie, + AcroBikeTransition_WheelieToNormal, + AcroBikeTransition_WheelieIdle, + AcroBikeTransition_WheelieHoppingStanding, + AcroBikeTransition_WheelieHoppingMoving, + AcroBikeTransition_SideJump, + AcroBikeTransition_TurnJump, + AcroBikeTransition_WheelieMoving, + AcroBikeTransition_WheelieRisingMoving, + AcroBikeTransition_WheelieLoweringMoving, +}; + +static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) = +{ + AcroBikeHandleInputNormal, + AcroBikeHandleInputTurning, + AcroBikeHandleInputWheelieStanding, + AcroBikeHandleInputBunnyHop, + AcroBikeHandleInputWheelieMoving, + AcroBikeHandleInputSidewaysJump, + AcroBikeHandleInputTurnJump, +}; + +// used with bikeFrameCounter from mach bike +const u16 gMachBikeSpeeds[] = {SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST}; + +// this is a list of timers to compare against later, terminated with 0. the only timer being compared against is 4 frames in this list. +static const u8 AcroBikeJumpTimerList[] = {4, 0}; + +// this is a list of history inputs to do in order to do the check to retrieve a jump direction for acro bike. it seems to be an extensible list, so its possible that Game Freak may have intended for the Acro Bike to have more complex tricks at some point. The final list only has the acro jump. +static const struct BikeHistoryInputInfo gAcroBikeTricksList[] = +{ + // the 0xF is a mask performed with each byte of the array in order to perform the check on only the last entry of the history list, otherwise the check wouldnt work as there can be 0xF0 as opposed to 0x0F. + {DIR_SOUTH, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_SOUTH}, + {DIR_NORTH, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_NORTH}, + {DIR_WEST, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_WEST}, + {DIR_EAST, B_BUTTON, 0xF, 0xF, AcroBikeJumpTimerList, AcroBikeJumpTimerList, DIR_EAST}, +}; + +void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + MovePlayerOnMachBike(direction, newKeys, heldKeys); + else + MovePlayerOnAcroBike(direction, newKeys, heldKeys); +} + +static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys) +{ + sMachBikeTransitions[GetMachBikeTransition(&direction)](direction); +} + +// dirTraveling is a variable that is 0 when the player is standing still. +static u8 GetMachBikeTransition(u8 *dirTraveling) +{ + // if the dir updated before this function, get the relevent new direction to check later. + u8 direction = player_get_direction_upper_nybble(); + + // is the player standing still? + if (*dirTraveling == 0) + { + *dirTraveling = direction; // update the direction, since below we either faced a direction or we started moving. + if (gPlayerAvatar.bikeSpeed == SPEED_STANDING) + { + gPlayerAvatar.runningState = NOT_MOVING; + return MACH_TRANS_FACE_DIRECTION; + } + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_START_MOVING; + } + + // we need to check if the last traveled direction changed from the new direction as well as ensuring that we dont update the state while the player is moving: see the else check. + if (*dirTraveling != direction && gPlayerAvatar.runningState != MOVING) + { + if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) + { + *dirTraveling = direction; // implement the new direction + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_START_MOVING; + } + // if you didnt start moving but your dir was different, do a turn direction instead. + gPlayerAvatar.runningState = TURN_DIRECTION; + return MACH_TRANS_TURN_DIRECTION; + } + else // the player is either going in the current direction and hasnt changed or their state is currently moving. + { + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_KEEP_MOVING; + } +} + +// the difference between face direction and turn direction is that one changes direction while the other does the animation of turning as well as changing direction. +static void MachBikeTransition_FaceDirection(u8 direction) +{ + PlayerFaceDirection(direction); + Bike_SetBikeStill(); +} + +static void MachBikeTransition_TurnDirection(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E)) + { + PlayerTurnInPlace(direction); + Bike_SetBikeStill(); + } + else + { + MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18); + } +} + +static void MachBikeTransition_TrySpeedUp(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 collision; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE) + { + // we cannot go forward, so either slow down or, if we are stopped, idle face direction. + if (gPlayerAvatar.bikeSpeed) + MachBikeTransition_TrySlowDown(playerMapObj->placeholder18); + else + MachBikeTransition_FaceDirection(playerMapObj->placeholder18); + } + else + { + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + // we hit a solid object, but check to see if its a ledge and then jump. + if (collision == COLLISION_LEDGE_JUMP) + { + PlayerJumpLedge(direction); + } + else + { + // we hit a solid object that is not a ledge, so perform the collision. + Bike_SetBikeStill(); + if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + } + else + { + // we did not hit anything that can slow us down, so perform the advancement callback depending on the bikeFrameCounter and try to increase the mach bike's speed. + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); + gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1 + if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array + gPlayerAvatar.bikeFrameCounter++; + } + } +} + +static void MachBikeTransition_TrySlowDown(u8 var) +{ + u8 collision; + + if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) + gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed; + + collision = get_some_collision(var); + + if (collision > 0 && collision < 12) + { + if (collision == COLLISION_LEDGE_JUMP) + { + PlayerJumpLedge(var); + } + else + { + Bike_SetBikeStill(); + if (collision < 5 || collision > 8) + PlayerOnBikeCollide(var); + } + } + else + { + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](var); + } +} + +// the acro bike requires the input handler to be executed before the transition can. +static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) +{ + sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection); +} + +static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys); +} + +static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction = player_get_direction_upper_nybble(); + + gPlayerAvatar.bikeFrameCounter = 0; + if (*newDirection == DIR_NONE) + { + if (newKeys & B_BUTTON) + { + //We're standing still with the B button held. + //Do a wheelie. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return ACRO_TRANS_NORMAL_TO_WHEELIE; + } + else + { + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_FACE_DIRECTION; + } + } + if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.bikeSpeed == SPEED_STANDING) + { + gPlayerAvatar.bikeSpeed++; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; + return ACRO_TRANS_WHEELIE_RISING_MOVING; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.acroBikeState = ACRO_STATE_TURNING; + gPlayerAvatar.newDirBackup = *newDirection; + gPlayerAvatar.runningState = NOT_MOVING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_MOVING; +} + +static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + + *newDirection = gPlayerAvatar.newDirBackup; + gPlayerAvatar.bikeFrameCounter++; + + // Wait 6 frames before actually changing direction + if (gPlayerAvatar.bikeFrameCounter > 6) // ... because it takes 6 frames to advance 1 tile. + { + gPlayerAvatar.runningState = TURN_DIRECTION; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + Bike_SetBikeStill(); + return ACRO_TRANS_TURN_DIRECTION; + } + direction = player_get_direction_upper_nybble(); + if (*newDirection == AcroBike_GetJumpDirection()) + { + Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump. + gPlayerAvatar.bikeSpeed = SPEED_NORMAL; + if (*newDirection == GetOppositeDirection(direction)) + { + // do a turn jump. + // no need to update runningState, didnt move. + gPlayerAvatar.acroBikeState = ACRO_STATE_TURN_JUMP; + return ACRO_TRANS_TURN_JUMP; + } + else + { + // do a sideways jump. + gPlayerAvatar.runningState = MOVING; // we need to move, set state to moving. + gPlayerAvatar.acroBikeState = ACRO_STATE_SIDE_JUMP; + return ACRO_TRANS_SIDE_JUMP; + } + } + *newDirection = direction; + return ACRO_TRANS_FACE_DIRECTION; +} + +static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_upper_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + gPlayerAvatar.runningState = NOT_MOVING; + + if (heldKeys & B_BUTTON) + gPlayerAvatar.bikeFrameCounter++; + else + { + // B button was released. + gPlayerAvatar.bikeFrameCounter = 0; + if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // Go back to normal on flat ground + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + } + if (gPlayerAvatar.bikeFrameCounter >= 40) + { + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_BUNNY_HOP; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + if (*newDirection == direction) + { + gPlayerAvatar.runningState = MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_MOVING; + } + if (*newDirection == 0) + { + *newDirection = direction; + return ACRO_TRANS_WHEELIE_IDLE; + } + gPlayerAvatar.runningState = TURN_DIRECTION; + return ACRO_TRANS_WHEELIE_IDLE; +} + +static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_upper_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!(heldKeys & B_BUTTON)) + { + // B button was released + Bike_SetBikeStill(); + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // even though B was released, dont undo the wheelie on the bumpy slope. + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + else + { + // .. otherwise, go back to normal on flat ground + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + } + + // B Button is still held + + if (*newDirection == DIR_NONE) + { + // we did not move, so keep hopping in place without moving. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + // we changed direction, so turn but do not move hop. + gPlayerAvatar.runningState = TURN_DIRECTION; + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + // otherwise, we started moving while hopping + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_HOPPING_MOVING; +} + +static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_lower_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!(heldKeys & B_BUTTON)) + { + // we were moving on a wheelie, but we let go while moving. reset bike still status + Bike_SetBikeStill(); + if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + if (*newDirection == DIR_NONE) + { + // we stopped moving but are turning, still try to lower the wheelie in place. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + // we did not turn while lowering wheelie, so do so without turning. + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + // if we are moving while lowering wheelie, put the acro into a lowering state while moving. + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_LOWERING_MOVING; + } + // please do not undo the wheelie on a bumpy slope + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + // we are still holding B. + if (*newDirection == DIR_NONE) + { + // idle the wheelie in place because we're holding B without moving. + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + gPlayerAvatar.runningState = NOT_MOVING; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_IDLE; + } + if (direction != *newDirection && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_IDLE; + } + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_MOVING; +} + +static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + playerMapObj->mapobj_bit_9 = 0; + FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); +} + +static u8 AcroBikeHandleInputTurnJump(u8 *ptr, u16 newKeys, u16 heldKeys) +{ + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); +} + +static void AcroBikeTransition_FaceDirection(u8 direction) +{ + PlayerFaceDirection(direction); +} + +static void AcroBikeTransition_TurnDirection(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerFaceDirection(direction); +} + +static void AcroBikeTransition_Moving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + AcroBikeTransition_FaceDirection(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == COLLISION_LEDGE_JUMP) + PlayerJumpLedge(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + else + { + npc_use_some_d2s(direction); + } +} + +static void AcroBikeTransition_NormalToWheelie(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerStartWheelie(direction); +} + +static void AcroBikeTransition_WheelieToNormal(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerEndWheelie(direction); +} + +static void AcroBikeTransition_WheelieIdle(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerIdleWheelie(direction); +} + +static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerStandingHoppingWheelie(direction); +} + +static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) +{ + u8 var; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18); + return; + } + var = get_some_collision(direction); + //TODO: Try to get rid of this goto + if (var == 0 || var == 9) + { + goto derp; + } + else if (var == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (var < 5 || var > 8) + { + if (var <= 11) + { + AcroBikeTransition_WheelieHoppingStanding(direction); + } + else + { + derp: + PlayerMovingHoppingWheelie(direction); + } + } +} + +static void AcroBikeTransition_SideJump(u8 direction) +{ + u8 var; + struct MapObject *playerMapObj; + + var = get_some_collision(direction); + if (var != 0) + { + if (var == 7) + return; + if (var < 10) + { + AcroBikeTransition_TurnDirection(direction); + return; + } + if (WillPlayerCollideWithCollision(var, direction) == FALSE) + { + AcroBikeTransition_TurnDirection(direction); + return; + } + } + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + PlaySE(SE_JITE_PYOKO); + playerMapObj->mapobj_bit_9 = 1; + PlayerSetAnimId(sub_80608A4(direction), 2); +} + +static void AcroBikeTransition_TurnJump(u8 direction) +{ + PlayerAcroTurnJump(direction); +} + +static void AcroBikeTransition_WheelieMoving(u8 direction) +{ + u8 var; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerIdleWheelie(playerMapObj->placeholder18); + return; + } + var = get_some_collision(direction); + if (var > 0 && var < 12) + { + if (var == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (var == 9) + { + PlayerIdleWheelie(direction); + } + else if (var <= 4) + { + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + PlayerIdleWheelie(direction); + else + sub_80595DC(direction); //hit wall? + } + return; + } + sub_8059618(direction); + gPlayerAvatar.runningState = MOVING; +} + +static void AcroBikeTransition_WheelieRisingMoving(u8 direction) +{ + u8 var; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerStartWheelie(playerMapObj->placeholder18); + return; + } + var = get_some_collision(direction); + if (var > 0 && var < 12) + { + if (var == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (var == 9) + { + PlayerIdleWheelie(direction); + } + else if (var <= 4) + { + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + PlayerIdleWheelie(direction); + else + sub_80595DC(direction); //hit wall? + } + return; + } + sub_8059600(direction); + gPlayerAvatar.runningState = MOVING; +} + +static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) +{ + u8 var; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerEndWheelie(playerMapObj->placeholder18); + return; + } + var = get_some_collision(direction); + if (var > 0 && var < 12) + { + if (var == 6) + PlayerJumpLedge(direction); + else if (var < 5 || var > 8) + PlayerEndWheelie(direction); + return; + } + sub_8059630(direction); +} + +void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + AcroBike_TryHistoryUpdate(newKeys, heldKeys); +} + +static void AcroBike_TryHistoryUpdate(u16 newKeys, u16 heldKeys) // newKeys is unused +{ + u8 direction = Bike_DPadToDirection(heldKeys); + + if (direction == (gPlayerAvatar.directionHistory & 0xF)) + { + // increment the timer for direction history since last input. + if (gPlayerAvatar.dirTimerHistory[0] < 0xFF) + gPlayerAvatar.dirTimerHistory[0]++; + } + else + { + Bike_UpdateDirTimerHistory(direction); + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + } + + direction = heldKeys & (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON); // directions is reused for some reason. + if (direction == (gPlayerAvatar.abStartSelectHistory & 0xF)) + { + if (gPlayerAvatar.abStartSelectTimerHistory[0] < 0xFF) + gPlayerAvatar.abStartSelectTimerHistory[0]++; + } + else + { + Bike_UpdateABStartSelectHistory(direction); + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + } +} + +static bool8 HasPlayerInputTakenLongerThanList(const u8 *dirTimerList, const u8 *abStartSelectTimerList) +{ + u8 i; + + for (i = 0; dirTimerList[i] != 0; i++) + { + if (gPlayerAvatar.dirTimerHistory[i] > dirTimerList[i]) + return FALSE; + } + for (i = 0; abStartSelectTimerList[i] != 0; i++) + { + if (gPlayerAvatar.abStartSelectTimerHistory[i] > abStartSelectTimerList[i]) + return FALSE; + } + return TRUE; +} + +static u8 AcroBike_GetJumpDirection(void) +{ + u32 i; + + for (i = 0; i < 4; i++) + { + const struct BikeHistoryInputInfo *historyInputInfo = &gAcroBikeTricksList[i]; + u32 dirHistory = gPlayerAvatar.directionHistory; + u32 abStartSelectHistory = gPlayerAvatar.abStartSelectHistory; + + dirHistory &= historyInputInfo->dirHistoryMask; + abStartSelectHistory &= historyInputInfo->abStartSelectHistoryMask; + if (dirHistory == historyInputInfo->dirHistoryMatch && abStartSelectHistory == historyInputInfo->abStartSelectHistoryMatch && HasPlayerInputTakenLongerThanList(historyInputInfo->dirTimerHistoryList, historyInputInfo->abStartSelectHistoryList)) + return historyInputInfo->direction; + } + return 0; +} + +static void Bike_UpdateDirTimerHistory(u8 dir) +{ + u8 i; + + gPlayerAvatar.directionHistory = (gPlayerAvatar.directionHistory << 4) | (dir & 0xF); + + for (i = 7; i != 0; i--) + gPlayerAvatar.dirTimerHistory[i] = gPlayerAvatar.dirTimerHistory[i - 1]; + gPlayerAvatar.dirTimerHistory[0] = 1; +} + +static void Bike_UpdateABStartSelectHistory(u8 input) +{ + u8 i; + + gPlayerAvatar.abStartSelectHistory = (gPlayerAvatar.abStartSelectHistory << 4) | (input & 0xF); + + for (i = 7; i != 0; i--) + gPlayerAvatar.abStartSelectTimerHistory[i] = gPlayerAvatar.abStartSelectTimerHistory[i - 1]; + gPlayerAvatar.abStartSelectTimerHistory[0] = 1; +} + +static u8 Bike_DPadToDirection(u16 heldKeys) +{ + if (heldKeys & DPAD_UP) + return DIR_NORTH; + if (heldKeys & DPAD_DOWN) + return DIR_SOUTH; + if (heldKeys & DPAD_LEFT) + return DIR_WEST; + if (heldKeys & DPAD_RIGHT) + return DIR_EAST; + return DIR_NONE; +} + +static u8 get_some_collision(u8 direction) +{ + s16 x; + s16 y; + u8 metatitleBehavior; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + x = playerMapObj->coords2.x; + y = playerMapObj->coords2.y; + MoveCoords(direction, &x, &y); + metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); + return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior); +} + +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) +{ + u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior); + + if (collision > 4) + return collision; + + if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior)) + collision = 2; + + if (collision) + Bike_TryAdvanceCyclingRoadCollisions(); + + return collision; +} + +bool8 IsRunningDisallowed(u8 tile) +{ + if (IsRunningDisallowedByMetatile(tile) != FALSE || gMapHeader.mapType == MAP_TYPE_INDOOR) + return TRUE; + else + return FALSE; +} + +static bool8 IsRunningDisallowedByMetatile(u8 tile) +{ + if (MetatileBehavior_IsRunningDisallowed(tile)) + return TRUE; + if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0) + return TRUE; + return FALSE; +} + +static void Bike_TryAdvanceCyclingRoadCollisions(void) +{ + if (gBikeCyclingChallenge != FALSE && gBikeCollisions < 100) + gBikeCollisions++; +} + +static bool8 CanBikeFaceDirOnMetatile(u8 direction, u8 tile) +{ + if (direction == DIR_EAST || direction == DIR_WEST) + { + //Bike cannot face east or west on a vertical rail + if (MetatileBehavior_IsIsolatedVerticalRail(tile) + || MetatileBehavior_IsVerticalRail(tile)) + return FALSE; + } + else + { + //Bike cannot face north or south on a horizontal rail + if (MetatileBehavior_IsIsolatedHorizontalRail(tile) + || MetatileBehavior_IsHorizontalRail(tile)) + return FALSE; + } + return TRUE; +} + +static bool8 WillPlayerCollideWithCollision(u8 newTileCollision, u8 direction) +{ + if (direction == DIR_NORTH || direction == DIR_SOUTH) + { + if (newTileCollision == 10 || newTileCollision == 12) + return FALSE; + } + else if (newTileCollision == 11 || newTileCollision == 13) + { + return FALSE; + } + + return TRUE; +} + +bool8 IsBikingDisallowedByPlayer(void) +{ + s16 x, y; + u8 tileBehavior; + + if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4))) + { + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (!IsRunningDisallowedByMetatile(tileBehavior)) + return FALSE; + } + return TRUE; +} + +bool8 player_should_look_direction_be_enforced_upon_movement(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE) + return FALSE; + else + return TRUE; +} + +void GetOnOffBike(u8 var) +{ + gUnusedBikeCameraAheadPanback = FALSE; + + if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) + { + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + Overworld_ClearSavedMusic(); + Overworld_PlaySpecialMapMusic(); + } + else + { + SetPlayerAvatarTransitionFlags(var); + Overworld_SetSavedMusic(BGM_CYCLING); + Overworld_ChangeMusicTo(BGM_CYCLING); + } +} + +void BikeClearState(int newDirHistory, int newAbStartHistory) +{ + u8 i; + + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + gPlayerAvatar.newDirBackup = DIR_NONE; + gPlayerAvatar.bikeFrameCounter = 0; + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + gPlayerAvatar.directionHistory = newDirHistory; + gPlayerAvatar.abStartSelectHistory = newAbStartHistory; + + for (i = 0; i < 8; i++) + gPlayerAvatar.dirTimerHistory[i] = 0; + + for (i = 0; i < 8; i++) + gPlayerAvatar.abStartSelectTimerHistory[i] = 0; +} + +void Bike_UpdateBikeCounterSpeed(u8 counter) +{ + gPlayerAvatar.bikeFrameCounter = counter; + gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // lazy way of multiplying by 1.5. +} + +static void Bike_SetBikeStill(void) +{ + gPlayerAvatar.bikeFrameCounter = 0; + gPlayerAvatar.bikeSpeed = SPEED_STANDING; +} + +s16 GetPlayerSpeed(void) +{ + // because the player pressed a direction, it won't ever return a speed of 0 since this function returns the player's current speed. + s16 machSpeeds[3]; + + memcpy(machSpeeds, gMachBikeSpeeds, sizeof(machSpeeds)); + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + return machSpeeds[gPlayerAvatar.bikeFrameCounter]; + else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + return SPEED_FASTER; + else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH)) + return SPEED_FAST; + else + return SPEED_NORMAL; +} + +void Bike_HandleBumpySlopeJump(void) +{ + s16 x, y; + u8 tileBehavior; + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + { + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsBumpySlope(tileBehavior)) + { + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + sub_8059C94(player_get_direction_upper_nybble()); + } + } +} diff --git a/src/birch_pc.c b/src/field/birch_pc.c index 5fb6427c3..9872dd54d 100644 --- a/src/birch_pc.c +++ b/src/field/birch_pc.c @@ -91,15 +91,15 @@ const u8 *GetPokedexRatingText(u16 count) return gBirchDexRatingText_LessThan200; if (count == 200) { - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1) - || GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200. + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1) + || GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200. return gBirchDexRatingText_LessThan200; return gBirchDexRatingText_DexCompleted; } if (count == 201) { - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1) - && GetNationalPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // If both of these flags are enabled, it means the actual count is less than 200. + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1) + && GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // If both of these flags are enabled, it means the actual count is less than 200. return gBirchDexRatingText_LessThan200; return gBirchDexRatingText_DexCompleted; } diff --git a/src/braille_puzzles.c b/src/field/braille_puzzles.c index b11b1ff3a..b11b1ff3a 100644 --- a/src/braille_puzzles.c +++ b/src/field/braille_puzzles.c diff --git a/src/choose_party.c b/src/field/choose_party.c index 9cdf63fc8..adb210e7b 100644 --- a/src/choose_party.c +++ b/src/field/choose_party.c @@ -18,71 +18,23 @@ #include "task.h" #include "text.h" -struct UnknownPokemonStruct2 -{ - /*0x00*/ u16 species; - /*0x02*/ u16 heldItem; - /*0x04*/ u8 nickname[11]; - /*0x0F*/ u8 level; - /*0x10*/ u16 hp; - /*0x12*/ u16 maxhp; - /*0x14*/ u32 status; - /*0x18*/ u32 personality; - /*0x1C*/ u8 gender; - /*0x1D*/ u8 language; -}; - extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; extern u8 gUnknown_020384F0; extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; extern u8 gUnknown_0202E8F6; extern struct Pokemon gUnknown_030042FC[]; -extern const u16 gBattleTowerBanlist[]; +extern const u16 gBattleTowerBannedSpecies[]; EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0}; -extern void OpenPartyMenu(); -extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *); -extern void LoadHeldItemIconGraphics(void); -extern void CreateHeldItemIcons_806DC34(); extern u8 sub_806BD58(u8, u8); extern void PartyMenuPrintMonsLevelOrStatus(void); -extern void PrintPartyMenuMonNicknames(void); extern void sub_806BC3C(u8, u8); -extern u8 sub_806B58C(u8); -extern u16 sub_806BE38(); -extern u8 sub_806CA38(); -extern TaskFunc PartyMenuGetPopupMenuFunc(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, u8); -extern u8 sub_806B124(); -extern void sub_806C994(); -extern void sub_806C658(); -extern void sub_806AEDC(void); -extern void sub_806AF4C(); extern void ShowPokemonSummaryScreen(struct Pokemon *, u8, u8, void (*)(void), int); -extern void sub_806C890(); -extern void sub_806D5A4(); -extern void sub_806B908(void); -extern void CreateMonIcon_806D99C(int, u8, int, struct UnknownPokemonStruct2 *); -extern void sub_806D50C(int, u8); -extern void CreatePartyMenuMonIcon(); -extern void CreateHeldItemIcon_806DCD4(int, u8, int); extern u8 GetMonStatusAndPokerus(); extern void PartyMenuPrintHP(); -extern void PartyMenuPutStatusTilemap(u8, int, u8); -extern void PartyMenuPrintLevel(); -extern void PartyMenuPutNicknameTilemap(); -extern void PrintPartyMenuMonNickname(); -extern void PartyMenuDrawHPBar(); extern bool8 sub_80F9344(void); -extern void sub_806D4AC(); -extern void sub_806D3B4(); -extern void PartyMenuDoPrintLevel(u8, u8, u8); -extern void PartyMenuDoDrawHPBar(u8, u8, u16, u16); -extern void PartyMenuDoPutNicknameTilemap(u16, u8, u8, u8, const u8 *); -extern void box_print(u8, int, const u8 *); -extern void sub_806BCE8(void); -extern void sub_806E750(u8, const struct PartyPopupMenu *, const struct PartyMenuItem *, int); static void ClearPartySelection(void); static bool8 IsMonAllowedInBattleTower(struct Pokemon *); @@ -106,14 +58,14 @@ void sub_8121E10(void) { ClearPartySelection(); ewram1B000.unk263 = 0; - OpenPartyMenu(4, 0); + OpenPartyMenu(PARTY_MENU_TYPE_BATTLE_TOWER, 0); } void sub_8121E34(void) { ClearPartySelection(); ewram1B000.unk263 = 1; - OpenPartyMenu(4, 0); + OpenPartyMenu(PARTY_MENU_TYPE_BATTLE_TOWER, 0); } static void ClearPartySelection(void) @@ -124,50 +76,50 @@ static void ClearPartySelection(void) gSelectedOrderFromParty[i] = 0; } -bool8 sub_8121E78(void) +bool8 SetupBattleTowerPartyMenu(void) { u8 i; - switch (ewram1B000_alt.unk264) + switch (ewram1B000_alt.setupState) { case 0: - if (ewram1B000_alt.unk266 < gPlayerPartyCount) + if (ewram1B000_alt.monIndex < gPlayerPartyCount) { - TryCreatePartyMenuMonIcon(ewram1B000_alt.unk260, ewram1B000_alt.unk266, &gPlayerParty[ewram1B000_alt.unk266]); - ewram1B000_alt.unk266++; + TryCreatePartyMenuMonIcon(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex, &gPlayerParty[ewram1B000_alt.monIndex]); + ewram1B000_alt.monIndex++; } else { - ewram1B000_alt.unk266 = 0; - ewram1B000_alt.unk264++; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState++; } break; case 1: LoadHeldItemIconGraphics(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 2: - CreateHeldItemIcons_806DC34(ewram1B000_alt.unk260); - ewram1B000_alt.unk264++; + CreateHeldItemIcons_806DC34(ewram1B000_alt.menuHandlerTaskId); + ewram1B000_alt.setupState++; break; case 3: - if (sub_806BD58(ewram1B000_alt.unk260, ewram1B000_alt.unk266) == 1) + if (sub_806BD58(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex) == 1) { - ewram1B000_alt.unk266 = 0; - ewram1B000_alt.unk264++; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState++; } else { - ewram1B000_alt.unk266++; + ewram1B000_alt.monIndex++; } break; case 4: PartyMenuPrintMonsLevelOrStatus(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 5: PrintPartyMenuMonNicknames(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 6: for (i = 0; i < gPlayerPartyCount; i++) @@ -190,18 +142,18 @@ bool8 sub_8121E78(void) sub_806BC3C(i, 0x7E); } } - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 7: - if (sub_806B58C(ewram1B000_alt.unk266) == 1) + if (DrawPartyMonBackground(ewram1B000_alt.monIndex) == 1) { - ewram1B000_alt.unk266 = 0; - ewram1B000_alt.unk264 = 0; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState = 0; return TRUE; } else { - ewram1B000_alt.unk266++; + ewram1B000_alt.monIndex++; } break; } @@ -224,15 +176,15 @@ static bool8 IsMonAllowedInBattleTower(struct Pokemon *pkmn) return TRUE; } - if ((gSaveBlock2.filler_A8.var_4AC & 1) == 0 + if ((gSaveBlock2.battleTower.battleTowerLevelType) == 0 && GetMonData(pkmn, MON_DATA_LEVEL) > 50) return FALSE; // Check if the pkmn is in the ban list species = GetMonData(pkmn, MON_DATA_SPECIES); - while (gBattleTowerBanlist[i] != 0xFFFF) + while (gBattleTowerBannedSpecies[i] != 0xFFFF) { - if (gBattleTowerBanlist[i] == species) + if (gBattleTowerBannedSpecies[i] == species) return FALSE; i++; } @@ -273,7 +225,7 @@ static void BattleTowerEntryMenuCallback_Enter(u8); static void BattleTowerEntryMenuCallback_NoEntry(u8); static void BattleTowerEntryMenuCallback_Exit(u8); -static const struct PartyMenuItem sBattleTowerEntryMenuItems[] = +static const struct MenuAction2 sBattleTowerEntryMenuItems[] = { {OtherText_Summary, BattleTowerEntryMenuCallback_Summary}, {OtherText_Enter2, BattleTowerEntryMenuCallback_Enter}, @@ -307,34 +259,34 @@ static bool8 IsPartyMemberAlreadySelected(u8 partyMember) static void sub_81221F8(u8 taskId) { - sub_806D538(5, 1); + PrintPartyMenuPromptText(5, 1); if (IsMonAllowedInBattleTower(&gPlayerParty[gLastFieldPokeMenuOpened]) == TRUE) { if (IsPartyMemberAlreadySelected(gLastFieldPokeMenuOpened + 1) == TRUE) { gTasks[taskId].data[4] = 1; - sub_806E750(1, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0); + ShowPartyPopupMenu(1, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0); } else { gTasks[taskId].data[4] = 0; - sub_806E750(0, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0); + ShowPartyPopupMenu(0, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0); } } else { gTasks[taskId].data[4] = 2; - sub_806E750(2, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0); + ShowPartyPopupMenu(2, sBattleTowerEntryMenu, sBattleTowerEntryMenuItems, 0); } } -void sub_81222B0(u8 taskId) +void HandleBattleTowerPartyMenu(u8 taskId) { if (!gPaletteFade.active) { - switch (sub_806BE38(taskId)) + switch (HandleBattleTowerPartyMenuInput(taskId)) { - case 1: + case A_BUTTON: PlaySE(SE_SELECT); gLastFieldPokeMenuOpened = sub_806CA38(taskId); if (gLastFieldPokeMenuOpened != 6) @@ -349,7 +301,7 @@ void sub_81222B0(u8 taskId) } sub_808B5B4(taskId); break; - case 2: + case B_BUTTON: PlaySE(SE_SELECT); ClearPartySelection(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); @@ -426,7 +378,7 @@ static void sub_81224A8(u8 taskId) if (val != 0xFF) { - sub_806D538(val, 0); + PrintPartyMenuPromptText(val, 0); gTasks[taskId].func = sub_8122480; } else @@ -439,7 +391,7 @@ static void sub_81224A8(u8 taskId) else { PlaySE(SE_HAZURE); - sub_806D538(14, 0); + PrintPartyMenuPromptText(14, 0); gTasks[taskId].func = sub_8122480; } } @@ -450,14 +402,14 @@ static void sub_8122530(void) { while (1) { - if (sub_806B124() == 1) + if (InitPartyMenu() == TRUE) { - sub_806C994(ewram1B000.unk260, gUnknown_020384F0); - sub_806C658(ewram1B000.unk260, 0); + sub_806C994(ewram1B000.menuHandlerTaskId, gUnknown_020384F0); + ChangeBattleTowerPartyMenuSelection(ewram1B000.menuHandlerTaskId, 0); GetMonNickname(&gPlayerParty[gUnknown_020384F0], gStringVar1); gLastFieldPokeMenuOpened = gUnknown_020384F0; - sub_81221F8(ewram1B000.unk260); - SetMainCallback2(sub_806AEDC); + sub_81221F8(ewram1B000.menuHandlerTaskId); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == 1) @@ -468,7 +420,7 @@ static void sub_8122530(void) static void sub_81225A4(void) { gPaletteFade.bufferTransferDisabled = TRUE; - sub_806AF4C(4, 0xFF, sub_812238C, 5); + SetPartyMenuSettings(PARTY_MENU_TYPE_BATTLE_TOWER, 0xFF, sub_812238C, 5); SetMainCallback2(sub_8122530); } @@ -503,7 +455,7 @@ static void BattleTowerEntryMenuCallback_Enter(u8 taskId) gSelectedOrderFromParty[i] = gLastFieldPokeMenuOpened + 1; sub_806BC3C(gLastFieldPokeMenuOpened, i * 14 + 0x1C); if (i == 2) - sub_806C890(taskId); + SelectBattleTowerOKButton(taskId); BattleTowerEntryMenuCallback_Exit(taskId); return; } @@ -565,8 +517,8 @@ static void sub_81227FC(u8 taskId) { MenuZeroFillWindowRect(20, 10, 29, 19); HandleDestroyMenuCursors(); - sub_806D538(0, 0); - gTasks[taskId].func = sub_81222B0; + PrintPartyMenuPromptText(0, 0); + gTasks[taskId].func = HandleBattleTowerPartyMenu; } static void BattleTowerEntryMenuCallback_Exit(u8 taskId) @@ -575,25 +527,25 @@ static void BattleTowerEntryMenuCallback_Exit(u8 taskId) sub_81227FC(taskId); } -bool8 sub_8122854(void) +bool8 SetupLinkMultiBattlePartyMenu(void) { - switch (ewram1B000_alt.unk264) + switch (ewram1B000_alt.setupState) { case 0: - sub_81228E8(ewram1B000_alt.unk260); - ewram1B000_alt.unk264++; + sub_81228E8(ewram1B000_alt.menuHandlerTaskId); + ewram1B000_alt.setupState++; break; case 1: LoadHeldItemIconGraphics(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 2: - sub_8122950(ewram1B000_alt.unk260); - ewram1B000_alt.unk264++; + sub_8122950(ewram1B000_alt.menuHandlerTaskId); + ewram1B000_alt.setupState++; break; case 3: sub_81229B8(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 4: sub_806B908(); @@ -612,7 +564,7 @@ static void sub_81228E8(u8 a) CreatePartyMenuMonIcon(a, i, 3, &gPlayerParty[i]); if (gUnknown_02023A00[i].species != 0) { - CreateMonIcon_806D99C(a, i + 3, 3, &gUnknown_02023A00[i]); + CreateMonIcon_LinkMultiBattle(a, i + 3, 3, &gUnknown_02023A00[i]); sub_806D50C(a, i + 3); } } @@ -651,14 +603,14 @@ static void sub_81229B8(void) PartyMenuPutStatusTilemap(i, 3, status - 1); else PartyMenuPrintLevel(i, 3, &gPlayerParty[i]); - PartyMenuPutNicknameTilemap(i, 3, &gPlayerParty[i]); + PartyMenuPrintGenderIcon(i, 3, &gPlayerParty[i]); PrintPartyMenuMonNickname(i, 3, &gPlayerParty[i]); PartyMenuDrawHPBar(i, 3, &gPlayerParty[i]); } } } -void sub_8122A48(u8 taskId) +void HandleLinkMultiBattlePartyMenu(u8 taskId) { if (!gPaletteFade.active) { @@ -701,11 +653,11 @@ static void sub_8122B10(u8 taskId) PartyMenuPutStatusTilemap(i + 3, 3, r2 - 1); else PartyMenuDoPrintLevel(i + 3, 3, gUnknown_02023A00[i].level); - PartyMenuDoPutNicknameTilemap(gUnknown_02023A00[i].species, gUnknown_02023A00[i].gender, 3, i + 3, gUnknown_02023A00[i].nickname); + PartyMenuDoPrintGenderIcon(gUnknown_02023A00[i].species, gUnknown_02023A00[i].gender, 3, i + 3, gUnknown_02023A00[i].nickname); StringCopy(gStringVar1, gUnknown_02023A00[i].nickname); StringGetEnd10(gStringVar1); SanitizeNameString(gStringVar1); - box_print(i + 3, 3, gStringVar1); + PartyMenuDoPrintMonNickname(i + 3, 3, gStringVar1); PartyMenuDoDrawHPBar(i + 3, 3, gUnknown_02023A00[i].hp, gUnknown_02023A00[i].maxhp); } } @@ -723,64 +675,64 @@ static void sub_8122C18(u8 taskId) } } -// Exactly the same as sub_8121E78 except for case 6 +// Exactly the same as SetupBattleTowerPartyMenu except for case 6 bool8 unref_sub_8122C60(void) { - switch (ewram1B000_alt.unk264) + switch (ewram1B000_alt.setupState) { case 0: - if (ewram1B000_alt.unk266 < gPlayerPartyCount) + if (ewram1B000_alt.monIndex < gPlayerPartyCount) { - TryCreatePartyMenuMonIcon(ewram1B000_alt.unk260, ewram1B000_alt.unk266, &gPlayerParty[ewram1B000_alt.unk266]); - ewram1B000_alt.unk266++; + TryCreatePartyMenuMonIcon(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex, &gPlayerParty[ewram1B000_alt.monIndex]); + ewram1B000_alt.monIndex++; } else { - ewram1B000_alt.unk266 = 0; - ewram1B000_alt.unk264++; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState++; } break; case 1: LoadHeldItemIconGraphics(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 2: - CreateHeldItemIcons_806DC34(ewram1B000_alt.unk260); - ewram1B000_alt.unk264++; + CreateHeldItemIcons_806DC34(ewram1B000_alt.menuHandlerTaskId); + ewram1B000_alt.setupState++; break; case 3: - if (sub_806BD58(ewram1B000_alt.unk260, ewram1B000_alt.unk266) == 1) + if (sub_806BD58(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex) == 1) { - ewram1B000_alt.unk266 = 0; - ewram1B000_alt.unk264++; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState++; } else { - ewram1B000_alt.unk266++; + ewram1B000_alt.monIndex++; } break; case 4: PartyMenuPrintMonsLevelOrStatus(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 5: PrintPartyMenuMonNicknames(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 6: sub_806BCE8(); - ewram1B000_alt.unk264++; + ewram1B000_alt.setupState++; break; case 7: - if (sub_806B58C(ewram1B000_alt.unk266) == 1) + if (DrawPartyMonBackground(ewram1B000_alt.monIndex) == 1) { - ewram1B000_alt.unk266 = 0; - ewram1B000_alt.unk264 = 0; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState = 0; return TRUE; } else { - ewram1B000_alt.unk266++; + ewram1B000_alt.monIndex++; } break; } @@ -795,7 +747,7 @@ static void DaycareStorageMenuCallback_Store(u8); static void DaycareStorageMenuCallback_Summary(u8); static void DaycareStorageMenuCallback_Exit(u8); -static const struct PartyMenuItem sDaycareStorageMenuItems[] = +static const struct MenuAction2 sDaycareStorageMenuItems[] = { {OtherText_Store, DaycareStorageMenuCallback_Store}, {OtherText_Summary, DaycareStorageMenuCallback_Summary}, @@ -816,29 +768,29 @@ static void sub_8122D94(u8 taskId) if (!GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_IS_EGG)) { gTasks[taskId].data[4] = 0; - sub_806E750(0, sDaycareStorageMenus, sDaycareStorageMenuItems, 0); + ShowPartyPopupMenu(0, sDaycareStorageMenus, sDaycareStorageMenuItems, 0); } else { gTasks[taskId].data[4] = 1; - sub_806E750(1, sDaycareStorageMenus, sDaycareStorageMenuItems, 0); + ShowPartyPopupMenu(1, sDaycareStorageMenus, sDaycareStorageMenuItems, 0); } } -void sub_8122E0C(u8 taskId) +void HandleDaycarePartyMenu(u8 taskId) { if (!gPaletteFade.active) { - switch (sub_806BD80(taskId)) + switch (HandleDefaultPartyMenuInput(taskId)) { - case 1: + case A_BUTTON: PlaySE(SE_SELECT); gLastFieldPokeMenuOpened = sub_806CA38(taskId); GetMonNickname(&gPlayerParty[gLastFieldPokeMenuOpened], gStringVar1); sub_8122D94(taskId); gTasks[taskId].func = Task_DaycareStorageMenu8122EAC; break; - case 2: + case B_BUTTON: PlaySE(SE_SELECT); gLastFieldPokeMenuOpened = 0xFF; gSpecialVar_0x8004 = 0xFF; @@ -901,14 +853,14 @@ static void sub_8122F90(void) { while (1) { - if (sub_806B124() == 1) + if (InitPartyMenu() == TRUE) { - sub_806C994(ewram1B000.unk260, gUnknown_020384F0); - sub_806BF74(ewram1B000.unk260, 0); + sub_806C994(ewram1B000.menuHandlerTaskId, gUnknown_020384F0); + ChangePartyMenuSelection(ewram1B000.menuHandlerTaskId, 0); GetMonNickname(&gPlayerParty[gUnknown_020384F0], gStringVar1); gLastFieldPokeMenuOpened = gUnknown_020384F0; - sub_8122D94(ewram1B000.unk260); - SetMainCallback2(sub_806AEDC); + sub_8122D94(ewram1B000.menuHandlerTaskId); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == 1) @@ -919,7 +871,7 @@ static void sub_8122F90(void) static void sub_8123004(void) { gPaletteFade.bufferTransferDisabled = TRUE; - sub_806AF4C(6, 0xFF, Task_DaycareStorageMenu8122EAC, 5); + SetPartyMenuSettings(PARTY_MENU_TYPE_DAYCARE, 0xFF, Task_DaycareStorageMenu8122EAC, 5); SetMainCallback2(sub_8122F90); } @@ -946,8 +898,8 @@ static void DaycareStorageMenuCallback_Exit(u8 taskId) PlaySE(SE_SELECT); MenuZeroFillWindowRect(20, 10, 29, 19); HandleDestroyMenuCursors(); - sub_806D538(15, 0); - gTasks[taskId].func = sub_8122E0C; + PrintPartyMenuPromptText(15, 0); + gTasks[taskId].func = HandleDaycarePartyMenu; } void sub_8123138(u8 taskId) diff --git a/src/coins.c b/src/field/coins.c index 3c6356612..91a4b508d 100644 --- a/src/coins.c +++ b/src/field/coins.c @@ -6,47 +6,47 @@ #define MAX_COINS 9999 -void UpdateCoinsWindow(s32 a, u8 b, u8 c) +void UpdateCoinsWindow(s32 coins, u8 x, u8 y) { - PrintCoins(a, 4, b + 2, c + 1); + PrintCoins(coins, 4, x + 2, y + 1); } -void ShowCoinsWindow(u32 a, u8 b, u8 c) +void ShowCoinsWindow(u32 coins, u8 x, u8 y) { - MenuDrawTextWindow(b, c, b + 9, c + 3); - UpdateCoinsWindow(a, b, c); + MenuDrawTextWindow(x, y, x + 9, y + 3); + UpdateCoinsWindow(coins, x, y); } -void HideCoinsWindow(u8 a, u8 b) +void HideCoinsWindow(u8 x, u8 y) { - MenuZeroFillWindowRect(a, b, a + 9, b + 3); + MenuZeroFillWindowRect(x, y, x + 9, y + 3); } -void PrintCoins(s32 a, u8 b, u8 c, u8 d) +void PrintCoins(s32 coins, u8 b, u8 x, u8 y) { u8 string[16]; u8 *ptr; u8 r1; u8 foo; - ConvertIntToDecimalString(string, a); + ConvertIntToDecimalString(string, coins); r1 = (b * 6 + 0x21 - 8 * (b + 2)); - c = c - r1 / 8; + x = x - r1 / 8; foo = r1 % 8; ptr = gStringVar1; if (foo) { - ptr[0] = 0xFC; + ptr[0] = EXT_CTRL_CODE_BEGIN; ptr[1] = 0x11; ptr[2] = 8 - (foo); ptr += 3; } - ptr[0] = 0xFC; + ptr[0] = EXT_CTRL_CODE_BEGIN; ptr[1] = 0x11; ptr[2] = (b - StringLength(string)) * 6; ptr += 3; StringCopy(ptr, string); - MenuPrint(gOtherText_Coins2, c, d); + MenuPrint(gOtherText_Coins2, x, y); } u16 GetCoins(void) diff --git a/src/coord_event_weather.c b/src/field/coord_event_weather.c index 9c5a1ca4d..9c5a1ca4d 100644 --- a/src/coord_event_weather.c +++ b/src/field/coord_event_weather.c diff --git a/src/field/daycare.c b/src/field/daycare.c new file mode 100644 index 000000000..dd74f59e0 --- /dev/null +++ b/src/field/daycare.c @@ -0,0 +1,1691 @@ +#include "global.h" +#include "daycare.h" +#include "pokemon.h" +#include "event_data.h" +#include "species.h" +#include "items.h" +#include "text.h" +#include "string_util.h" +#include "mail_data.h" +#include "name_string_util.h" +#include "pokemon_storage_system.h" +#include "rng.h" +#include "moves.h" +#include "trade.h" +#include "strings2.h" +#include "party_menu.h" +#include "field_effect.h" +#include "main.h" +#include "menu.h" +#include "sound.h" +#include "songs.h" +#include "script.h" +#include "overworld.h" + +IWRAM_DATA u16 gUnknown_03000470[52]; +IWRAM_DATA u16 gUnknown_030004D8[4]; +IWRAM_DATA u16 gUnknown_030004E0[4]; +IWRAM_DATA u16 gUnknown_030004E8[12]; +IWRAM_DATA u16 gUnknown_03000500[4]; + +static void sub_80417F4(struct DayCareMail *); +static void sub_80420FC(struct Pokemon *, u16, struct DayCareData *); +static u8 daycare_relationship_score(struct DayCareData *); + +#include "../data/pokemon/egg_moves.h" + +const u8 *const gUnknown_08209AC4[] = { + DaycareText_GetAlongVeryWell, + DaycareText_GetAlong, + DaycareText_DontLikeOther, + DaycareText_PlayOther +}; + +const u8 gUnknown_08209AD4[] = _("タマゴ"); + +u8 *GetMonNick(struct Pokemon *mon, u8 *dest) +{ + s8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) +{ + s8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 Daycare_CountPokemon(struct DayCareData *daycare_data) +{ + u8 i, count; + count = 0; + + for(i = 0;i <= 1;i++) + if(GetBoxMonData(&daycare_data->mons[i], MON_DATA_SPECIES) != 0) + count++; + + return count; +} + +void sub_8041324(struct BoxPokemon * box_pokemon, struct RecordMixingDayCareMail * daycareMailEtc) +{ + u8 i; + u8 specCount; + specCount = 0; + for (i=0; i<2; i++) + { + if (GetBoxMonData(&box_pokemon[i], MON_DATA_SPECIES) != SPECIES_NONE) + { + specCount ++; + if (GetBoxMonData(&box_pokemon[i], MON_DATA_HELD_ITEM) == ITEM_NONE) + { + daycareMailEtc->unk74[i] = 0; + } else + { + daycareMailEtc->unk74[i] = 1; + } + } else + { + daycareMailEtc->unk74[i] = 1; + } + } + daycareMailEtc->unk70 = specCount; +} + +static s8 Daycare_FindEmptySpot(struct BoxPokemon * daycare_data) +{ + u8 i; + + for(i = 0;i <= 1;i++) + if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) == 0) + return i; + + return -1; +} + +static void Daycare_SendPokemon(struct Pokemon * mon, struct DayCareData * daycare_data) +{ + s8 empty_slot; + u8 mail; + u8 *names; + + empty_slot = Daycare_FindEmptySpot(daycare_data->mons); + if(MonHasMail(mon)) { + StringCopy((names = daycare_data->misc.mail[empty_slot].names), gSaveBlock2.playerName); + PadNameString(names, 0xFC); + names += 8; + GetMonNick(mon, names); + mail = GetMonData(mon, MON_DATA_MAIL); + daycare_data->misc.mail[empty_slot].message = gSaveBlock1.mail[mail]; + TakeMailFromMon(mon); + } + daycare_data->mons[empty_slot] = mon->box; + BoxMonRestorePP(&daycare_data->mons[empty_slot]); + daycare_data->misc.countersEtc.steps[empty_slot] = 0; + ZeroMonData(mon); + party_compaction(); + CalculatePlayerPartyCount(); +} + +void Daycare_SendPokemon_Special() +{ + Daycare_SendPokemon(gPlayerParty + gLastFieldPokeMenuOpened, &gSaveBlock1.daycareData); +} + +static void sub_80414C0(struct DayCareData * daycare_data) +{ + if((GetBoxMonData(&daycare_data->mons[1], MON_DATA_SPECIES) != 0) && GetBoxMonData(&daycare_data->mons[0], MON_DATA_SPECIES) == 0) + { + daycare_data->mons[0] = daycare_data->mons[1]; + ZeroBoxMonData(&daycare_data->mons[1]); + daycare_data->misc.mail[0] = daycare_data->misc.mail[1]; + daycare_data->misc.countersEtc.steps[0] = daycare_data->misc.countersEtc.steps[1]; + daycare_data->misc.countersEtc.steps[1] = 0; + sub_80417F4(&daycare_data->misc.mail[1]); + } +} + +u8 TryIncrementMonLevel(struct Pokemon *); +extern u16 gMoveToLearn; + +static void DayCare_LevelUpMoves(struct Pokemon * mon) +{ + s32 i; + u8 r6; + u16 temp; + + for (i = 0; i < MAX_LEVEL; i++) + { + if (TryIncrementMonLevel(mon)) + { + r6 = 1; + while ((temp = MonTryLearningNewMove(mon, r6)) != 0) + { + r6 = 0; + if (temp == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn); + } + } + else + break; + } + + CalculateMonStats(mon); +} + +static u16 sub_8041570(struct DayCareData * daycare_data, u8 slot) +{ + u16 species; + u32 experience; + struct Pokemon pokemon; + + GetBoxMonNick(&daycare_data->mons[slot], gStringVar1); + species = GetBoxMonData(&daycare_data->mons[slot], MON_DATA_SPECIES); + sub_803B4B4(&daycare_data->mons[slot], &pokemon); + if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL) + { + experience = GetMonData(&pokemon, MON_DATA_EXP) + daycare_data->misc.countersEtc.steps[slot]; + SetMonData(&pokemon, MON_DATA_EXP, &experience); + DayCare_LevelUpMoves(&pokemon); + } + gPlayerParty[PARTY_SIZE - 1] = pokemon; + if (daycare_data->misc.mail[slot].message.itemId) + { + GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycare_data->misc.mail[slot].message); + sub_80417F4(&daycare_data->misc.mail[slot]); + } + party_compaction(); + ZeroBoxMonData(&daycare_data->mons[slot]); + daycare_data->misc.countersEtc.steps[slot] = 0; + sub_80414C0(daycare_data); + CalculatePlayerPartyCount(); + return species; +} + +u16 sub_8041648() +{ + return sub_8041570(&gSaveBlock1.daycareData, gSpecialVar_0x8004); +} + +u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){ + struct BoxPokemon temp = *mon; + u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps; + SetBoxMonData(&temp, MON_DATA_EXP, &new_exp); + return GetLevelFromBoxMonExp(&temp); +} + +static u8 sub_80416A0(struct DayCareData *daycareData, u8 slot) +{ + u8 levelBefore; + u8 levelAfter; + + levelBefore = GetLevelFromBoxMonExp(&daycareData->mons[slot]); + levelAfter = Daycare_GetLevelAfterSteps(&daycareData->mons[slot], daycareData->misc.countersEtc.steps[slot]); + return levelAfter - levelBefore; +} + +static u8 sub_80416E8(struct DayCareData *dayCareData, u8 slot) +{ + u8 levelDelta = sub_80416A0(dayCareData, slot); + GetBoxMonNick(&dayCareData->mons[slot], gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, levelDelta, STR_CONV_MODE_LEFT_ALIGN, 2); + return levelDelta; +} + +static u16 sub_8041728(struct DayCareData *dayCareData, u8 slot) +{ + u16 cost; + + u8 levelDelta = sub_80416A0(dayCareData, slot); + GetBoxMonNick(&dayCareData->mons[slot], gStringVar1); + cost = 100 + 100 * levelDelta; + ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5); + return cost; +} + +void sub_8041770(void) +{ + gSpecialVar_0x8005 = sub_8041728(&gSaveBlock1.daycareData, gSpecialVar_0x8004); +} + +void sub_8041790(u16 i) +{ + gSaveBlock1.daycareData.misc.countersEtc.steps[0] += i; + gSaveBlock1.daycareData.misc.countersEtc.steps[1] += i; +} + +u8 sub_80417B8(void) +{ + if (GetBoxMonData(&gSaveBlock1.daycareData.mons[gSpecialVar_0x8004], MON_DATA_SPECIES) != 0) + return sub_80416E8(&gSaveBlock1.daycareData, gSpecialVar_0x8004); + return 0; +} + +static void sub_80417F4(struct DayCareMail *mail) +{ + u8 zero; + u8 *names; + u8 *names2; + int i; + zero = 0; + for (i = 7, names = mail->names + 7; i >= 0; i --) + *names-- = zero; + names2 = mail->names + 8; + zero = 0; + names = mail->names + 18; + do *names-- = zero; while ((int)names >= (int)names2); + ClearMailStruct(&mail->message); +} + +void unref_sub_8041824(struct DayCareData *dayCareData) +{ + u8 slot; + for (slot = 0; slot < ARRAY_COUNT(dayCareData->mons); slot ++) + { + ZeroBoxMonData(&dayCareData->mons[slot]); + dayCareData->misc.countersEtc.steps[slot] = 0; + sub_80417F4(&dayCareData->misc.mail[slot]); + } + dayCareData->misc.countersEtc.personalityLo = 0; + dayCareData->misc.countersEtc.unk_11a = 0; +} + +u16 sub_8041870(u16 species) +{ + int i, j, k; + bool8 found; + for (i = 0; i < 5; i ++) + { + found = FALSE; + for (j = 1; j < NUM_SPECIES; j ++) + { + for (k = 0; k < 5; k ++) + { + if (gEvolutionTable[j].evolutions[k].targetSpecies == species) + { + species = j; + found = TRUE; + break; + } + } + if (found) + break; + } + if (j == 412) + break; + } + return species; +} + +static void sub_80418F0(struct DayCareData *dayCareData) +{ + dayCareData->misc.countersEtc.personalityLo = (Random() % 0xfffe) + 1; + FlagSet(0x86); +} + +static void sub_804191C(struct DayCareData *dayCareData) +{ + dayCareData->misc.countersEtc.personalityLo = Random() | 0x8000; + FlagSet(0x86); +} + +void sub_8041940(void) +{ + sub_80418F0(&gSaveBlock1.daycareData); +} + +void sub_8041950(void) +{ + sub_804191C(&gSaveBlock1.daycareData); +} + +static void sub_8041960(u8 *data, u8 idx) +{ + int i, j; + u8 temp[6]; + data[idx] = 0xff; + for (i = 0; i < 6; i ++) + temp[i] = data[i]; + j = 0; + for (i = 0; i < 6; i ++) + if (temp[i] != 0xff) + data[j++] = temp[i]; +} + +static void InheritIVs(struct Pokemon *egg, struct DayCareData *dayCareData) +{ + u8 i; + u8 selectedIvs[3]; + u8 allIvs[6]; + u8 whichParent[3]; + u8 iv; + for (i = 0; i < 6; i ++) + allIvs[i] = i; + for (i = 0; i < 3; i ++) + { + selectedIvs[i] = allIvs[Random() % (6 - i)]; + sub_8041960(allIvs, selectedIvs[i]); + } + for (i = 0; i < 3; i ++) + whichParent[i] = Random() % 2; + for (i = 0; i < 3; i ++) + { + switch (selectedIvs[i]) + { + case 0: + iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_HP_IV); + SetMonData(egg, MON_DATA_HP_IV, &iv); + break; + case 1: + iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_ATK_IV); + SetMonData(egg, MON_DATA_ATK_IV, &iv); + break; + case 2: + iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_DEF_IV); + SetMonData(egg, MON_DATA_DEF_IV, &iv); + break; + case 3: + iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_SPEED_IV); + SetMonData(egg, MON_DATA_SPEED_IV, &iv); + break; + case 4: + iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_SPATK_IV); + SetMonData(egg, MON_DATA_SPATK_IV, &iv); + break; + case 5: + iv = GetBoxMonData(&dayCareData->mons[whichParent[i]], MON_DATA_SPDEF_IV); + SetMonData(egg, MON_DATA_SPDEF_IV, &iv); + break; + } + } +} + +#ifdef NONMATCHING +static +#endif +u8 pokemon_get_eggmoves(struct Pokemon *pokemon, u16 *eggMoves) +{ + u16 eggMoveIdx; + u16 numMovesFound; + u16 species; + u16 i; + + numMovesFound = 0; + eggMoveIdx = 0; + species = GetMonData(pokemon, MON_DATA_SPECIES); + for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i ++) + { + if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET) + { + eggMoveIdx = i + 1; + break; + } + } + for (i = 0; i < 10; i ++) + { + if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET) + { + break; + } + eggMoves[i] = gEggMoves[eggMoveIdx + i]; + numMovesFound++; + } + return numMovesFound; +} + +#ifdef NONMATCHING + +void daycare_build_child_moveset(struct Pokemon *egg, struct BoxPokemon *dad, struct BoxPokemon *mom) +{ + u16 numSharedParentMoves; + u8 numLevelUpMoves; + u8 numEggMoves; + u16 i, j; + + numSharedParentMoves = 0; + for (i = 0; i < 4; i ++) + { + gUnknown_03000500[i] = 0; + gUnknown_030004D8[i] = 0; + gUnknown_030004E0[i] = 0; + } + for (i = 0; i < 10; i ++) + gUnknown_030004E8[i] = 0; + for (i = 0; i < 50; i ++) + gUnknown_03000470[i] = 0; + + numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), gUnknown_03000470); + for (i = 0; i < 4; i ++) + { + gUnknown_030004D8[i] = GetBoxMonData(dad, MON_DATA_MOVE1 + i); + gUnknown_03000500[i] = GetBoxMonData(mom, MON_DATA_MOVE1 + i); + } + numEggMoves = pokemon_get_eggmoves(egg, gUnknown_030004E8); + + for (i = 0; i < 4; i ++) + { + if (gUnknown_030004D8[i] != MOVE_NONE) + { + for (j = 0; j < numEggMoves; j ++) + { + if (gUnknown_030004D8[i] == gUnknown_030004E8[j]) + { + if (GiveMoveToMon(egg, gUnknown_030004D8[i]) == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(egg, gUnknown_030004D8[i]); + break; + } + } + } + else + break; + } + for (i = 0; i < 4; i ++) + { + if (gUnknown_030004D8[i] != MOVE_NONE) + { + for (j = 0; j < 50 + 8; j ++) + { + if (gUnknown_030004D8[i] == ItemIdToBattleMoveId(ITEM_TM01 + j) && CanMonLearnTMHM(egg, j)) + { + if (GiveMoveToMon(egg, gUnknown_030004D8[i]) == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(egg, gUnknown_030004D8[i]); + } + } + } + } + for (i = 0; i < 4; i ++) + { + if (gUnknown_030004D8[i] == MOVE_NONE) + break; + for (j = 0; j < 4; j ++) + { + if (gUnknown_030004D8[i] == gUnknown_03000500[j] && gUnknown_030004D8[i] != MOVE_NONE) + gUnknown_030004E0[numSharedParentMoves++] = gUnknown_030004D8[i]; + } + } + for (i = 0; i < 4; i ++) + { + if (gUnknown_030004E0[i] == MOVE_NONE) + break; + for (j = 0; j < numLevelUpMoves; j ++) + { + if (gUnknown_03000470[j] != MOVE_NONE && gUnknown_030004E0[i] == gUnknown_03000470[j]) + { + if (GiveMoveToMon(egg, gUnknown_030004E0[i]) == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(egg, gUnknown_030004E0[i]); + break; + } + } + } +} +#else +__attribute__((naked)) +void daycare_build_child_moveset(struct Pokemon *egg, struct BoxPokemon *dad, struct BoxPokemon *mom) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0xC\n" + "\tadds r7, r0, 0\n" + "\tmov r10, r1\n" + "\tmov r9, r2\n" + "\tmovs r0, 0\n" + "\tstr r0, [sp]\n" + "\tmovs r6, 0\n" + "\tldr r5, _08041CC8 @ =gUnknown_03000500\n" + "\tmovs r2, 0\n" + "\tldr r4, _08041CCC @ =gUnknown_030004D8\n" + "\tldr r3, _08041CD0 @ =gUnknown_030004E0\n" + "_08041BE4:\n" + "\tlsls r1, r6, 1\n" + "\tadds r0, r1, r5\n" + "\tstrh r2, [r0]\n" + "\tadds r0, r1, r4\n" + "\tstrh r2, [r0]\n" + "\tadds r1, r3\n" + "\tstrh r2, [r1]\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x3\n" + "\tbls _08041BE4\n" + "\tmovs r6, 0\n" + "\tldr r2, _08041CD4 @ =gUnknown_030004E8\n" + "\tmovs r1, 0\n" + "_08041C02:\n" + "\tlsls r0, r6, 1\n" + "\tadds r0, r2\n" + "\tstrh r1, [r0]\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x9\n" + "\tbls _08041C02\n" + "\tmovs r6, 0\n" + "\tldr r2, _08041CD8 @ =gUnknown_03000470\n" + "\tmovs r1, 0\n" + "_08041C18:\n" + "\tlsls r0, r6, 1\n" + "\tadds r0, r2\n" + "\tstrh r1, [r0]\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x31\n" + "\tbls _08041C18\n" + "\tadds r0, r7, 0\n" + "\tmovs r1, 0xB\n" + "\tbl GetMonData\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r1, _08041CD8 @ =gUnknown_03000470\n" + "\tbl GetLevelUpMovesBySpecies\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tstr r0, [sp, 0x4]\n" + "\tmovs r6, 0\n" + "\tldr r1, _08041CCC @ =gUnknown_030004D8\n" + "\tmov r8, r1\n" + "_08041C46:\n" + "\tadds r5, r6, 0\n" + "\tadds r5, 0xD\n" + "\tmov r0, r10\n" + "\tadds r1, r5, 0\n" + "\tbl GetBoxMonData\n" + "\tlsls r4, r6, 1\n" + "\tmov r2, r8\n" + "\tadds r1, r4, r2\n" + "\tstrh r0, [r1]\n" + "\tmov r0, r9\n" + "\tadds r1, r5, 0\n" + "\tbl GetBoxMonData\n" + "\tldr r1, _08041CC8 @ =gUnknown_03000500\n" + "\tadds r4, r1\n" + "\tstrh r0, [r4]\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x3\n" + "\tbls _08041C46\n" + "\tldr r1, _08041CD4 @ =gUnknown_030004E8\n" + "\tadds r0, r7, 0\n" + "\tbl pokemon_get_eggmoves\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r8, r0\n" + "\tmovs r6, 0\n" + "_08041C82:\n" + "\tldr r0, _08041CCC @ =gUnknown_030004D8\n" + "\tlsls r1, r6, 1\n" + "\tadds r2, r1, r0\n" + "\tldrh r1, [r2]\n" + "\tmov r9, r0\n" + "\tcmp r1, 0\n" + "\tbeq _08041CF8\n" + "\tmovs r5, 0\n" + "\tcmp r5, r8\n" + "\tbcs _08041CEA\n" + "\tadds r4, r2, 0\n" + "\tldr r2, _08041CDC @ =0x0000ffff\n" + "_08041C9A:\n" + "\tldr r0, _08041CD4 @ =gUnknown_030004E8\n" + "\tlsls r1, r5, 1\n" + "\tadds r1, r0\n" + "\tldrh r0, [r4]\n" + "\tldrh r1, [r1]\n" + "\tcmp r0, r1\n" + "\tbne _08041CE0\n" + "\tadds r1, r0, 0\n" + "\tadds r0, r7, 0\n" + "\tstr r2, [sp, 0x8]\n" + "\tbl GiveMoveToMon\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r2, [sp, 0x8]\n" + "\tcmp r0, r2\n" + "\tbne _08041CEA\n" + "\tldrh r1, [r4]\n" + "\tadds r0, r7, 0\n" + "\tbl DeleteFirstMoveAndGiveMoveToMon\n" + "\tb _08041CEA\n" + "\t.align 2, 0\n" + "_08041CC8: .4byte gUnknown_03000500\n" + "_08041CCC: .4byte gUnknown_030004D8\n" + "_08041CD0: .4byte gUnknown_030004E0\n" + "_08041CD4: .4byte gUnknown_030004E8\n" + "_08041CD8: .4byte gUnknown_03000470\n" + "_08041CDC: .4byte 0x0000ffff\n" + "_08041CE0:\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tcmp r5, r8\n" + "\tbcc _08041C9A\n" + "_08041CEA:\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tldr r3, _08041E14 @ =gUnknown_030004D8\n" + "\tmov r9, r3\n" + "\tcmp r6, 0x3\n" + "\tbls _08041C82\n" + "_08041CF8:\n" + "\tmovs r6, 0\n" + "_08041CFA:\n" + "\tlsls r0, r6, 1\n" + "\tmov r2, r9\n" + "\tadds r1, r0, r2\n" + "\tldrh r1, [r1]\n" + "\tadds r2, r0, 0\n" + "\tadds r6, 0x1\n" + "\tmov r8, r6\n" + "\tcmp r1, 0\n" + "\tbeq _08041D5C\n" + "\tmovs r5, 0\n" + "\tldr r0, _08041E14 @ =gUnknown_030004D8\n" + "\tadds r4, r2, r0\n" + "\tldr r6, _08041E18 @ =0x0000ffff\n" + "\tmov r9, r0\n" + "_08041D16:\n" + "\tldr r3, _08041E1C @ =0x00000121\n" + "\tadds r0, r5, r3\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tbl ItemIdToBattleMoveId\n" + "\tldrh r1, [r4]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r1, r0\n" + "\tbne _08041D52\n" + "\tlsls r1, r5, 24\n" + "\tlsrs r1, 24\n" + "\tadds r0, r7, 0\n" + "\tbl CanMonLearnTMHM\n" + "\tcmp r0, 0\n" + "\tbeq _08041D52\n" + "\tldrh r1, [r4]\n" + "\tadds r0, r7, 0\n" + "\tbl GiveMoveToMon\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, r6\n" + "\tbne _08041D52\n" + "\tldrh r1, [r4]\n" + "\tadds r0, r7, 0\n" + "\tbl DeleteFirstMoveAndGiveMoveToMon\n" + "_08041D52:\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tcmp r5, 0x39\n" + "\tbls _08041D16\n" + "_08041D5C:\n" + "\tmov r1, r8\n" + "\tlsls r0, r1, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x3\n" + "\tbls _08041CFA\n" + "\tmovs r6, 0\n" + "\tmov r2, r9\n" + "\tldrh r0, [r2]\n" + "\tldr r3, _08041E20 @ =gUnknown_030004E0\n" + "\tmov r10, r3\n" + "\tcmp r0, 0\n" + "\tbeq _08041DC6\n" + "\tmov r4, r9\n" + "\tldr r0, _08041E24 @ =gUnknown_03000500\n" + "\tmov r9, r0\n" + "\tmov r12, r10\n" + "_08041D7C:\n" + "\tmovs r5, 0\n" + "\tlsls r2, r6, 1\n" + "\tadds r6, 0x1\n" + "\tmov r8, r6\n" + "\tadds r3, r2, r4\n" + "_08041D86:\n" + "\tlsls r0, r5, 1\n" + "\tadd r0, r9\n" + "\tldrh r2, [r3]\n" + "\tadds r1, r2, 0\n" + "\tldrh r0, [r0]\n" + "\tcmp r1, r0\n" + "\tbne _08041DA8\n" + "\tcmp r1, 0\n" + "\tbeq _08041DA8\n" + "\tldr r1, [sp]\n" + "\tadds r0, r1, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tstr r0, [sp]\n" + "\tlsls r1, 1\n" + "\tadd r1, r12\n" + "\tstrh r2, [r1]\n" + "_08041DA8:\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tcmp r5, 0x3\n" + "\tbls _08041D86\n" + "\tmov r1, r8\n" + "\tlsls r0, r1, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x3\n" + "\tbhi _08041DC6\n" + "\tlsls r0, r6, 1\n" + "\tadds r0, r4\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _08041D7C\n" + "_08041DC6:\n" + "\tmovs r6, 0\n" + "\tmov r2, r10\n" + "\tldrh r0, [r2]\n" + "\tcmp r0, 0\n" + "\tbeq _08041E50\n" + "_08041DD0:\n" + "\tmovs r5, 0\n" + "\tadds r3, r6, 0x1\n" + "\tmov r8, r3\n" + "\tldr r0, [sp, 0x4]\n" + "\tcmp r5, r0\n" + "\tbcs _08041E38\n" + "\tldr r2, _08041E18 @ =0x0000ffff\n" + "_08041DDE:\n" + "\tldr r1, _08041E28 @ =gUnknown_03000470\n" + "\tlsls r0, r5, 1\n" + "\tadds r0, r1\n" + "\tldrh r1, [r0]\n" + "\tcmp r1, 0\n" + "\tbeq _08041E2C\n" + "\tlsls r0, r6, 1\n" + "\tmov r3, r10\n" + "\tadds r4, r0, r3\n" + "\tldrh r0, [r4]\n" + "\tcmp r0, r1\n" + "\tbne _08041E2C\n" + "\tadds r1, r0, 0\n" + "\tadds r0, r7, 0\n" + "\tstr r2, [sp, 0x8]\n" + "\tbl GiveMoveToMon\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r2, [sp, 0x8]\n" + "\tcmp r0, r2\n" + "\tbne _08041E38\n" + "\tldrh r1, [r4]\n" + "\tadds r0, r7, 0\n" + "\tbl DeleteFirstMoveAndGiveMoveToMon\n" + "\tb _08041E38\n" + "\t.align 2, 0\n" + "_08041E14: .4byte gUnknown_030004D8\n" + "_08041E18: .4byte 0x0000ffff\n" + "_08041E1C: .4byte 0x00000121\n" + "_08041E20: .4byte gUnknown_030004E0\n" + "_08041E24: .4byte gUnknown_03000500\n" + "_08041E28: .4byte gUnknown_03000470\n" + "_08041E2C:\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tldr r0, [sp, 0x4]\n" + "\tcmp r5, r0\n" + "\tbcc _08041DDE\n" + "_08041E38:\n" + "\tmov r1, r8\n" + "\tlsls r0, r1, 16\n" + "\tlsrs r6, r0, 16\n" + "\tcmp r6, 0x3\n" + "\tbhi _08041E50\n" + "\tldr r0, _08041E60 @ =gUnknown_030004E0\n" + "\tlsls r1, r6, 1\n" + "\tadds r1, r0\n" + "\tldrh r1, [r1]\n" + "\tmov r10, r0\n" + "\tcmp r1, 0\n" + "\tbne _08041DD0\n" + "_08041E50:\n" + "\tadd sp, 0xC\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08041E60: .4byte gUnknown_030004E0"); +} +#endif + +static void RemoveEggFromDayCare(struct DayCareData *dayCareData) +{ + dayCareData->misc.countersEtc.personalityLo = 0; + dayCareData->misc.countersEtc.unk_11a = 0; +} + +void sub_8041E7C(void) +{ + RemoveEggFromDayCare(&gSaveBlock1.daycareData); +} + +static void incense_effects(u16 *species, struct DayCareData *dayCareData) +{ + u16 momItem, dadItem; + if (*species == SPECIES_WYNAUT || *species == SPECIES_AZURILL) + { + momItem = GetBoxMonData(&dayCareData->mons[0], MON_DATA_HELD_ITEM); + dadItem = GetBoxMonData(&dayCareData->mons[1], MON_DATA_HELD_ITEM); + if (*species == SPECIES_WYNAUT && momItem != ITEM_LAX_INCENSE && dadItem != ITEM_LAX_INCENSE) + { + *species = SPECIES_WOBBUFFET; + } + if (*species == SPECIES_AZURILL && momItem != ITEM_SEA_INCENSE && dadItem != ITEM_SEA_INCENSE) + { + *species = SPECIES_MARILL; + } + } +} + +static u16 sub_8041EEC(struct DayCareData *dayCareData, u8 *a1) // inherit_species_from_mom +{ + u16 i; + u16 species[2]; + u16 eggSpecies; + u8 buffer; + for (i=0; i<2; i++) + { + species[i] = GetBoxMonData(&dayCareData->mons[i], MON_DATA_SPECIES); + if (species[i] == SPECIES_DITTO) + { + a1[0] = i ^ 1; + a1[1] = i; + } + else if (GetBoxMonGender(&dayCareData->mons[i]) == MON_FEMALE) + { + a1[0] = i; + a1[1] = i ^ 1; + } + } + eggSpecies = sub_8041870(species[a1[0]]); + if (eggSpecies == SPECIES_NIDORAN_F && dayCareData->misc.countersEtc.personalityLo & 0x8000) + { + eggSpecies = SPECIES_NIDORAN_M; + } + if (eggSpecies == SPECIES_ILLUMISE && dayCareData->misc.countersEtc.personalityLo & 0x8000) + { + eggSpecies = SPECIES_VOLBEAT; + } + if (species[a1[1]] == SPECIES_DITTO && GetBoxMonGender(&dayCareData->mons[a1[0]]) != MON_FEMALE) + { + buffer = a1[1]; + a1[1] = a1[0]; + a1[0] = buffer; + } + return eggSpecies; +} + +static void sub_8041FC4(struct DayCareData *dayCareData) // give_egg +{ + struct Pokemon egg; + u16 species; + u8 parents[2]; + u8 isEgg; + species = sub_8041EEC(dayCareData, parents); + incense_effects(&species, dayCareData); + sub_80420FC(&egg, species, dayCareData); + InheritIVs(&egg, dayCareData); + daycare_build_child_moveset(&egg, &dayCareData->mons[parents[1]], &dayCareData->mons[parents[0]]); + isEgg = TRUE; + SetMonData(&egg, MON_DATA_IS_EGG, &isEgg); + gPlayerParty[5] = egg; + party_compaction(); + CalculatePlayerPartyCount(); + RemoveEggFromDayCare(dayCareData); +} + + +void sub_8042044(struct Pokemon *mon, u16 species, u8 overwriteMetLocation) // scr_create_egg +{ + u8 metLevel; + u16 ball; + u8 language; + u8 metLocation; + u8 isEgg; + CreateMon(mon, species, 5, 0x20, FALSE, 0, FALSE, 0); + metLevel = 0; + ball = ITEM_POKE_BALL; + language = LANGUAGE_JAPANESE; + SetMonData(mon, MON_DATA_POKEBALL, &ball); + SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4); + SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); + SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); + SetMonData(mon, MON_DATA_LANGUAGE, &language); + if (overwriteMetLocation) + { + metLocation = 0xfd; + SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation); + } + isEgg = TRUE; + SetMonData(mon, MON_DATA_IS_EGG, &isEgg); +} + +static void sub_80420FC(struct Pokemon *mon, u16 species, struct DayCareData *dayCareData) +{ + u32 personality; + u16 ball; + u8 metLevel; + u8 language; + personality = dayCareData->misc.countersEtc.personalityLo | (Random() << 16); + CreateMon(mon, species, 5, 0x20, TRUE, personality, FALSE, 0); + metLevel = 0; + ball = ITEM_POKE_BALL; + language = LANGUAGE_JAPANESE; + SetMonData(mon, MON_DATA_POKEBALL, &ball); + SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4); + SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); + SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); + SetMonData(mon, MON_DATA_LANGUAGE, &language); +} + +void sp0B8_daycare(void) +{ + sub_8041FC4(&gSaveBlock1.daycareData); +} + +#ifdef NONMATCHING +static bool8 sub_80421B0(struct DayCareData *dayCareData) +{ + struct BoxPokemon *parent; + u32 i; + int v0; + int steps; + v0 = 0; + for (i=0, parent=&dayCareData->mons[0]; i<2; parent++, i++) + { + if (GetBoxMonData(parent, MON_DATA_SANITY_BIT2, v0)) + { + dayCareData->misc.countersEtc.steps[i]++; + v0++; + } + } + if (dayCareData->misc.countersEtc.personalityLo == 0 && v0 == 2 && dayCareData->misc.extra.misc[4] == 0xff && daycare_relationship_score(dayCareData) > (u32)((u32)(Random() * 100) / 0xffff)) + { + sub_8041940(); + } + if ((++dayCareData->misc.countersEtc.unk_11a) == 0xff) + { + for (i=0; i<gPlayerPartyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + { + steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP); + if (steps == 0) + { + gSpecialVar_0x8004 = i; + return TRUE; + } + steps--; + SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps); + } + } + } + return FALSE; +} +#else +__attribute__((naked)) +static bool8 sub_80421B0(struct DayCareData *dayCareData) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tsub sp, 0x8\n" + "\tadds r7, r0, 0\n" + "\tmovs r2, 0\n" + "\tmovs r6, 0\n" + "\tadds r5, r7, 0\n" + "_080421BC:\n" + "\tlsls r4, r6, 2\n" + "\tadds r0, r5, 0\n" + "\tmovs r1, 0x5\n" + "\tstr r2, [sp, 0x4]\n" + "\tbl GetBoxMonData\n" + "\tldr r2, [sp, 0x4]\n" + "\tcmp r0, 0\n" + "\tbeq _080421DE\n" + "\tmovs r0, 0x88\n" + "\tlsls r0, 1\n" + "\tadds r1, r7, r0\n" + "\tadds r1, r4\n" + "\tldr r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstr r0, [r1]\n" + "\tadds r2, 0x1\n" + "_080421DE:\n" + "\tadds r5, 0x50\n" + "\tadds r6, 0x1\n" + "\tcmp r6, 0x1\n" + "\tbls _080421BC\n" + "\tmovs r1, 0x8C\n" + "\tlsls r1, 1\n" + "\tadds r0, r7, r1\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _08042226\n" + "\tcmp r2, 0x2\n" + "\tbne _08042226\n" + "\tsubs r1, 0x4\n" + "\tadds r0, r7, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0xFF\n" + "\tbne _08042226\n" + "\tadds r0, r7, 0\n" + "\tbl daycare_relationship_score\n" + "\tadds r4, r0, 0\n" + "\tlsls r4, 24\n" + "\tlsrs r4, 24\n" + "\tbl Random\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmovs r1, 0x64\n" + "\tmuls r0, r1\n" + "\tldr r1, _08042240 @ =0x0000ffff\n" + "\tbl __udivsi3\n" + "\tcmp r4, r0\n" + "\tbls _08042226\n" + "\tbl sub_8041940\n" + "_08042226:\n" + "\tmovs r0, 0x8D\n" + "\tlsls r0, 1\n" + "\tadds r1, r7, r0\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0xFF\n" + "\tbne _08042290\n" + "\tmovs r6, 0\n" + "\tb _08042288\n" + "\t.align 2, 0\n" + "_08042240: .4byte 0x0000ffff\n" + "_08042244:\n" + "\tmovs r0, 0x64\n" + "\tadds r1, r6, 0\n" + "\tmuls r1, r0\n" + "\tldr r0, _08042270 @ =gPlayerParty\n" + "\tadds r4, r1, r0\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x2D\n" + "\tbl GetMonData\n" + "\tcmp r0, 0\n" + "\tbeq _08042286\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x20\n" + "\tbl GetMonData\n" + "\tstr r0, [sp]\n" + "\tcmp r0, 0\n" + "\tbne _08042278\n" + "\tldr r0, _08042274 @ =gSpecialVar_0x8004\n" + "\tstrh r6, [r0]\n" + "\tmovs r0, 0x1\n" + "\tb _08042292\n" + "\t.align 2, 0\n" + "_08042270: .4byte gPlayerParty\n" + "_08042274: .4byte gSpecialVar_0x8004\n" + "_08042278:\n" + "\tsubs r0, 0x1\n" + "\tstr r0, [sp]\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x20\n" + "\tmov r2, sp\n" + "\tbl SetMonData\n" + "_08042286:\n" + "\tadds r6, 0x1\n" + "_08042288:\n" + "\tldr r0, _0804229C @ =gPlayerPartyCount\n" + "\tldrb r0, [r0]\n" + "\tcmp r6, r0\n" + "\tbcc _08042244\n" + "_08042290:\n" + "\tmovs r0, 0\n" + "_08042292:\n" + "\tadd sp, 0x8\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.align 2, 0\n" + "_0804229C: .4byte gPlayerPartyCount"); +} +#endif + +bool8 sub_80422A0(void) +{ + return sub_80421B0(&gSaveBlock1.daycareData); +} + +static bool8 sub_80422B4(struct DayCareData *dayCareData) +{ + return (u32)((-dayCareData->misc.countersEtc.personalityLo) | dayCareData->misc.countersEtc.personalityLo) >> 31; +} + +static void sub_80422C4(struct DayCareData *dayCareData) +{ + u8 language; + if (GetBoxMonData(&dayCareData->mons[0], MON_DATA_SPECIES) != 0) + { + GetBoxMonNick(&dayCareData->mons[0], gStringVar1); + language = GetBoxMonData(&dayCareData->mons[0], MON_DATA_LANGUAGE); + GetBoxMonData(&dayCareData->mons[0], MON_DATA_OT_NAME, gStringVar3); + ConvertInternationalString(gStringVar3, language); + } + if (GetBoxMonData(&dayCareData->mons[1], MON_DATA_SPECIES) != 0) + { + GetBoxMonNick(&dayCareData->mons[1], gStringVar2); + } +} + +u16 sub_8042328(void) +{ + GetBoxMonNick(&gPlayerParty[gLastFieldPokeMenuOpened].box, gStringVar1); + return GetBoxMonData(&gPlayerParty[gLastFieldPokeMenuOpened].box, MON_DATA_SPECIES); +} + +void sp0B5_daycare(void) +{ + sub_80422C4(&gSaveBlock1.daycareData); +} + +u8 sp0B6_daycare(void) +{ + u8 monCount; + if (sub_80422B4(&gSaveBlock1.daycareData)) + { + return 1; + } + monCount = Daycare_CountPokemon(&gSaveBlock1.daycareData); + if (monCount != 0) + { + return monCount + 1; + } + return 0; +} + +#ifdef NONMATCHING +static +#endif +bool8 sub_80423A8(u16 *a, u16 *b) +{ + int i, j; + u16 *v0, *v1, v2; + for (i=0, v0=a; i<2; v0++, i++) + { + for (j=0, v2=*v0, v1=b; j<2; v1++, j++) + { + if (v2 == *v1) + { + return TRUE; + } + } + } + return FALSE; +} + +#ifdef NONMATCHING +static u8 daycare_relationship_score(struct DayCareData *dayCareData) +{ + u16 species[2]; + u32 otIds[2]; + u32 genders[2]; + u16 eggGroups[2][2]; + int i; + u16 *spc; + u32 *ids; + u32 *gnd; + u16 *egg1; + u16 *egg2; + struct BoxPokemon *parent; + for (i=0, parent=&dayCareData->mons[0], spc=species, ids=otIds, gnd=genders, egg1=&eggGroups[0][0], egg2=&eggGroups[0][1]; i<2; spc++, egg1+=2, egg2+=2, parent++, i++) + { + *spc = GetBoxMonData(parent, MON_DATA_SPECIES); + *ids++ = GetBoxMonData(parent, MON_DATA_OT_ID); + *gnd++ = GetGenderFromSpeciesAndPersonality(*spc, GetBoxMonData(parent, MON_DATA_PERSONALITY)); + *egg1 = gBaseStats[*spc].eggGroup1; + *egg2 = gBaseStats[*spc].eggGroup2; + } + if (eggGroups[0][0] == 0xf) + { + return 0; + } + if (eggGroups[1][0] == 0xf) + { + return 0; + } + if (eggGroups[0][0] == 0xd && eggGroups[1][0] == 0xd) + { + return 0; + } + else if (eggGroups[0][0] == 0xd || eggGroups[1][0] == 0xd) + { + if (otIds[0] == otIds[1]) + { + return 20; + } + return 50; + } + if (genders[0] == genders[1] || genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) + { + return 0; + } + if (!sub_80423A8(eggGroups[0], eggGroups[1])) + { + return 0; + } + if (species[0] == species[1]) + { + if (otIds[0] == otIds[1]) + { + return 50; + } + return 70; + } + else + { + if (otIds[0] != otIds[1]) + { + return 50; + } + return 20; + } +} +#else +__attribute__((naked)) +static u8 daycare_relationship_score(struct DayCareData *dayCareData) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x2C\n" + "\tmovs r1, 0\n" + "\tmov r8, r1\n" + "\tmov r2, sp\n" + "\tadds r2, 0x8\n" + "\tstr r2, [sp, 0x1C]\n" + "\tadd r1, sp, 0xC\n" + "\tmov r10, r1\n" + "\tadds r2, 0xC\n" + "\tstr r2, [sp, 0x20]\n" + "\tmov r1, sp\n" + "\tadds r1, 0x2\n" + "\tldr r2, _08042488 @ =gBaseStats\n" + "\tmov r9, r2\n" + "\tldr r5, [sp, 0x1C]\n" + "\tadds r7, r1, 0\n" + "\tmov r6, sp\n" + "\tldr r1, [sp, 0x20]\n" + "\tstr r1, [sp, 0x24]\n" + "\tmov r2, r10\n" + "\tstr r2, [sp, 0x28]\n" + "\tadds r4, r0, 0\n" + "_0804240E:\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0xB\n" + "\tbl GetBoxMonData\n" + "\tstrh r0, [r5]\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0x1\n" + "\tbl GetBoxMonData\n" + "\tldr r1, [sp, 0x28]\n" + "\tstm r1!, {r0}\n" + "\tstr r1, [sp, 0x28]\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0\n" + "\tbl GetBoxMonData\n" + "\tadds r1, r0, 0\n" + "\tldrh r0, [r5]\n" + "\tbl GetGenderFromSpeciesAndPersonality\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tldr r2, [sp, 0x24]\n" + "\tstm r2!, {r0}\n" + "\tstr r2, [sp, 0x24]\n" + "\tldrh r1, [r5]\n" + "\tlsls r0, r1, 3\n" + "\tsubs r0, r1\n" + "\tlsls r0, 2\n" + "\tadd r0, r9\n" + "\tldrb r0, [r0, 0x14]\n" + "\tstrh r0, [r6]\n" + "\tldrh r1, [r5]\n" + "\tlsls r0, r1, 3\n" + "\tsubs r0, r1\n" + "\tlsls r0, 2\n" + "\tadd r0, r9\n" + "\tldrb r0, [r0, 0x15]\n" + "\tstrh r0, [r7]\n" + "\tadds r5, 0x2\n" + "\tadds r7, 0x4\n" + "\tadds r6, 0x4\n" + "\tadds r4, 0x50\n" + "\tmovs r0, 0x1\n" + "\tadd r8, r0\n" + "\tmov r1, r8\n" + "\tcmp r1, 0x1\n" + "\tbls _0804240E\n" + "\tmov r0, sp\n" + "\tldrh r1, [r0]\n" + "\tcmp r1, 0xF\n" + "\tbeq _08042484\n" + "\tldrh r0, [r0, 0x4]\n" + "\tcmp r0, 0xF\n" + "\tbeq _08042484\n" + "\tcmp r1, 0xD\n" + "\tbne _0804248C\n" + "\tcmp r0, 0xD\n" + "\tbne _08042490\n" + "_08042484:\n" + "\tmovs r0, 0\n" + "\tb _080424E4\n" + "\t.align 2, 0\n" + "_08042488: .4byte gBaseStats\n" + "_0804248C:\n" + "\tcmp r0, 0xD\n" + "\tbne _0804249C\n" + "_08042490:\n" + "\tldr r1, [sp, 0xC]\n" + "\tmov r2, r10\n" + "\tldr r0, [r2, 0x4]\n" + "\tcmp r1, r0\n" + "\tbeq _080424DE\n" + "\tb _080424E2\n" + "_0804249C:\n" + "\tldr r0, [sp, 0x14]\n" + "\tldr r2, [sp, 0x20]\n" + "\tldr r1, [r2, 0x4]\n" + "\tcmp r0, r1\n" + "\tbeq _08042484\n" + "\tcmp r0, 0xFF\n" + "\tbeq _08042484\n" + "\tcmp r1, 0xFF\n" + "\tbeq _08042484\n" + "\tadd r1, sp, 0x4\n" + "\tmov r0, sp\n" + "\tbl sub_80423A8\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _08042484\n" + "\tldr r0, [sp, 0x1C]\n" + "\tldrh r1, [r0, 0x2]\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, r1\n" + "\tbne _080424D4\n" + "\tldr r1, [sp, 0xC]\n" + "\tmov r2, r10\n" + "\tldr r0, [r2, 0x4]\n" + "\tcmp r1, r0\n" + "\tbeq _080424E2\n" + "\tmovs r0, 0x46\n" + "\tb _080424E4\n" + "_080424D4:\n" + "\tldr r1, [sp, 0xC]\n" + "\tmov r2, r10\n" + "\tldr r0, [r2, 0x4]\n" + "\tcmp r1, r0\n" + "\tbne _080424E2\n" + "_080424DE:\n" + "\tmovs r0, 0x14\n" + "\tb _080424E4\n" + "_080424E2:\n" + "\tmovs r0, 0x32\n" + "_080424E4:\n" + "\tadd sp, 0x2C\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif + +u8 daycare_relationship_score_from_savegame(void) +{ + return daycare_relationship_score(&gSaveBlock1.daycareData); +} + +void sp0B9_daycare_relationship_comment(void) +{ + u8 whichString; + u8 relationshipScore; + + relationshipScore = daycare_relationship_score_from_savegame(); + whichString = 0; + if (relationshipScore == 0) + whichString = 3; + if (relationshipScore == 20) + whichString = 2; + if (relationshipScore == 50) + whichString = 1; + if (relationshipScore == 70) + whichString = 0; + StringCopy(gStringVar4, gUnknown_08209AC4[whichString]); +} + +#ifdef NONMATCHING +bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) +{ + u8 i; + u8 flags[2]; + + // This portion is nonmatching + flags[1] = 0; + flags[0] = 0; + for (i = 0; name[i] != EOS; i ++) + // End nonmatching portion + + { + if (name[i] == CHAR_MALE) flags[0] ++; + if (name[i] == CHAR_FEMALE) flags[1] ++; + } + if (genderRatio == MON_MALE && flags[0] && !flags[1]) return TRUE; + if (genderRatio == MON_FEMALE && flags[1] && !flags[0]) return TRUE; + return FALSE; +} +#else +__attribute__((naked)) +bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) +{ + asm_unified("\n" + "\tpush {r4,r5,lr}\n" + "\tsub sp, 0x4\n" + "\tadds r4, r0, 0\n" + "\tlsls r1, 24\n" + "\tlsrs r5, r1, 24\n" + "\tmov r2, sp\n" + "\tmov r1, sp\n" + "\tmovs r0, 0\n" + "\tstrb r0, [r1, 0x1]\n" + "\tstrb r0, [r2]\n" + "\tmovs r3, 0\n" + "\tldrb r0, [r4]\n" + "\tcmp r0, 0xFF\n" + "\tbeq _0804258C\n" + "_08042564:\n" + "\tadds r1, r4, r3\n" + "\tldrb r0, [r1]\n" + "\tcmp r0, 0xB5\n" + "\tbne _08042572\n" + "\tldrb r0, [r2]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r2]\n" + "_08042572:\n" + "\tldrb r0, [r1]\n" + "\tcmp r0, 0xB6\n" + "\tbne _0804257E\n" + "\tldrb r0, [r2, 0x1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r2, 0x1]\n" + "_0804257E:\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tadds r0, r4, r3\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0xFF\n" + "\tbne _08042564\n" + "_0804258C:\n" + "\tcmp r5, 0\n" + "\tbne _080425A0\n" + "\tmov r0, sp\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbeq _080425A0\n" + "\tmov r0, sp\n" + "\tldrb r0, [r0, 0x1]\n" + "\tcmp r0, 0\n" + "\tbeq _080425B4\n" + "_080425A0:\n" + "\tcmp r5, 0xFE\n" + "\tbne _080425B8\n" + "\tmov r0, sp\n" + "\tldrb r0, [r0, 0x1]\n" + "\tcmp r0, 0\n" + "\tbeq _080425B8\n" + "\tmov r0, sp\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbne _080425B8\n" + "_080425B4:\n" + "\tmovs r0, 0x1\n" + "\tb _080425BA\n" + "_080425B8:\n" + "\tmovs r0, 0\n" + "_080425BA:\n" + "\tadd sp, 0x4\n" + "\tpop {r4,r5}\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif + +static u8 *AppendGenderSymbol(u8 *name, u8 gender) +{ + if (gender == MON_MALE) + { + if (!NameHasGenderSymbol(name, MON_MALE)) + return StringAppend(name, gOtherText_MaleSymbol3); + } + + else if (gender == MON_FEMALE) + { + if (!NameHasGenderSymbol(name, MON_FEMALE)) + return StringAppend(name, gOtherText_FemaleSymbol3); + } + return StringAppend(name, gOtherText_GenderlessSymbol); +} + +static u8 *MonAppendGenderSymbol(u8 *name, struct BoxPokemon *boxMon) +{ + return AppendGenderSymbol(name, GetBoxMonGender(boxMon)); +} + +static void DaycareLevelMenuGetText(struct DayCareData *dayCareData, u8 *dest) +{ + u8 buffers[2][20]; + u8 i; + *dest = EOS; + for (i = 0; i < 2; i ++) + { + GetBoxMonNick(&dayCareData->mons[i], buffers[i]); + MonAppendGenderSymbol(buffers[i], &dayCareData->mons[i]); + } + StringCopy(dest, buffers[0]); + StringAppend(dest, gOtherText_NewLine2); + StringAppend(dest, buffers[1]); + StringAppend(dest, gOtherText_NewLine2); + StringAppend(dest, gOtherText_CancelAndLv); +} + +static void DaycareLevelMenuGetLevelText(struct DayCareData *dayCareData, u8 *dest) +{ + u8 i; + u8 level; + *dest = EOS; + for (i = 0; i < 2; i ++) + { + level = Daycare_GetLevelAfterSteps(&dayCareData->mons[i], dayCareData->misc.countersEtc.steps[i]); + dest[0] = 0x34; + dest[1] = 0xFC; + dest[2] = 0x14; + dest[3] = 0x06; + dest = ConvertIntToDecimalStringN(dest + 4, level, STR_CONV_MODE_RIGHT_ALIGN, 3); + dest[0] = 0xFC; + dest[1] = 0x14; + dest[2] = 0x00; + dest = StringCopy(dest + 3, gOtherText_NewLine2); + } + *dest = EOS; +} + +static void DaycareLevelMenuProcessKeyInput(u8 taskId) +{ + if (gMain.newKeys & DPAD_UP) + { + if (gTasks[taskId].data[0] != 0) + { + gTasks[taskId].data[0] --; + MoveMenuCursor(-1); + PlaySE(SE_SELECT); + } + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (gTasks[taskId].data[0] != 2) + { + gTasks[taskId].data[0] ++; + MoveMenuCursor(+1); + PlaySE(SE_SELECT); + } + } + else if (gMain.newKeys & A_BUTTON) + { + HandleDestroyMenuCursors(); + PlaySE(SE_SELECT); + gLastFieldPokeMenuOpened = gScriptResult = gTasks[taskId].data[0]; + DestroyTask(taskId); + MenuZeroFillWindowRect(15, 6, 29, 13); + EnableBothScriptContexts(); + } + else if (gMain.newKeys & B_BUTTON) + { + HandleDestroyMenuCursors(); + gLastFieldPokeMenuOpened = gScriptResult = 2; + DestroyTask(taskId); + MenuZeroFillWindowRect(15, 6, 29, 13); + EnableBothScriptContexts(); + } +} + +void ShowDaycareLevelMenu(void) +{ + u8 buffer[100]; + MenuDrawTextWindow(15, 6, 29, 13); + DaycareLevelMenuGetText(&gSaveBlock1.daycareData, buffer); + MenuPrint(buffer, 16, 7); + DaycareLevelMenuGetLevelText(&gSaveBlock1.daycareData, buffer); + MenuPrint_PixelCoords(buffer, 0xce, 0x38, TRUE); + InitMenu(0, 16, 7, 3, 0, 13); + CreateTask(DaycareLevelMenuProcessKeyInput, 3); +} + +void ChooseSendDaycareMon(void) +{ + OpenPartyMenu(PARTY_MENU_TYPE_DAYCARE, 0); + gMain.savedCallback = c2_exit_to_overworld_2_switch; +} diff --git a/src/decoration.c b/src/field/decoration.c index 1d48692c1..59c19c20a 100644 --- a/src/decoration.c +++ b/src/field/decoration.c @@ -619,7 +619,7 @@ const u8 DecorDesc_REGISTEEL_DOLL[] = _( "Place it on a mat\n" "or a desk."); #elif GERMAN -#include "data/decoration/descriptions_de.h" +#include "../data/decoration/descriptions_de.h" #endif const u16 DecorGfx_SMALL_DESK[] = { @@ -1389,7 +1389,7 @@ const struct Decoration gDecorations[] = { {DECOR_REGISTEEL_DOLL, _("REGISTEEL DOLL"), DECORPERM_SOLID_MAT, DECORSHAPE_1x2, DECORCAT_DOLL, 10000, DecorDesc_REGISTEEL_DOLL, DecorGfx_REGISTEEL_DOLL} }; #elif GERMAN -#include "data/decoration/decorations.h" +#include "../data/decoration/decorations.h" #endif const u8 *const gUnknown_083EC5E4[] = { @@ -1494,7 +1494,7 @@ const union AnimCmd *const gSpriteAnimTable_83EC930[] = { }; const struct SpriteFrameImage gSpriteImageTable_83EC934[] = { - {.data = (u8 *)&gUnknown_02038900.image, .size = sizeof gUnknown_02038900.image} + {.data = gUnknown_02038900.image, .size = sizeof(gUnknown_02038900.image)} }; const struct SpriteTemplate gSpriteTemplate_83EC93C = { @@ -2199,7 +2199,7 @@ void sub_80FF0E0(u8 taskId) void sub_80FF114(u8 taskId) { DrawWholeMapView(); - warp1_set(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]); + Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]); warp_in(); } void sub_80FF160(u8 taskId) diff --git a/src/decoration_inventory.c b/src/field/decoration_inventory.c index 35ba7e228..687589373 100644 --- a/src/decoration_inventory.c +++ b/src/field/decoration_inventory.c @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 6/5/17. + // #include "global.h" @@ -8,7 +8,7 @@ #include "decoration.h" #include "decoration_inventory.h" -#define DECOR_INV(ptr) {.items = (u8 *)&ptr, .size = sizeof ptr} +#define DECOR_INV(ptr) {.items = ptr, .size = sizeof ptr} struct DecorationInventory const gDecorationInventories[] = { DECOR_INV(gSaveBlock1.decorDesk), diff --git a/src/dewford_trend.c b/src/field/dewford_trend.c index aaf4dd66a..aaf4dd66a 100644 --- a/src/dewford_trend.c +++ b/src/field/dewford_trend.c diff --git a/src/diploma.c b/src/field/diploma.c index 27601404c..27601404c 100644 --- a/src/diploma.c +++ b/src/field/diploma.c diff --git a/src/easy_chat.c b/src/field/easy_chat.c index dd33e69c3..8e7413516 100644 --- a/src/easy_chat.c +++ b/src/field/easy_chat.c @@ -19,6 +19,8 @@ extern const u8 gEasyChatGroupSizes[]; extern u16 gSpecialVar_0x8004; +IWRAM_DATA u8 gUnknown_03000740; + // returns the end of the destination buffer text u8 *EasyChat_GetWordText(u8 *dst, u16 word) { @@ -159,7 +161,7 @@ u16 unref_sub_80EB5E0(u16 arg0) { case EC_GROUP_POKEMON: // 0 case EC_GROUP_POKEMON_2: // 21 - chars = (u8 *) gSpeciesNames[word]; + chars = gSpeciesNames[word]; break; case EC_GROUP_MOVE_1: // 18 case EC_GROUP_MOVE_2: // 19 @@ -276,13 +278,13 @@ void sub_80EB7C4(void) switch (gSpecialVar_0x8004) { case 0: - words = gSaveBlock1.unk2B1C; + words = gSaveBlock1.easyChats.unk2B1C; arg1 = 2; arg2 = 2; break; case 1: - words = gSaveBlock1.unk2B28; - if (sub_80EB680(gSaveBlock1.unk2B28, 3, 2, 20)) + words = gSaveBlock1.easyChats.unk2B28; + if (sub_80EB680(gSaveBlock1.easyChats.unk2B28, 3, 2, 20)) { arg1 = 2; arg2 = 3; @@ -294,12 +296,12 @@ void sub_80EB7C4(void) } break; case 2: - words = gSaveBlock1.unk2B34; + words = gSaveBlock1.easyChats.unk2B34; arg1 = 3; arg2 = 2; break; case 3: - words = gSaveBlock1.unk2B40; + words = gSaveBlock1.easyChats.unk2B40; arg1 = 3; arg2 = 2; break; @@ -428,7 +430,7 @@ static u16 sub_80EB9D8(void) for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON]; i++) { const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList); - const u8 local2 = GetNationalPokedexFlag(dexNum, 0); + const u8 local2 = GetSetPokedexFlag(dexNum, 0); if (local2) { diff --git a/src/event_data.c b/src/field/event_data.c index ee475343f..43d49c417 100644 --- a/src/event_data.c +++ b/src/field/event_data.c @@ -114,10 +114,8 @@ u16 *GetVarPointer(u16 id) { if (id < 0x4000) return NULL; - - if ((s16)id >= 0) + if (id < 0x8000) return &gSaveBlock1.vars[id - 0x4000]; - return gSpecialVars[id - 0x8000]; } diff --git a/src/field_camera.c b/src/field/field_camera.c index db51cf054..a29f4c49f 100644 --- a/src/field_camera.c +++ b/src/field/field_camera.c @@ -7,7 +7,7 @@ #include "sprite.h" #include "text.h" -EWRAM_DATA u8 gUnknown_0202E854 = 0; +EWRAM_DATA bool8 gUnusedBikeCameraAheadPanback = FALSE; struct UnknownStruct { @@ -455,13 +455,14 @@ static void CameraPanningCB_PanAhead(void) { u8 var; - if (gUnknown_0202E854 == 0) + if (gUnusedBikeCameraAheadPanback == FALSE) { InstallCameraPanAheadCallback(); } else { - if (gPlayerAvatar.running1 == 1) + // this code is never reached. + if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) { gUnknown_0300059C ^= 1; if (gUnknown_0300059C == 0) diff --git a/src/field_control_avatar.c b/src/field/field_control_avatar.c index ff8e8504c..e9dd0e9a6 100644 --- a/src/field_control_avatar.c +++ b/src/field/field_control_avatar.c @@ -124,8 +124,8 @@ void FieldClearPlayerInput(struct FieldInput *input) void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) { - u8 r6 = gPlayerAvatar.running1; - u8 r9 = gPlayerAvatar.running2; + u8 r6 = gPlayerAvatar.tileTransitionState; + u8 r9 = gPlayerAvatar.runningState; bool8 forcedMove = MetatileBehavior_IsMoveTile(cur_mapdata_block_role_at_player_pos(r9)); if ((r6 == 2 && forcedMove == FALSE) || r6 == 0) @@ -856,7 +856,7 @@ u8 sub_8068F18(void) return 0; } -u8 *GetFieldObjectScriptPointerForComparison(void) +u8 *GetFieldObjectScriptPointerPlayerFacing(void) { u8 r4; struct MapPosition position; diff --git a/src/field_door.c b/src/field/field_door.c index ab46f0696..ab46f0696 100644 --- a/src/field_door.c +++ b/src/field/field_door.c diff --git a/src/field_effect.c b/src/field/field_effect.c index 0625e9d18..bd78fb632 100644 --- a/src/field_effect.c +++ b/src/field/field_effect.c @@ -37,7 +37,7 @@ const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/field_effect_obj const u32 gSpriteImage_839E474[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp"); const u32 gSpriteImage_839E534[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp"); const u32 gSpriteImage_839E5F4[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp"); -const u32 gSpriteImage_839E7F4[] = INCBIN_U32("graphics/misc/small_hof_monitor.4bpp"); +const u8 gSpriteImage_839E7F4[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp"); const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/field_effect_objects/palettes/05.gbapal"); // Graphics for the lights streaking past your Pokemon when it uses a field move. @@ -110,7 +110,7 @@ const struct SpriteFrameImage gSpriteImageTable_839F170[] = { }; const struct SpriteFrameImage gSpriteImageTable_839F178[] = { - {.data = (u8 *)gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here + {.data = gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here }; const struct Subsprite Unknown_39F180[] = { @@ -660,7 +660,7 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio const struct CompressedSpritePalette *spritePalette; HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)gUnknown_081FAF4C[3] /* this is actually u8* or something, pointing to ewram */, gUnknown_081FAF4C[3], species, g); - spritePalette = sub_80409C8(species, d, g); + spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, d, g); LoadCompressedObjectPalette(spritePalette); GetMonSpriteTemplate_803C56C(species, 3); gUnknown_02024E8C.paletteTag = spritePalette->tag; @@ -1213,7 +1213,7 @@ void task00_8084310(u8 taskId) } if (!FieldEffectActiveListContains(FLDEFF_USE_FLY)) { - flag_var_implications_of_teleport_(); + Overworld_ResetStateAfterFly(); warp_in(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08084390; @@ -1223,7 +1223,7 @@ void task00_8084310(u8 taskId) void mapldr_08084390(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(c3_080843F8, 0); gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; @@ -1264,7 +1264,7 @@ extern void CameraObjectReset1(void); void sub_8086748(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); FreezeMapObjects(); @@ -1287,7 +1287,7 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0] playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[4] = playerSprite->subspriteMode; playerObject->mapobj_bit_26 = 1; @@ -1382,7 +1382,7 @@ bool8 sub_80869B8(struct Task *task) bool8 sub_80869F8(struct Task *task) { - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); CameraObjectReset1(); UnfreezeMapObjects(); @@ -1533,7 +1533,7 @@ void sub_8086C40(void) void sub_8086C94(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); CreateTask(sub_8086CBC, 0); @@ -1678,7 +1678,7 @@ void sub_8086F64(u8 taskId) bool8 sub_8086FB0(struct Task *task, struct MapObject *mapObject) { ScriptContext2_Enable(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; task->data[0]++; return FALSE; } @@ -1725,7 +1725,7 @@ bool8 sub_8087058(struct Task *task, struct MapObject *mapObject) return TRUE; } ScriptContext2_Disable(); - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(sub_8086F64)); FieldEffectActiveListRemove(FLDEFF_USE_WATERFALL); return FALSE; @@ -1751,7 +1751,7 @@ void Task_Dive(u8 taskId) bool8 sub_8087124(struct Task *task) { - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; task->data[0]++; return FALSE; } @@ -1796,7 +1796,7 @@ bool8 sub_808722C(struct Task *task, struct MapObject *mapObject, struct Sprite FreezeMapObjects(); CameraObjectReset2(); SetCameraPanningCallback(NULL); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; mapObject->mapobj_bit_26 = 1; task->data[1] = 1; task->data[0]++; @@ -1894,11 +1894,10 @@ bool8 sub_80873F4(struct Task *task, struct MapObject *mapObject, struct Sprite } void sub_8087470(u8); -extern u8 sub_80608A4(u8); void mapldr_080851BC(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); gFieldCallback = NULL; @@ -1914,7 +1913,7 @@ bool8 sub_80874CC(struct Task *task, struct MapObject *mapObject, struct Sprite { CameraObjectReset2(); FreezeMapObjects(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; mapObject->mapobj_bit_13 = 1; task->data[0]++; return FALSE; @@ -1952,7 +1951,7 @@ bool8 sub_808759C(struct Task *task, struct MapObject *mapObject, struct Sprite { if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) { - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); UnfreezeMapObjects(); DestroyTask(FindTaskIdByFunc(sub_8087470)); @@ -1997,7 +1996,7 @@ bool8 sub_80876C8(struct Task *task, struct MapObject *mapObject, struct Sprite { FreezeMapObjects(); CameraObjectReset2(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; mapObject->mapobj_bit_26 = 1; task->data[0]++; return FALSE; @@ -2135,7 +2134,7 @@ void sub_8087A74(u8); void mapldr_080859D4(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); FreezeMapObjects(); @@ -2267,7 +2266,7 @@ void sub_8087D78(struct Task *task) { if (!gPaletteFade.active && sub_8054034() == TRUE) { - sub_8053570(); + Overworld_SetWarpDestToLastHealLoc(); warp_in(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08085D88; @@ -2279,7 +2278,7 @@ void sub_8087E1C(u8); void mapldr_08085D88(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); FreezeMapObjects(); @@ -2880,7 +2879,7 @@ u8 FldEff_UseSurf(void) u8 taskId; taskId = CreateTask(sub_8088954, 0xff); gTasks[taskId].data[15] = gFieldEffectArguments[0]; - sav1_reset_battle_music_maybe(); + Overworld_ClearSavedMusic(); Overworld_ChangeMusicTo(0x016d); return FALSE; } @@ -2894,7 +2893,7 @@ void sub_8088984(struct Task *task) { ScriptContext2_Enable(); FreezeMapObjects(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(8); PlayerGetDestCoords(&task->data[1], &task->data[2]); MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].placeholder18, &task->data[1], &task->data[2]); @@ -2948,7 +2947,7 @@ void sub_8088AF4(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) { - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->placeholder18)); sub_8127ED0(mapObject->mapobj_unk_1A, 1); @@ -3025,7 +3024,7 @@ void sub_8088CA0(struct Task *task) if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) { task->data[15] = gPlayerAvatar.flags; - gPlayerAvatar.unk6 = 0x01; + gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_8059BF4(); FieldObjectSetSpecialAnim(mapObject, 0x39); @@ -3297,7 +3296,7 @@ void sub_80892A0(struct Task *task) task->data[0]++; task->data[2] = 17; task->data[15] = gPlayerAvatar.flags; - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(0x01); if (task->data[15] & 0x08) { @@ -3399,7 +3398,7 @@ void fishE(struct Task *task) sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); FieldObjectTurn(mapObject, DIR_SOUTH); gPlayerAvatar.flags = task->data[15]; - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; FieldEffectActiveListRemove(FLDEFF_FLY_IN); DestroyTask(FindTaskIdByFunc(sub_8089270)); } diff --git a/src/field/field_effect_helpers.c b/src/field/field_effect_helpers.c new file mode 100644 index 000000000..2ad8bdce3 --- /dev/null +++ b/src/field/field_effect_helpers.c @@ -0,0 +1,1632 @@ +#include "global.h" +#include "sprite.h" +#include "fieldmap.h" +#include "metatile_behavior.h" +#include "songs.h" +#include "sound.h" +#include "field_map_obj.h" +#include "field_camera.h" +#include "field_map_obj_helpers.h" +#include "field_weather.h" +#include "field_effect.h" +#include "field_ground_effect.h" +#include "field_effect_helpers.h" + +static void sub_81269E0(struct Sprite *); +static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite); +static void npc_pal_op_A(struct MapObject *, u8); +static void npc_pal_op_B(struct MapObject *, u8); +static void sub_81275A0(struct Sprite *); +static void sub_81275C4(struct Sprite *); +static void sub_8127DA0(struct Sprite *); +static void sub_8127DD0(struct Sprite *); +static void sub_8127E30(struct Sprite *); +static void sub_812882C(struct Sprite *, u8, u8); +static void sub_81278D8(struct Sprite *); +static void sub_8127FD4(struct MapObject *, struct Sprite *); +static void sub_812800C(struct MapObject *, struct Sprite *); +static void sub_81280A0(struct MapObject *, struct Sprite *, struct Sprite *); +static void sub_8128174(struct Sprite *); +static u32 ShowDisguiseFieldEffect(u8, u8, u8); + +const u8 UnusedEggString_8401E28[] = _("タマゴ"); + +const u16 gUnknown_08401E2C[] = { + 0x0c, + 0x1c, + 0x2c +}; + +const u8 gUnknown_08401E32[] = { + 0, + 1, + 2, + 3 +}; + +const u16 gUnknown_08401E36[] = { + 4, + 4, + 4, + 16 +}; + +void (*const gUnknown_08401E40[])(struct Sprite *) = { + sub_81275A0, + sub_81275C4 +}; + +void (*const gUnknown_08401E48[])(struct Sprite *) = { + sub_8127DA0, + sub_8127DD0, + sub_8127E30 +}; + +const u8 gUnknown_08401E54[] = { + 0, + 0, + 1, + 2, + 3 +}; + +const u16 gUnknown_08401E5A[] = { + 3, + 7 +}; + +void SetUpReflection(struct MapObject *mapObject, struct Sprite *sprite, bool8 flag) +{ + struct Sprite *newSprite; + + newSprite = &gSprites[obj_unfreeze(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)]; + newSprite->callback = sub_81269E0; + newSprite->oam.priority = 3; + newSprite->oam.paletteNum = gUnknown_0830FD14[newSprite->oam.paletteNum]; + newSprite->usingSheet = TRUE; + newSprite->anims = gDummySpriteAnimTable; + StartSpriteAnim(newSprite, 0); + newSprite->affineAnims = gDummySpriteAffineAnimTable; + newSprite->affineAnimBeginning = TRUE; + newSprite->subspriteMode = 0; + newSprite->data0 = sprite->data0; + newSprite->data1 = mapObject->localId; + newSprite->data7 = flag; + npc_pal_op(mapObject, newSprite); + if (!flag) + { + newSprite->oam.affineMode = 1; + } +} + +static s16 sub_81268D0(struct MapObject *mapObject) +{ + return GetFieldObjectGraphicsInfo(mapObject->graphicsId)->height - 2; +} + +static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 whichElement; + u16 unk_8041e2c[ARRAY_COUNT(gUnknown_08401E2C)]; + + memcpy(unk_8041e2c, gUnknown_08401E2C, sizeof gUnknown_08401E2C); + sprite->data2 = 0; + if (!GetFieldObjectGraphicsInfo(mapObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(mapObject->mapobj_unk_1F)) || (whichElement = sub_8057450(mapObject->mapobj_unk_1E)))) + { + sprite->data2 = unk_8041e2c[whichElement - 1]; + npc_pal_op_A(mapObject, sprite->oam.paletteNum); + } + else + { + npc_pal_op_B(mapObject, sprite->oam.paletteNum); + } +} + +static void npc_pal_op_B(struct MapObject *mapObject, u8 paletteNum) +{ + const struct MapObjectGraphicsInfo *graphicsInfo; + + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + if (graphicsInfo->paletteTag2 != 0x11ff) + { + if (graphicsInfo->paletteSlot == 0) + { + npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, paletteNum); + } + else if (graphicsInfo->paletteSlot == 10) + { + npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, paletteNum); + } + else + { + pal_patch_for_npc(npc_paltag_by_palslot(paletteNum), paletteNum); + } + sub_807D78C(paletteNum); + } +} + +static void npc_pal_op_A(struct MapObject *mapObject, u8 paletteNum) +{ + const struct MapObjectGraphicsInfo *graphicsInfo; + + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + if (graphicsInfo->paletteTag2 != 0x11ff) + { + pal_patch_for_npc(graphicsInfo->paletteTag2, paletteNum); + sub_807D78C(paletteNum); + } +} + +static void sub_81269E0(struct Sprite *sprite) +{ + struct MapObject *mapObject; + struct Sprite *oldSprite; + + mapObject = &gMapObjects[sprite->data0]; + oldSprite = &gSprites[mapObject->spriteId]; + if (!mapObject->active || !mapObject->mapobj_bit_17 || mapObject->localId != sprite->data1) + { + sprite->inUse = FALSE; + } + else + { + sprite->oam.paletteNum = gUnknown_0830FD14[oldSprite->oam.paletteNum]; + sprite->oam.shape = oldSprite->oam.shape; + sprite->oam.size = oldSprite->oam.size; + sprite->oam.matrixNum = oldSprite->oam.matrixNum | 0x10; + sprite->oam.tileNum = oldSprite->oam.tileNum; + sprite->subspriteTables = oldSprite->subspriteTables; + sprite->subspriteTableNum = oldSprite->subspriteTableNum; + sprite->invisible = oldSprite->invisible; + sprite->pos1.x = oldSprite->pos1.x; + sprite->pos1.y = oldSprite->pos1.y + sub_81268D0(mapObject) + sprite->data2; + sprite->centerToCornerVecX = oldSprite->centerToCornerVecX; + sprite->centerToCornerVecY = oldSprite->centerToCornerVecY; + sprite->pos2.x = oldSprite->pos2.x; + sprite->pos2.y = -oldSprite->pos2.y; + sprite->coordOffsetEnabled = oldSprite->coordOffsetEnabled; + if (sprite->data7 == FALSE) + { + sprite->oam.matrixNum = 0; + if (oldSprite->oam.matrixNum & 0x8) + { + sprite->oam.matrixNum = 1; + } + } + } +} + +u8 sub_8126B54(void) +{ + u8 spriteId; + struct Sprite *sprite; + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[8] /*gFieldEffectSpriteTemplate_Arrow*/, 0, 0, 0x52); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + sprite->invisible = TRUE; + } + return spriteId; +} + +void objid_set_invisible(u8 spriteId) +{ + gSprites[spriteId].invisible = TRUE; +} + +void sub_8126BC4(u8 spriteId, u8 animNum, s16 x, s16 y) +{ + s16 x2; + s16 y2; + struct Sprite *sprite; + + sprite = &gSprites[spriteId]; + if (sprite->invisible || sprite->data0 != x || sprite->data1 != y) + { + sub_80603CC(x, y, &x2, &y2); + sprite = &gSprites[spriteId]; + sprite->pos1.x = x2 + 8; + sprite->pos1.y = y2 + 8; + sprite->invisible = FALSE; + sprite->data0 = x; + sprite->data1 = y; + StartSpriteAnim(sprite, animNum - 1); + } +} + +u32 FldEff_Shadow(void) +{ + u8 mapObjectId; + const struct MapObjectGraphicsInfo *graphicsInfo; + u8 spriteId; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gUnknown_08401E32[graphicsInfo->shadowSize]], 0, 0, 0x94); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].data0 = gFieldEffectArguments[0]; + gSprites[spriteId].data1 = gFieldEffectArguments[1]; + gSprites[spriteId].data2 = gFieldEffectArguments[2]; + gSprites[spriteId].data3 = (graphicsInfo->height >> 1) - gUnknown_08401E36[graphicsInfo->shadowSize]; + } + return 0; +} + +void oamc_shadow(struct Sprite *sprite) +{ + u8 mapObjectId; + struct MapObject *mapObject; + struct Sprite *linkedSprite; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId)) + { + FieldEffectStop(sprite, FLDEFF_SHADOW); + } + else + { + mapObject = &gMapObjects[mapObjectId]; + linkedSprite = &gSprites[mapObject->spriteId]; + sprite->oam.priority = linkedSprite->oam.priority; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = linkedSprite->pos1.y + sprite->data3; + if (!mapObject->active || !mapObject->mapobj_bit_22 || MetatileBehavior_IsPokeGrass(mapObject->mapobj_unk_1E) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->mapobj_unk_1E) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->mapobj_unk_1F) || MetatileBehavior_IsReflective(mapObject->mapobj_unk_1E) || MetatileBehavior_IsReflective(mapObject->mapobj_unk_1F)) + { + FieldEffectStop(sprite, FLDEFF_SHADOW); + } + } +} + +u32 FldEff_TallGrass(void) +{ + s16 x; + s16 y; + u8 spriteId; + struct Sprite *sprite; + + x = gFieldEffectArguments[0]; + y = gFieldEffectArguments[1]; + sub_8060470(&x, &y, 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[4], x, y, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = gFieldEffectArguments[0]; + sprite->data2 = gFieldEffectArguments[1]; + sprite->data3 = gFieldEffectArguments[4]; + sprite->data4 = gFieldEffectArguments[5]; + sprite->data5 = gFieldEffectArguments[6]; + if (gFieldEffectArguments[7]) + { + SeekSpriteAnim(sprite, 4); + } + } + return 0; +} + +void unc_grass_normal(struct Sprite *sprite) +{ + u8 mapNum; + u8 mapGroup; + u8 metatileBehavior; + u8 localId; + u8 mapObjectId; + struct MapObject *mapObject; + + mapNum = sprite->data5 >> 8; + mapGroup = sprite->data5; + if (gCamera.field_0 && (gSaveBlock1.location.mapNum != mapNum || gSaveBlock1.location.mapGroup != mapGroup)) + { + sprite->data1 -= gCamera.x; + sprite->data2 -= gCamera.y; + sprite->data5 = ((u8)gSaveBlock1.location.mapNum << 8) | (u8)gSaveBlock1.location.mapGroup; + } + localId = sprite->data3 >> 8; + mapNum = sprite->data3; + mapGroup = sprite->data4; + metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data1, sprite->data2); + if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data7 && sprite->animEnded)) + { + FieldEffectStop(sprite, FLDEFF_TALL_GRASS); + } + else + { + mapObject = &gMapObjects[mapObjectId]; + if ((mapObject->coords2.x != sprite->data1 || mapObject->coords2.y != sprite->data2) && (mapObject->coords3.x != sprite->data1 || mapObject->coords3.y != sprite->data2)) + { + sprite->data7 = TRUE; + } + metatileBehavior = 0; + if (sprite->animCmdIndex == 0) + { + metatileBehavior = 4; + } + sub_806487C(sprite, 0); + sub_812882C(sprite, sprite->data0, metatileBehavior); + } +} + +u32 FldEff_JumpTallGrass(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[10], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = 12; + } + return 0; +} + +u8 sub_8126FF0(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +{ + struct Sprite *sprite; + u8 i; + + for (i = 0; i < MAX_SPRITES; i ++) + { + if (gSprites[i].inUse) + { + sprite = &gSprites[i]; + if (sprite->callback == unc_grass_normal && (x == sprite->data1 && y == sprite->data2) && (localId == (u8)(sprite->data3 >> 8) && mapNum == (sprite->data3 & 0xFF) && mapGroup == sprite->data4)) + { + return i; + } + } + } + return MAX_SPRITES; +} + +u32 FldEff_LongGrass(void) +{ + s16 x; + s16 y; + u8 spriteId; + struct Sprite *sprite; + + x = gFieldEffectArguments[0]; + y = gFieldEffectArguments[1]; + sub_8060470(&x, &y, 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[15], x, y, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = ZCoordToPriority(gFieldEffectArguments[2]); + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = gFieldEffectArguments[0]; + sprite->data2 = gFieldEffectArguments[1]; + sprite->data3 = gFieldEffectArguments[4]; + sprite->data4 = gFieldEffectArguments[5]; + sprite->data5 = gFieldEffectArguments[6]; + if (gFieldEffectArguments[7]) + { + SeekSpriteAnim(sprite, 6); + } + } + return 0; +} + +void unc_grass_tall(struct Sprite *sprite) +{ + u8 mapNum; + u8 mapGroup; + u8 metatileBehavior; + u8 localId; + u8 mapObjectId; + struct MapObject *mapObject; + + mapNum = sprite->data5 >> 8; + mapGroup = sprite->data5; + if (gCamera.field_0 && (gSaveBlock1.location.mapNum != mapNum || gSaveBlock1.location.mapGroup != mapGroup)) + { + sprite->data1 -= gCamera.x; + sprite->data2 -= gCamera.y; + sprite->data5 = ((u8)gSaveBlock1.location.mapNum << 8) | (u8)gSaveBlock1.location.mapGroup; + } + localId = sprite->data3 >> 8; + mapNum = sprite->data3; + mapGroup = sprite->data4; + metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data1, sprite->data2); + if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data7 && sprite->animEnded)) + { + FieldEffectStop(sprite, FLDEFF_LONG_GRASS); + } + else + { + mapObject = &gMapObjects[mapObjectId]; + if ((mapObject->coords2.x != sprite->data1 || mapObject->coords2.y != sprite->data2) && (mapObject->coords3.x != sprite->data1 || mapObject->coords3.y != sprite->data2)) + { + sprite->data7 = TRUE; + } + sub_806487C(sprite, 0); + sub_812882C(sprite, sprite->data0, 0); + } +} + +u32 FldEff_JumpLongGrass(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[16], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = 18; + } + return 0; +} + +u32 FldEff_ShortGrass(void) +{ + u8 mapObjectId; + struct MapObject *mapObject; + u8 spriteId; + struct Sprite *sprite; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + mapObject = &gMapObjects[mapObjectId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[30], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &(gSprites[spriteId]); + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->data0 = gFieldEffectArguments[0]; + sprite->data1 = gFieldEffectArguments[1]; + sprite->data2 = gFieldEffectArguments[2]; + sprite->data3 = gSprites[mapObject->spriteId].pos1.x; + sprite->data4 = gSprites[mapObject->spriteId].pos1.y; + } + return 0; +} + +void sub_8127334(struct Sprite *sprite) +{ + u8 mapObjectId; + s16 x; + s16 y; + const struct MapObjectGraphicsInfo *graphicsInfo; + struct Sprite *linkedSprite; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_18) + { + FieldEffectStop(sprite, FLDEFF_SHORT_GRASS); + } + else + { + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); + linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + y = linkedSprite->pos1.y; + x = linkedSprite->pos1.x; + if (x != sprite->data3 || y != sprite->data4) + { + sprite->data3 = x; + sprite->data4 = y; + if (sprite->animEnded) + { + StartSpriteAnim(sprite, 0); + } + } + sprite->pos1.x = x; + sprite->pos1.y = y; + sprite->pos2.y = (graphicsInfo->height >> 1) - 8; + sprite->subpriority = linkedSprite->subpriority - 1; + sprite->oam.priority = linkedSprite->oam.priority; + sub_806487C(sprite, linkedSprite->invisible); + } +} + +u32 FldEff_SandFootprints(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[11], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data7 = FLDEFF_SAND_FOOTPRINTS; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return 0; +} + +u32 FldEff_DeepSandFootprints(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[23], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data7 = FLDEFF_DEEP_SAND_FOOTPRINTS; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return spriteId; +} + +u32 FldEff_BikeTireTracks(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[27], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data7 = FLDEFF_BIKE_TIRE_TRACKS; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return spriteId; +} + +void sub_8127584(struct Sprite *sprite) +{ + gUnknown_08401E40[sprite->data0](sprite); +} + +static void sub_81275A0(struct Sprite *sprite) +{ + if (++sprite->data1 > 40) + { + sprite->data0 = 1; + } + sub_806487C(sprite, FALSE); +} + +static void sub_81275C4(struct Sprite *sprite) +{ + sprite->invisible ^= 1; + sprite->data1 ++; + sub_806487C(sprite, sprite->invisible); + if (sprite->data1 > 56) + { + FieldEffectStop(sprite, sprite->data7); + } +} + +u32 FldEff_Splash(void) +{ + u8 mapObjectId; + struct MapObject *mapObject; + u8 spriteId; + struct Sprite *sprite; + const struct MapObjectGraphicsInfo *graphicsInfo; + struct Sprite *linkedSprite; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + mapObject = &gMapObjects[mapObjectId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + linkedSprite = &gSprites[mapObject->spriteId]; + sprite->oam.priority = linkedSprite->oam.priority; + sprite->data0 = gFieldEffectArguments[0]; + sprite->data1 = gFieldEffectArguments[1]; + sprite->data2 = gFieldEffectArguments[2]; + sprite->pos2.y = (graphicsInfo->height >> 1) - 4; + PlaySE(SE_MIZU); + } + return 0; +} + +void sub_81276B4(struct Sprite *sprite) +{ + u8 mapObjectId; + + if (sprite->animEnded || TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId)) + { + FieldEffectStop(sprite, FLDEFF_SPLASH); + } + else + { + sprite->pos1.x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x; + sprite->pos1.y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y; + sub_806487C(sprite, FALSE); + } +} + +u32 FldEff_JumpSmallSplash(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[14], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = FLDEFF_JUMP_SMALL_SPLASH; + } + return 0; +} + +u32 FldEff_JumpBigSplash(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[12], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = FLDEFF_JUMP_BIG_SPLASH; + } + return 0; +} + +u32 FldEff_FeetInFlowingWater(void) +{ + u8 mapObjectId; + struct MapObject *mapObject; + u8 spriteId; + struct Sprite *sprite; + const struct MapObjectGraphicsInfo *graphicsInfo; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + mapObject = &gMapObjects[mapObjectId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + sprite = &gSprites[spriteId]; + sprite->callback = sub_81278D8; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->data0 = gFieldEffectArguments[0]; + sprite->data1 = gFieldEffectArguments[1]; + sprite->data2 = gFieldEffectArguments[2]; + sprite->data3 = -1; + sprite->data4 = -1; + sprite->pos2.y = (graphicsInfo->height >> 1) - 4; + StartSpriteAnim(sprite, 1); + } + return 0; +} + +static void sub_81278D8(struct Sprite *sprite) +{ + u8 mapObjectId; + struct Sprite *linkedSprite; + struct MapObject *mapObject; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_19) + { + FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER); + } + else + { + mapObject = &gMapObjects[mapObjectId]; + linkedSprite = &gSprites[mapObject->spriteId]; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = linkedSprite->pos1.y; + sprite->subpriority = linkedSprite->subpriority; + sub_806487C(sprite, FALSE); + if (mapObject->coords2.x != sprite->data3 || mapObject->coords2.y != sprite->data4) + { + sprite->data3 = mapObject->coords2.x; + sprite->data4 = mapObject->coords2.y; + if (!sprite->invisible) + { + PlaySE(SE_MIZU); + } + } + } +} + +u32 FldEff_Ripple(void) +{ + u8 spriteId; + struct Sprite *sprite; + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[5], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = FLDEFF_RIPPLE; + } + return 0; +} + +u32 FldEff_HotSpringsWater(void) +{ + u8 mapObjectId; + struct MapObject *mapObject; + u8 spriteId; + struct Sprite *sprite; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + mapObject = &gMapObjects[mapObjectId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[31], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->data0 = gFieldEffectArguments[0]; + sprite->data1 = gFieldEffectArguments[1]; + sprite->data2 = gFieldEffectArguments[2]; + sprite->data3 = gSprites[mapObject->spriteId].pos1.x; + sprite->data4 = gSprites[mapObject->spriteId].pos1.y; + } + return 0; +} + +void sub_8127A7C(struct Sprite *sprite) +{ + u8 mapObjectId; + const struct MapObjectGraphicsInfo *graphicsInfo; + struct Sprite *linkedSprite; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_21) + { + FieldEffectStop(sprite, FLDEFF_HOT_SPRINGS_WATER); + } + else + { + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); + linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8; + sprite->subpriority = linkedSprite->subpriority - 1; + sub_806487C(sprite, FALSE); + } +} + +u32 FldEff_Unknown19(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[17], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = FLDEFF_UNKNOWN_19; + } + return 0; +} + +u32 FldEff_Unknown20(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[18], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = FLDEFF_UNKNOWN_20; + } + return 0; +} + +u32 FldEff_Unknown21(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[19], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = FLDEFF_UNKNOWN_21; + } + return 0; +} + +u32 FldEff_Unknown22(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[20], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = FLDEFF_UNKNOWN_22; + } + return 0; +} + +void ash(s16 x, s16 y, u16 c, s16 d) +{ + gFieldEffectArguments[0] = x; + gFieldEffectArguments[1] = y; + gFieldEffectArguments[2] = 0x52; + gFieldEffectArguments[3] = 1; + gFieldEffectArguments[4] = c; + gFieldEffectArguments[5] = d; + FieldEffectStart(FLDEFF_ASH); +} + +u32 FldEff_Ash(void) +{ + s16 x; + s16 y; + u8 spriteId; + struct Sprite *sprite; + + x = gFieldEffectArguments[0]; + y = gFieldEffectArguments[1]; + sub_8060470(&x, &y, 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[6], x, y, gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data1 = gFieldEffectArguments[0]; + sprite->data2 = gFieldEffectArguments[1]; + sprite->data3 = gFieldEffectArguments[4]; + sprite->data4 = gFieldEffectArguments[5]; + } + return 0; +} + +void sub_8127D84(struct Sprite *sprite) +{ + gUnknown_08401E48[sprite->data0](sprite); +} + +static void sub_8127DA0(struct Sprite *sprite) +{ + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + if (--sprite->data4 == 0) + { + sprite->data0 = 1; + } +} + +static void sub_8127DD0(struct Sprite *sprite) +{ + sprite->invisible = FALSE; + sprite->animPaused = FALSE; + MapGridSetMetatileIdAt(sprite->data1, sprite->data2, sprite->data3); + CurrentMapDrawMetatileAt(sprite->data1, sprite->data2); + gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_2 = TRUE; + sprite->data0 = 2; +} + +static void sub_8127E30(struct Sprite *sprite) +{ + sub_806487C(sprite, FALSE); + if (sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_ASH); + } +} + +u32 FldEff_SurfBlob(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[7], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x96); + if (spriteId !=MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.paletteNum = 0; + sprite->data2 = gFieldEffectArguments[2]; + sprite->data3 = -1; + sprite->data6 = -1; + sprite->data7 = -1; + } + FieldEffectActiveListRemove(FLDEFF_SURF_BLOB); + return spriteId; +} + +void sub_8127ED0(u8 spriteId, u8 value) +{ + gSprites[spriteId].data0 = (gSprites[spriteId].data0 & ~0xF) | (value & 0xF); +} + +void sub_8127EFC(u8 spriteId, u8 value) +{ + gSprites[spriteId].data0 = (gSprites[spriteId].data0 & ~0xF0) | ((value & 0xF) << 4); +} + +void sub_8127F28(u8 spriteId, u8 value, s16 data1) +{ + gSprites[spriteId].data0 = (gSprites[spriteId].data0 & ~0xF00) | ((value & 0xF) << 8); + gSprites[spriteId].data1 = data1; +} + +static u8 sub_8127F5C(struct Sprite *sprite) +{ + return sprite->data0 & 0xF; +} + +static u8 sub_8127F64(struct Sprite *sprite) +{ + return (sprite->data0 & 0xF0) >> 4; +} + +static u8 sub_8127F70(struct Sprite *sprite) +{ + return (sprite->data0 & 0xF00) >> 8; +} + +void sub_8127F7C(struct Sprite *sprite) +{ + struct MapObject *mapObject; + struct Sprite *linkedSprite; + + mapObject = &gMapObjects[sprite->data2]; + linkedSprite = &gSprites[mapObject->spriteId]; + sub_8127FD4(mapObject, sprite); + sub_812800C(mapObject, sprite); + sub_81280A0(mapObject, linkedSprite, sprite); + sprite->oam.priority = linkedSprite->oam.priority; +} + +static void sub_8127FD4(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 unk_8041E54[ARRAY_COUNT(gUnknown_08401E54)]; + + memcpy(unk_8041E54, gUnknown_08401E54, sizeof gUnknown_08401E54); + if (sub_8127F64(sprite) == 0) + { + StartSpriteAnimIfDifferent(sprite, unk_8041E54[mapObject->placeholder18]); + } +} + +#ifdef NONMATCHING +static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) +{ + s16 x; + s16 y; + u8 i; + + x = mapObject->coords2.x; + y = mapObject->coords2.y; + if (sprite->pos2.y == 0 && (x != sprite->data6 || y != sprite->data7)) + { + sprite->data5 = sprite->pos2.y; + for (sprite->data6 = x, sprite->data7 = y, i = DIR_SOUTH; i <= DIR_EAST; i ++, x = sprite->data6, y = sprite->data7) + { + MoveCoords(i, &x, &y); + if (MapGridGetZCoordAt(x, y) == 3) + { + sprite->data5 ++; + break; + } + } + } +} +#else +__attribute__((naked)) static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r8\n" + "\tpush {r7}\n" + "\tsub sp, 0x4\n" + "\tadds r4, r1, 0\n" + "\tldrh r2, [r0, 0x10]\n" + "\tmov r1, sp\n" + "\tstrh r2, [r1]\n" + "\tldrh r1, [r0, 0x12]\n" + "\tmov r0, sp\n" + "\tadds r0, 0x2\n" + "\tstrh r1, [r0]\n" + "\tmovs r2, 0x26\n" + "\tldrsh r3, [r4, r2]\n" + "\tmov r8, r0\n" + "\tcmp r3, 0\n" + "\tbne _08128094\n" + "\tmov r0, sp\n" + "\tmovs r5, 0\n" + "\tldrsh r2, [r0, r5]\n" + "\tmovs r5, 0x3A\n" + "\tldrsh r0, [r4, r5]\n" + "\tcmp r2, r0\n" + "\tbne _08128048\n" + "\tlsls r0, r1, 16\n" + "\tasrs r0, 16\n" + "\tmovs r5, 0x3C\n" + "\tldrsh r1, [r4, r5]\n" + "\tcmp r0, r1\n" + "\tbeq _08128094\n" + "_08128048:\n" + "\tstrh r3, [r4, 0x38]\n" + "\tstrh r2, [r4, 0x3A]\n" + "\tmov r1, r8\n" + "\tmovs r2, 0\n" + "\tldrsh r0, [r1, r2]\n" + "\tstrh r0, [r4, 0x3C]\n" + "\tmovs r5, 0x1\n" + "\tmov r7, r8\n" + "\tmov r6, sp\n" + "_0812805A:\n" + "\tadds r0, r5, 0\n" + "\tmov r1, sp\n" + "\tadds r2, r7, 0\n" + "\tbl MoveCoords\n" + "\tmovs r1, 0\n" + "\tldrsh r0, [r6, r1]\n" + "\tmovs r2, 0\n" + "\tldrsh r1, [r7, r2]\n" + "\tbl MapGridGetZCoordAt\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x3\n" + "\tbne _08128080\n" + "\tldrh r0, [r4, 0x38]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r4, 0x38]\n" + "\tb _08128094\n" + "_08128080:\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tldrh r0, [r4, 0x3A]\n" + "\tstrh r0, [r6]\n" + "\tldrh r0, [r4, 0x3C]\n" + "\tmov r1, r8\n" + "\tstrh r0, [r1]\n" + "\tcmp r5, 0x4\n" + "\tbls _0812805A\n" + "_08128094:\n" + "\tadd sp, 0x4\n" + "\tpop {r3}\n" + "\tmov r8, r3\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif + +static void sub_81280A0(struct MapObject *mapObject, struct Sprite *linkedSprite, struct Sprite *sprite) +{ + u16 unk_8401E5A[ARRAY_COUNT(gUnknown_08401E5A)]; + u8 v0; + + memcpy(unk_8401E5A, gUnknown_08401E5A, sizeof gUnknown_08401E5A); + v0 = sub_8127F5C(sprite); + if (v0 != 0) + { + if (((u16)(++ sprite->data4) & unk_8401E5A[sprite->data5]) == 0) + { + sprite->pos2.y += sprite->data3; + } + if ((sprite->data4 & 0x0F) == 0) + { + sprite->data3 = -sprite->data3; + } + if (v0 != 2) + { + if (sub_8127F70(sprite) == 0) + { + linkedSprite->pos2.y = sprite->pos2.y; + } + else + { + linkedSprite->pos2.y = sprite->data1 + sprite->pos2.y; + } + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = linkedSprite->pos1.y + 8; + } + } +} + +u8 sub_8128124(u8 oldSpriteId) +{ + u8 spriteId; + struct Sprite *sprite; + + spriteId = CreateSpriteAtEnd(&gDummySpriteTemplate, 0, 0, -1); + sprite = &gSprites[spriteId]; + sprite->callback = sub_8128174; + sprite->invisible = TRUE; + sprite->data0 = oldSpriteId; + sprite->data1 = 1; + return spriteId; +} + +static void sub_8128174(struct Sprite *sprite) +{ + struct Sprite *oldSprite; + + oldSprite = &gSprites[sprite->data0]; + if (((sprite->data2++) & 0x03) == 0) + { + oldSprite->pos2.y += sprite->data1; + } + if ((sprite->data2 & 0x0F) == 0) + { + sprite->data1 = -sprite->data1; + } +} + +u32 FldEff_Dust(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[9], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data0 = gFieldEffectArguments[2]; + sprite->data1 = 10; + } + return 0; +} + +u32 FldEff_SandPile(void) +{ + u8 mapObjectId; + struct MapObject *mapObject; + u8 spriteId; + struct Sprite *sprite; + const struct MapObjectGraphicsInfo *graphicsInfo; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + mapObject = &gMapObjects[mapObjectId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[29], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->data0 = gFieldEffectArguments[0]; + sprite->data1 = gFieldEffectArguments[1]; + sprite->data2 = gFieldEffectArguments[2]; + sprite->data3 = gSprites[mapObject->spriteId].pos1.x; + sprite->data4 = gSprites[mapObject->spriteId].pos1.y; + sprite->pos2.y = (graphicsInfo->height >> 1) - 2; + SeekSpriteAnim(sprite, 2); + } + return 0; +} + +void sub_81282E0(struct Sprite *sprite) +{ + u8 mapObjectId; + s16 x; + s16 y; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_20) + { + FieldEffectStop(sprite, FLDEFF_SAND_PILE); + } + else + { + y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y; + x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x; + if (x != sprite->data3 || y != sprite->data4) + { + sprite->data3 = x; + sprite->data4 = y; + if (sprite->animEnded) + { + StartSpriteAnim(sprite, 0); + } + } + sprite->pos1.x = x; + sprite->pos1.y = y; + sprite->subpriority = gSprites[gMapObjects[mapObjectId].spriteId].subpriority; + sub_806487C(sprite, FALSE); + } +} + +u32 FldEff_Bubbles(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 0); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[34], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x52); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + } + return 0; +} + +void sub_8128410(struct Sprite *sprite) +{ + sprite->data0 += 0x80; + sprite->data0 &= 0x100; + sprite->pos1.y -= sprite->data0 >> 8; + sub_806487C(sprite, FALSE); + if (sprite->invisible || sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_BUBBLES); + } +} + +u32 FldEff_BerryTreeGrowthSparkle(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 4); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[22], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->oam.paletteNum = 5; + sprite->data0 = FLDEFF_BERRY_TREE_GROWTH_SPARKLE; + } + return 0; +} + +u32 FldEff_TreeDisguise(void) +{ + return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 0x18, 0x04); +} + + +u32 FldEff_MountainDisguise(void) +{ + return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 0x19, 0x03); +} + + +u32 FldEff_SandDisguise(void) +{ + return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 0x1C, 0x02); +} + +static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) +{ + u8 spriteId; + struct Sprite *sprite; + + if (TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId)) + { + FieldEffectActiveListRemove(fldEff); + return MAX_SPRITES; + } + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[templateIdx], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled ++; + sprite->oam.paletteNum = paletteNum; + sprite->data1 = fldEff; + sprite->data2 = gFieldEffectArguments[0]; + sprite->data3 = gFieldEffectArguments[1]; + sprite->data4 = gFieldEffectArguments[2]; + } + return spriteId; +} + +void sub_81285AC(struct Sprite *sprite) +{ + u8 mapObjectId; + const struct MapObjectGraphicsInfo *graphicsInfo; + struct Sprite *linkedSprite; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data2, sprite->data3, sprite->data4, &mapObjectId)) + { + FieldEffectStop(sprite, sprite->data1); + } + // else { + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); + linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + sprite->invisible = linkedSprite->invisible; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16; + sprite->subpriority = linkedSprite->subpriority - 1; + if (sprite->data0 == 1) + { + sprite->data0 ++; + StartSpriteAnim(sprite, 1); + } + if (sprite->data0 == 2 && sprite->animEnded) + { + sprite->data7 = 1; + } + if (sprite->data0 == 3) + { + FieldEffectStop(sprite, sprite->data1); + } + // } +} + +void sub_812869C(struct MapObject *mapObject) +{ + if (mapObject->mapobj_unk_21 == 1) + { + gSprites[mapObject->mapobj_unk_1A].data0 ++; + } +} + +bool8 sub_81286C4(struct MapObject *mapObject) +{ + struct Sprite *sprite; + + if (mapObject->mapobj_unk_21 == 2) + { + return TRUE; + } + if (mapObject->mapobj_unk_21 == 0) + { + return TRUE; + } + sprite = &gSprites[mapObject->mapobj_unk_1A]; + if (sprite->data7) + { + mapObject->mapobj_unk_21 = 2; + sprite->data0 ++; + return TRUE; + } + return FALSE; +} + +u32 FldEff_Sparkle(void) +{ + u8 spriteId; + + gFieldEffectArguments[0] += 7; + gFieldEffectArguments[1] += 7; + sub_8060470((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[35], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x52); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = gFieldEffectArguments[2]; + gSprites[spriteId].coordOffsetEnabled = TRUE; + } + return 0; +} + +void sub_8128774(struct Sprite *sprite) +{ + if (sprite->data0 == 0) + { + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->data0 ++; + } + if (sprite->data0 == 0) + { + return; + } + } + if (++ sprite->data1 >= 35) + { + FieldEffectStop(sprite, FLDEFF_SPARKLE); + } +} + +void sub_81287C4(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, sprite->data1); + } + else + { + sub_806487C(sprite, FALSE); + SetObjectSubpriorityByZCoord(sprite->data0, sprite, 0); + } +} + +void sub_8128800(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, sprite->data0); + } + else + { + sub_806487C(sprite, FALSE); + } +} + +#ifdef NONMATCHING +static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) +{ + u8 i; + s16 xlo; + s16 xhi; + s16 lx; + s16 lyhi; + s16 ly; + s16 ylo; + s16 yhi; + struct MapObject *mapObject; // r4 + const struct MapObjectGraphicsInfo *graphicsInfo; // destroyed + struct Sprite *linkedSprite; // r5 + + SetObjectSubpriorityByZCoord(z, sprite, offset); + for (i = 0; i < 16; i ++) + { + mapObject = &gMapObjects[i]; + if (mapObject->active) + { + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + linkedSprite = &gSprites[mapObject->spriteId]; + xhi = sprite->pos1.x + sprite->centerToCornerVecX; + xlo = sprite->pos1.x - sprite->centerToCornerVecX; + lx = linkedSprite->pos1.x; + if (xhi < lx && xlo > lx) + { + lyhi = linkedSprite->pos1.y + linkedSprite->centerToCornerVecY; + ly = linkedSprite->pos1.y; + ylo = sprite->pos1.y - sprite->centerToCornerVecY; + yhi = ylo + linkedSprite->centerToCornerVecY; + if ((lyhi < yhi || lyhi < ylo) && ly > yhi) + { + if (sprite->subpriority <= linkedSprite->subpriority) + { + sprite->subpriority = linkedSprite->subpriority + 2; + break; + } + } + } + } + } +} +#else +__attribute__((naked)) static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tadds r6, r0, 0\n" + "\tadds r0, r1, 0\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tlsls r2, 24\n" + "\tlsrs r2, 24\n" + "\tadds r1, r6, 0\n" + "\tbl SetObjectSubpriorityByZCoord\n" + "\tmovs r7, 0\n" + "_08128842:\n" + "\tlsls r0, r7, 3\n" + "\tadds r0, r7\n" + "\tlsls r0, 2\n" + "\tldr r1, _081288DC @ =gMapObjects\n" + "\tadds r4, r0, r1\n" + "\tldrb r0, [r4]\n" + "\tlsls r0, 31\n" + "\tcmp r0, 0\n" + "\tbeq _081288E4\n" + "\tldrb r0, [r4, 0x5]\n" + "\tbl GetFieldObjectGraphicsInfo\n" + "\tldrb r1, [r4, 0x4]\n" + "\tlsls r0, r1, 4\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tldr r1, _081288E0 @ =gSprites\n" + "\tadds r5, r0, r1\n" + "\tadds r0, r6, 0\n" + "\tadds r0, 0x28\n" + "\tmovs r2, 0\n" + "\tldrsb r2, [r0, r2]\n" + "\tldrh r0, [r6, 0x20]\n" + "\tadds r1, r0, r2\n" + "\tsubs r0, r2\n" + "\tlsls r0, 16\n" + "\tlsrs r4, r0, 16\n" + "\tlsls r1, 16\n" + "\tasrs r1, 16\n" + "\tmovs r0, 0x20\n" + "\tldrsh r2, [r5, r0]\n" + "\tcmp r1, r2\n" + "\tbge _081288E4\n" + "\tlsls r0, r4, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, r2\n" + "\tble _081288E4\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x29\n" + "\tmovs r3, 0\n" + "\tldrsb r3, [r0, r3]\n" + "\tldrh r2, [r5, 0x22]\n" + "\tadds r2, r3\n" + "\tldrh r4, [r5, 0x22]\n" + "\tadds r0, r6, 0\n" + "\tadds r0, 0x29\n" + "\tmovs r1, 0\n" + "\tldrsb r1, [r0, r1]\n" + "\tldrh r0, [r6, 0x22]\n" + "\tsubs r0, r1\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tadds r3, r0, r3\n" + "\tlsls r2, 16\n" + "\tasrs r2, 16\n" + "\tlsls r3, 16\n" + "\tasrs r3, 16\n" + "\tcmp r2, r3\n" + "\tblt _081288BC\n" + "\tcmp r2, r0\n" + "\tbge _081288E4\n" + "_081288BC:\n" + "\tlsls r0, r4, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, r3\n" + "\tble _081288E4\n" + "\tadds r2, r6, 0\n" + "\tadds r2, 0x43\n" + "\tadds r0, r5, 0\n" + "\tadds r0, 0x43\n" + "\tldrb r1, [r0]\n" + "\tldrb r0, [r2]\n" + "\tcmp r0, r1\n" + "\tbhi _081288E4\n" + "\tadds r0, r1, 0x2\n" + "\tstrb r0, [r2]\n" + "\tb _081288EE\n" + "\t.align 2, 0\n" + "_081288DC: .4byte gMapObjects\n" + "_081288E0: .4byte gSprites\n" + "_081288E4:\n" + "\tadds r0, r7, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r7, r0, 24\n" + "\tcmp r7, 0xF\n" + "\tbls _08128842\n" + "_081288EE:\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0"); +} +#endif diff --git a/src/field_fadetransition.c b/src/field/field_fadetransition.c index d95177821..82776d18c 100644 --- a/src/field_fadetransition.c +++ b/src/field/field_fadetransition.c @@ -89,7 +89,7 @@ void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID) void sub_8080990(void) { ScriptContext2_Enable(); - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); } @@ -130,7 +130,7 @@ void task_mpl_807DD60(u8 taskId) void sub_8080A3C(void) { ScriptContext2_Enable(); - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); palette_bg_fill_black(); CreateTask(task_mpl_807DD60, 10); } @@ -165,7 +165,7 @@ void sub_8080A5C(u8 taskId) void sub_8080AC4(void) { ScriptContext2_Enable(); - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); palette_bg_fill_black(); CreateTask(sub_8080A5C, 10); } @@ -188,7 +188,7 @@ void sub_8080AE4(void) void mapldr_default(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); sub_8080AE4(); ScriptContext2_Enable(); @@ -196,7 +196,7 @@ void mapldr_default(void) void sub_8080B60(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_black(); sub_8080AE4(); ScriptContext2_Enable(); @@ -204,7 +204,7 @@ void sub_8080B60(void) void sub_8080B78(void) { - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); PlaySE(SE_TK_WARPOUT); CreateTask(task_map_chg_seq_0807E2CC, 10); @@ -354,7 +354,7 @@ void sub_8080E28(void) void sub_8080E44(void) { ScriptContext2_Enable(); - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(task_mpl_807E3C8, 10); } diff --git a/src/field_ground_effect.c b/src/field/field_ground_effect.c index 2a398ba22..25b678ff9 100644 --- a/src/field_ground_effect.c +++ b/src/field/field_ground_effect.c @@ -458,78 +458,54 @@ bool8 AreZCoordsCompatible(u8 a, u8 b) void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; + gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 1; - FieldEffectStart(4); + FieldEffectStart(FLDEFF_TALL_GRASS); } void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; + gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 0; - FieldEffectStart(4); + FieldEffectStart(FLDEFF_TALL_GRASS); } void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; + gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 1; - FieldEffectStart(17); + FieldEffectStart(FLDEFF_LONG_GRASS); } void sub_8063F2C(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 0; - FieldEffectStart(17); + FieldEffectStart(FLDEFF_LONG_GRASS); } void GroundEffect_WaterReflection(struct MapObject *mapObj, struct Sprite *sprite) @@ -570,7 +546,10 @@ static void nullsub(struct MapObject *mapObj, struct Sprite *sprite, u8 a) static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Sprite *sprite, u8 a) { // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) - u16 sandFootprints_FieldEffectData[2] = { 0xD, 0x18 }; + u16 sandFootprints_FieldEffectData[2] = { + FLDEFF_SAND_FOOTPRINTS, + FLDEFF_DEEP_SAND_FOOTPRINTS + }; gFieldEffectArguments[0] = mapObj->coords3.x; gFieldEffectArguments[1] = mapObj->coords3.y; diff --git a/src/field_map_obj.c b/src/field/field_map_obj.c index 0e7cd7896..74ef3b7fe 100644 --- a/src/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -1578,13 +1578,13 @@ void (*const gUnknown_0836DA88[])(struct Sprite *) = const u8 gUnknown_0836DBBC[] = {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; const u8 gUnknown_0836DC09[] = {DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; -#include "data/field_map_obj/map_object_graphics_info_pointers.h" -#include "data/field_map_obj/field_effect_object_template_pointers.h" -#include "data/field_map_obj/map_object_pic_tables.h" -#include "data/field_map_obj/map_object_anims.h" -#include "data/field_map_obj/base_oam.h" -#include "data/field_map_obj/map_object_subsprites.h" -#include "data/field_map_obj/map_object_graphics_info.h" +#include "../data/field_map_obj/map_object_graphics_info_pointers.h" +#include "../data/field_map_obj/field_effect_object_template_pointers.h" +#include "../data/field_map_obj/map_object_pic_tables.h" +#include "../data/field_map_obj/map_object_anims.h" +#include "../data/field_map_obj/base_oam.h" +#include "../data/field_map_obj/map_object_subsprites.h" +#include "../data/field_map_obj/map_object_graphics_info.h" const struct SpritePalette gUnknown_0837377C[] = { {gMapObjectPalette0, 0x1103}, @@ -1790,14 +1790,14 @@ const u16 *const gUnknown_0837399C[] = { Unknown_8373988 }; -#include "data/field_map_obj/berry_tree_graphics_tables.h" -#include "data/field_map_obj/field_effect_objects.h" +#include "../data/field_map_obj/berry_tree_graphics_tables.h" +#include "../data/field_map_obj/field_effect_objects.h" const s16 gUnknown_0837520C[] = {0x20, 0x40, 0x60, 0x80}; const s16 gUnknown_08375204[] = {0x20, 0x40, 0x80, 0xc0}; const s16 gUnknown_0837521C[] = {0x20, 0x30, 0x40, 0x50}; -#include "data/field_map_obj/callback_subroutine_pointers.h" +#include "../data/field_map_obj/callback_subroutine_pointers.h" const u8 gUnknown_083755F4[] = {0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01}; const u8 gUnknown_083755FD[] = {0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05}; @@ -1886,7 +1886,7 @@ const u8 gUnknown_08375767[][4] = { {3, 4, 2, 1} }; -#include "data/field_map_obj/anim_func_ptrs.h" +#include "../data/field_map_obj/anim_func_ptrs.h" // text @@ -1901,7 +1901,7 @@ extern void CameraObjectReset1(void); extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; extern u8 gReservedSpritePaletteCount; -extern struct Camera gUnknown_0202E844; +extern struct Camera gCamera; static u8 gUnknown_030005A4; static u16 gUnknown_030005A6; @@ -2462,24 +2462,24 @@ extern void sub_8064970(struct Sprite *); extern void sub_8060470(s16 *, s16 *, s16, s16); extern void InitObjectPriorityByZCoord(); -u8 sub_805B410(u8 a, u8 b, s16 c, s16 d, u8 e, u8 f) +u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) { const struct MapObjectGraphicsInfo *gfxInfo; struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; u8 spriteId; - gfxInfo = GetFieldObjectGraphicsInfo(a); - MakeObjectTemplateFromFieldObjectGraphicsInfo(a, sub_8064970, &spriteTemplate, &subspriteTables); + gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sub_8064970, &spriteTemplate, &subspriteTables); #ifdef NONMATCHING spriteTemplate.paletteTag = 0xFFFF; #else *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; #endif - c += 7; - d += 7; - sub_8060470(&c, &d, 8, 16); - spriteId = CreateSpriteAtEnd(&spriteTemplate, c, d, 0); + x += 7; + y += 7; + sub_8060470(&x, &y, 8, 16); + spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0); if (spriteId != 64) { struct Sprite *sprite = &gSprites[spriteId]; @@ -2490,7 +2490,7 @@ u8 sub_805B410(u8 a, u8 b, s16 c, s16 d, u8 e, u8 f) sprite->oam.paletteNum = gfxInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; sprite->data0 = b; - sprite->data1 = e; + sprite->data1 = elevation; if (gfxInfo->paletteSlot == 10) npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); if (subspriteTables != NULL) @@ -2498,9 +2498,9 @@ u8 sub_805B410(u8 a, u8 b, s16 c, s16 d, u8 e, u8 f) SetSubspriteTables(sprite, subspriteTables); sprite->subspriteMode = 2; } - InitObjectPriorityByZCoord(sprite, e); - SetObjectSubpriorityByZCoord(e, sprite, 1); - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(f)); + InitObjectPriorityByZCoord(sprite, elevation); + SetObjectSubpriorityByZCoord(elevation, sprite, 1); + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(direction)); } return spriteId; } @@ -2775,11 +2775,11 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr gMapObjects[mapObjectId].mapobj_bit_13 = d; } -void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, u8 *localId, u8 *mapNum, u8 *mapGroup) +void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) { - *localId = mapObject->localId; - *mapNum = mapObject->mapNum; - *mapGroup = mapObject->mapGroup; + *(u8 *)localId = mapObject->localId; + *(u8 *)mapNum = mapObject->mapNum; + *(u8 *)mapGroup = mapObject->mapGroup; } void sub_805BCC0(s16 x, s16 y) @@ -2986,24 +2986,21 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) s16 deltaX; s16 deltaY; -#ifndef NONMATCHING - asm(""::"r"(i)); //makes the compiler store i in r3 -#endif - - if (gUnknown_0202E844.field_0) + if (gCamera.field_0) { - for (i = 0, deltaX = gUnknown_0202E844.x, deltaY = gUnknown_0202E844.y; i < 16; i++) + deltaX = gCamera.x; + deltaY = gCamera.y; + for (i = 0; i < 16; i++) { - struct MapObject *mapObject = &gMapObjects[i]; - if (mapObject->active) + if (gMapObjects[i].active) { - mapObject->coords1.x -= deltaX; - mapObject->coords1.y -= deltaY; - mapObject->coords2.x -= deltaX; - mapObject->coords2.y -= deltaY; - mapObject->coords3.x -= deltaX; - mapObject->coords3.y -= deltaY; + gMapObjects[i].coords1.x -= deltaX; + gMapObjects[i].coords1.y -= deltaY; + gMapObjects[i].coords2.x -= deltaX; + gMapObjects[i].coords2.y -= deltaY; + gMapObjects[i].coords3.x -= deltaX; + gMapObjects[i].coords3.y -= deltaY; } } } @@ -5013,7 +5010,7 @@ u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } @@ -5030,32 +5027,30 @@ u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -#ifdef NONMATCHING - -u8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3(u8)) +bool8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) { return 0; } -u8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3(u8)) +bool8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) { - int direction; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2))); mapObject->mapobj_bit_1 = 1; sprite->data1 = 2; return 1; } -u8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3(u8)) +bool8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) { + u32 direction; s16 x; s16 y; - int direction; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2); + + direction = a2; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); - if (!npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y)))) + if (npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } @@ -5063,15 +5058,121 @@ u8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, u8 *a3 sprite->data1 = 2; return 1; } -#endif -asm(".section .text_fmocb2_c\n"); +bool8 sub_805F4F0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, sub_8060744(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data1 = 2; + return TRUE; +} + +bool8 sub_805F5A8(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, sub_806079C(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data1 = 2; + return TRUE; +} + +bool8 sub_805F660(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, sub_80607C8(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data1 = 2; + return TRUE; +} + +bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + + direction = playerDirection; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectSetRegularAnim(mapObject, sprite, sub_806084C(direction)); + mapObject->mapobj_bit_1 = TRUE; + sprite->data1 = 2; + return TRUE; +} + +bool8 sub_805F760(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, sub_80608A4(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data1 = 2; + return TRUE; +} + +bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + x = mapObject->coords2.x; + y = mapObject->coords2.y; + sub_8060320(direction, &x, &y, 2, 2); + FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data1 = 2; + return TRUE; +} fieldmap_object_cb(sub_805F8E0, sub_805F904, gUnknown_083755C0); u8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } @@ -5086,7 +5187,7 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite) mapObject = &gMapObjects[sprite->data0]; if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0)) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); mapObject->mapobj_unk_21 = 1; sprite->data7 ++; @@ -5106,7 +5207,7 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) mapObject = &gMapObjects[sprite->data0]; if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0)) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); mapObject->mapobj_unk_21 = 1; sprite->data7 ++; @@ -5367,8 +5468,10 @@ bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject2 *mapObject, s16 x, static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y); bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction); -u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) { + u8 direction; + direction = dirn; if (IsCoordOutsideFieldObjectMovementRect((struct MapObject2 *)mapObject, x, y)) return 1; else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) @@ -5446,17 +5549,16 @@ static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s return 0; } -bool8 sub_8060234(u8 localId, u8 mapNum, u8 mapGroup) +// this function is only used in berry.c, but its unknown whether its intended context is the berry tree check or if its checking for the flickering. +bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) { u8 mapObjectId; + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { if (gSprites[gMapObjects[mapObjectId].spriteId].data7 & 2) - { - return 1; - } - } - return 0; + return TRUE; + + return FALSE; } void sub_8060288(u8 localId, u8 mapNum, u8 mapGroup) @@ -5480,23 +5582,26 @@ void unref_sub_80602F8(u8 direction, s16 *x, s16 *y) *y += gDirectionToVector[direction].y << 4; } -void sub_8060320(u8 direction, s16 *x, s16 *y, s16 deltaX, s16 deltaY) +void sub_8060320(u32 dirn, s16 *x, s16 *y, s16 deltaX, s16 deltaY) { + u8 direction = dirn; + s16 dx2 = deltaX; + s16 dy2 = deltaY; if (gDirectionToVector[direction].x > 0) { - *x += deltaX; + *x += dx2; } if (gDirectionToVector[direction].x < 0) { - *x -= deltaX; + *x -= dx2; } if (gDirectionToVector[direction].y > 0) { - *y += deltaY; + *y += dy2; } if (gDirectionToVector[direction].y < 0) { - *y -= deltaY; + *y -= dy2; } } @@ -5563,11 +5668,12 @@ void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) } } -void FieldObjectMoveDestCoords(struct MapObject *mapObject, u8 direction, s16 *x, s16 *y) +void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 direction, s16 *x, s16 *y) { + u8 newDirn = direction; *x = mapObject->coords2.x; *y = mapObject->coords2.y; - MoveCoords(direction, x, y); + MoveCoords(newDirn, x, y); } bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) @@ -5681,193 +5787,34 @@ void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback FieldObjectUpdateSubpriority(mapObject, sprite); } - -u8 GetFaceDirectionAnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756C8, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetSimpleGoAnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756CD, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetGoSpeed0AnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756D2, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_8060744(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756D7, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 d2s_08064034(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756DC, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_806079C(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756E1, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_80607C8(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756E6, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_80607F4(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756EB, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetJumpLedgeAnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756F0, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_806084C(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756F5, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_8060878(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756FA, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_80608A4(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_083756FF, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 sub_80608D0(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_08375704, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetStepInPlaceDelay32AnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_08375709, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetStepInPlaceDelay16AnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_0837570E, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetStepInPlaceDelay8AnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_08375713, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} - -u8 GetStepInPlaceDelay4AnimId(u8 index) -{ - u8 directions[5]; - memcpy(directions, gUnknown_08375718, 5); - if (index >= 5) - { - index = 0; - } - return directions[index]; -} +#define dirn_to_anim(name, table)\ +u8 name(u32 idx)\ +{\ + u8 direction;\ + u8 animIds[sizeof(table)];\ + direction = idx;\ + memcpy(animIds, (table), sizeof(table));\ + if (direction > DIR_EAST) direction = 0;\ + return animIds[direction];\ +} + +dirn_to_anim(GetFaceDirectionAnimId, gUnknown_083756C8) +dirn_to_anim(GetSimpleGoAnimId, gUnknown_083756CD) +dirn_to_anim(GetGoSpeed0AnimId, gUnknown_083756D2) +dirn_to_anim(sub_8060744, gUnknown_083756D7) +dirn_to_anim(d2s_08064034, gUnknown_083756DC) +dirn_to_anim(sub_806079C, gUnknown_083756E1) +dirn_to_anim(sub_80607C8, gUnknown_083756E6) +dirn_to_anim(sub_80607F4, gUnknown_083756EB) +dirn_to_anim(GetJumpLedgeAnimId, gUnknown_083756F0) +dirn_to_anim(sub_806084C, gUnknown_083756F5) +dirn_to_anim(sub_8060878, gUnknown_083756FA) +dirn_to_anim(sub_80608A4, gUnknown_083756FF) +dirn_to_anim(sub_80608D0, gUnknown_08375704) +dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_08375709) +dirn_to_anim(GetStepInPlaceDelay16AnimId, gUnknown_0837570E) +dirn_to_anim(GetStepInPlaceDelay8AnimId, gUnknown_08375713) +dirn_to_anim(GetStepInPlaceDelay4AnimId, gUnknown_08375718) u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) { @@ -5995,65 +5942,23 @@ u8 GetOppositeDirection(u8 direction) return directions[direction - 1]; } -int zffu_offset_calc(u8 a0, u8 a1) +u32 zffu_offset_calc(u8 a0, u8 a1) { return gUnknown_08375757[a0 - 1][a1 - 1]; } -#ifdef NONMATCHING -int state_to_direction(u8 a0, u8 a1, u8 a2) +u32 state_to_direction(u8 a0, u32 a1, u32 a2) { - int zffuOffset; - asm_comment("For some reason, r2 is being backed up to r3 and restored ahead of the zffu call."); - if (a1 == 0 || a2 == 0 || a1 > 4 || a2 > 4) + u32 zffuOffset; + u8 a1_2 = a1; + u8 a2_2 = a2; + if (a1_2 == 0 || a2_2 == 0 || a1_2 > DIR_EAST || a2_2 > DIR_EAST) { return 0; } - zffuOffset = zffu_offset_calc(a1, a2); + zffuOffset = zffu_offset_calc(a1_2, a2); return gUnknown_08375767[a0 - 1][zffuOffset - 1]; } -#else -__attribute__((naked)) -int state_to_direction(u8 a0, u8 a1, u8 a2) -{ - asm(".syntax unified\n\ - push {r4,lr}\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - adds r0, r1, 0\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - cmp r1, 0\n\ - beq _08060BFC\n\ - cmp r2, 0\n\ - beq _08060BFC\n\ - cmp r1, 0x4\n\ - bhi _08060BFC\n\ - cmp r2, 0x4\n\ - bls _08060C00\n\ -_08060BFC:\n\ - movs r0, 0\n\ - b _08060C12\n\ -_08060C00:\n\ - adds r1, r2, 0\n\ - bl zffu_offset_calc\n\ - ldr r2, _08060C18 @ =gUnknown_08375767\n\ - lsls r1, r4, 2\n\ - subs r1, 0x5\n\ - adds r0, r1\n\ - adds r0, r2\n\ - ldrb r0, [r0]\n\ -_08060C12:\n\ - pop {r4}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_08060C18: .4byte gUnknown_08375767\n\ -.syntax divided\n"); -} -#endif void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) { @@ -7466,7 +7371,7 @@ bool8 sub_8062644(struct MapObject *mapObject, struct Sprite *sprite) bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); sprite->data2 = 1; return TRUE; @@ -7474,7 +7379,7 @@ bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *s bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); sprite->data2 = 1; return TRUE; @@ -7482,7 +7387,7 @@ bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *s bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); sprite->data2 = 1; return TRUE; diff --git a/src/field_map_obj_helpers.c b/src/field/field_map_obj_helpers.c index 93cd57557..59e857aae 100644 --- a/src/field_map_obj_helpers.c +++ b/src/field/field_map_obj_helpers.c @@ -294,7 +294,7 @@ void sub_8064990(u8 a1, u8 dir) u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); } @@ -303,7 +303,7 @@ void DoShadowFieldEffect(struct MapObject *mapObject) if (!mapObject->mapobj_bit_22) { mapObject->mapobj_bit_22 = 1; - oe_exec_and_other_stuff(3, mapObject); + oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject); } } diff --git a/src/field_message_box.c b/src/field/field_message_box.c index 35aac7ac9..35aac7ac9 100644 --- a/src/field_message_box.c +++ b/src/field/field_message_box.c diff --git a/src/field_player_avatar.c b/src/field/field_player_avatar.c index c8099a73d..e7da9b1b7 100644 --- a/src/field_player_avatar.c +++ b/src/field/field_player_avatar.c @@ -31,7 +31,7 @@ static bool8 sub_8058854(struct MapObject *, u8); static void npc_clear_strange_bits(struct MapObject *a); static void MovePlayerAvatarUsingKeypadInput(u8 a, u16 b, u16 c); static void PlayerAllowForcedMovementIfMovingSameDirection(void); -static u8 TryDoMetatileBehaviorForcedMovement(void); +static bool8 TryDoMetatileBehaviorForcedMovement(void); static u8 GetForcedMovementByMetatileBehavior(void); static void MovePlayerNotOnBike(u8 a, u16 b); static u8 CheckMovementInputNotOnBike(u8 a); @@ -49,7 +49,7 @@ static void PlayerNotOnBikeCollide(u8 a); static void PlayCollisionSoundIfNotFacingWarp(u8 a); static void sub_8059D60(struct MapObject *a); static void StartStrengthAnim(u8 a, u8 b); -static void sub_8059F94(void); +static void DoPlayerMatJump(void); static void sub_805A06C(void); static bool8 (*const gUnknown_0830FB58[])(u8) = @@ -73,7 +73,7 @@ static bool8 (*const gUnknown_0830FB58[])(u8) = MetatileBehavior_0xBC, MetatileBehavior_IsMuddySlope, }; -static u8 (*const gUnknown_0830FBA0[])(void) = +static bool8 (*const gUnknown_0830FBA0[])(void) = { ForcedMovement_None, ForcedMovement_Slip, @@ -91,7 +91,7 @@ static u8 (*const gUnknown_0830FBA0[])(void) = ForcedMovement_SlideWest, ForcedMovement_SlideEast, sub_8058B0C, - sub_8058C04, + ForcedMovement_MatJump, sub_8058C10, ForcedMovement_MuddySlope, }; @@ -182,9 +182,9 @@ static u8 (*const gUnknown_0830FC88[])(struct Task *, struct MapObject *, struct sub_8059EA4, sub_8059F40, }; -static u8 (*const gUnknown_0830FC94[])(struct Task *, struct MapObject *) = +static u8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct MapObject *) = { - sub_805A000, + PlayerAvatar_DoSecretBaseMatJump, }; static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) = { @@ -201,9 +201,9 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_8059D60(playerMapObj); - if (gPlayerAvatar.unk6 == 0) + if (gPlayerAvatar.preventStep == FALSE) { - sub_80E5B38(newKeys, heldKeys); + Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys); if (!sub_8058854(playerMapObj, direction)) { npc_clear_strange_bits(playerMapObj); @@ -256,11 +256,11 @@ static void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 held static void PlayerAllowForcedMovementIfMovingSameDirection(void) { - if (gPlayerAvatar.running2 == 2) + if (gPlayerAvatar.runningState == MOVING) gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5; } -static u8 TryDoMetatileBehaviorForcedMovement(void) +static bool8 TryDoMetatileBehaviorForcedMovement(void) { return gUnknown_0830FBA0[GetForcedMovementByMetatileBehavior()](); } @@ -282,7 +282,7 @@ static u8 GetForcedMovementByMetatileBehavior(void) return 0; } -u8 ForcedMovement_None(void) +bool8 ForcedMovement_None(void) { if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6) { @@ -293,7 +293,7 @@ u8 ForcedMovement_None(void) FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6; } - return 0; + return FALSE; } static u8 DoForcedMovement(u8 direction, void (*b)(u8)) @@ -314,13 +314,13 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8)) if (collisionType == COLLISION_LEDGE_JUMP) PlayerJumpLedge(direction); playerAvatar->flags |= PLAYER_AVATAR_FLAG_6; - playerAvatar->running2 = 2; + playerAvatar->runningState = MOVING; return 1; } } else { - playerAvatar->running2 = 2; + playerAvatar->runningState = MOVING; b(direction); return 1; } @@ -334,47 +334,47 @@ static u8 DoForcedMovementInCurrentDirection(void (*a)(u8)) return DoForcedMovement(playerMapObj->placeholder18, a); } -u8 ForcedMovement_Slip(void) +bool8 ForcedMovement_Slip(void) { - return DoForcedMovementInCurrentDirection(sub_80593C4); + return DoForcedMovementInCurrentDirection(PlayerGoSpeed2); } -u8 sub_8058AAC(void) +bool8 sub_8058AAC(void) { - return DoForcedMovement(1, PlayerGoSpeed0); + return DoForcedMovement(1, PlayerGoSpeed1); } -u8 sub_8058AC4(void) +bool8 sub_8058AC4(void) { - return DoForcedMovement(2, PlayerGoSpeed0); + return DoForcedMovement(2, PlayerGoSpeed1); } -u8 sub_8058ADC(void) +bool8 sub_8058ADC(void) { - return DoForcedMovement(3, PlayerGoSpeed0); + return DoForcedMovement(3, PlayerGoSpeed1); } -u8 sub_8058AF4(void) +bool8 sub_8058AF4(void) { - return DoForcedMovement(4, PlayerGoSpeed0); + return DoForcedMovement(4, PlayerGoSpeed1); } -u8 sub_8058B0C(void) +bool8 sub_8058B0C(void) { return DoForcedMovement(1, npc_use_some_d2s); } -u8 sub_8058B24(void) +bool8 sub_8058B24(void) { return DoForcedMovement(2, npc_use_some_d2s); } -u8 sub_8058B3C(void) +bool8 sub_8058B3C(void) { return DoForcedMovement(3, npc_use_some_d2s); } -u8 sub_8058B54(void) +bool8 sub_8058B54(void) { return DoForcedMovement(4, npc_use_some_d2s); } @@ -388,51 +388,51 @@ static u8 ForcedMovement_Slide(u8 direction, void (*b)(u8)) return DoForcedMovement(direction, b); } -u8 ForcedMovement_SlideSouth(void) +bool8 ForcedMovement_SlideSouth(void) { - return ForcedMovement_Slide(1, sub_80593C4); + return ForcedMovement_Slide(1, PlayerGoSpeed2); } -u8 ForcedMovement_SlideNorth(void) +bool8 ForcedMovement_SlideNorth(void) { - return ForcedMovement_Slide(2, sub_80593C4); + return ForcedMovement_Slide(2, PlayerGoSpeed2); } -u8 ForcedMovement_SlideWest(void) +bool8 ForcedMovement_SlideWest(void) { - return ForcedMovement_Slide(3, sub_80593C4); + return ForcedMovement_Slide(3, PlayerGoSpeed2); } -u8 ForcedMovement_SlideEast(void) +bool8 ForcedMovement_SlideEast(void) { - return ForcedMovement_Slide(4, sub_80593C4); + return ForcedMovement_Slide(4, PlayerGoSpeed2); } -u8 sub_8058C04(void) +bool8 ForcedMovement_MatJump(void) { - sub_8059F94(); - return 1; + DoPlayerMatJump(); + return TRUE; } -u8 sub_8058C10(void) +bool8 sub_8058C10(void) { sub_805A06C(); - return 1; + return TRUE; } -u8 ForcedMovement_MuddySlope(void) +bool8 ForcedMovement_MuddySlope(void) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; if (playerMapObj->placeholder18 != 2 || GetPlayerSpeed() <= 3) { - sub_80E6010(0); + Bike_UpdateBikeCounterSpeed(0); playerMapObj->mapobj_bit_9 = 1; - return DoForcedMovement(1, sub_80593C4); + return DoForcedMovement(1, PlayerGoSpeed2); } else { - return 0; + return FALSE; } } @@ -445,17 +445,17 @@ static u8 CheckMovementInputNotOnBike(u8 direction) { if (direction == DIR_NONE) { - gPlayerAvatar.running2 = 0; + gPlayerAvatar.runningState = NOT_MOVING; return 0; } - else if (direction != player_get_direction_upper_nybble() && gPlayerAvatar.running2 != 2) + else if (direction != player_get_direction_upper_nybble() && gPlayerAvatar.runningState != MOVING) { - gPlayerAvatar.running2 = 1; + gPlayerAvatar.runningState = TURN_DIRECTION; return 1; } else { - gPlayerAvatar.running2 = 2; + gPlayerAvatar.runningState = MOVING; return 2; } } @@ -486,7 +486,8 @@ void sub_8058D0C(u8 direction, u16 heldKeys) case 0: if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) { - sub_80593C4(direction); + // speed 2 is fast, same speed as running + PlayerGoSpeed2(direction); return; } if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_4) && (heldKeys & B_BUTTON) && FlagGet(SYS_B_DASH) @@ -497,7 +498,7 @@ void sub_8058D0C(u8 direction, u16 heldKeys) } else { - PlayerGoSpeed0(direction); + PlayerGoSpeed1(direction); } } } @@ -601,14 +602,14 @@ static void check_acro_bike_metatile(int unused1, int unused2, u8 c, u8 *d) void SetPlayerAvatarTransitionFlags(u16 a) { - gPlayerAvatar.bike |= a; + gPlayerAvatar.unk1 |= a; DoPlayerAvatarTransition(); } static void DoPlayerAvatarTransition(void) { u8 i; - u32 flags = gPlayerAvatar.bike; + u32 flags = gPlayerAvatar.unk1; if (flags != 0) { @@ -627,7 +628,7 @@ static void DoPlayerAvatarTransition(void) } #endif } - gPlayerAvatar.bike = 0; + gPlayerAvatar.unk1 = 0; } } @@ -656,7 +657,7 @@ void PlayerAvatarTransition_AcroBike(struct MapObject *a) FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(4); BikeClearState(0, 0); - sub_80E6084(); + Bike_HandleBumpySlopeJump(); } void PlayerAvatarTransition_Surfing(struct MapObject *a) @@ -689,18 +690,18 @@ void sub_80591F4(struct MapObject *a) void sub_8059204(void) { - gPlayerAvatar.running1 = 0; + gPlayerAvatar.tileTransitionState = T_NOT_MOVING; if (PlayerIsAnimActive()) { if (!PlayerCheckIfAnimFinishedOrInactive()) { if (!player_is_anim_in_certain_ranges()) - gPlayerAvatar.running1 = 1; + gPlayerAvatar.tileTransitionState = T_TILE_TRANSITION; } else { if (!sub_80592A4()) - gPlayerAvatar.running1 = 2; + gPlayerAvatar.tileTransitionState = T_TILE_CENTER; } } } @@ -721,7 +722,7 @@ static bool8 player_is_anim_in_certain_ranges(void) static bool8 sub_80592A4(void) { - if (player_is_anim_in_certain_ranges() && gPlayerAvatar.running2 != 1) + if (player_is_anim_in_certain_ranges() && gPlayerAvatar.runningState != TURN_DIRECTION) return TRUE; else return FALSE; @@ -761,12 +762,14 @@ void PlayerSetAnimId(u8 animId, u8 b) } } -void PlayerGoSpeed0(u8 a) +// normal speed (1 speed) +void PlayerGoSpeed1(u8 a) { PlayerSetAnimId(GetGoSpeed0AnimId(a), 2); } -void sub_80593C4(u8 a) +// fast speed (2 speed) +void PlayerGoSpeed2(u8 a) { PlayerSetAnimId(sub_8060744(a), 2); } @@ -776,7 +779,8 @@ void npc_use_some_d2s(u8 a) PlayerSetAnimId(d2s_08064034(a), 2); } -void sub_80593F4(u8 a) +// fastest speed (4 speed) +void PlayerGoSpeed4(u8 a) { PlayerSetAnimId(sub_806079C(a), 2); } @@ -816,48 +820,54 @@ void PlayerJumpLedge(u8 direction) void sub_80594C0(void) { - if (gPlayerAvatar.running1 == 2 || gPlayerAvatar.running1 == 0) + if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING) { if (player_should_look_direction_be_enforced_upon_movement()) sub_8059348(GetFaceDirectionAnimId(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_18)); } } -void sub_8059504(u8 a) +// wheelie idle +void PlayerIdleWheelie(u8 a) { PlayerSetAnimId(sub_80609D8(a), 1); } -//normal to wheelie +// normal to wheelie void PlayerStartWheelie(u8 a) { PlayerSetAnimId(sub_8060A04(a), 1); } -void sub_8059534(u8 a) +// wheelie to normal +void PlayerEndWheelie(u8 a) { PlayerSetAnimId(sub_8060A30(a), 1); } -void sub_805954C(u8 a) +// wheelie hopping standing +void PlayerStandingHoppingWheelie(u8 a) { PlaySE(SE_JITE_PYOKO); PlayerSetAnimId(sub_8060A5C(a), 1); } -void sub_8059570(u8 a) +// wheelie hopping moving +void PlayerMovingHoppingWheelie(u8 a) { PlaySE(SE_JITE_PYOKO); PlayerSetAnimId(sub_8060A88(a), 2); } -void sub_8059594(u8 a) +// wheelie hopping ledge +void PlayerLedgeHoppingWheelie(u8 a) { PlaySE(SE_JITE_PYOKO); PlayerSetAnimId(sub_8060AB4(a), 8); } -void sub_80595B8(u8 direction) +// acro turn jump +void PlayerAcroTurnJump(u8 direction) { PlaySE(SE_JITE_PYOKO); PlayerSetAnimId(sub_8060878(direction), 1); @@ -963,8 +973,8 @@ void sub_80597F4(void) FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) { - sub_80E6084(); - sub_80E6010(0); + Bike_HandleBumpySlopeJump(); + Bike_UpdateBikeCounterSpeed(0); } } @@ -1060,7 +1070,6 @@ bool8 IsPlayerFacingSurfableFishableWater(void) void ClearPlayerAvatarInfo(void) { - //TODO: 0x24 should be the size of gPlayerAvatar memset(&gPlayerAvatar, 0, sizeof(struct PlayerAvatar)); } @@ -1099,7 +1108,7 @@ void SetPlayerAvatarExtraStateTransition(u8 a, u8 b) { u8 unk = GetPlayerAvatarStateTransitionByGraphicsId(a, gPlayerAvatar.gender); - gPlayerAvatar.bike |= unk | b; + gPlayerAvatar.unk1 |= unk | b; DoPlayerAvatarTransition(); } @@ -1127,8 +1136,8 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) mapObject->mapobj_unk_1B = sub_8126B54(); FieldObjectTurn(mapObject, direction); ClearPlayerAvatarInfo(); - gPlayerAvatar.running2 = 0; - gPlayerAvatar.running1 = 0; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.tileTransitionState = T_NOT_MOVING; gPlayerAvatar.mapObjectId = mapObjectId; gPlayerAvatar.spriteId = mapObject->spriteId; gPlayerAvatar.gender = gender; @@ -1212,7 +1221,7 @@ static void sub_8059E2C(u8 taskId) u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c) { ScriptContext2_Enable(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; task->data[0]++; return 0; } @@ -1224,8 +1233,8 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c) { FieldObjectClearAnimIfSpecialAnimFinished(b); FieldObjectClearAnimIfSpecialAnimFinished(c); - FieldObjectSetSpecialAnim(b, GetStepInPlaceDelay16AnimId(task->data[2])); - FieldObjectSetSpecialAnim(c, GetSimpleGoAnimId(task->data[2])); + FieldObjectSetSpecialAnim(b, GetStepInPlaceDelay16AnimId((u8)task->data[2])); + FieldObjectSetSpecialAnim(c, GetSimpleGoAnimId((u8)task->data[2])); gFieldEffectArguments[0] = c->coords2.x; gFieldEffectArguments[1] = c->coords2.y; gFieldEffectArguments[2] = c->elevation; @@ -1244,7 +1253,7 @@ u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c) { FieldObjectClearAnimIfSpecialAnimFinished(b); FieldObjectClearAnimIfSpecialAnimFinished(c); - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroyTask(FindTaskIdByFunc(sub_8059E2C)); } @@ -1253,24 +1262,23 @@ u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c) /* Some field effect */ -static void sub_8059FB4(u8 taskId); +static void DoPlayerAvatarSecretBaseMatJump(u8 taskId); -static void sub_8059F94(void) +static void DoPlayerMatJump(void) { - u8 taskId = CreateTask(sub_8059FB4, 0xFF); - - sub_8059FB4(taskId); + DoPlayerAvatarSecretBaseMatJump(CreateTask(DoPlayerAvatarSecretBaseMatJump, 0xFF)); } -static void sub_8059FB4(u8 taskId) +static void DoPlayerAvatarSecretBaseMatJump(u8 taskId) { - while (gUnknown_0830FC94[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])) + while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])) ; } -u8 sub_805A000(struct Task *task, struct MapObject *mapObject) +// because data[0] is used to call this, it can be inferred that there may have been multiple mat jump functions at one point, so the name for these groups of functions is appropriate in assuming the sole use of mat jump. +u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject) { - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) { PlaySE(SE_DANSA); @@ -1278,9 +1286,9 @@ u8 sub_805A000(struct Task *task, struct MapObject *mapObject) task->data[1]++; if (task->data[1] > 1) { - gPlayerAvatar.unk6 = 0; - gPlayerAvatar.bike |= 0x20; - DestroyTask(FindTaskIdByFunc(sub_8059FB4)); + gPlayerAvatar.preventStep = FALSE; + gPlayerAvatar.unk1 |= 0x20; + DestroyTask(FindTaskIdByFunc(DoPlayerAvatarSecretBaseMatJump)); } } return 0; @@ -1307,7 +1315,7 @@ u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject) { task->data[0]++; task->data[1] = mapObject->placeholder18; - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; ScriptContext2_Enable(); PlaySE(SE_TK_WARPIN); return 1; @@ -1349,7 +1357,7 @@ u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject) { FieldObjectSetSpecialAnim(mapObject, GetSimpleGoAnimId(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(sub_805A08C)); } return 0; @@ -1365,11 +1373,11 @@ void sub_805A20C(u8 a) u8 taskId; ScriptContext2_Enable(); - sav1_reset_battle_music_maybe(); - sub_8053F84(); + Overworld_ClearSavedMusic(); + Overworld_ChangeMusicToDefault(); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING; gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_ON_FOOT; - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; taskId = CreateTask(taskFF_0805D1D4, 0xFF); gTasks[taskId].data[0] = a; taskFF_0805D1D4(taskId); @@ -1385,7 +1393,7 @@ static void taskFF_0805D1D4(u8 taskId) return; } sub_8127ED0(playerMapObj->mapobj_unk_1A, 2); - FieldObjectSetSpecialAnim(playerMapObj, sub_80608D0(gTasks[taskId].data[0])); + FieldObjectSetSpecialAnim(playerMapObj, sub_80608D0((u8)gTasks[taskId].data[0])); gTasks[taskId].func = sub_805A2D0; } @@ -1397,7 +1405,7 @@ static void sub_805A2D0(u8 taskId) { sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(0)); FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->mapobj_unk_18)); - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroySprite(&gSprites[playerMapObj->mapobj_unk_1A]); DestroyTask(taskId); @@ -1462,7 +1470,7 @@ static void Task_Fishing(u8 taskId) u8 Fishing1(struct Task *task) { ScriptContext2_Enable(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; task->tStep++; return 0; } @@ -1647,7 +1655,7 @@ u8 Fishing11(struct Task *task) if (task->tFrameCounter != 0) { - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); FishingWildEncounter(task->tFishingRod); sub_80BE97C(1); @@ -1707,7 +1715,7 @@ u8 Fishing16(struct Task *task) { if (MenuUpdateWindowText()) { - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); UnfreezeMapObjects(); MenuZeroFillScreen(); diff --git a/src/field_poison.c b/src/field/field_poison.c index 1244b9c62..b6ff12ff9 100644 --- a/src/field_poison.c +++ b/src/field/field_poison.c @@ -128,7 +128,7 @@ s32 DoPoisonFieldEffect(void) hp--; if (hp == 0) numFainting++; //Pokemon will now faint due to poison - SetMonData(pkmn, MON_DATA_HP, (u8 *)&hp); + SetMonData(pkmn, MON_DATA_HP, &hp); numPoisoned++; } pkmn++; diff --git a/src/field_region_map.c b/src/field/field_region_map.c index 7cb22e5df..7cb22e5df 100644 --- a/src/field_region_map.c +++ b/src/field/field_region_map.c diff --git a/src/field_screen_effect.c b/src/field/field_screen_effect.c index 1464a99b1..0c76d254d 100644 --- a/src/field_screen_effect.c +++ b/src/field/field_screen_effect.c @@ -327,7 +327,7 @@ static void task50_0807F0C8(u8); void sub_8081924(void) { - sub_8054044(); + Overworld_FadeOutMapMusic(); CreateTask(task50_0807F0C8, 80); } diff --git a/src/field_special_scene.c b/src/field/field_special_scene.c index 38c076c51..5758929b6 100644 --- a/src/field_special_scene.c +++ b/src/field/field_special_scene.c @@ -18,6 +18,52 @@ #define SECONDS(value) ((signed) (60.0 * value + 0.5)) +// TODO: Move somewhere else +enum +{ + STEP_17 = 0x17, + STEP_18, + STEP_END = 0xFE, +}; + +const u32 gMapObjectPic_MovingBox[] = INCBIN_U32("graphics/map_objects/pics/misc/moving_box.4bpp"); +const u16 gMapObjectPalette19[] = INCBIN_U16("graphics/map_objects/palettes/19.gbapal"); + +static const s8 gTruckCamera_HorizontalTable[] = +{ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 2, + 2, + 2, + 2, + 2, + -1, + -1, + -1, + 0, +}; + +const u8 gUnknown_083D295F[] = +{ + STEP_18, + STEP_END, +}; + +const u8 gUnknown_083D2961[] = +{ + STEP_17, + STEP_END, +}; + // porthole states enum { @@ -27,12 +73,7 @@ enum EXIT_PORTHOLE, }; -extern s8 gTruckCamera_HorizontalTable[]; - -extern u8 gUnknown_083D295F[]; -extern u8 gUnknown_083D2961[]; - -s32 GetTruckCameraBobbingY(int a1) +s16 GetTruckCameraBobbingY(int a1) { if (!(a1 % 120)) return -1; @@ -42,7 +83,7 @@ s32 GetTruckCameraBobbingY(int a1) return 0; } -s32 GetTruckBoxMovement(int a1) // for the box movement? +s16 GetTruckBoxMovement(int a1) // for the box movement? { if (!((a1 + 120) % 180)) return -1; @@ -53,28 +94,22 @@ s32 GetTruckBoxMovement(int a1) // for the box movement? void Task_Truck1(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 cameraYpan; - s16 box1 = 0; - s16 box2 = 0; - s16 box3 = 0; - u8 mapNum, mapGroup; - register s16 zero asm("r4"); + s16 cameraYpan, cameraXpan = 0; + s16 box1, box2, box3; box1 = GetTruckBoxMovement(data[0] + 30) * 4; // top box. - sub_805BD90(1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 3, box1 + 3); + sub_805BD90(1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 3 - cameraXpan, box1 + 3); box2 = GetTruckBoxMovement(data[0]) * 2; // bottom left box. - sub_805BD90(2, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 0, box2 - 3); + sub_805BD90(2, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -cameraXpan, box2 - 3); box3 = GetTruckBoxMovement(data[0]) * 4; // bottom right box. - mapNum = gSaveBlock1.location.mapNum; - mapGroup = gSaveBlock1.location.mapGroup; - zero = 0; - sub_805BD90(3, mapNum, mapGroup, -3, box3); + sub_805BD90(3, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -3 - cameraXpan, box3); if (++data[0] == SECONDS(500)) // this will never run - data[0] = zero; // reset the timer if it gets stuck. + data[0] = 0; // reset the timer if it gets stuck. + // this also matches with directly calling GetTruckCameraBobbingY within SetCameraPanning, but this is consistent with a later function that requires a temp variable. cameraYpan = GetTruckCameraBobbingY(data[0]); - SetCameraPanning(0, cameraYpan); + SetCameraPanning(cameraXpan, cameraYpan); } void Task_Truck2(u8 taskId) @@ -82,9 +117,7 @@ void Task_Truck2(u8 taskId) s16 *data = gTasks[taskId].data; s16 cameraYpan; s16 cameraXpan; - s16 box1; - s16 box2; - s16 box3; + s16 box1, box2, box3; data[0]++; data[2]++; @@ -137,7 +170,7 @@ void Task_Truck3(u8 taskId) { cameraXpan = gTruckCamera_HorizontalTable[data[1]]; cameraYpan = 0; - SetCameraPanning(cameraXpan, 0); + SetCameraPanning(cameraXpan, cameraYpan); sub_805BD90(1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, 3 - cameraXpan, cameraYpan + 3); sub_805BD90(2, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -cameraXpan, cameraYpan - 3); sub_805BD90(3, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, -3 - cameraXpan, cameraYpan); @@ -250,7 +283,7 @@ bool8 sub_80C7754(void) } else { - warp1_set(mapGroup, mapNum, -1, x, y); + Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y); return TRUE; } } diff --git a/src/field_specials.c b/src/field/field_specials.c index c23ea2ddc..46061febf 100644 --- a/src/field_specials.c +++ b/src/field/field_specials.c @@ -48,9 +48,9 @@ extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; extern u16 gScriptResult; -EWRAM_DATA u8 gUnknown_02039250 = 0; -EWRAM_DATA u8 gUnknown_02039251 = 0; -EWRAM_DATA u32 gUnknown_02039254 = 0; +EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; +EWRAM_DATA u8 gBikeCollisions = 0; +EWRAM_DATA u32 gBikeCyclingTimer = 0; EWRAM_DATA u8 gUnknown_02039258 = 0; EWRAM_DATA u8 gUnknown_02039259 = 0; EWRAM_DATA u8 gUnknown_0203925A = 0; @@ -76,16 +76,16 @@ void ScrSpecial_ViewWallClock(void) void ResetCyclingRoadChallengeData(void) { - gUnknown_02039250 = 0; - gUnknown_02039251 = 0; - gUnknown_02039254 = 0; + gBikeCyclingChallenge = FALSE; + gBikeCollisions = 0; + gBikeCyclingTimer = 0; } void ScrSpecial_BeginCyclingRoadChallenge(void) { - gUnknown_02039250 = 1; - gUnknown_02039251 = 0; - gUnknown_02039254 = gMain.vblankCounter1; + gBikeCyclingChallenge = TRUE; + gBikeCollisions = 0; + gBikeCyclingTimer = gMain.vblankCounter1; } u16 GetPlayerAvatarBike(void) @@ -171,10 +171,10 @@ static void DetermineCyclingRoadResults(u32 arg0, u8 arg1) } void FinishCyclingRoadChallenge(void) { - const u32 time = gMain.vblankCounter1 - gUnknown_02039254; + const u32 time = gMain.vblankCounter1 - gBikeCyclingTimer; - DetermineCyclingRoadResults(time, gUnknown_02039251); - RecordCyclingRoadResults(time, gUnknown_02039251); + DetermineCyclingRoadResults(time, gBikeCollisions); + RecordCyclingRoadResults(time, gBikeCollisions); } static void RecordCyclingRoadResults(u32 arg0, u8 arg1) { @@ -213,7 +213,7 @@ void UpdateCyclingRoadState(void) { if (VarGet(0x40a9) == 2 || VarGet(0x40a9) == 3) { VarSet(0x40a9, 0); - sav1_set_battle_music_maybe(SE_STOP); + Overworld_SetSavedMusic(SE_STOP); } } @@ -700,11 +700,11 @@ void CableCarWarp(void) { if (gSpecialVar_0x8004 != 0) { - warp1_set(MAP_GROUP_ROUTE112_CABLE_CAR_STATION, MAP_ID_ROUTE112_CABLE_CAR_STATION, -1, 6, 4); + Overworld_SetWarpDestination(MAP_GROUP_ROUTE112_CABLE_CAR_STATION, MAP_ID_ROUTE112_CABLE_CAR_STATION, -1, 6, 4); } else { - warp1_set(MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION, MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION, -1, 6, 4); + Overworld_SetWarpDestination(MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION, MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION, -1, 6, 4); } } @@ -1789,7 +1789,7 @@ u16 sub_810F404(void) void sub_810F414(void) { - sub_8135FF4(gStringVar1); + SetEReaderTrainerName(gStringVar1); } const u8 gUnknown_083F83E0[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; @@ -1905,13 +1905,13 @@ void PutZigzagoonInPlayerParty(void) u16 monData; CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0); monData = TRUE; - SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, (u8 *)&monData); + SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData); monData = MOVE_TACKLE; - SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (u8 *)&monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData); monData = MOVE_NONE; - SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (u8 *)&monData); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (u8 *)&monData); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (u8 *)&monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData); } bool8 IsStarterInParty(void) diff --git a/src/field_tasks.c b/src/field/field_tasks.c index 2be54f923..da6f162c2 100644 --- a/src/field_tasks.c +++ b/src/field/field_tasks.c @@ -1,5 +1,5 @@ // -// Created by scott on 6/22/2017. + // #include "global.h" @@ -845,11 +845,11 @@ void Task_MuddySlope(u8 taskId) } break; } - if (gUnknown_0202E844.field_0 && mapIndices != data[0]) + if (gCamera.field_0 && mapIndices != data[0]) { data[0] = mapIndices; - x2 = gUnknown_0202E844.x; - y2 = gUnknown_0202E844.y; + x2 = gCamera.x; + y2 = gCamera.y; } else { diff --git a/src/field_weather.c b/src/field/field_weather.c index c4fb4872f..a2abf7623 100644 --- a/src/field_weather.c +++ b/src/field/field_weather.c @@ -118,7 +118,7 @@ extern u16 gUnknown_0202FF58; extern u8 *gUnknown_083970E8; extern u8 (*gUnknown_08396FC8[][4])(void); extern u8 (*gUnknown_083970B8[])(void); -extern const u8 *gUnknown_030006DC; +IWRAM_DATA const u8 *gUnknown_030006DC; extern const u8 gUnknown_083970C8[]; // This is a pointer to gWeather. All code sub_807DE78 and below uses this pointer, @@ -140,6 +140,8 @@ const u8 DroughtPaletteData_2[] = INCBIN_U8("graphics/weather/drought2.bin.lz"); const u8 DroughtPaletteData_3[] = INCBIN_U8("graphics/weather/drought3.bin.lz"); const u8 DroughtPaletteData_4[] = INCBIN_U8("graphics/weather/drought4.bin.lz"); const u8 DroughtPaletteData_5[] = INCBIN_U8("graphics/weather/drought5.bin.lz"); +extern u8 (*gUnknown_0202FC48)[32]; +extern u8 gUnknown_0202F9E8[32]; const u8 *const gUnknown_08396FA8[] = { diff --git a/src/fieldmap.c b/src/field/fieldmap.c index 3ad190a4b..7a31ae720 100644 --- a/src/fieldmap.c +++ b/src/field/fieldmap.c @@ -22,7 +22,7 @@ struct Coords32 EWRAM_DATA static u16 gUnknown_02029828[0x2800] = {0}; EWRAM_DATA struct MapHeader gMapHeader = {0}; -EWRAM_DATA struct Camera gUnknown_0202E844 = {0}; +EWRAM_DATA struct Camera gCamera = {0}; EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0}; struct BackupMapData gUnknown_03004870; @@ -713,7 +713,7 @@ bool8 CameraMove(int x, int y) unsigned int direction; struct MapConnection *connection; int old_x, old_y; - gUnknown_0202E844.field_0 = FALSE; + gCamera.field_0 = FALSE; direction = GetPostCameraMoveMapBorderId(x, y); if (direction + 1 <= 1) { @@ -728,14 +728,14 @@ bool8 CameraMove(int x, int y) connection = sub_8056A64(direction, gSaveBlock1.pos.x, gSaveBlock1.pos.y); sub_8056918(connection, direction, x, y); sub_80538F0(connection->mapGroup, connection->mapNum); - gUnknown_0202E844.field_0 = TRUE; - gUnknown_0202E844.x = old_x - gSaveBlock1.pos.x; - gUnknown_0202E844.y = old_y - gSaveBlock1.pos.y; + gCamera.field_0 = TRUE; + gCamera.x = old_x - gSaveBlock1.pos.x; + gCamera.y = old_y - gSaveBlock1.pos.y; gSaveBlock1.pos.x += x; gSaveBlock1.pos.y += y; sub_80566F0(direction); } - return gUnknown_0202E844.field_0; + return gCamera.field_0; } struct MapConnection *sub_8056A64(u8 direction, int x, int y) diff --git a/src/fldeff_cut.c b/src/field/fldeff_cut.c index 00643a979..00643a979 100644 --- a/src/fldeff_cut.c +++ b/src/field/fldeff_cut.c diff --git a/src/fldeff_flash.c b/src/field/fldeff_flash.c index 1ee8a8f05..1ee8a8f05 100644 --- a/src/fldeff_flash.c +++ b/src/field/fldeff_flash.c diff --git a/src/fldeff_softboiled.c b/src/field/fldeff_softboiled.c index cb26d9966..22f9c13f5 100644 --- a/src/fldeff_softboiled.c +++ b/src/field/fldeff_softboiled.c @@ -75,7 +75,7 @@ bool8 SetUpFieldMove_SoftBoiled(void) { void sub_8133D28(u8 taskid) { EWRAM_1000.unkC = sub_8133D50; EWRAM_1B000_2.unk272 = 3; - sub_808A004(taskid); + DoPokemonMenu_Switch(taskid); } static void sub_8133D50(u8 taskId) { @@ -132,8 +132,8 @@ static void sub_8133E74(u8 taskId) { } MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); - sub_806D538(3, 0); - gTasks[taskId].func = sub_806CB74; + PrintPartyMenuPromptText(3, 0); + gTasks[taskId].func = HandlePartyMenuSwitchPokemonInput; } static void sub_8133EB8(u8 taskId) { @@ -148,6 +148,6 @@ static void sub_8133EF8(void) { EWRAM_1B000_2.unk261 = 2; DestroySprite(&gSprites[EWRAM_1000.unk1]); MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); - sub_806D538(0, 0); + PrintPartyMenuPromptText(0, 0); SwitchTaskToFollowupFunc(EWRAM_1000.unk0); } diff --git a/src/fldeff_strength.c b/src/field/fldeff_strength.c index d9603d094..d9603d094 100644 --- a/src/fldeff_strength.c +++ b/src/field/fldeff_strength.c diff --git a/src/fldeff_sweetscent.c b/src/field/fldeff_sweetscent.c index b9dbf619d..b9dbf619d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/field/fldeff_sweetscent.c diff --git a/src/fldeff_teleport.c b/src/field/fldeff_teleport.c index af48fb414..af48fb414 100644 --- a/src/fldeff_teleport.c +++ b/src/field/fldeff_teleport.c diff --git a/src/heal_location.c b/src/field/heal_location.c index 42bc18567..42bc18567 100644 --- a/src/heal_location.c +++ b/src/field/heal_location.c diff --git a/src/hof_pc.c b/src/field/hof_pc.c index aeeb7fe17..267ed4274 100644 --- a/src/hof_pc.c +++ b/src/field/hof_pc.c @@ -28,7 +28,7 @@ void ReturnFromHallOfFamePC(void) static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); ScrSpecial_CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); diff --git a/src/item.c b/src/field/item.c index 36871285a..fd49f5c39 100644 --- a/src/item.c +++ b/src/field/item.c @@ -30,11 +30,11 @@ enum }; #if ENGLISH -#include "data/item_descriptions_en.h" -#include "data/items_en.h" +#include "../data/item_descriptions_en.h" +#include "../data/items_en.h" #elif GERMAN -#include "data/item_descriptions_de.h" -#include "data/items_de.h" +#include "../data/item_descriptions_de.h" +#include "../data/items_de.h" #endif static void CompactPCItems(void); diff --git a/src/item_menu.c b/src/field/item_menu.c index 891eb135f..c508bcacf 100644 --- a/src/item_menu.c +++ b/src/field/item_menu.c @@ -152,7 +152,7 @@ static u8 sReturnLocation; static const u8 *sPopupMenuActionList; // common -void (*gUnknown_03005D00)(u8) = NULL; +void (*gFieldItemUseCallback)(u8) = NULL; extern u16 gUnknown_030041B4; extern struct PocketScrollState gBagPocketScrollStates[]; extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots @@ -2718,7 +2718,7 @@ void ExecuteItemUseFromBlackPalette(void) static void Task_CallItemUseOnFieldCallback(u8 taskId) { if (sub_807D770() == TRUE) - gUnknown_03005D00(taskId); + gFieldItemUseCallback(taskId); } void sub_80A5D04(void) @@ -4492,7 +4492,7 @@ static void LoadBerryPic(u8 berryId) spritePal.data = (u16 *)sBerryGraphicsTable[berryId].lzPalette; spritePal.tag = 0x7544; LoadCompressedObjectPalette((struct CompressedSpritePalette *)&spritePal); - sub_800D238(sBerryGraphicsTable[berryId].lzPic, ewramBerryPicTemp); + LZDecompressWram(sBerryGraphicsTable[berryId].lzPic, ewramBerryPicTemp); DrawBerryPic(ewramBerryPicTemp, ewramBerryPic); } } diff --git a/src/item_use.c b/src/field/item_use.c index 8bc83bdc6..14b13ca3b 100644 --- a/src/item_use.c +++ b/src/field/item_use.c @@ -36,7 +36,7 @@ #include "task.h" #include "vars.h" -extern void (*gUnknown_03005D00)(u8); +extern void (*gFieldItemUseCallback)(u8); extern void (*gFieldCallback)(void); extern void (*gUnknown_0300485C)(void); extern void (*gUnknown_03004AE4)(u8, u16, TaskFunc); @@ -106,11 +106,13 @@ void SetUpItemUseOnFieldCallback(u8 taskId) { if (gTasks[taskId].data[2] != 1) { - gFieldCallback = (void *)ExecuteItemUseFromBlackPalette; + gFieldCallback = ExecuteItemUseFromBlackPalette; ItemMenu_ConfirmNormalFade(taskId); } else - gUnknown_03005D00(taskId); + { + gFieldItemUseCallback(taskId); + } } void HandleDeniedItemUseMessage(u8 var1, u8 playerMenuStatus, const u8 *text) @@ -185,9 +187,9 @@ void ItemUseOutOfBattle_Bike(u8 taskId) } else { - if (Overworld_IsBikeAllowedOnCurrentMap() == TRUE && IsBikingDisallowedByPlayer() == FALSE) + if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == FALSE) { - gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Bike; + gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Bike; SetUpItemUseOnFieldCallback(taskId); } else @@ -241,7 +243,7 @@ void ItemUseOutOfBattle_Rod(u8 taskId) { if (CanFish() == TRUE) { - gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Rod; + gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Rod; SetUpItemUseOnFieldCallback(taskId); } else @@ -257,7 +259,7 @@ void ItemUseOnFieldCB_Rod(u8 taskId) void ItemUseOutOfBattle_Itemfinder(u8 var) { IncrementGameStat(0x27); - gUnknown_03005D00 = (void *)ItemUseOnFieldCB_Itemfinder; + gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Itemfinder; SetUpItemUseOnFieldCallback(var); } @@ -778,9 +780,9 @@ void ItemUseOutOfBattle_SSTicket(u8 taskId) void sub_80C9C7C(u8 taskId) { - if (IsPlayerFacingPlantedBerryTree() == TRUE) + if (IsPlayerFacingUnplantedSoil() == TRUE) { - gUnknown_03005D00 = sub_80C9D00; + gFieldItemUseCallback = sub_80C9D00; gFieldCallback = ExecuteItemUseFromBlackPalette; gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; @@ -805,7 +807,7 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId) { if (TryToWaterBerryTree() == TRUE) { - gUnknown_03005D00 = sub_80C9D74; + gFieldItemUseCallback = sub_80C9D74; SetUpItemUseOnFieldCallback(taskId); } else @@ -909,7 +911,7 @@ void sub_80C9FC0(u8 var) sub_80C9D98(var); } -void sub_80C9FDC(void) +static void PrepareItemUseMessage(void) { RemoveBagItem(gScriptItemId, 1); sub_80A3E0C(); @@ -922,7 +924,7 @@ void ItemUseOutOfBattle_Repel(u8 var) if (VarGet(VAR_REPEL_STEP_COUNT) == FALSE) { VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gScriptItemId)); - sub_80C9FDC(); + PrepareItemUseMessage(); DisplayItemMessageOnField(var, gStringVar4, CleanUpItemMenuMessage, 1); } else @@ -975,10 +977,10 @@ void task08_080A1C44(u8 taskId) DestroyTask(taskId); } -void sub_80CA18C(u8 taskId) +void EscapeRopeCallback(u8 taskId) { - sub_8053014(); - sub_80C9FDC(); + Overworld_ResetStateAfterDigEscRope(); + PrepareItemUseMessage(); gTasks[taskId].data[0] = 0; DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44, 0); } @@ -995,7 +997,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gUnknown_03005D00 = sub_80CA18C; + gFieldItemUseCallback = EscapeRopeCallback; SetUpItemUseOnFieldCallback(taskId); } else @@ -1114,7 +1116,7 @@ void ItemUseInBattle_Escape(u8 taskId) if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) { - sub_80C9FDC(); + PrepareItemUseMessage(); DisplayItemMessageOnField(taskId, gStringVar4, sub_80A7094, 1); } else diff --git a/src/landmark.c b/src/field/landmark.c index 6a53716bb..6a53716bb 100644 --- a/src/landmark.c +++ b/src/field/landmark.c diff --git a/src/lottery_corner.c b/src/field/lottery_corner.c index c2c25b9ac..c2c25b9ac 100644 --- a/src/lottery_corner.c +++ b/src/field/lottery_corner.c diff --git a/src/map_name_popup.c b/src/field/map_name_popup.c index 01105d0db..01105d0db 100644 --- a/src/map_name_popup.c +++ b/src/field/map_name_popup.c diff --git a/src/map_obj_lock.c b/src/field/map_obj_lock.c index 2856320b8..91feaf177 100644 --- a/src/map_obj_lock.c +++ b/src/field/map_obj_lock.c @@ -10,7 +10,7 @@ extern u16 gScriptFacing; bool8 walkrun_is_standing_still(void) { - if (gPlayerAvatar.running1 == 1) + if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) return FALSE; else return TRUE; diff --git a/src/mauville_man.c b/src/field/mauville_man.c index 33bc39648..33bc39648 100644 --- a/src/mauville_man.c +++ b/src/field/mauville_man.c diff --git a/src/menu_helpers.c b/src/field/menu_helpers.c index 14e823355..14e823355 100644 --- a/src/menu_helpers.c +++ b/src/field/menu_helpers.c diff --git a/src/metatile_behavior.c b/src/field/metatile_behavior.c index d05ba0b89..d05ba0b89 100644 --- a/src/metatile_behavior.c +++ b/src/field/metatile_behavior.c diff --git a/src/money.c b/src/field/money.c index 5d0f0ae8d..5d0f0ae8d 100644 --- a/src/money.c +++ b/src/field/money.c diff --git a/src/overworld.c b/src/field/overworld.c index 9b41a262d..d6f255409 100644 --- a/src/overworld.c +++ b/src/field/overworld.c @@ -91,7 +91,7 @@ extern struct MapHeader * const * const gMapGroups[]; extern s32 gMaxFlashLevel; EWRAM_DATA struct WarpData gUnknown_020297F0 = {0}; -EWRAM_DATA struct WarpData gUnknown_020297F8 = {0}; +EWRAM_DATA struct WarpData gWarpDestination = {0}; // new warp position EWRAM_DATA struct WarpData gUnknown_02029800 = {0}; EWRAM_DATA struct WarpData gUnknown_02029808 = {0}; EWRAM_DATA struct UnkPlayerStruct gUnknown_02029810 = {0}; @@ -195,12 +195,12 @@ static void DoWhiteOut(void) ScriptContext2_RunNewScript(S_WhiteOut); gSaveBlock1.money /= 2; ScrSpecial_HealPlayerParty(); - sub_8053050(); - sub_8053570(); + Overworld_ResetStateAfterWhiteOut(); + Overworld_SetWarpDestToLastHealLoc(); warp_in(); } -void flag_var_implications_of_teleport_(void) +void Overworld_ResetStateAfterFly(void) { player_avatar_init_params_reset(); FlagClear(SYS_CYCLING_ROAD); @@ -221,7 +221,7 @@ void Overworld_ResetStateAfterTeleport(void) ScriptContext2_RunNewScript(gUnknown_0819FC9F); } -void sub_8053014(void) +void Overworld_ResetStateAfterDigEscRope(void) { player_avatar_init_params_reset(); FlagClear(SYS_CYCLING_ROAD); @@ -231,7 +231,7 @@ void sub_8053014(void) FlagClear(SYS_USE_FLASH); } -void sub_8053050(void) +void Overworld_ResetStateAfterWhiteOut(void) { player_avatar_init_params_reset(); FlagClear(SYS_CYCLING_ROAD); @@ -283,9 +283,12 @@ void SetGameStat(u8 index, u32 value) gSaveBlock1.gameStats[index] = value; } -void sub_8053154(void) +void LoadMapObjTemplatesFromHeader(void) { + // Clear map object templates CpuFill32(0, gSaveBlock1.mapObjectTemplates, sizeof(gSaveBlock1.mapObjectTemplates)); + + // Copy map header events to save block CpuCopy32(gMapHeader.events->mapObjects, gSaveBlock1.mapObjectTemplates, gMapHeader.events->mapObjectCount * sizeof(struct MapObjectTemplate)); @@ -300,7 +303,7 @@ static void LoadSaveblockMapObjScripts(void) mapObjectTemplates[i].script = gMapHeader.events->mapObjects[i].script; } -void Overworld_SaveMapObjCoords(u8 localId, s16 x, s16 y) +void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y) { s32 i; for (i = 0; i < 64; i++) @@ -315,9 +318,10 @@ void Overworld_SaveMapObjCoords(u8 localId, s16 x, s16 y) } } -void Overworld_SaveMapObjMovementType(u8 localId, u8 movementType) +void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType) { s32 i; + for (i = 0; i < 64; i++) { struct MapObjectTemplate *mapObjectTemplate = &gSaveBlock1.mapObjectTemplates[i]; @@ -346,15 +350,15 @@ static struct MapData *get_mapdata_header(void) return NULL; } -static void warp_shift(void) +static void ApplyCurrentWarp(void) { gUnknown_020297F0 = gSaveBlock1.location; - gSaveBlock1.location = gUnknown_020297F8; + gSaveBlock1.location = gWarpDestination; gUnknown_02029800 = sDummyWarpData; gUnknown_02029808 = sDummyWarpData; } -static void warp_set(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { warp->mapGroup = mapGroup; warp->mapNum = mapNum; @@ -385,7 +389,7 @@ struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 map struct MapHeader *const warp1_get_mapheader(void) { - return Overworld_GetMapHeaderByGroupAndId(gUnknown_020297F8.mapGroup, gUnknown_020297F8.mapNum); + return Overworld_GetMapHeaderByGroupAndId(gWarpDestination.mapGroup, gWarpDestination.mapNum); } static void set_current_map_header_from_sav1_save_old_name(void) @@ -422,34 +426,34 @@ void sub_80533CC(void) void warp_in(void) { - warp_shift(); + ApplyCurrentWarp(); set_current_map_header_from_sav1_save_old_name(); sub_80533CC(); } -void warp1_set(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - warp_set(&gUnknown_020297F8, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gWarpDestination, mapGroup, mapNum, warpId, x, y); } void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId) { - warp1_set(mapGroup, mapNum, warpId, -1, -1); + Overworld_SetWarpDestination(mapGroup, mapNum, warpId, -1, -1); } void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId) { - warp_set(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, gSaveBlock1.pos.x, gSaveBlock1.pos.y); + SetWarpData(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, gSaveBlock1.pos.x, gSaveBlock1.pos.y); } void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - warp_set(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gSaveBlock1.warp2, mapGroup, mapNum, warpId, x, y); } void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused) { - gUnknown_020297F8 = gSaveBlock1.warp2; + gWarpDestination = gSaveBlock1.warp2; } void sub_8053538(u8 a1) @@ -457,81 +461,82 @@ void sub_8053538(u8 a1) const struct HealLocation *warp = GetHealLocation(a1); if (warp) - warp1_set(warp->group, warp->map, -1, warp->x, warp->y); + Overworld_SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y); } -void sub_8053570(void) +void Overworld_SetWarpDestToLastHealLoc(void) { - gUnknown_020297F8 = gSaveBlock1.warp3; + gWarpDestination = gSaveBlock1.lastHealLocation; } -void sub_8053588(u8 a1) +void Overworld_SetHealLocationWarp(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(a1); - if (warp) - warp_set(&gSaveBlock1.warp3, warp->group, warp->map, -1, warp->x, warp->y); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); + + if (healLocation != NULL) + SetWarpData(&gSaveBlock1.lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); } void sub_80535C4(s16 a1, s16 a2) { - u8 v4 = Overworld_GetMapTypeOfSaveblockLocation(); - u8 v5 = GetMapTypeByGroupAndId(gUnknown_020297F8.mapGroup, gUnknown_020297F8.mapNum); - if (is_map_type_1_2_3_5_or_6(v4) && is_map_type_1_2_3_5_or_6(v5) != TRUE) + u8 currMapType = Overworld_GetMapTypeOfSaveblockLocation(); + u8 destMapType = GetMapTypeByGroupAndId(gWarpDestination.mapGroup, gWarpDestination.mapNum); + if (is_map_type_1_2_3_5_or_6(currMapType) && is_map_type_1_2_3_5_or_6(destMapType) != TRUE) sub_805363C(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, a1 - 7, a2 - 6); } void sub_805363C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - warp_set(&gSaveBlock1.warp4, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gSaveBlock1.warp4, mapGroup, mapNum, warpId, x, y); } void sub_8053678(void) { - gUnknown_020297F8 = gSaveBlock1.warp4; + gWarpDestination = gSaveBlock1.warp4; } void sub_8053690(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - warp_set(&gUnknown_02029800, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gUnknown_02029800, mapGroup, mapNum, warpId, x, y); } -void warp1_set_to_warp2(void) +static void warp1_set_to_warp2(void) { - gUnknown_020297F8 = gUnknown_02029800; + gWarpDestination = gUnknown_02029800; } void sub_80536E4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - warp_set(&gUnknown_02029808, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gUnknown_02029808, mapGroup, mapNum, warpId, x, y); } void sub_8053720(s16 x, s16 y) { if (warp_data_is_not_neg_1(&gUnknown_02029808) == TRUE) { - gUnknown_020297F8 = gUnknown_020297F0; + gWarpDestination = gUnknown_020297F0; } else { - warp1_set(gUnknown_02029808.mapGroup, gUnknown_02029808.mapNum, -1, x, y); + Overworld_SetWarpDestination(gUnknown_02029808.mapGroup, gUnknown_02029808.mapNum, -1, x, y); } } void sub_8053778(void) { - gUnknown_020297F8 = gSaveBlock1.warp1; + gWarpDestination = gSaveBlock1.warp1; } void unref_sub_8053790(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - warp_set(&gSaveBlock1.warp1, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gSaveBlock1.warp1, mapGroup, mapNum, warpId, x, y); } void sub_80537CC(u8 a1) { const struct HealLocation *warp = GetHealLocation(a1); if (warp) - warp_set(&gSaveBlock1.warp1, warp->group, warp->map, -1, warp->x, warp->y); + SetWarpData(&gSaveBlock1.warp1, warp->group, warp->map, -1, warp->x, warp->y); } void gpu_sync_bg_hide() @@ -539,7 +544,7 @@ void gpu_sync_bg_hide() gSaveBlock1.warp1 = gSaveBlock1.warp2; } -struct MapConnection *sub_8053818(u8 dir) +struct MapConnection *GetMapConnection(u8 dir) { s32 i; s32 count = gMapHeader.connections->count; @@ -557,10 +562,11 @@ struct MapConnection *sub_8053818(u8 dir) bool8 sub_8053850(u8 dir, u16 x, u16 y) { - struct MapConnection *connection = sub_8053818(dir); + struct MapConnection *connection = GetMapConnection(dir); + if (connection != NULL) { - warp1_set(connection->mapGroup, connection->mapNum, -1, x, y); + Overworld_SetWarpDestination(connection->mapGroup, connection->mapNum, -1, x, y); } else { @@ -586,11 +592,11 @@ void sub_80538F0(u8 mapGroup, u8 mapNum) { s32 i; - warp1_set(mapGroup, mapNum, -1, -1, -1); + Overworld_SetWarpDestination(mapGroup, mapNum, -1, -1, -1); sub_8053F0C(); - warp_shift(); + ApplyCurrentWarp(); set_current_map_header_from_sav1_save_old_name(); - sub_8053154(); + LoadMapObjTemplatesFromHeader(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); prev_quest_postbuffer_cursor_backup_reset(); @@ -599,7 +605,7 @@ void sub_80538F0(u8 mapGroup, u8 mapNum) sub_80806E4(); ChooseAmbientCrySpecies(); SetDefaultFlashLevel(); - sav1_reset_battle_music_maybe(); + Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); not_trainer_hill_battle_pyramid(); sub_8056D38(gMapHeader.mapData); @@ -623,7 +629,7 @@ void sub_8053994(u32 a1) bool8 v3; set_current_map_header_from_sav1_save_old_name(); - sub_8053154(); + LoadMapObjTemplatesFromHeader(); v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType); v3 = Overworld_MapTypeIsIndoors(gMapHeader.mapType); ClearTempFieldEventData(); @@ -637,7 +643,7 @@ void sub_8053994(u32 a1) if (v2) FlagClear(SYS_USE_FLASH); SetDefaultFlashLevel(); - sav1_reset_battle_music_maybe(); + Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); @@ -691,7 +697,7 @@ u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3) return 16; if (MetatileBehavior_IsSurfableWaterOrUnderwater(a2) == 1) return 8; - if (Overworld_IsBikeAllowedOnCurrentMap() != TRUE) + if (Overworld_IsBikingAllowed() != TRUE) return 1; if (playerStruct->player_field_0 == 2) return 2; @@ -729,7 +735,7 @@ u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void) return MapGridGetMetatileBehaviorAt(gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7); } -bool32 Overworld_IsBikeAllowedOnCurrentMap(void) +bool32 Overworld_IsBikingAllowed(void) { // is player in cycling road entrance? if (gSaveBlock1.location.mapGroup == MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE @@ -830,10 +836,11 @@ static u16 GetLocationMusic(struct WarpData *warp) return Overworld_GetMapHeaderByGroupAndId(warp->mapGroup, warp->mapNum)->music; } -u16 sav1_map_get_music(void) +u16 GetCurrLocationDefaultMusic(void) { u16 music; + // Play the desert music only when the sandstorm is active on Route 111. if (gSaveBlock1.location.mapGroup == MAP_GROUP_ROUTE111 && gSaveBlock1.location.mapNum == MAP_ID_ROUTE111 && GetSav1Weather() == 8) @@ -853,9 +860,9 @@ u16 sav1_map_get_music(void) } } -u16 warp1_target_get_music(void) +u16 GetWarpDestinationMusic(void) { - u16 music = GetLocationMusic(&gUnknown_020297F8); + u16 music = GetLocationMusic(&gWarpDestination); if (music != 0x7FFF) { return music; @@ -870,19 +877,19 @@ u16 warp1_target_get_music(void) } } -void call_map_music_set_to_zero(void) +void Overworld_ResetMapMusic(void) { ResetMapMusic(); } -void sub_8053E90(void) +void Overworld_PlaySpecialMapMusic(void) { - u16 music = sav1_map_get_music(); + u16 music = GetCurrLocationDefaultMusic(); if (music != LEGENDARY_MUSIC) { - if (gSaveBlock1.battleMusic) - music = gSaveBlock1.battleMusic; + if (gSaveBlock1.savedMusic) + music = gSaveBlock1.savedMusic; else if (Overworld_GetMapTypeOfSaveblockLocation() == MAP_TYPE_UNDERWATER) music = BGM_DEEPDEEP; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) @@ -893,21 +900,21 @@ void sub_8053E90(void) PlayNewMapMusic(music); } -void sav1_set_battle_music_maybe(u16 songNum) +void Overworld_SetSavedMusic(u16 songNum) { - gSaveBlock1.battleMusic = songNum; + gSaveBlock1.savedMusic = songNum; } -void sav1_reset_battle_music_maybe(void) +void Overworld_ClearSavedMusic(void) { - gSaveBlock1.battleMusic = 0; + gSaveBlock1.savedMusic = 0; } void sub_8053F0C(void) { if (FlagGet(SPECIAL_FLAG_1) != TRUE) { - u16 newMusic = warp1_target_get_music(); + u16 newMusic = GetWarpDestinationMusic(); u16 currentMusic = GetCurrentMapMusic(); if (newMusic != LEGENDARY_MUSIC) { @@ -926,11 +933,11 @@ void sub_8053F0C(void) } } -void sub_8053F84(void) +void Overworld_ChangeMusicToDefault(void) { u16 currentMusic = GetCurrentMapMusic(); - if (currentMusic != sav1_map_get_music()) - FadeOutAndPlayNewMapMusic(sav1_map_get_music(), 8); + if (currentMusic != GetCurrLocationDefaultMusic()) + FadeOutAndPlayNewMapMusic(GetCurrLocationDefaultMusic(), 8); } void Overworld_ChangeMusicTo(u16 newMusic) @@ -951,7 +958,7 @@ u8 GetMapMusicFadeoutSpeed(void) void sub_8053FF8(void) { - u16 music = warp1_target_get_music(); + u16 music = GetWarpDestinationMusic(); if (FlagGet(SPECIAL_FLAG_1) != TRUE && music != GetCurrentMapMusic()) { u8 speed = GetMapMusicFadeoutSpeed(); @@ -964,7 +971,7 @@ bool8 sub_8054034(void) return IsNotWaitingForBGMStop(); } -void sub_8054044(void) +void Overworld_FadeOutMapMusic(void) { FadeOutMapMusic(4); } @@ -972,14 +979,16 @@ void sub_8054044(void) static void PlayAmbientCry(void) { s16 x, y; + s8 pan; + s8 volume; + PlayerGetDestCoords(&x, &y); - if (sIsAmbientCryWaterMon != TRUE - || MetatileBehavior_IsSurfableWaterOrUnderwater(MapGridGetMetatileBehaviorAt(x, y))) - { - s8 pan = (Random() % 88) + 212; - s8 volume = (Random() % 30) + 50; - PlayCry2(sAmbientCrySpecies, pan, volume, 1); - } + if (sIsAmbientCryWaterMon == TRUE + && !MetatileBehavior_IsSurfableWaterOrUnderwater(MapGridGetMetatileBehaviorAt(x, y))) + return; + pan = (Random() % 88) + 212; + volume = (Random() % 30) + 50; + PlayCry2(sAmbientCrySpecies, pan, volume, 1); } void UpdateAmbientCry(s16 *state, u16 *delayCounter) @@ -1149,6 +1158,7 @@ void OverworldBasic(void) sub_8072EDC(); } +// This CB2 is used when starting void CB2_OverworldBasic(void) { OverworldBasic(); @@ -1176,7 +1186,7 @@ void sub_80543DC(u16 (*a1)(u32)) void sub_80543E8(void) { - if (gFieldCallback) + if (gFieldCallback != NULL) gFieldCallback(); else mapldr_default(); @@ -1977,27 +1987,27 @@ void sub_8055280(u16 a1) u16 sub_80552B0(u32 a1) { - if (gMain.heldKeys & 0x40) + if (gMain.heldKeys & DPAD_UP) { return 19; } - else if (gMain.heldKeys & 0x80) + else if (gMain.heldKeys & DPAD_DOWN) { return 18; } - else if (gMain.heldKeys & 0x20) + else if (gMain.heldKeys & DPAD_LEFT) { return 20; } - else if (gMain.heldKeys & 0x10) + else if (gMain.heldKeys & DPAD_RIGHT) { return 21; } - else if (gMain.newKeys & 8) + else if (gMain.newKeys & START_BUTTON) { return 24; } - else if (gMain.newKeys & 1) + else if (gMain.newKeys & A_BUTTON) { return 25; } diff --git a/src/field/party_menu.c b/src/field/party_menu.c new file mode 100644 index 000000000..7a519d737 --- /dev/null +++ b/src/field/party_menu.c @@ -0,0 +1,5651 @@ +#include "global.h" +#include "party_menu.h" +#include "battle.h" +#include "battle_interface.h" +#include "battle_party_menu.h" +#include "choose_party.h" +#include "data2.h" +#include "decompress.h" +#include "event_data.h" +#include "evolution_scene.h" +#include "item.h" +#include "item_use.h" +#include "item_menu.h" +#include "items.h" +#include "mail_data.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" +#include "moves.h" +#include "palette.h" +#include "pokemon.h" +#include "pokemon_icon.h" +#include "pokemon_item_effect.h" +#include "pokemon_menu.h" +#include "pokemon_summary_screen.h" +#include "rom_8077ABC.h" +#include "rom_8094928.h" +#include "script_pokemon_80F9.h" +#include "songs.h" +#include "sound.h" +#include "species.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "unknown_task.h" +#include "util.h" + +struct Coords8 +{ + u8 x; + u8 y; +}; + +struct PartyMenuWindowCoords +{ + u8 left; + u8 top; + u8 right; + u8 bottom; +}; + +struct PartyMonTextSettingsStruct +{ + u8 xOffset; + u8 yOffset; + const u16 *oamSettings; +}; + +struct PartyMenuHandlersStruct +{ + /*0x0*/TaskFunc menuHandler; + /*0x4*/bool8 (*menuSetup)(void); + /*0x8*/u8 initialPromptTextId; // element in PartyMenuPromptTexts +}; + +static void nullsub_12(u8 monIndex, struct Pokemon *pokemon); +static void TryPrintPartyMenuMonNickname(u8 monIndex, struct Pokemon *pokemon); +static void PartyMenuTryPrintHP(u8 monIndex, struct Pokemon *pokemon); +static void sub_806D05C(u8 taskId); +static void sub_806D15C(u8 taskId); +static void sub_806D198(u8 taskId); +static void sub_806E884(u8 taskId); +static void sub_8070D90(u8 taskId); +static void sub_806D5B8(u8 taskId); +static void sub_806D014(u8 taskId); +static void sub_806D118(u8 taskId); +static void CB2_InitPartyMenu(void); +static void ReDrawPartyMonBackgrounds(void); +static void sub_806BA94(s16 a, u16 b, u8 c, u8 d); +static void sub_806B9A4(s16 a, u16 b, u8 c); +static void sub_806CA18(u8 taskId, u8 b); +static void ChangeDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed); +static void ChangeDefaultPartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed); +static void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed); +static void UpdateMonIconFrame_806DA0C(struct Sprite *sprite); +static void UpdateMonIconFrame_806DA38(struct Sprite *sprite); +static void UpdateMonIconFrame_806DA44(u8 taskId, u8 monIndex, u8 c); +static u8 sub_806CA00(u8 taskId); +static void SpriteCB_sub_806D37C(struct Sprite *sprite); +static u8 GetMonIconSpriteId(u8 taskId, u8 monIndex); +static void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite); +static void ItemUseMoveMenu_HandleMoveSelection(u8 taskId); +static void ItemUseMoveMenu_HandleCancel(u8 taskId); +static bool8 SetupDefaultPartyMenu(void); +static void sub_806B4A8(void); +static void VBlankCB_PartyMenu(void); +static bool8 LoadPartyMenuGraphics(u8 a); +static void sub_806BF24(const u8 *a, u8 monIndex, u8 c, u8 d); +static void sub_806BB9C(u8 a); +static void sub_806BBEC(u8 a); + +const u16 TMHMMoves[] = { + MOVE_FOCUS_PUNCH, + MOVE_DRAGON_CLAW, + MOVE_WATER_PULSE, + MOVE_CALM_MIND, + MOVE_ROAR, + MOVE_TOXIC, + MOVE_HAIL, + MOVE_BULK_UP, + MOVE_BULLET_SEED, + MOVE_HIDDEN_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_ICE_BEAM, + MOVE_BLIZZARD, + MOVE_HYPER_BEAM, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_GIGA_DRAIN, + MOVE_SAFEGUARD, + MOVE_FRUSTRATION, + MOVE_SOLAR_BEAM, + MOVE_IRON_TAIL, + MOVE_THUNDERBOLT, + MOVE_THUNDER, + MOVE_EARTHQUAKE, + MOVE_RETURN, + MOVE_DIG, + MOVE_PSYCHIC, + MOVE_SHADOW_BALL, + MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_REFLECT, + MOVE_SHOCK_WAVE, + MOVE_FLAMETHROWER, + MOVE_SLUDGE_BOMB, + MOVE_SANDSTORM, + MOVE_FIRE_BLAST, + MOVE_ROCK_TOMB, + MOVE_AERIAL_ACE, + MOVE_TORMENT, + MOVE_FACADE, + MOVE_SECRET_POWER, + MOVE_REST, + MOVE_ATTRACT, + MOVE_THIEF, + MOVE_STEEL_WING, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_OVERHEAT, + MOVE_CUT, + MOVE_FLY, + MOVE_SURF, + MOVE_STRENGTH, + MOVE_FLASH, + MOVE_ROCK_SMASH, + MOVE_WATERFALL, + MOVE_DIVE, +}; + +//FIXME +//const u8 *unrefTileBuffer = gTileBuffer; +asm(".4byte gTileBuffer\n"); + +static const u8 MenuGfx_HoldIcons[] = INCBIN_U8("graphics/interface/hold_icons.4bpp"); +static const u16 MenuPal_HoldIcons[] = INCBIN_U16("graphics/interface/hold_icons.gbapal"); + +static const struct SpriteSheet HeldItemsSpriteSheet = { + MenuGfx_HoldIcons, + sizeof MenuGfx_HoldIcons, + 0xd750 +}; + +static const struct SpritePalette HeldItemsPalette = { + MenuPal_HoldIcons, + 0xd750 +}; + +static const struct OamData gOamData_83765EC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_83765F4[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_83765FC[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8376604[] = { + gSpriteAnim_83765F4, + gSpriteAnim_83765FC, +}; + +static const struct SpriteTemplate gSpriteTemplate_837660C = { + 55120, + 55120, + &gOamData_83765EC, + gSpriteAnimTable_8376604, + NULL, + gDummySpriteAffineAnimTable, + SpriteCB_UpdateHeldItemIconPosition +}; + +// Texts that can be displayed in the bottom of the party menu. +static const u8 *const PartyMenuPromptTexts[] = { + OtherText_ChoosePoke, + OtherText_MovePokeTo, + OtherText_TeachWhat, + OtherText_UseWhat, + OtherText_GiveWhat, + OtherText_DoWhat, + OtherText_NothingToCut, + OtherText_CantSurf, + OtherText_AlreadySurfing, + OtherText_CantUseThatHere, + OtherText_RestoreWhatMove, + OtherText_BoostPP, + gOtherText_CancelWithTerminator, + OtherText_DoWhatWithItem, + OtherText_NoPokeForBattle, + OtherText_ChoosePoke2, + OtherText_NotEnoughHP, + OtherText_ThreePokeNeeded, + OtherText_PokeCantBeSame, + OtherText_NoIdenticalHoldItems, + OtherText_TeachWhichPoke, +}; + +static const struct Coords8 gUnknown_08376678[8][6] = { + {{16, 40}, {104, 18}, {104, 42}, {104, 66}, {104, 90}, {104, 114}}, // PARTY_MENU_TYPE_STANDARD + {{16, 24}, { 16, 80}, {104, 18}, {104, 50}, {104, 82}, {104, 114}}, // PARTY_MENU_TYPE_BATTLE + {{16, 24}, { 16, 80}, {104, 26}, {104, 50}, {104, 82}, {104, 106}}, // PARTY_MENU_TYPE_CONTEST + {{16, 24}, {104, 26}, {104, 50}, { 16, 80}, {104, 82}, {104, 106}}, // PARTY_MENU_TYPE_IN_GAME_TRADE + {{ 5, 4}, { 16, 1}, { 16, 4}, { 16, 7}, { 16, 10}, { 16, 13}}, // PARTY_MENU_TYPE_BATTLE_TOWER + {{ 5, 2}, { 5, 9}, { 16, 1}, { 16, 5}, { 16, 9}, { 16, 13}}, // PARTY_MENU_TYPE_LINK_MULTI_BATTLE + {{ 5, 2}, { 5, 9}, { 16, 2}, { 16, 5}, { 16, 9}, { 16, 12}}, // PARTY_MENU_TYPE_DAYCARE + {{ 5, 2}, { 16, 2}, { 16, 5}, { 5, 9}, { 16, 9}, { 16, 12}}, // PARTY_MENU_TYPE_MOVE_TUTOR +}; + +static const struct Coords8 gUnknown_08376738[12][6] = { + {{6, 5}, {17, 2}, {17, 5}, {17, 8}, {17, 11}, {17, 14}}, + {{6, 3}, { 6, 10}, {17, 2}, {17, 6}, {17, 10}, {17, 14}}, + {{6, 3}, { 6, 10}, {17, 3}, {17, 6}, {17, 10}, {17, 13}}, + {{6, 3}, {17, 3}, {17, 6}, { 6, 10}, {17, 10}, {17, 13}}, + {{3, 7}, {22, 2}, {22, 5}, {22, 8}, {22, 11}, {22, 14}}, + {{3, 5}, { 3, 12}, {22, 2}, {22, 6}, {22, 10}, {22, 14}}, + {{3, 5}, { 3, 12}, {22, 3}, {22, 6}, {22, 10}, {22, 13}}, + {{3, 5}, {22, 3}, {22, 6}, { 3, 12}, {22, 10}, {22, 13}}, + {{7, 7}, {26, 2}, {26, 5}, {26, 8}, {26, 11}, {26, 14}}, + {{7, 5}, { 7, 12}, {26, 2}, {26, 6}, {26, 10}, {26, 14}}, + {{7, 5}, { 7, 12}, {26, 3}, {26, 6}, {26, 10}, {26, 13}}, + {{7, 5}, {26, 3}, {26, 6}, { 7, 12}, {26, 10}, {26, 13}}, +}; + +static u16 *const gUnknown_08376858[4][6] = { + {(u16*)(BG_VRAM + 0xF1C8), (u16*)(BG_VRAM + 0xF0AE), (u16*)(BG_VRAM + 0xF16E), (u16*)(BG_VRAM + 0xF22E), (u16*)(BG_VRAM + 0xF2EE), (u16*)(BG_VRAM + 0xF3AE)}, // PARTY_MENU_STANDARD + {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF0AE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF3AE)}, // PARTY_MENU_LAYOUT_DOUBLE_BATTLE + {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF0EE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF36E)}, // PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE + {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF0EE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF36E)}, // PARTY_MENU_LAYOUT_MULTI_BATTLE +}; + +static const struct Coords8 gUnknown_083768B8[3][8] = { + {{8, 44}, {92, 22}, {92, 46}, {92, 70}, {92, 94}, {92, 118}, {196, 136}, {196, 152}}, // PARTY_MENU_LAYOUT_STANDARD + {{8, 28}, { 8, 84}, {92, 22}, {92, 54}, {92, 86}, {92, 118}, {196, 136}, {196, 152}}, // PARTY_MENU_LAYOUT_DOUBLE_BATTLE + {{8, 28}, { 8, 84}, {92, 30}, {92, 54}, {92, 86}, {92, 110}, {196, 136}, {196, 152}}, // PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE +}; + +static u16 *const gUnknown_08376918[2][PARTY_SIZE] = { + {(u16*)(BG_VRAM + 0xF1C6), (u16*)(BG_VRAM + 0xF06C), (u16*)(BG_VRAM + 0xF12C), (u16*)(BG_VRAM + 0xF1EC), (u16*)(BG_VRAM + 0xF2AC), (u16*)(BG_VRAM + 0xF36C)}, + {(u16*)(BG_VRAM + 0xF148), (u16*)(BG_VRAM + 0xF308), (u16*)(BG_VRAM + 0xF0AE), (u16*)(BG_VRAM + 0xF1AE), (u16*)(BG_VRAM + 0xF2AE), (u16*)(BG_VRAM + 0xF3AE)}, +}; + +static const struct PartyMenuWindowCoords gUnknown_08376948[2][6] = { + {{2, 4, 10, 9}, {16, 1, 29, 3}, {16, 4, 29, 6}, {16, 7, 29, 9}, {16, 10, 29, 12}, {16, 13, 29, 15}}, + {{2, 2, 10, 7}, { 2, 9, 10, 14}, {16, 1, 29, 3}, {16, 5, 29, 7}, {16, 9, 29, 11}, {16, 13, 29, 15}}, +}; + +static const struct PartyMenuWindowCoords gUnknown_08376978[2][6] = { + {{2, 7, 10, 9}, {21, 1, 29, 3}, {21, 4, 29, 6}, {21, 7, 29, 9}, {21, 10, 29, 12}, {21, 13, 29, 15}}, + {{2, 2, 10, 7}, { 2, 9, 10, 14}, {16, 1, 29, 3}, {16, 5, 29, 7}, {16, 9, 29, 11}, {16, 13, 29, 15}}, +}; + +// This is actually a 2x6x2 array, but the code reads it as a flat array. +static const u8 gUnknown_083769A8[] = { + 0, 3, 11, 1, 11, 4, 11, 7, 11, 10, 11, 13, + 0, 1, 0, 8, 11, 1, 11, 5, 11, 9, 11, 13, // Double battle +}; + +// This is actually a 2x6x2 array, but the code reads it as a flat array. +//FIXME: sub_806B908() accesses this data via gUnknown_083769A8 (directly above this). This means these +// two arrays might be a struct, rather than separate arrays. +static const u8 gUnknown_083769C0[] = { + 0, 1, 0, 8, 11, 2, 11, 5, 11, 9, 11, 12, + 0, 1, 0, 8, 11, 2, 11, 5, 11, 9, 11, 12, // Double battle +}; + +static const u8 gUnknown_083769D8[] = { + 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27, + 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37, + 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37, + 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37, + 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47, + 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47, + 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57, +}; + +static const u8 gUnknown_08376A25[] = { + 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53, + 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63, + 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73, +}; + +static const u8 gUnknown_08376A5E[] = { + 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23, + 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33, + 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43, +}; + +static const u8 gUnusedData_08376A97[] = { + 0x0C,0x0D,0x0E,0x0F,0x00,0x01,0x02,0x03,0x04,0x05,0x0F, + 0x10,0x11,0x12,0x13,0x14,0x15,0x0F,0x06,0x05,0x01,0x07, + 0x08,0x09,0x0F,0x16,0x15,0x11,0x17,0x18,0x19,0x0F,0x09, + 0x0A,0x0B,0x05,0x0C,0x0F,0x0F,0x19,0x1A,0x1B,0x15,0x1C, + 0x0F,0x0F,0x0D,0x0B,0x05,0x0C,0x0F,0x0F,0x0F,0x1D,0x1B, + 0x15,0x1C,0x0F,0x0F,0x0F,0x06,0x05,0x0B,0x05,0x0C,0x0F, + 0x0F,0x16,0x15,0x1B,0x15,0x1C,0x0F,0x0F,0x0F,0x0F,0x20, + 0x0C,0x09,0x0F,0x0F,0x0F,0x1F,0x30,0x1C,0x19,0x0F,0x0F, + 0x0F,0x25,0x0F,0x22,0x24,0x0F,0x0F,0x0F,0x35,0x41,0x32, + 0x34,0x0F,0x0F,0x0F,0x26,0x0F,0x23,0x0E,0x0F,0x0F,0x0F, + 0x36,0x43,0x33,0x1E,0x0F,0x0F,0x27,0x28,0x29,0x03,0x2A, + 0x0F,0x0F,0x37,0x38,0x39,0x13,0x3A,0x0F,0x0F,0x27,0x28, + 0x29,0x03,0x04,0x05,0x0F,0x37,0x38,0x39,0x13,0x14,0x15, + 0x0F,0x2B,0x2C,0x02,0x28,0x29,0x2D,0x21,0x3B,0x3C,0x12, + 0x38,0x39,0x3D,0x31,0x2B,0x2C,0x02,0x28,0x29,0x08,0x09, + 0x3B,0x3C,0x12,0x38,0x39,0x18,0x19,0x2E,0x2F,0x2B,0x2C, + 0x02,0x27,0x2D,0x3E,0x3F,0x3B,0x3C,0x12,0x45,0x3D, +}; + +static const TaskFunc gUnknown_08376B54[] = { + ItemUseMoveMenu_HandleMoveSelection, + ItemUseMoveMenu_HandleCancel, +}; + +#define PartyMonOAMSettings(x, y, palette, shape, size, priority, tileOffset) \ + ((shape) << 14) | (y), \ + ((size) << 14) | (x), \ + ((palette) << 12) | ((priority) << 10) | (tileOffset) + +static const u16 PartyMonOAMSettings_LeftColumn[] = { + PartyMonOAMSettings(24, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 0), + PartyMonOAMSettings(56, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 4), + PartyMonOAMSettings(24, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 8), + PartyMonOAMSettings(56, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 12), + PartyMonOAMSettings(32, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 16), + PartyMonOAMSettings(37, 32, 15, ST_OAM_H_RECTANGLE, 1, 1, 24), + PartyMonOAMSettings(69, 32, 15, ST_OAM_H_RECTANGLE, 1, 1, 28), + 0xFFFF, +}; + +static const u16 PartyMonOAMSettings_RightColumn[] = { + PartyMonOAMSettings( 24, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 0), + PartyMonOAMSettings( 56, 0, 15, ST_OAM_H_RECTANGLE, 1, 1, 4), + PartyMonOAMSettings( 24, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 8), + PartyMonOAMSettings( 56, 8, 15, ST_OAM_H_RECTANGLE, 1, 1, 12), + PartyMonOAMSettings( 32, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 16), + PartyMonOAMSettings(101, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 24), + PartyMonOAMSettings(133, 16, 15, ST_OAM_H_RECTANGLE, 1, 1, 28), + 0xFFFF, +}; + +// Controls where and how the mons' text appears in the party menu screen (nickname, HP, and level). +static struct PartyMonTextSettingsStruct const PartyMonTextSettings[4][6] = { + { // PARTY_MENU_LAYOUT_STANDARD + { 1, 4, PartyMonOAMSettings_LeftColumn}, + {12, 1, PartyMonOAMSettings_RightColumn}, + {12, 4, PartyMonOAMSettings_RightColumn}, + {12, 7, PartyMonOAMSettings_RightColumn}, + {12, 10, PartyMonOAMSettings_RightColumn}, + {12, 13, PartyMonOAMSettings_RightColumn}, + }, + { // PARTY_MENU_LAYOUT_DOUBLE_BATTLE + { 1, 2, PartyMonOAMSettings_LeftColumn}, + { 1, 9, PartyMonOAMSettings_LeftColumn}, + {12, 1, PartyMonOAMSettings_RightColumn}, + {12, 5, PartyMonOAMSettings_RightColumn}, + {12, 9, PartyMonOAMSettings_RightColumn}, + {12, 13, PartyMonOAMSettings_RightColumn}, + }, + { // PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE + { 1, 2, PartyMonOAMSettings_LeftColumn}, + { 1, 9, PartyMonOAMSettings_LeftColumn}, + {12, 2, PartyMonOAMSettings_RightColumn}, + {12, 5, PartyMonOAMSettings_RightColumn}, + {12, 9, PartyMonOAMSettings_RightColumn}, + {12, 12, PartyMonOAMSettings_RightColumn}, + }, + { // PARTY_MENU_LAYOUT_MULTI_BATTLE + { 1, 2, PartyMonOAMSettings_LeftColumn}, + {12, 2, PartyMonOAMSettings_RightColumn}, + {12, 5, PartyMonOAMSettings_RightColumn}, + { 1, 9, PartyMonOAMSettings_LeftColumn}, + {12, 9, PartyMonOAMSettings_RightColumn}, + {12, 12, PartyMonOAMSettings_RightColumn}, + }, +}; + +static const struct PartyMenuHandlersStruct PartyMenuHandlers[] = { + {HandleDefaultPartyMenu, SetupDefaultPartyMenu, 0}, // PARTY_MENU_TYPE_STANDARD + {HandleBattlePartyMenu, SetUpBattlePartyMenu, 0}, // PARTY_MENU_TYPE_BATTLE + {HandleSelectPartyMenu, SetupContestPartyMenu, 0}, // PARTY_MENU_TYPE_CONTEST + {HandleSelectPartyMenu, SetupDefaultPartyMenu, 0}, // PARTY_MENU_TYPE_IN_GAME_TRADE + {HandleBattleTowerPartyMenu, SetupBattleTowerPartyMenu, 0}, // PARTY_MENU_TYPE_BATTLE_TOWER + {HandleLinkMultiBattlePartyMenu, SetupLinkMultiBattlePartyMenu, 0xFF}, // PARTY_MENU_TYPE_LINK_MULTI_BATTLE + {HandleDaycarePartyMenu, SetupDefaultPartyMenu, 0x0F}, // PARTY_MENU_TYPE_DAYCARE + {HandleMoveTutorPartyMenu, SetupMoveTutorPartyMenu, 0}, // PARTY_MENU_TYPE_MOVE_TUTOR +}; + +static const u16 gUnknown_08376CD4[] = { + 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, +}; + +static const u16 gUnknown_08376CEC[] = { + 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F, + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, +}; + +static const u8 *const StatNames[] = { + gOtherText_HP, + gOtherText_Attack, + gOtherText_Defense, + gOtherText_SpAtk, + gOtherText_SpDef, + gOtherText_Speed, +}; + +static const u8 StatDataTypes[] = { + MON_DATA_MAX_HP, + MON_DATA_ATK, + MON_DATA_DEF, + MON_DATA_SPATK, + MON_DATA_SPDEF, + MON_DATA_SPEED, +}; + +struct Unk201C000 +{ + /*0x00*/ struct Pokemon *pokemon; + /*0x04*/ u8 unk4; + /*0x05*/ u8 unk5; + /*0x06*/ u16 unk6; + /*0x08*/ u16 unk8; + /*0x0A*/ u8 pad_0A[2]; + /*0x0C*/ s32 unkC; + /*0x10*/ TaskFunc unk10; + /*0x14*/ TaskFunc unk14; +}; + +struct Unk201FE00 +{ + u8 unkE00; // not sure if this is an array or struct, or how big it is + u8 unkE01; + u8 unkE02; +}; + +#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000)) +#define ewram1FE00 (*(struct Unk201FE00 *)(ewram + 0x1FE00)) + +extern u16 gBattleTypeFlags; +extern u8 gTileBuffer[]; +extern u8 gUnknown_0202E8F4; +extern u8 gUnknown_0202E8F6; +extern u16 gUnknown_0202E8F8; +extern u8 gPartyMenuType; +extern u8 gLastFieldPokeMenuOpened; +extern u8 gPlayerPartyCount; +extern s32 gBattleMoveDamage; +extern u16 gMoveToLearn; + +extern u16 gUnknown_08E9A300[]; +extern struct Coords8 const gUnknown_08376738[12][6]; +extern const u8 gUnknown_083769C0[]; +extern u8 gUnknown_02039460[]; +extern struct Window gUnknown_03004210; + +extern const u8 gPartyMenuMisc_Gfx[]; +extern const u8 gPartyMenuMisc_Tilemap[]; +extern const u8 gPartyMenuMisc_Pal[]; +extern const u8 gFontDefaultPalette[]; +extern const u8 gPartyMenuHpBar_Gfx[]; +extern const u8 gPartyMenuOrderText_Gfx[]; +extern const u8 gStatusGfx_Icons[]; +extern const u8 gStatusPal_Icons[]; + +#if ENGLISH +#define WINDOW_LEFT (3) +#define WINDOW_RIGHT (26) +#elif GERMAN +#define WINDOW_LEFT (0) +#define WINDOW_RIGHT (29) +#endif + + +#ifdef NONMATCHING +// Main handler for the party menu. +void CB2_PartyMenuMain(void) +{ + const struct PartyMonTextSettingsStruct *textSettings; + s32 i; + + AnimateSprites(); + BuildOamBuffer(); + + textSettings = PartyMonTextSettings[gPartyMenuType]; + for (i = 0; i < PARTY_SIZE; i++) + { + // Draw mon name, level, and hp sprites + DrawPartyMenuMonText( + textSettings[i].xOffset * 8, + textSettings[i].yOffset * 8, + textSettings[i].oamSettings, + 0, + (i << 5) | 0x200); + } + + RunTasks(); + UpdatePaletteFade(); +} +#else +__attribute__((naked)) +void CB2_PartyMenuMain(void) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + sub sp, 0x4\n\ + bl AnimateSprites\n\ + bl BuildOamBuffer\n\ + ldr r0, _0806AF2C @ =gPartyMenuType\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 1\n\ + adds r0, r1\n\ + lsls r0, 4\n\ + ldr r1, _0806AF30 @ =PartyMonTextSettings\n\ + adds r5, r0, r1\n\ + movs r6, 0\n\ +_0806AEF8:\n\ + ldrb r0, [r5]\n\ + lsls r0, 3\n\ + ldrb r1, [r5, 0x1]\n\ + lsls r1, 3\n\ + ldr r2, [r5, 0x4]\n\ + lsls r3, r6, 5\n\ + movs r4, 0x80\n\ + lsls r4, 2\n\ + orrs r3, r4\n\ + str r3, [sp]\n\ + movs r3, 0\n\ + bl DrawPartyMenuMonText\n\ + adds r5, 0x8\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _0806AEF8\n\ + bl RunTasks\n\ + bl UpdatePaletteFade\n\ + add sp, 0x4\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806AF2C: .4byte gPartyMenuType\n\ +_0806AF30: .4byte PartyMonTextSettings\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void VBlankCB_PartyMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + ReDrawPartyMonBackgrounds(); +} + +void SetPartyMenuSettings(u8 menuType, u8 battleTypeFlags, TaskFunc menuHandlerFunc, u8 textId) +{ + if (battleTypeFlags != 0xFF) + { + gBattleTypeFlags = battleTypeFlags; + } + + ewram1B000.menuType = menuType; + ewram1B000.menuHandler = menuHandlerFunc; + ewram1B000.promptTextId = textId; +} + +void DoOpenPartyMenu(u8 menuType, u8 battleFlags, TaskFunc menuHandlerFunc, u8 textId) +{ + SetPartyMenuSettings(menuType, battleFlags, menuHandlerFunc, textId); + SetMainCallback2(CB2_InitPartyMenu); +} + +void OpenPartyMenu(u8 menuType, u8 battleFlags) +{ + DoOpenPartyMenu(menuType, battleFlags, PartyMenuHandlers[menuType].menuHandler, PartyMenuHandlers[menuType].initialPromptTextId); +} + +// This is a Task which is repeatedly called until it eventually returns TRUE when finished. +bool8 SetupDefaultPartyMenu(void) +{ + switch (ewram1B000_alt.setupState) + { + case 0: + if (ewram1B000_alt.monIndex < gPlayerPartyCount) { + TryCreatePartyMenuMonIcon(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex, &gPlayerParty[ewram1B000_alt.monIndex]); + ewram1B000_alt.monIndex++; + } else { + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState++; + } + + break; + case 1: + LoadHeldItemIconGraphics(); + ewram1B000_alt.setupState++; + break; + case 2: + CreateHeldItemIcons_806DC34(ewram1B000_alt.menuHandlerTaskId); + ewram1B000_alt.setupState++; + break; + case 3: + if (sub_806BD58(ewram1B000_alt.menuHandlerTaskId, ewram1B000_alt.monIndex) != 1) + { + ewram1B000_alt.monIndex++; + } + else + { + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState++; + } + + break; + case 4: + PartyMenuPrintMonsLevelOrStatus(); + ewram1B000_alt.setupState++; + break; + case 5: + PrintPartyMenuMonNicknames(); + ewram1B000_alt.setupState++; + break; + case 6: + PartyMenuTryPrintMonsHP(); + ewram1B000_alt.setupState++; + break; + case 7: + nullsub_13(); + ewram1B000_alt.setupState++; + break; + case 8: + PartyMenuDrawHPBars(); + ewram1B000_alt.setupState++; + break; + case 9: + if (DrawPartyMonBackground(ewram1B000_alt.monIndex) == 1) + { + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.setupState = 0; + return TRUE; + } + else + { + ewram1B000_alt.monIndex++; + break; + } + } + + return FALSE; +} + +bool8 InitPartyMenu(void) +{ + u8 *addr; + u32 size; + + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + addr = (u8 *)VRAM; + size = VRAM_SIZE; + while (1) + { + DmaFill16(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if (size <= 0x1000) + { + DmaFill16(3, 0, addr, size); + break; + } + } + + DmaClear32(3, OAM, OAM_SIZE); + DmaClear16(3, PLTT, PLTT_SIZE); + + gPaletteFade.bufferTransferDisabled = 1; + gMain.state++; + break; + case 1: + remove_some_task(); + gMain.state++; + break; + case 2: + sub_806B4A8(); + ewram1B000_alt.setupState = 0; + ewram1B000_alt.monIndex = 0; + ewram1B000_alt.unk268 = 0; + gMain.state++; + break; + case 3: + ResetSpriteData(); + gMain.state++; + break; + case 4: + if (ewram1B000.menuType != PARTY_MENU_TYPE_BATTLE && ewram1B000.menuType != PARTY_MENU_TYPE_LINK_MULTI_BATTLE) + { + ResetTasks(); + } + + gMain.state++; + break; + case 5: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 6: + ewram1B000.menuHandlerTaskId = CreateTask(ewram1B000.menuHandler, 0); + gMain.state++; + break; + case 7: + SetUpWindowConfig(&gWindowConfig_81E6C90); + gMain.state++; + break; + case 8: + InitWindowFromConfig(&gUnknown_03004210, &gWindowConfig_81E6C90); + MultistepInitWindowTileData(&gUnknown_03004210, 1); + gMain.state++; + break; + case 9: + if (MultistepLoadFont()) + { + ewram1B000_alt.setupState = 1; + gMain.state++; + } + break; + case 10: + if (LoadPartyMenuGraphics(ewram1B000_alt.setupState) == TRUE) + { + ewram1B000_alt.setupState = 0; + gMain.state++; + } + else + { + ewram1B000_alt.setupState++; + } + break; + case 11: + sub_809D51C(); + gMain.state++; + break; + case 12: + if (PartyMenuHandlers[ewram1B000.menuType].menuSetup() == TRUE) + { + gMain.state++; + } + break; + case 13: + MultistepInitMenuWindowBegin(&gWindowConfig_81E6CC8); + gMain.state++; + break; + case 14: + if (MultistepInitMenuWindowContinue()) + { + gMain.state++; + } + break; + case 15: + PrintPartyMenuPromptText(ewram1B000.promptTextId, 0); + gMain.state++; + break; + case 16: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + gMain.state++; + break; + case 17: + SetVBlankCallback(VBlankCB_PartyMenu); + return TRUE; + } + + return FALSE; +} + +void CB2_InitPartyMenu(void) +{ + while (InitPartyMenu() != TRUE) + { + if (sub_80F9344() == TRUE) + { + return; + } + } + + if (ewram1B000.menuType != PARTY_MENU_TYPE_LINK_MULTI_BATTLE) + { + ChangePartyMenuSelection(ewram1B000.menuHandlerTaskId, 0); + } + + SetMainCallback2(CB2_PartyMenuMain); +} + +void sub_806B4A8(void) +{ + SetHBlankCallback(NULL); + REG_DISPCNT = 8000; + REG_BG0CNT = 0x1E05; + REG_BG1CNT = 0x703; + REG_BG2CNT = 0xF08; + REG_BG3CNT = 0x602; + REG_BLDCNT = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_BG3VOFS = -1; +} + +bool8 IsLinkDoubleBattle() +{ + if ((gBattleTypeFlags & BATTLE_TYPE_LINK_DOUBLE) == BATTLE_TYPE_LINK_DOUBLE) + return TRUE; + else + return FALSE; +} + +// Draws the blue rectangular regions surrounding each of the party mons. +void ReDrawPartyMonBackgrounds(void) +{ + if (ewram1B000.unk261) + { + const void *src = gBGTilemapBuffers[2]; + void *dest = (void *)(BG_VRAM + 0x3000); + DmaCopy16(3, src, dest, 0x800); + + if (ewram1B000.unk261 == 2) + { + ewram1B000.unk261 = 0; + } + } +} + +bool8 DrawPartyMonBackground(u8 monIndex) +{ + const u8 *arr; + + if (!IsDoubleBattle()) + gPartyMenuType = PARTY_MENU_LAYOUT_STANDARD; + else if (IsLinkDoubleBattle() == TRUE) + gPartyMenuType = PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE; + else + gPartyMenuType = PARTY_MENU_LAYOUT_DOUBLE_BATTLE; + + arr = &gUnknown_083769A8[gPartyMenuType * 12]; + + switch (monIndex) + { + case 0: + memset(&gBGTilemapBuffers[2], 0, 0x800); + break; + case 1: + sub_806B9A4(arr[0], arr[1], 3); + sub_806BF24(&arr[0], 0, 3, 0); + break; + case 2: + if (!IsDoubleBattle()) { + if (gPlayerPartyCount > 1) { + sub_806BA94(arr[2], arr[3], 0, 3); + sub_806BF24(&arr[2], 1, 3, 0); + } else { + sub_806BA94(arr[2], arr[3], 1, 3); + } + } else if (IsLinkDoubleBattle() == TRUE) { + sub_806B9A4(arr[2], arr[3], 4); + sub_806BF24(&arr[2], 1, 4, 0); + } else { + sub_806B9A4(arr[2], arr[3], 3); + sub_806BF24(&arr[2], 1, 3, 0); + } + + break; + case 3: + if (!IsDoubleBattle()) { + if (gPlayerPartyCount > 2) { + sub_806BA94(arr[4], arr[5], 0, 3); + sub_806BF24(&arr[4], 2, 3, 0); + } else { + sub_806BA94(arr[4], arr[5], 1, 3); + } + } else if (IsLinkDoubleBattle() == TRUE) { + if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES)) { + sub_806BA94(arr[4], arr[5], 0, 3); + sub_806BF24(&arr[4], 2, 3, 0); + } else { + sub_806BA94(arr[4], arr[5], 1, 3); + } + } else if (gPlayerPartyCount > 2) { + sub_806BA94(arr[4], arr[5], 0, 3); + sub_806BF24(&arr[4], 2, 3, 0); + } else { + sub_806BA94(arr[4], arr[5], 1, 3); + } + + break; + case 4: + if (!IsDoubleBattle()) { + if (gPlayerPartyCount > 3) { + sub_806BA94(arr[6], arr[7], 0, 3); + sub_806BF24(&arr[6], 3, 3, 0); + } else { + sub_806BA94(arr[6], arr[7], 1, 3); + } + } else if (IsLinkDoubleBattle() == TRUE) { + if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES)) { + sub_806BA94(arr[6], arr[7], 0, 3); + sub_806BF24(&arr[6], 3, 3, 0); + } else { + sub_806BA94(arr[6], arr[7], 1, 3); + } + } else if (gPlayerPartyCount > 3) { + sub_806BA94(arr[6], arr[7], 0, 3); + sub_806BF24(&arr[6], 3, 3, 0); + } else { + sub_806BA94(arr[6], arr[7], 1, 3); + } + + break; + case 5: + if (!IsDoubleBattle()) { + if (gPlayerPartyCount > 4) { + sub_806BA94(arr[8], arr[9], 0, 3); + sub_806BF24(&arr[8], 4, 3, 0); + } else { + sub_806BA94(arr[8], arr[9], 1, 3); + } + } else if (IsLinkDoubleBattle() == TRUE) { + if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES)) { + sub_806BA94(arr[8], arr[9], 0, 4); + sub_806BF24(&arr[8], 4, 4, 0); + } else { + sub_806BA94(arr[8], arr[9], 1, 4); + } + } else if (gPlayerPartyCount > 4) { + sub_806BA94(arr[8], arr[9], 0, 3); + sub_806BF24(&arr[8], 4, 3, 0); + } else { + sub_806BA94(arr[8], arr[9], 1, 3); + } + + break; + case 6: + if (!IsDoubleBattle()) { + if (gPlayerPartyCount > 5) { + sub_806BA94(arr[10], arr[11], 0, 3); + sub_806BF24(&arr[10], 5, 3, 0); + } else { + sub_806BA94(arr[10], arr[11], 1, 3); + } + } else if (IsLinkDoubleBattle() == TRUE) { + if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES)) { + sub_806BA94(arr[10], arr[11], 0, 4); + sub_806BF24(&arr[10], 5, 4, 0); + } else { + sub_806BA94(arr[10], arr[11], 1, 4); + } + } else if (gPlayerPartyCount > 5) { + sub_806BA94(arr[10], arr[11], 0, 3); + sub_806BF24(&arr[10], 5, 3, 0); + } else { + sub_806BA94(arr[10], arr[11], 1, 3); + } + + break; + case 7: + if (ewram1B000.menuType == PARTY_MENU_TYPE_BATTLE_TOWER) { + sub_806BB9C(1); + } + + sub_806BBEC(1); + break; + case 8: + ewram1B000.unk261 = 2; + return TRUE; + } + + return FALSE; +} + +#ifdef NONMATCHING +void sub_806B908(void) +{ + memset(&gBGTilemapBuffers[2], 0, 0x800); + gPartyMenuType = PARTY_MENU_LAYOUT_MULTI_BATTLE; + sub_806B9A4(gUnknown_083769C0[12], gUnknown_083769C0[13], 3); + + if (GetMonData(&gPlayerParty[1], MON_DATA_SPECIES)) + sub_806BA94(gUnknown_083769C0[16], gUnknown_083769C0[17], 0, 3); + else + sub_806BA94(gUnknown_083769C0[16], gUnknown_083769C0[17], 1, 3); + + if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES)) + sub_806BA94(gUnknown_083769C0[18], gUnknown_083769C0[19], 0, 3); + else + sub_806BA94(gUnknown_083769C0[18], gUnknown_083769C0[19], 1, 3); + + ewram1B000.unk261 = 2; +} +#else +__attribute__((naked)) +void sub_806B908(void) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + ldr r0, _0806B948 @ =gBGTilemapBuffers + 0x1000\n\ + movs r2, 0x80\n\ + lsls r2, 4\n\ + movs r1, 0\n\ + bl memset\n\ + ldr r1, _0806B94C @ =gPartyMenuType\n\ + movs r0, 0x3\n\ + strb r0, [r1]\n\ + ldr r0, _0806B950 @ =gUnknown_083769A8\n\ + adds r4, r0, 0\n\ + adds r4, 0x24\n\ + ldr r5, _0806B954 @ =gPlayerParty + 1 * 0x64\n\ + ldrb r0, [r4]\n\ + ldrb r1, [r4, 0x1]\n\ + movs r2, 0x3\n\ + bl sub_806B9A4\n\ + adds r0, r5, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _0806B958\n\ + ldrb r0, [r4, 0x4]\n\ + ldrb r1, [r4, 0x5]\n\ + movs r2, 0\n\ + movs r3, 0x3\n\ + bl sub_806BA94\n\ + b _0806B964\n\ + .align 2, 0\n\ +_0806B948: .4byte gBGTilemapBuffers + 0x1000\n\ +_0806B94C: .4byte gPartyMenuType\n\ +_0806B950: .4byte gUnknown_083769A8\n\ +_0806B954: .4byte gPlayerParty + 1 * 0x64\n\ +_0806B958:\n\ + ldrb r0, [r4, 0x4]\n\ + ldrb r1, [r4, 0x5]\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl sub_806BA94\n\ +_0806B964:\n\ + adds r0, r5, 0\n\ + adds r0, 0x64\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _0806B980\n\ + ldrb r0, [r4, 0x6]\n\ + ldrb r1, [r4, 0x7]\n\ + movs r2, 0\n\ + movs r3, 0x3\n\ + bl sub_806BA94\n\ + b _0806B98C\n\ +_0806B980:\n\ + ldrb r0, [r4, 0x6]\n\ + ldrb r1, [r4, 0x7]\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl sub_806BA94\n\ +_0806B98C:\n\ + ldr r0, _0806B99C @ =0x0201b000\n\ + ldr r1, _0806B9A0 @ =0x00000261\n\ + adds r0, r1\n\ + movs r1, 0x2\n\ + strb r1, [r0]\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806B99C: .4byte 0x0201b000\n\ +_0806B9A0: .4byte 0x00000261\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void sub_806B9A4(s16 a, u16 b, u8 c) +{ + u8 i; + u16 var1 = b * 32; + + for (i = 0; i <= 6; i++) + { + u8 j = 0; + + if (a <= 0x1F) + { + for (; j <= 10 && a + j <= 0x1F; j++) + { + if (a + j >= 0) + { + gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = (c << 12) | gUnknown_083769D8[i * 11 + j]; + } + } + } + } +} + +void sub_806BA34(s16 a, u16 b) +{ + u8 i; + u16 var1 = b * 32; + + for (i = 0; i <= 6; i++) + { + u8 j = 0; + + if (a <= 0x1F) + { + for (; j <= 10 && a + j <= 0x1F; j++) + { + if (a + j >= 0) + { + gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = 0; + } + } + } + } +} + +void sub_806BA94(s16 a, u16 b, u8 c, u8 d) +{ + u8 i; + const u8 *arr; + u16 var1; + + arr = gUnknown_08376A5E; + if (c == 0) + { + arr = gUnknown_08376A25; + } + + var1 = b * 32; + + + for (i = 0; i < 3; i++) + { + u8 j = 0; + + if (a <= 0x1F) + { + while (j <= 0x12 && a + j <= 0x1F) + { + if (a + j >= 0) + { + gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = (d << 12) | arr[i * 19 + j]; + } + + j++; + } + } + } +} + +void sub_806BB3C(s16 a, u16 b) +{ + u8 i; + u16 var1 = (b * 32); + + for (i = 0; i < 3; i++) + { + u8 j = 0; + + if (a <= 0x1F) + { + for (; j <= 0x12 && a + j <= 0x1F; j++) + { + if (a + j >= 0) + { + gBGTilemapBuffers[2][var1 + (i * 32) + (a + j)] = 0; + } + } + } + } +} + +void sub_806BB9C(u8 a) +{ + u8 i; + u16 *vramPtr; + const u16 arr[12]; + + memcpy(&arr, gUnknown_08376CD4, sizeof gUnknown_08376CD4); + + vramPtr = (u16 *)(BG_VRAM + 0x3C30); + for (i = 0; i < PARTY_SIZE; i++) + { + vramPtr[i] = arr[i] + (a << 12); + vramPtr[i + 0x20] = arr[i + PARTY_SIZE] + (a << 12); + } +} + +void sub_806BBEC(u8 a) +{ + u8 i; + u16 *vramPtr; + const u16 arr[12]; + + memcpy(&arr, gUnknown_08376CEC, sizeof gUnknown_08376CEC); + + vramPtr = (u16 *)(BG_VRAM + 0x3CB0); + for (i = 0; i < PARTY_SIZE; i++) + { + vramPtr[i] = arr[i] + (a << 12); + vramPtr[i + 0x20] = arr[i + PARTY_SIZE] + (a << 12); + } +} + +#ifdef NONMATCHING +// The original THUMB is preserving r8 for seemingly no reason. Unsure how to match. +void sub_806BC3C(u8 monIndex, u8 b) +{ + u16 *vramPtr = gUnknown_08376918[IsDoubleBattle()][monIndex]; + u8 i; + u16 var1; + + for (i = 0, var1 = (b / 7) * 32; i <= PARTY_SIZE; i++) + { + u32 offset = i + var1; + vramPtr[i] = gUnknown_08E9A300[offset] + 0x10C; + vramPtr[i + 0x20] = gUnknown_08E9A300[offset + 0x20] + 0x10C; + } +} +#else +__attribute__((naked)) +void sub_806BC3C(u8 monIndex, u8 b) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + adds r4, r0, 0\n\ + adds r5, r1, 0\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + lsls r5, 24\n\ + lsrs r5, 24\n\ + ldr r6, _0806BCB0 @ =gUnknown_08376918\n\ + bl IsDoubleBattle\n\ + lsls r4, 2\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 1\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r4, r1\n\ + adds r4, r6\n\ + ldr r7, [r4]\n\ + movs r6, 0\n\ + adds r0, r5, 0\n\ + movs r1, 0x7\n\ + bl __udivsi3\n\ + lsls r0, 24\n\ + lsrs r4, r0, 19\n\ + ldr r5, _0806BCB4 @ =gUnknown_08E9A300\n\ + movs r0, 0x86\n\ + lsls r0, 1\n\ + adds r3, r0, 0\n\ +_0806BC7C:\n\ + adds r1, r6, r4\n\ + lsls r2, r6, 1\n\ + adds r2, r7\n\ + lsls r0, r1, 1\n\ + adds r0, r5\n\ + ldrh r0, [r0]\n\ + adds r0, r3, r0\n\ + strh r0, [r2]\n\ + adds r2, 0x40\n\ + adds r1, 0x20\n\ + lsls r1, 1\n\ + adds r1, r5\n\ + ldrh r1, [r1]\n\ + adds r0, r3, r1\n\ + strh r0, [r2]\n\ + adds r0, r6, 0x1\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + cmp r6, 0x6\n\ + bls _0806BC7C\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806BCB0: .4byte gUnknown_08376918\n\ +_0806BCB4: .4byte gUnknown_08E9A300\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void unref_sub_806BCB8(u8 a) +{ + u8 i; + + for (i = 0; i < gPlayerPartyCount; i++) + { + sub_806BC3C(i, a); + } +} + +// This is ultimately unreferenced, since it's caller is unreferenced. +void sub_806BCE8() +{ + u8 i; + + for (i = 0; i < gPlayerPartyCount; i++) + { + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + { + u8 gender = GetMonGender(&gPlayerParty[i]); + switch (gender) + { + case MON_MALE: + sub_806BC3C(i, 0x54); + break; + case MON_FEMALE: + sub_806BC3C(i, 0x62); + break; + default: + sub_806BC3C(i, 0x46); + break; + } + } + else + { + sub_806BC3C(i, 0x46); + } + } +} + +u8 sub_806BD58(u8 taskId, u8 b) +{ + u8 spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + sub_806CA18(taskId, spriteId); + return 1; +} + +#ifdef NONMATCHING +u16 HandleDefaultPartyMenuInput(u8 taskId) +{ + s8 menuDirectionPressed = 0x0; + + switch (gMain.newAndRepeatedKeys) + { + case DPAD_UP: + menuDirectionPressed = -1; + break; + case DPAD_DOWN: + menuDirectionPressed = 1; + break; + case DPAD_LEFT: + menuDirectionPressed = -2; + break; + case DPAD_RIGHT: + menuDirectionPressed = 2; + break; + } + + if (menuDirectionPressed == 0) + { + u8 var1 = sub_80F92BC(); + switch (var1) + { + case 1: + menuDirectionPressed = -1; + break; + case 2: + menuDirectionPressed = 1; + break; + } + + if (menuDirectionPressed == 0) + { + if ((gMain.newKeys & A_BUTTON) && gSprites[sub_806CA00(taskId)].data0 == 7) + { + // Selected "CANCEL" + return B_BUTTON; + } + else + { + return gMain.newKeys & (A_BUTTON | B_BUTTON); + } + } + } + + ChangePartyMenuSelection(taskId, menuDirectionPressed); + return gMain.newAndRepeatedKeys; +} +#else +__attribute__((naked)) +u16 HandleDefaultPartyMenuInput(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + movs r4, 0\n\ + ldr r0, _0806BD9C @ =gMain\n\ + ldrh r0, [r0, 0x30]\n\ + cmp r0, 0x20\n\ + beq _0806BDB2\n\ + cmp r0, 0x20\n\ + bgt _0806BDA0\n\ + cmp r0, 0x10\n\ + beq _0806BDB6\n\ + b _0806BDB8\n\ + .align 2, 0\n\ +_0806BD9C: .4byte gMain\n\ +_0806BDA0:\n\ + cmp r0, 0x40\n\ + beq _0806BDAA\n\ + cmp r0, 0x80\n\ + beq _0806BDAE\n\ + b _0806BDB8\n\ +_0806BDAA:\n\ + movs r4, 0xFF\n\ + b _0806BDB8\n\ +_0806BDAE:\n\ + movs r4, 0x1\n\ + b _0806BDB8\n\ +_0806BDB2:\n\ + movs r4, 0xFE\n\ + b _0806BDB8\n\ +_0806BDB6:\n\ + movs r4, 0x2\n\ +_0806BDB8:\n\ + lsls r0, r4, 24\n\ + cmp r0, 0\n\ + bne _0806BDDC\n\ + bl sub_80F92BC\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + beq _0806BDD0\n\ + cmp r0, 0x2\n\ + beq _0806BDD4\n\ + b _0806BDD6\n\ +_0806BDD0:\n\ + movs r4, 0xFF\n\ + b _0806BDD6\n\ +_0806BDD4:\n\ + movs r4, 0x1\n\ +_0806BDD6:\n\ + lsls r0, r4, 24\n\ + cmp r0, 0\n\ + beq _0806BDF0\n\ +_0806BDDC:\n\ + asrs r1, r0, 24\n\ + adds r0, r5, 0\n\ + bl ChangePartyMenuSelection\n\ + ldr r0, _0806BDEC @ =gMain\n\ + ldrh r0, [r0, 0x30]\n\ + b _0806BE2C\n\ + .align 2, 0\n\ +_0806BDEC: .4byte gMain\n\ +_0806BDF0:\n\ + ldr r0, _0806BE1C @ =gMain\n\ + ldrh r1, [r0, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0806BE24\n\ + ldr r4, _0806BE20 @ =gSprites\n\ + adds r0, r5, 0\n\ + bl sub_806CA00\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 4\n\ + adds r1, r0\n\ + lsls r1, 2\n\ + adds r1, r4\n\ + movs r2, 0x2E\n\ + ldrsh r0, [r1, r2]\n\ + cmp r0, 0x7\n\ + bne _0806BE24\n\ + movs r0, 0x2\n\ + b _0806BE2C\n\ + .align 2, 0\n\ +_0806BE1C: .4byte gMain\n\ +_0806BE20: .4byte gSprites\n\ +_0806BE24:\n\ + ldr r0, _0806BE34 @ =gMain\n\ + ldrh r1, [r0, 0x2E]\n\ + movs r0, 0x3\n\ + ands r0, r1\n\ +_0806BE2C:\n\ + pop {r4,r5}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ +_0806BE34: .4byte gMain\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +u16 HandleBattleTowerPartyMenuInput(u8 taskId) +{ + u8 menuDirectionPressed = 0x0; + + switch (gMain.newAndRepeatedKeys) + { + case DPAD_UP: + menuDirectionPressed = 0xFF; + break; + case DPAD_DOWN: + menuDirectionPressed = 0x1; + break; + case DPAD_LEFT: + menuDirectionPressed = 0xFE; + break; + case DPAD_RIGHT: + menuDirectionPressed = 0x2; + break; + } + + if (menuDirectionPressed == 0) + { + u8 var1 = sub_80F92BC(); + switch (var1) + { + case 1: + menuDirectionPressed = 0xFF; + break; + case 2: + menuDirectionPressed = 0x1; + break; + } + } + + if (gMain.newKeys & START_BUTTON) + { + SelectBattleTowerOKButton(taskId); + return START_BUTTON; + } + else + { + s8 signedMenuDirection = menuDirectionPressed; + if (signedMenuDirection) + { + ChangeBattleTowerPartyMenuSelection(taskId, signedMenuDirection); + return gMain.newAndRepeatedKeys; + } + else + { + if (gMain.newKeys & A_BUTTON) + { + if (gSprites[sub_806CA00(taskId)].data0 == 7) + { + return B_BUTTON; + } + } + } + } + + return gMain.newKeys & (A_BUTTON | B_BUTTON); +} + +void task_pc_turn_off(const u8 *a, u8 b) +{ + if (a[0]) + sub_806BA94(a[0], a[1], 0, b); + else + sub_806B9A4(a[0], a[1], b); +} + +void sub_806BF24(const u8 *a, u8 monIndex, u8 c, u8 d) +{ + if (GetMonData(&gPlayerParty[monIndex], MON_DATA_SPECIES) && GetMonData(&gPlayerParty[monIndex], MON_DATA_HP) == 0) + c = PARTY_SIZE - 1; + + if (d == 1) + c += 4; + + task_pc_turn_off(a, c); +} + +void ChangePartyMenuSelection(u8 taskId, s8 directionPressed) +{ + bool8 isLinkDoubleBattle; + u8 spriteId = sub_806CA00(taskId); + u8 menuIndex = gSprites[spriteId].data0; + + UpdateMonIconFrame_806DA44(taskId, menuIndex, 0); + + isLinkDoubleBattle = IsLinkDoubleBattle(); + if (isLinkDoubleBattle == 1) + { + if (menuIndex == 0 || menuIndex == 2 || menuIndex == 3) + sub_806BF24(&gUnknown_083769C0[menuIndex * 2], menuIndex, 3, 0); + if (menuIndex == 1 || menuIndex == 4 || menuIndex == 5) + sub_806BF24(&gUnknown_083769C0[menuIndex * 2], menuIndex, 4, 0); + if (menuIndex == 7) + sub_806BBEC(1); + + ChangeLinkDoubleBattlePartyMenuSelection(spriteId, menuIndex, directionPressed); + + if (gSprites[spriteId].data0 == 0 || gSprites[spriteId].data0 == 2 || gSprites[spriteId].data0 == 3) + sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 3, 1); + if (gSprites[spriteId].data0 == 1 || gSprites[spriteId].data0 == 4 || gSprites[spriteId].data0 == 5) + sub_806BF24(&gUnknown_083769C0[gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 4, 1); + if (gSprites[spriteId].data0 == 7) + sub_806BBEC(2); + + ewram1B000.unk261 = 2; + + gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data0].x; + gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE][gSprites[spriteId].data0].y; + } + else + { + u8 isDoubleBattle = IsDoubleBattle(); + + if (menuIndex < PARTY_SIZE) + { + sub_806BF24(&gUnknown_083769A8[isDoubleBattle * 12 + menuIndex * 2], menuIndex, 3, 0); + } + else + { + sub_806BBEC(1); + } + + if (!isDoubleBattle) + { + ChangeDefaultPartyMenuSelection(spriteId, menuIndex, directionPressed); + } + else + { + ChangeDoubleBattlePartyMenuSelection(spriteId, menuIndex, directionPressed); + } + + if (gSprites[spriteId].data0 < PARTY_SIZE) + { + sub_806BF24(&gUnknown_083769A8[isDoubleBattle * 12 + gSprites[spriteId].data0 * 2], gSprites[spriteId].data0, 3, 1); + } + else + { + sub_806BBEC(2); + } + + ewram1B000.unk261 = 2; + + gSprites[spriteId].pos1.x = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data0].x; + gSprites[spriteId].pos1.y = gUnknown_083768B8[isDoubleBattle][gSprites[spriteId].data0].y; + } + + UpdateMonIconFrame_806DA44(taskId, gSprites[spriteId].data0, 1); + + if (menuIndex != gSprites[spriteId].data0) + { + PlaySE(5); + } +} + +void ChangeDefaultPartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed) +{ + u8 nextIndex; + s8 menuMovement = directionPressed + 2; + + switch (menuMovement) + { + case 2: // no movement + gSprites[spriteId].data1 = 0; + break; + case 1: // moving up + if (menuIndex == 0) { + gSprites[spriteId].data0 = 7; + } else if (menuIndex == 7) { + gSprites[spriteId].data0 = gPlayerPartyCount - 1; + } else { + s8 diff = directionPressed; + gSprites[spriteId].data0 += diff; + } + + gSprites[spriteId].data1 = 0; + break; + case 3: // moving down + if (menuIndex == gPlayerPartyCount - 1) { + gSprites[spriteId].data0 = 7; + } else if (menuIndex == 7) { + gSprites[spriteId].data0 = 0; + } else { + s8 diff = directionPressed; + gSprites[spriteId].data0 += diff; + } + + gSprites[spriteId].data1 = 0; + break; + case 4: // moving right + if (gPlayerPartyCount > 1 && menuIndex == 0) + { + if (gSprites[spriteId].data1 == 0) + gSprites[spriteId].data1 = 1; + + gSprites[spriteId].data0 = gSprites[spriteId].data1; + } + break; + case 0: // moving left + // Only move the selection to the left side if one of the mons in the right-hand column are currently selected + nextIndex = menuIndex - 1; + if (nextIndex <= 4) { + gSprites[spriteId].data0 = 0; + gSprites[spriteId].data1 = menuIndex; + } + break; + } +} + +void ChangeDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed) +{ + u8 var1; + s8 menuMovement = directionPressed + 2; + + switch(menuMovement) + { + case 2: // no movement + gSprites[spriteId].data1 = 0; + break; + case 3: // moving down + if (menuIndex == 7) { + gSprites[spriteId].data0 = 0; + } else if (menuIndex == gPlayerPartyCount - 1) { + gSprites[spriteId].data0 = 7; + } else { + s8 diff = directionPressed; + gSprites[spriteId].data0 += diff; + } + + gSprites[spriteId].data1 = 0; + break; + case 1: // moving up + if (menuIndex == 0) { + gSprites[spriteId].data0 = 7; + } else if (menuIndex == 7) { + gSprites[spriteId].data0 = gPlayerPartyCount - 1; + } else { + s8 diff = directionPressed; + gSprites[spriteId].data0 += diff; + } + + gSprites[spriteId].data1 = 0; + break; + case 4: // moving right + if (menuIndex == 0) { + if (gPlayerPartyCount > 2) { + u16 var1 = gSprites[spriteId].data1 - 2; + if (var1 > 1) + gSprites[spriteId].data0 = 2; + else + gSprites[spriteId].data0 = gSprites[spriteId].data1; + } + } + else if (menuIndex == 1) { + if (gPlayerPartyCount > 4) { + u16 var1 = gSprites[spriteId].data1 - 4; + if (var1 <= 1) + gSprites[spriteId].data0 = gSprites[spriteId].data1; + else + gSprites[spriteId].data0 = 4; + } + } + break; + case 0: // moving left + var1 = menuIndex - 2; + if (var1 <= 1) { + gSprites[spriteId].data0 = 0; + gSprites[spriteId].data1 = menuIndex; + } else { + u8 var2 = menuIndex - 4; + if (var2 <= 1) { + gSprites[spriteId].data0 = 1; + gSprites[spriteId].data1 = menuIndex; + } + } + break; + } +} + +#ifdef NONMATCHING +void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed) +{ + s8 menuMovement; + u16 var1; + u8 var2; + + menuMovement = directionPressed + 2; + switch (menuMovement) + { + case 2: // no movement + gSprites[spriteId].data1 = 0; + break; + case 3: // moving down + if (menuIndex == 7) { + gSprites[spriteId].data0 = 0; + } else { + while (menuIndex != PARTY_SIZE - 1) { + menuIndex++; + if (GetMonData(&gPlayerParty[menuIndex], MON_DATA_SPECIES)) + { + gSprites[spriteId].data0 = menuIndex; + gSprites[spriteId].data1 = 0; + return; + } + } + + gSprites[spriteId].data0 = 7; + } + + gSprites[spriteId].data1 = 0; + break; + case 1: // moving up + while (menuIndex != 0) { + menuIndex--; + if (menuIndex != PARTY_SIZE && GetMonData(gPlayerParty[menuIndex], MON_DATA_SPECIES)) + { + gSprites[spriteId].data0 = menuIndex; + gSprites[spriteId].data1 = 0; + return; + } + } + + gSprites[spriteId].data0 = 7; + gSprites[spriteId].data1 = 0; + break; + case 4: // moving right + if (menuIndex == 0) { + var1 = gSprites[spriteId].data1 - 2; + if (var1 > 1) { + if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES)) { + gSprites[spriteId].data0 = 2; + } else if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES)) { + gSprites[spriteId].data0 = 3; + } + } else { + gSprites[spriteId].data0 = 1; + } + } else if (menuIndex == 1) { + var1 = gSprites[spriteId].data1 - 4; + if (var1 <= 1) { + gSprites[spriteId].data0 = gSprites[spriteId].data1; + } else { + if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES)) { + gSprites[spriteId].data0 = 4; + } else if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES)) { + gSprites[spriteId].data0 = 5; + } + } + } + break; + case 0: // moving left + var2 = menuIndex - 2; + if (var2 <= 1) { + gSprites[spriteId].data0 = 0; + gSprites[spriteId].data1 = menuIndex; + } else { + var2 = menuIndex - 4; + if (var2 <= 1) { + gSprites[spriteId].data0 = 1; + gSprites[spriteId].data1 = menuIndex; + } + } + + break; + } +} + +#else +__attribute__((naked)) +void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + lsls r1, 24\n\ + lsrs r4, r1, 24\n\ + lsls r2, 24\n\ + movs r0, 0x80\n\ + lsls r0, 18\n\ + adds r2, r0\n\ + asrs r0, r2, 24\n\ + cmp r0, 0x4\n\ + bls _0806C4AA\n\ + b _0806C64E\n\ +_0806C4AA:\n\ + lsls r0, 2\n\ + ldr r1, _0806C4B4 @ =_0806C4B8\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .align 2, 0\n\ +_0806C4B4: .4byte _0806C4B8\n\ + .align 2, 0\n\ +_0806C4B8:\n\ + .4byte _0806C618\n\ + .4byte _0806C524\n\ + .4byte _0806C4CC\n\ + .4byte _0806C4E0\n\ + .4byte _0806C57C\n\ +_0806C4CC:\n\ + ldr r0, _0806C4DC @ =gSprites\n\ + lsls r1, r5, 4\n\ + adds r1, r5\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + movs r0, 0\n\ + strh r0, [r1, 0x30]\n\ + b _0806C64E\n\ + .align 2, 0\n\ +_0806C4DC: .4byte gSprites\n\ +_0806C4E0:\n\ + cmp r4, 0x7\n\ + bne _0806C4FC\n\ + ldr r2, _0806C4F8 @ =gSprites\n\ + lsls r3, r5, 4\n\ + adds r0, r3, r5\n\ + lsls r0, 2\n\ + adds r0, r2\n\ + movs r1, 0\n\ + strh r1, [r0, 0x2E]\n\ + adds r1, r2, 0\n\ + adds r6, r3, 0\n\ + b _0806C566\n\ + .align 2, 0\n\ +_0806C4F8: .4byte gSprites\n\ +_0806C4FC:\n\ + lsls r6, r5, 4\n\ + b _0806C518\n\ +_0806C500:\n\ + adds r0, r4, 0x1\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + movs r0, 0x64\n\ + muls r0, r4\n\ + ldr r1, _0806C520 @ =gPlayerParty\n\ + adds r0, r1\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + bne _0806C528\n\ +_0806C518:\n\ + cmp r4, 0x5\n\ + bne _0806C500\n\ + b _0806C558\n\ + .align 2, 0\n\ +_0806C520: .4byte gPlayerParty\n\ +_0806C524:\n\ + lsls r6, r5, 4\n\ + b _0806C554\n\ +_0806C528:\n\ + ldr r1, _0806C534 @ =gSprites\n\ + adds r0, r6, r5\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + strh r4, [r0, 0x2E]\n\ + b _0806C566\n\ + .align 2, 0\n\ +_0806C534: .4byte gSprites\n\ +_0806C538:\n\ + subs r0, r4, 0x1\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0x6\n\ + beq _0806C554\n\ + movs r0, 0x64\n\ + muls r0, r4\n\ + ldr r1, _0806C574 @ =gPlayerParty\n\ + adds r0, r1\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + bne _0806C528\n\ +_0806C554:\n\ + cmp r4, 0\n\ + bne _0806C538\n\ +_0806C558:\n\ + ldr r0, _0806C578 @ =gSprites\n\ + adds r1, r6, r5\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + movs r2, 0x7\n\ + strh r2, [r1, 0x2E]\n\ + adds r1, r0, 0\n\ +_0806C566:\n\ + adds r0, r6, r5\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strh r1, [r0, 0x30]\n\ + b _0806C64E\n\ + .align 2, 0\n\ +_0806C574: .4byte gPlayerParty\n\ +_0806C578: .4byte gSprites\n\ +_0806C57C:\n\ + cmp r4, 0\n\ + bne _0806C5C8\n\ + ldr r0, _0806C5AC @ =gSprites\n\ + lsls r1, r5, 4\n\ + adds r1, r5\n\ + lsls r1, 2\n\ + adds r4, r1, r0\n\ + ldrh r1, [r4, 0x30]\n\ + subs r0, r1, 0x2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bls _0806C5E2\n\ + ldr r5, _0806C5B0 @ =gPlayerParty + 2 * 0x64\n\ + adds r0, r5, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _0806C5B4\n\ + movs r0, 0x2\n\ + strh r0, [r4, 0x2E]\n\ + b _0806C64E\n\ + .align 2, 0\n\ +_0806C5AC: .4byte gSprites\n\ +_0806C5B0: .4byte gPlayerParty + 2 * 0x64\n\ +_0806C5B4:\n\ + adds r0, r5, 0\n\ + adds r0, 0x64\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _0806C64E\n\ + movs r0, 0x3\n\ + strh r0, [r4, 0x2E]\n\ + b _0806C64E\n\ +_0806C5C8:\n\ + cmp r4, 0x1\n\ + bne _0806C64E\n\ + ldr r0, _0806C5E8 @ =gSprites\n\ + lsls r1, r5, 4\n\ + adds r1, r5\n\ + lsls r1, 2\n\ + adds r4, r1, r0\n\ + ldrh r1, [r4, 0x30]\n\ + subs r0, r1, 0x4\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _0806C5EC\n\ +_0806C5E2:\n\ + strh r1, [r4, 0x2E]\n\ + b _0806C64E\n\ + .align 2, 0\n\ +_0806C5E8: .4byte gSprites\n\ +_0806C5EC:\n\ + ldr r5, _0806C600 @ =gPlayerParty + 4 * 0x64\n\ + adds r0, r5, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _0806C604\n\ + movs r0, 0x4\n\ + strh r0, [r4, 0x2E]\n\ + b _0806C64E\n\ + .align 2, 0\n\ +_0806C600: .4byte gPlayerParty + 4 * 0x64\n\ +_0806C604:\n\ + adds r0, r5, 0\n\ + adds r0, 0x64\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _0806C64E\n\ + movs r0, 0x5\n\ + strh r0, [r4, 0x2E]\n\ + b _0806C64E\n\ +_0806C618:\n\ + subs r0, r4, 0x2\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + bhi _0806C634\n\ + ldr r0, _0806C630 @ =gSprites\n\ + lsls r1, r5, 4\n\ + adds r1, r5\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + movs r0, 0\n\ + b _0806C64A\n\ + .align 2, 0\n\ +_0806C630: .4byte gSprites\n\ +_0806C634:\n\ + subs r0, r4, 0x4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + bhi _0806C64E\n\ + ldr r0, _0806C654 @ =gSprites\n\ + lsls r1, r5, 4\n\ + adds r1, r5\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + movs r0, 0x1\n\ +_0806C64A:\n\ + strh r0, [r1, 0x2E]\n\ + strh r4, [r1, 0x30]\n\ +_0806C64E:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806C654: .4byte gSprites\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed) +{ + u16 newMenuIndex; + u8 newMenuIndex2; + u8 newMenuIndex3; + s8 menuMovement; + u8 spriteId = sub_806CA00(taskId); + u8 menuIndex = gSprites[spriteId].data0; + + UpdateMonIconFrame_806DA44(taskId, menuIndex, 0); + + if (menuIndex < PARTY_SIZE) + { + sub_806BF24(&gUnknown_083769A8[menuIndex * 2], menuIndex, 3, 0); + } + else if (menuIndex == PARTY_SIZE) + { + sub_806BB9C(1); + } + else + { + sub_806BBEC(1); + } + + menuMovement = directionPressed + 2; + + switch (menuMovement) + { + case 2: // no movement + gSprites[spriteId].data1 = 0; + break; + case 1: // moving up + if (menuIndex == 0) { + gSprites[spriteId].data0 = 7; + } else if (menuIndex == PARTY_SIZE) { + gSprites[spriteId].data0 = gPlayerPartyCount - 1; + } else { + gSprites[spriteId].data0 += directionPressed; + } + + gSprites[spriteId].data1 = 0; + break; + case 3: // moving down + if (menuIndex == gPlayerPartyCount - 1) { + gSprites[spriteId].data0 = 6; + } else if (menuIndex == 7) { + gSprites[spriteId].data0 = 0; + } else { + gSprites[spriteId].data0 += directionPressed; + } + + gSprites[spriteId].data1 = 0; + break; + case 4: // moving right + if (gPlayerPartyCount > 1 && menuIndex == 0) + { + if (gSprites[spriteId].data1 == 0) { + gSprites[spriteId].data1 = 1; + } + + gSprites[spriteId].data0 = gSprites[spriteId].data1; + } + break; + case 0: // moving left + newMenuIndex3 = menuIndex - 1; + if (newMenuIndex3 <= 4) + { + gSprites[spriteId].data0 = 0; + gSprites[spriteId].data1 = menuIndex; + } + break; + } + + gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data0].x; + gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][gSprites[spriteId].data0].y; + + + newMenuIndex = gSprites[spriteId].data0; + if (gSprites[spriteId].data0 < PARTY_SIZE) + { + sub_806BF24(&gUnknown_083769A8[gSprites[spriteId].data0 * 2], newMenuIndex, 3, 1); + } + else if (gSprites[spriteId].data0 == PARTY_SIZE) + { + sub_806BB9C(2); + } + else + { + sub_806BBEC(2); + } + + ewram1B000.unk261 = 2; + + newMenuIndex2 = gSprites[spriteId].data0; + UpdateMonIconFrame_806DA44(taskId, newMenuIndex2, 1); + + if (menuIndex != gSprites[spriteId].data0) + { + PlaySE(5); + } +} + +// Selects the "OK" button in the Battle Tower party menu. +void SelectBattleTowerOKButton(u8 taskId) +{ + u8 spriteId = sub_806CA00(taskId); + + u8 menuIndex = gSprites[spriteId].data0; + if (menuIndex != 6) + { + UpdateMonIconFrame_806DA44(taskId, menuIndex, 0); + + if (menuIndex < PARTY_SIZE) + { + sub_806BF24(&gUnknown_083769A8[menuIndex * 2], menuIndex, 3, 0); + } + else + { + sub_806BBEC(1); + } + + gSprites[spriteId].data1 = 0; + gSprites[spriteId].data0 = 6; + gSprites[spriteId].pos1.x = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].x; + gSprites[spriteId].pos1.y = gUnknown_083768B8[PARTY_MENU_LAYOUT_STANDARD][6].y; + + sub_806BB9C(2); + + ewram1B000.unk261 = 2; + PlaySE(5); + } +} + +void sub_806C92C(u8 spriteId) +{ + u8 menuIndex1 = gSprites[spriteId].data0; + u8 menuIndex2 = gSprites[spriteId].data1; + + if (!IsDoubleBattle()) + { + if (menuIndex1 < 1) { + if (menuIndex2 < 1) { + menuIndex2 = 1; + } + } else { + if (menuIndex2 >= 1) { + menuIndex2 = 0; + } + } + } else { + if (menuIndex1 < 2) { + if (menuIndex2 < 2) { + menuIndex2 = 2; + } + } else { + if (menuIndex2 >= 2) { + menuIndex2 = 0; + } + } + } + + gSprites[spriteId].data1 = menuIndex2; +} + +void sub_806C994(u8 taskId, u8 b) +{ + u8 spriteId = sub_806CA00(taskId); + + gSprites[spriteId].data0 = b; + sub_806C92C(spriteId); +} + +void sub_806C9C4(u8 taskId, u8 spriteId) +{ + u8 spriteId2 = sub_806CA00(taskId); + + gSprites[spriteId].pos1.x = gSprites[spriteId2].pos1.x; + gSprites[spriteId].pos1.y = gSprites[spriteId2].pos1.y; + gSprites[spriteId].data0 = gSprites[spriteId2].data0; +} + +u8 sub_806CA00(u8 taskId) +{ + return gTasks[taskId].data[3] >> 8; +} + +void sub_806CA18(u8 taskId, u8 b) +{ + u8 var1 = gTasks[taskId].data[3]; + gTasks[taskId].data[3] = var1 | (b << 8); +} + +u8 sub_806CA38(u8 taskId) +{ + u8 spriteId = sub_806CA00(taskId); + return gSprites[spriteId].data0; +} + +void SetupDefaultPartyMenuSwitchPokemon(u8 taskId) +{ + gTasks[taskId].func = TaskDummy; + ewram01000.unk0 = taskId; + + CreateTask(HandlePartyMenuSwitchPokemonInput, 0); + ewram01000.unk1 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + + sub_806C9C4(taskId, ewram01000.unk1); + ewram01000.unk2 = sub_806CA00(taskId); + + PrintPartyMenuPromptText(ewram1B000_alt.unk272, 0); + + sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data0 * 2], gSprites[ewram01000.unk1].data0, 6, 0); + ewram1B000.unk261 = 2; +} + +// Handles changing the the current mon selection when choosing mons to swap places. +void ChangePartyMenuSwitchPokemonSelection(u8 taskId, s16 menuDirectionPressed) +{ + struct Sprite *sprite1 = &gSprites[ewram01000.unk1]; + struct Sprite *sprite2 = &gSprites[ewram01000.unk2]; + + ChangePartyMenuSelection(taskId, menuDirectionPressed); + + if (sprite1->data0 != sprite2->data0) + { + sub_806BF24(&gUnknown_083769A8[sprite1->data0 * 2], sprite1->data0, 6, 1); + } + else + { + sub_806BF24(&gUnknown_083769A8[sprite1->data0 * 2], sprite1->data0, 6, 0); + } +} + +void HandlePartyMenuSwitchPokemonInput(u8 taskId) +{ + switch (gMain.newAndRepeatedKeys) + { + case DPAD_UP: + ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, -1); + break; + case DPAD_DOWN: + ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, 1); + break; + case DPAD_LEFT: + ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, -2); + break; + case DPAD_RIGHT: + ChangePartyMenuSwitchPokemonSelection(ewram01000.unk0, 2); + break; + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(5); + gTasks[taskId].func = ewram01000.unkC; + gTasks[taskId].func(taskId); + } + else if (gMain.newKeys == B_BUTTON) + { + PlaySE(5); + sub_806CD44(taskId); + } +} + +void sub_806CC2C(u8 taskId) +{ + DestroySprite(&gSprites[ewram01000.unk1]); + PrintPartyMenuPromptText(0, 0); + + ewram1B000.unk261 = 2; + SwitchTaskToFollowupFunc(ewram01000.unk0); + DestroyTask(taskId); +} + +void sub_806CC74(u8 taskId) +{ + sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk2].data0 * 2], gSprites[ewram01000.unk2].data0, 3, 1); + sub_806BF24(&gUnknown_083769A8[gSprites[ewram01000.unk1].data0 * 2], gSprites[ewram01000.unk1].data0, 3, 0); + sub_806CC2C(taskId); +} + +void sub_806CCE4() +{ + u8 monIndex1 = gSprites[ewram01000.unk1].data0; + u8 monIndex2 = gSprites[ewram01000.unk2].data0; + + if (monIndex1 <= 5) + { + sub_806BF24(&gUnknown_083769A8[monIndex1 * 2], monIndex1, 3, 0); + } + + if (monIndex2 <= 5) + { + sub_806BF24(&gUnknown_083769A8[monIndex2 * 2], monIndex2, 3, 1); + } +} + +void sub_806CD44(u8 taskId) +{ + sub_806CCE4(); + sub_806CC2C(taskId); +} + +void sub_806CD5C(u8 taskId) +{ + u8 monIndex1 = gSprites[ewram01000.unk1].data0; + u8 monIndex2 = gSprites[ewram01000.unk2].data0; + + if (monIndex1 == monIndex2 || monIndex1 == 7 || monIndex2 == 7) + { + sub_806CD44(taskId); + } + else + { + u8 var1; + + sub_806D5B8(monIndex1); + sub_806D5B8(monIndex2); + + if (monIndex1 > monIndex2) + { + ewram01000.unk5 = monIndex2; + ewram01000.unk6 = monIndex1; + } + else + { + ewram01000.unk5 = monIndex1; + ewram01000.unk6 = monIndex2; + } + + ewram01000.unk3 = GetMonIconSpriteId(ewram01000.unk0, ewram01000.unk5); + ewram01000.unk4 = GetMonIconSpriteId(ewram01000.unk0, ewram01000.unk6); + + var1 = ewram01000.unk5; + if (!var1) + { + gSprites[ewram01000.unk3].data0 = -8; + gSprites[ewram01000.unk3].data2 = -0xA8; + ewram01000.unk8 = var1; + ewram01000.unkA = 11; + + gTasks[taskId].func = sub_806D014; + ewram1B000.unk261 = 1; + } + else + { + gSprites[ewram01000.unk3].data0 = 8; + gSprites[ewram01000.unk3].data2 = 0xA8; + ewram01000.unk8 = 11; + ewram01000.unkA = 11; + + gTasks[taskId].func = sub_806D118; + ewram1B000.unk261 = 1; + } + + gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C; + + gSprites[ewram01000.unk4].data0 = 8; + gSprites[ewram01000.unk4].data2 = 0xA8; + gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C; + + gSprites[ewram01000.unk3].callback(&gSprites[ewram01000.unk3]); + gSprites[ewram01000.unk4].callback(&gSprites[ewram01000.unk4]); + } +} + +void SwapValues_s16(s16 *a, s16 *b) +{ + s16 temp = *a; + *a = *b; + *b = temp; +} + +#ifdef NONMATCHING +void sub_806CF04(void) +{ + SwapValues_s16(&gSprites[ewram01000.unk3].pos1.x, &gSprites[ewram01000.unk4].pos1.x); + SwapValues_s16(&gSprites[ewram01000.unk3].pos1.y, &gSprites[ewram01000.unk4].pos1.y); + SwapValues_s16(&gSprites[ewram01000.unk3].pos2.x, &gSprites[ewram01000.unk4].pos2.x); + SwapValues_s16(&gSprites[ewram01000.unk3].data0, &gSprites[ewram01000.unk4].data0); + + gSprites[ewram01000.unk3].callback = SpriteCB_sub_806D37C; + gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C; +} +#else +__attribute__((naked)) +void sub_806CF04(void) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + ldr r4, _0806CF94 @ =0x02001000\n\ + ldrb r1, [r4, 0x3]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + ldr r5, _0806CF98 @ =gSprites + 0x20\n\ + adds r0, r5\n\ + ldrb r2, [r4, 0x4]\n\ + lsls r1, r2, 4\n\ + adds r1, r2\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + bl SwapValues_s16\n\ + ldrb r1, [r4, 0x3]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r3, r5, 0x2\n\ + adds r0, r3\n\ + ldrb r2, [r4, 0x4]\n\ + lsls r1, r2, 4\n\ + adds r1, r2\n\ + lsls r1, 2\n\ + adds r1, r3\n\ + bl SwapValues_s16\n\ + ldrb r1, [r4, 0x3]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r3, r5, 0x4\n\ + adds r0, r3\n\ + ldrb r2, [r4, 0x4]\n\ + lsls r1, r2, 4\n\ + adds r1, r2\n\ + lsls r1, 2\n\ + adds r1, r3\n\ + bl SwapValues_s16\n\ + ldrb r1, [r4, 0x3]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r3, r5, 0\n\ + adds r3, 0xE\n\ + adds r0, r3\n\ + ldrb r2, [r4, 0x4]\n\ + lsls r1, r2, 4\n\ + adds r1, r2\n\ + lsls r1, 2\n\ + adds r1, r3\n\ + bl SwapValues_s16\n\ + ldrb r1, [r4, 0x3]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + subs r5, 0x4\n\ + adds r0, r5\n\ + ldr r2, _0806CF9C @ =SpriteCB_sub_806D37C\n\ + str r2, [r0]\n\ + ldrb r1, [r4, 0x4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r5\n\ + str r2, [r0]\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806CF94: .4byte 0x02001000\n\ +_0806CF98: .4byte gSprites + 0x20\n\ +_0806CF9C: .4byte SpriteCB_sub_806D37C\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void sub_806CFA0(u8 taskId, u8 b) +{ + u8 var1 = ((ewram01000.unk6 - 1) * 3) + 1; + + sub_806BA34(ewram01000.unk8, 3); + sub_806BB3C(ewram01000.unkA, var1); + + if (!b) + { + ewram01000.unk8--; + ewram01000.unkA++; + } + else + { + ewram01000.unk8++; + ewram01000.unkA--; + } + + sub_806B9A4(ewram01000.unk8, 3, 10); + sub_806BA94(ewram01000.unkA, var1, 0, 10); +} + +void sub_806D014(u8 taskId) +{ + sub_806CFA0(taskId, 0); + + if (ewram01000.unk8 < -13 && ewram01000.unkA > 32) + { + sub_806CF04(); + gTasks[taskId].func = sub_806D05C; + } +} + +void sub_806D05C(u8 taskId) +{ + sub_806CFA0(taskId, 1); + + if (ewram01000.unk8 == 0 && ewram01000.unkA == 11) + { + gTasks[taskId].func = sub_806D198; + } +} + +void sub_806D098(u8 a, u8 b) +{ + u8 var1 = ((ewram01000.unk5 - 1) * 3) + 1; + u8 var2 = ((ewram01000.unk6 - 1) * 3) + 1; + + sub_806BB3C(ewram01000.unk8, var1); + sub_806BB3C(ewram01000.unkA, var2); + + if (!b) + { + ewram01000.unk8++; + ewram01000.unkA++; + } + else + { + ewram01000.unk8--; + ewram01000.unkA--; + } + + sub_806BA94(ewram01000.unk8, var1, 0, 10); + sub_806BA94(ewram01000.unkA, var2, 0, 10); +} + +void sub_806D118(u8 taskId) +{ + sub_806D098(taskId, 0); + + if (ewram01000.unk8 > 32 && ewram01000.unkA > 32) + { + sub_806CF04(); + gTasks[taskId].func = sub_806D15C; + } +} + +void sub_806D15C(u8 taskId) +{ + sub_806D098(taskId, 1); + + if (ewram01000.unk8 == 11 && ewram01000.unkA == 11) + { + gTasks[taskId].func = sub_806D198; + } +} + +void sub_806D198(u8 taskId) +{ + u8 spriteId; + + SetMonIconSpriteId(ewram01000.unk0, ewram01000.unk5, ewram01000.unk4); + SetMonIconSpriteId(ewram01000.unk0, ewram01000.unk6, ewram01000.unk3); + + gSprites[ewram01000.unk3].pos1.x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].x; + gSprites[ewram01000.unk3].pos1.y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk6].y; + gSprites[ewram01000.unk3].pos2.x = 0; + gSprites[ewram01000.unk3].pos2.y = 0; + gSprites[ewram01000.unk3].callback = UpdateMonIconFrame_806DA38; + + gSprites[ewram01000.unk4].pos1.x = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].x; + gSprites[ewram01000.unk4].pos1.y = gUnknown_08376678[IsDoubleBattle()][ewram01000.unk5].y; + gSprites[ewram01000.unk4].pos2.x = 0; + gSprites[ewram01000.unk4].pos2.y = 0; + gSprites[ewram01000.unk4].callback = UpdateMonIconFrame_806DA38; + + spriteId = GetMonIconSpriteId(ewram01000.unk0, gSprites[ewram01000.unk2].data0); + gSprites[spriteId].callback = UpdateMonIconFrame_806DA0C; + + SwapPokemon(&gPlayerParty[ewram01000.unk5], &gPlayerParty[ewram01000.unk6]); + + PartyMenuPrintMonLevelOrStatus(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]); + TryPrintPartyMenuMonNickname(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]); + PartyMenuTryPrintHP(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]); + nullsub_12(ewram01000.unk5, &gPlayerParty[ewram01000.unk5]); + + PartyMenuPrintMonLevelOrStatus(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]); + TryPrintPartyMenuMonNickname(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]); + PartyMenuTryPrintHP(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]); + nullsub_12(ewram01000.unk6, &gPlayerParty[ewram01000.unk6]); + + PartyMenuDrawHPBars(); + sub_806CC74(taskId); +} + +void SpriteCB_sub_806D37C(struct Sprite *sprite) +{ + UpdateMonIconFrame(sprite); + + if (sprite->pos2.x == sprite->data2) + { + sprite->data0 *= -1; + sprite->data2 = 0; + sprite->callback = UpdateMonIconFrame_806DA38; + } + else + { + sprite->pos2.x += sprite->data0; + } +} + +void sub_806D3B4(u8 taskId, u16 species1, u16 species2) +{ + const u8 *var1 = gUnknown_083769C0; + + sub_806BA34(var1[2] + gTasks[taskId].data[0], var1[3]); + sub_806BB3C(var1[8] + gTasks[taskId].data[0], var1[9]); + sub_806BB3C(var1[10] + gTasks[taskId].data[0], var1[11]); + + gTasks[taskId].data[0]--; + + sub_806B9A4(var1[2] + gTasks[taskId].data[0], var1[3], 4); + + if (species1) + { + sub_806BA94(var1[8] + gTasks[taskId].data[0], var1[9], 0, 4); + } + else + { + sub_806BA94(var1[8] + gTasks[taskId].data[0], var1[9], 1, 4); + } + + if (species2) + { + sub_806BA94(var1[10] + gTasks[taskId].data[0], var1[11], 0, 4); + } + else + { + sub_806BA94(var1[10] + gTasks[taskId].data[0], var1[11], 1, 4); + } +} + +void sub_806D4AC(u8 taskId, u16 species, u8 c) +{ + if (species) + { + u8 monIndex = c + 3; + u8 spriteId = GetMonIconSpriteId(taskId, monIndex); + + gSprites[spriteId].data0 = -8; + gSprites[spriteId].data2 = gTasks[taskId].data[0] * -8; + gSprites[spriteId].callback = SpriteCB_sub_806D37C; + } +} + +void sub_806D50C(u8 taskId, u8 monIndex) +{ + gSprites[GetMonIconSpriteId(taskId, monIndex)].pos1.x += 0xF0; +} + +void PrintPartyMenuPromptText(u8 textId, u8 b) +{ + if (textId != 0xFF) + { + switch (b) + { + case 0: + MenuDrawTextWindow(0, 16, 23, 19); + break; + case 1: + MenuDrawTextWindow(0, 16, 19, 19); + break; + case 2: + MenuDrawTextWindow(0, 16, 22, 19); + break; + case 3: + MenuDrawTextWindow(0, 16, 18, 19); + break; + } + + MenuPrint(PartyMenuPromptTexts[textId], 1, 17); + } +} + +void sub_806D5A4(void) +{ + MenuZeroFillWindowRect(0, 16, 29, 19); +} + +void sub_806D5B8(u8 monIndex) +{ + u32 var1; + u8 left = gUnknown_08376948[IsDoubleBattle()][monIndex].left; + u8 top = gUnknown_08376948[IsDoubleBattle()][monIndex].top; + u8 right = gUnknown_08376948[IsDoubleBattle()][monIndex].right; + u8 bottom = gUnknown_08376948[IsDoubleBattle()][monIndex].bottom; + + ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom); + + var1 = 0; + CpuFastSet(&var1, OBJ_VRAM1 + monIndex * 0x400, 0x1000100); +} + +void sub_806D668(u8 monIndex) +{ + u32 var1; + u8 left = gUnknown_08376978[IsDoubleBattle()][monIndex].left; + u8 top = gUnknown_08376978[IsDoubleBattle()][monIndex].top; + u8 right = gUnknown_08376978[IsDoubleBattle()][monIndex].right; + u8 bottom = gUnknown_08376978[IsDoubleBattle()][monIndex].bottom; + + ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom); + + var1 = 0; + CpuFastSet(&var1, OBJ_VRAM1 + 0x300 + monIndex * 0x400, 0x1000040); +} + +bool8 LoadPartyMenuGraphics(u8 a) +{ + u16 palette = 0x7FFF; + bool8 retVal = FALSE; + + if (a < 2) + { + LZDecompressVram(gPartyMenuMisc_Gfx, (void *)BG_VRAM); + } + + if (a == 2 || a == 0) + { + LZDecompressVram(gPartyMenuMisc_Tilemap, (void *)(BG_VRAM + 0x3800)); + } + + if (a == 3 || a == 0) + { + LoadCompressedPalette(gPartyMenuMisc_Pal, 0, 0x160); + } + + if (a == 4 || a == 0) + { + LoadPalette(&palette, 0, 2); + LoadPalette(gFontDefaultPalette, 0xF0, 0x20); + } + + if (a == 5 || a == 0) + { + LZDecompressVram(gPartyMenuHpBar_Gfx, (void *)(BG_VRAM + 0x6000)); + } + + if (a == 6 || a == 0) + { + LZDecompressVram(gPartyMenuOrderText_Gfx, (void *)(BG_VRAM + 0x6180)); + } + + if (a == 7 || a == 0) + { + LZDecompressVram(gStatusGfx_Icons, (void *)(BG_VRAM + 0x7180)); + } + + if (a == 8 || a == 0) + { + LoadCompressedPalette(gStatusPal_Icons, 0xB0, 0x20); + retVal = TRUE; + } + + return retVal; +} + +void SetMonIconAnimByHP(u8 spriteId, u16 currentHP, u16 maxHP) +{ + u8 hpBarLevel = GetHPBarLevel(currentHP, maxHP); + u8 animNum = 0; + + if (currentHP != maxHP) + { + if (hpBarLevel == 3) + { + animNum = 1; + } + else if (hpBarLevel == 2) + { + animNum = 2; + } + else if (hpBarLevel == 1) + { + animNum = 3; + } + else + { + animNum = 4; + } + } + + sub_809D824(&gSprites[spriteId], animNum); +} + +void SetMonIconAnim(u8 spriteId, struct Pokemon *pokemon) +{ + u16 currentHP = GetMonData(pokemon, MON_DATA_HP); + u16 maxHP = GetMonData(pokemon, MON_DATA_MAX_HP); + + SetMonIconAnimByHP(spriteId, currentHP, maxHP); +} + +void CreatePartyMenuMonIcon(u8 taskId, u8 monIndex, u8 menuType, struct Pokemon *pokemon) +{ + u8 x = gUnknown_08376678[menuType][monIndex].x; + u8 y = gUnknown_08376678[menuType][monIndex].y; + + u16 species2 = GetMonData(pokemon, MON_DATA_SPECIES2); + u32 personality = GetMonData(pokemon, MON_DATA_PERSONALITY); + + u8 spriteId = CreateMonIcon(species2, sub_809D62C, x, y, 5, personality); + SetMonIconSpriteId(taskId, monIndex, spriteId); + SetMonIconAnim(spriteId, pokemon); +} + +void TryCreatePartyMenuMonIcon(u8 taskId, u8 monIndex, struct Pokemon *pokemon) +{ + if (GetMonData(pokemon, MON_DATA_SPECIES)) + { + bool8 isLinkDoubleBattle = IsLinkDoubleBattle(); + if (isLinkDoubleBattle == TRUE) + { + CreatePartyMenuMonIcon(taskId, monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon); + } + else + { + CreatePartyMenuMonIcon(taskId, monIndex, IsDoubleBattle(), pokemon); + } + } +} + +void unref_sub_806D964(u8 taskId) +{ + u8 i; + for (i = 0; i < gPlayerPartyCount; i++) + { + TryCreatePartyMenuMonIcon(taskId, i, &gPlayerParty[i]); + } +} + +void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct UnknownPokemonStruct2 *pokemon) +{ + u8 x = gUnknown_08376678[menuType][monIndex].x; + u8 y = gUnknown_08376678[menuType][monIndex].y; + + u8 spriteId = CreateMonIcon(pokemon->species, sub_809D62C, x, y, 5, pokemon->personality); + SetMonIconSpriteId(taskId, monIndex, spriteId); + SetMonIconAnimByHP(spriteId, pokemon->hp, pokemon->maxhp); +} + +void UpdateMonIconFrame_806DA0C(struct Sprite *sprite) +{ + u8 var1; + + var1 = UpdateMonIconFrame(sprite); + if (var1) + { + if (var1 & 1) + { + sprite->pos2.y = -3; + } + else + { + sprite->pos2.y = 1; + } + } +} + +void UpdateMonIconFrame_806DA38(struct Sprite *sprite) +{ + UpdateMonIconFrame(sprite); +} + +void UpdateMonIconFrame_806DA44(u8 taskId, u8 monIndex, u8 c) +{ + u8 spriteId; + + if (monIndex < PARTY_SIZE) + { + spriteId = GetMonIconSpriteId(taskId, monIndex); + gSprites[spriteId].pos2.y = 0; + gSprites[spriteId].data0 = 0; + + if (!c) + { + gSprites[spriteId].callback = UpdateMonIconFrame_806DA38; + } + else + { + gSprites[spriteId].callback = UpdateMonIconFrame_806DA0C; + } + } +} + +void LoadHeldItemIconGraphics(void) +{ + LoadSpriteSheet(&HeldItemsSpriteSheet); + LoadSpritePalette(&HeldItemsPalette); +} + +void SpriteCB_HeldItemIcon(struct Sprite *sprite) +{ + + u8 data7 = sprite->data7; + if (gSprites[data7].invisible) + { + sprite->invisible = 1; + } + else + { + sprite->invisible = 0; + sprite->pos1.x = gSprites[data7].pos1.x + gSprites[data7].pos2.x; + sprite->pos1.y = gSprites[data7].pos1.y + gSprites[data7].pos2.y; + } +} + +void CreateHeldItemIcon(u8 a, u8 b) +{ + u8 subPriority; + u8 spriteId; + + subPriority = gSprites[a].subpriority; + spriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, subPriority - 1); + + gSprites[spriteId].pos2.x = 4; + gSprites[spriteId].pos2.y = 10; + gSprites[spriteId].callback = SpriteCB_HeldItemIcon; + gSprites[spriteId].data7 = a; + + StartSpriteAnim(&gSprites[spriteId], b); + gSprites[spriteId].callback(&gSprites[spriteId]); +} + +void CreateHeldItemIcons(u8 *a, u8 *b, u8 c) +{ + u16 i; + u16 heldItem; + + switch (c) + { + case 0: + i = 0; + while (i < a[0]) + { + heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + if (heldItem) + { + CreateHeldItemIcon(b[i], ItemIsMail(heldItem)); + } + + i++; + } + break; + case 1: + i = 0; + while (i < a[1]) + { + heldItem = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM); + if (heldItem) + { + CreateHeldItemIcon(b[i + 6], ItemIsMail(heldItem)); + } + + i++; + } + break; + } +} + +void CreateHeldItemIcons_806DC34(u8 taskId) +{ + u8 i; + u8 monIconSpriteId; + u8 heldItemSpriteId; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES)) + { + monIconSpriteId = GetMonIconSpriteId(taskId, i); + heldItemSpriteId = CreateSprite(&gSpriteTemplate_837660C, 0xFA, 0xAA, 4); + + gSprites[heldItemSpriteId].pos2.x = 4; + gSprites[heldItemSpriteId].pos2.y = 10; + gSprites[heldItemSpriteId].data7 = monIconSpriteId; + gSprites[monIconSpriteId].data7 = heldItemSpriteId; + + SetHeldItemIconVisibility(taskId, i); + gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]); + } + } +} + +#ifdef NONMATCHING +void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item) +{ + u8 monIconSpriteId; + u8 heldItemSpriteId; + + monIconSpriteId = GetMonIconSpriteId(taskId, monIndex); + heldItemSpriteId = CreateSprite(gSpriteTemplate_837660C, 0xFA, 0xAA, 4); + + gSprites[heldItemSpriteId].pos2.x = 4; + gSprites[heldItemSpriteId].pos2.y = 10; + gSprites[heldItemSpriteId].data7 = monIconSpriteId; + gSprites[monIconSpriteId].data7 = heldItemSpriteId; + + if (!item) + { + gSprites[heldItemSpriteId].invisible = 1; + } + else + { + if (ItemIsMail(item)) + { + StartSpriteAnim(&gSprites[heldItemSpriteId], 1); + } + else + { + StartSpriteAnim(&gSprites[heldItemSpriteId], 0); + } + + gSprites[heldItemSpriteId].invisible = 0; + } + + gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]); +} +#else +__attribute__((naked)) +void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + lsls r2, 16\n\ + lsrs r7, r2, 16\n\ + bl GetMonIconSpriteId\n\ + adds r4, r0, 0\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + ldr r0, _0806DD2C @ =gSpriteTemplate_837660C\n\ + movs r1, 0xFA\n\ + movs r2, 0xAA\n\ + movs r3, 0x4\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + ldr r1, _0806DD30 @ =gSprites\n\ + lsls r0, r6, 4\n\ + adds r0, r6\n\ + lsls r0, 2\n\ + adds r5, r0, r1\n\ + movs r0, 0x4\n\ + strh r0, [r5, 0x24]\n\ + movs r0, 0xA\n\ + strh r0, [r5, 0x26]\n\ + strh r4, [r5, 0x3C]\n\ + lsls r0, r4, 4\n\ + adds r0, r4\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + strh r6, [r0, 0x3C]\n\ + cmp r7, 0\n\ + bne _0806DD34\n\ + adds r0, r5, 0\n\ + adds r0, 0x3E\n\ + ldrb r1, [r0]\n\ + movs r2, 0x4\n\ + orrs r1, r2\n\ + strb r1, [r0]\n\ + b _0806DD5C\n\ + .align 2, 0\n\ +_0806DD2C: .4byte gSpriteTemplate_837660C\n\ +_0806DD30: .4byte gSprites\n\ +_0806DD34:\n\ + adds r0, r7, 0\n\ + bl ItemIsMail\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0806DD46\n\ + adds r0, r5, 0\n\ + movs r1, 0x1\n\ + b _0806DD4A\n\ +_0806DD46:\n\ + adds r0, r5, 0\n\ + movs r1, 0\n\ +_0806DD4A:\n\ + bl StartSpriteAnim\n\ + adds r2, r5, 0\n\ + adds r2, 0x3E\n\ + ldrb r1, [r2]\n\ + movs r0, 0x5\n\ + negs r0, r0\n\ + ands r0, r1\n\ + strb r0, [r2]\n\ +_0806DD5C:\n\ + ldr r2, _0806DD78 @ =gSprites\n\ + lsls r0, r6, 4\n\ + adds r0, r6\n\ + lsls r0, 2\n\ + adds r1, r2, 0\n\ + adds r1, 0x1C\n\ + adds r1, r0, r1\n\ + adds r0, r2\n\ + ldr r1, [r1]\n\ + bl _call_via_r1\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806DD78: .4byte gSprites\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void SpriteCB_UpdateHeldItemIconPosition(struct Sprite *sprite) +{ + u8 spriteId = sprite->data7; + + sprite->pos1.x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; + sprite->pos1.y = gSprites[spriteId].pos1.y; +} + +u8 GetMonIconSpriteId(u8 taskId, u8 monIndex) +{ + switch (monIndex) + { + case 1: + return gTasks[taskId].data[0]; + break; + case 2: + return gTasks[taskId].data[1] >> 8; + break; + case 3: + return gTasks[taskId].data[1]; + break; + case 4: + return gTasks[taskId].data[2] >> 8; + break; + case 5: + return gTasks[taskId].data[2]; + break; + case 0: + default: + return gTasks[taskId].data[0] >> 8; + break; + } +} + +void SetMonIconSpriteId(u8 taskId, u8 monIndex, u8 spriteId) +{ + switch (monIndex) + { + case 0: + gTasks[taskId].data[0] = (u8)gTasks[taskId].data[0] | (spriteId << 8); + break; + case 1: + gTasks[taskId].data[0] = (gTasks[taskId].data[0] & -0x100) | spriteId; + break; + case 2: + gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1] | (spriteId << 8); + break; + case 3: + gTasks[taskId].data[1] = (gTasks[taskId].data[1] & -0x100) | spriteId; + break; + case 4: + gTasks[taskId].data[2] = (u8)gTasks[taskId].data[2] | (spriteId << 8); + break; + case 5: + gTasks[taskId].data[2] = (gTasks[taskId].data[2] & -0x100) | spriteId; + break; + } +} + +u16 GetMonHeldItemIconSpriteId(u8 taskId, u8 monIndex) +{ + u8 spriteId = GetMonIconSpriteId(taskId, monIndex); + u8 retVal = gSprites[spriteId].data7; + return retVal; +} + +#ifdef NONMATCHING +void SetHeldItemIconVisibility(u8 taskId, u8 monIndex) +{ + u8 spriteId; + u16 heldItem; + + spriteId = GetMonHeldItemIconSpriteId(taskId, monIndex); + if (!GetMonData(&gPlayerParty[monIndex], MON_DATA_HELD_ITEM)) + { + gSprites[spriteId].invisible = 1; + } + else + { + struct Sprite *sprite; + + heldItem = GetMonData(&gPlayerParty[monIndex], MON_DATA_HELD_ITEM); + sprite = &gSprites[spriteId]; + if (ItemIsMail(heldItem)) + { + StartSpriteAnim(sprite, 1); + } + else + { + StartSpriteAnim(sprite, 0); + } + + sprite->invisible = 0; + } +} +#else +__attribute__((naked)) +void SetHeldItemIconVisibility(u8 a, u8 monIndex) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + adds r4, r1, 0\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + adds r1, r4, 0\n\ + bl GetMonHeldItemIconSpriteId\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + adds r6, r5, 0\n\ + movs r0, 0x64\n\ + adds r1, r4, 0\n\ + muls r1, r0\n\ + ldr r0, _0806DFA4 @ =gPlayerParty\n\ + adds r4, r1, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0xC\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + bne _0806DFAC\n\ + ldr r1, _0806DFA8 @ =gSprites\n\ + lsls r0, r5, 4\n\ + adds r0, r5\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + adds r0, 0x3E\n\ + ldrb r1, [r0]\n\ + movs r2, 0x4\n\ + orrs r1, r2\n\ + strb r1, [r0]\n\ + b _0806DFF6\n\ + .align 2, 0\n\ +_0806DFA4: .4byte gPlayerParty\n\ +_0806DFA8: .4byte gSprites\n\ +_0806DFAC:\n\ + adds r0, r4, 0\n\ + movs r1, 0xC\n\ + bl GetMonData\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + bl ItemIsMail\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0806DFD8\n\ + lsls r4, r5, 4\n\ + adds r4, r5\n\ + lsls r4, 2\n\ + ldr r0, _0806DFD4 @ =gSprites\n\ + adds r4, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0x1\n\ + b _0806DFE6\n\ + .align 2, 0\n\ +_0806DFD4: .4byte gSprites\n\ +_0806DFD8:\n\ + lsls r4, r6, 4\n\ + adds r4, r6\n\ + lsls r4, 2\n\ + ldr r0, _0806DFFC @ =gSprites\n\ + adds r4, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0\n\ +_0806DFE6:\n\ + bl StartSpriteAnim\n\ + adds r4, 0x3E\n\ + ldrb r1, [r4]\n\ + movs r0, 0x5\n\ + negs r0, r0\n\ + ands r0, r1\n\ + strb r0, [r4]\n\ +_0806DFF6:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0806DFFC: .4byte gSprites\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer) +{ + u32 var1 = 0; + CpuFastSet(&var1, gTileBuffer, 0x1000100); + sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gTileBuffer, nameBuffer); + CpuFastSet(gTileBuffer, OBJ_VRAM1 + (monIndex * 0x400), 128); +} + +void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon) +{ + u8 nameBuffer[12]; + GetMonNickname(pokemon, nameBuffer); + PartyMenuDoPrintMonNickname(monIndex, b, nameBuffer); +} + +void TryPrintPartyMenuMonNickname(u8 monIndex, struct Pokemon *pokemon) +{ + if (GetMonData(pokemon, MON_DATA_SPECIES)) + { + bool8 isLinkDoubleBattle = IsLinkDoubleBattle(); + if (isLinkDoubleBattle == TRUE) + { + PrintPartyMenuMonNickname(monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon); + } + else + { + PrintPartyMenuMonNickname(monIndex, IsDoubleBattle(), pokemon); + } + } +} + +void PrintPartyMenuMonNicknames(void) +{ + u8 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + TryPrintPartyMenuMonNickname(i, &gPlayerParty[i]); + } +} + +u8 *GetMonNickname(struct Pokemon *pokemon, u8 *stringBuffer) +{ + GetMonData(pokemon, MON_DATA_NICKNAME, stringBuffer); + return StringGetEnd10(stringBuffer); +} + +void PartyMenuPutStatusTilemap(u8 monIndex, u8 menuLayout, u8 status) +{ + u8 i; + u8 x = gUnknown_08376738[menuLayout][monIndex].x - 1; + u8 y = gUnknown_08376738[menuLayout][monIndex].y + 1; + u16 *vramPtr = (u16*)(VRAM + 0xF000) + (x + y * 32); + u8 var1 = status * 4; + + for (i = 0; i < 4; i++) + { + vramPtr[i] = (0x18C + var1 + i) | -0x5000; + } +} + +static void PartyMenuClearLevelStatusTilemap(u8 monIndex) +{ + bool8 isLinkDoubleBattle; + u8 menuLayout; + u8 x; + u8 y; + u16 *vramPtr; + u8 i; + + isLinkDoubleBattle = IsLinkDoubleBattle(); + if (isLinkDoubleBattle == TRUE) + { + menuLayout = PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE; + } + else + { + menuLayout = IsDoubleBattle(); + } + + x = gUnknown_08376738[menuLayout][monIndex].x - 1; + y = gUnknown_08376738[menuLayout][monIndex].y + 1; + + vramPtr = (u16*)(VRAM + 0xF000) + (x + y * 32); + for (i = 0; i < 4; i++) + { + vramPtr[i] = 0; + } +} + +static void PartyMenuWriteTilemap(u8 a, u8 x, u8 y) +{ + u16 *vramPtr = (u16*)(VRAM + 0xF000) + (x + y * 32); + *vramPtr = a + 0x10C; +} + +void PartyMenuDoPrintLevel(u8 monIndex, u8 menuLayout, u8 level) +{ + u8 *stringVar; + u32 var1; + u8 x = gUnknown_08376738[menuLayout][monIndex].x; + u8 y = gUnknown_08376738[menuLayout][monIndex].y; + + PartyMenuWriteTilemap(0x40, x - 1, y + 1); + + stringVar = gStringVar1; + stringVar[0] = 0xFC; + stringVar[1] = 0x12; + stringVar[2] = 0x8; + + ConvertIntToDecimalString(&stringVar[3], level); + + var1 = 0; + CpuFastSet(&var1, gUnknown_02039460, 0x1000020); + sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1); + CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x200 + (monIndex * 0x400), 32); +} + +void PartyMenuPrintLevel(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon) +{ + u16 level = GetMonData(pokemon, MON_DATA_LEVEL); + PartyMenuDoPrintLevel(monIndex, menuLayout, level); +} + +void PartyMenuPrintMonLevelOrStatus(u8 monIndex, struct Pokemon *pokemon) +{ + if (GetMonData(pokemon, MON_DATA_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + { + u8 statusAndPkrs; + bool8 isLinkDoubleBattle; + u8 menuLayout; + + statusAndPkrs = GetMonStatusAndPokerus(pokemon); + + isLinkDoubleBattle = IsLinkDoubleBattle(); + if (isLinkDoubleBattle == TRUE) + { + menuLayout = PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE; + } + else + { + menuLayout = IsDoubleBattle(); + } + + if (statusAndPkrs != 0 && statusAndPkrs != 6) + { + PartyMenuPutStatusTilemap(monIndex, menuLayout, statusAndPkrs - 1); + } + else + { + PartyMenuPrintLevel(monIndex, menuLayout, pokemon); + } + + PartyMenuPrintGenderIcon(monIndex, menuLayout, pokemon); + } +} + +void PartyMenuPrintMonsLevelOrStatus(void) +{ + u8 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + PartyMenuPrintMonLevelOrStatus(i, &gPlayerParty[i]); + } +} + +void PartyMenuDoPrintGenderIcon(u16 species, u8 gender, u8 menuLayout, u8 monIndex, u8 *nickname) +{ + if (!ShouldHideGenderIcon(species, nickname)) + { + u8 x = gUnknown_08376738[menuLayout][monIndex].x + 3; + u8 y = gUnknown_08376738[menuLayout][monIndex].y + 1; + + switch (gender) + { + case MON_MALE: + PartyMenuWriteTilemap(0x42, x, y); + break; + case MON_FEMALE: + PartyMenuWriteTilemap(0x44, x, y); + break; + } + } +} + +void PartyMenuPrintGenderIcon(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon) +{ + u16 species2; + u8 gender; + + GetMonNickname(pokemon, gStringVar1); + species2 = GetMonData(pokemon, MON_DATA_SPECIES2); + gender = GetMonGender(pokemon); + PartyMenuDoPrintGenderIcon(species2, gender, menuLayout, monIndex, gStringVar1); +} + +void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP) +{ + u32 *var; + register u8 *stringVar1 asm("r2") = gStringVar1; + register u8 *textPtr asm("r2") = sub_8072C14(stringVar1, currentHP, 15, 1); + textPtr[0] = CHAR_SLASH; + + sub_8072C14(++textPtr, maxHP, 35, 1); + var = 0; + + CpuFastSet(&var, gUnknown_02039460, 0x1000040); + sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1); + CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x300 + (monIndex * 0x400), 64); +} + +void PartyMenuPrintHP(u8 monIndex, u8 b, struct Pokemon *pokemon) +{ + u16 currentHP; + u16 maxHP; + + currentHP = GetMonData(pokemon, MON_DATA_HP); + maxHP = GetMonData(pokemon, MON_DATA_MAX_HP); + + PartyMenuDoPrintHP(monIndex, b, currentHP, maxHP); +} + +void PartyMenuTryPrintHP(u8 monIndex, struct Pokemon *pokemon) +{ + if (GetMonData(pokemon, MON_DATA_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + { + bool8 isLinkDoubleBattle = IsLinkDoubleBattle(); + if (isLinkDoubleBattle == TRUE) + { + PartyMenuPrintHP(monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon); + } + else + { + PartyMenuPrintHP(monIndex, IsDoubleBattle(), pokemon); + } + } +} + +void PartyMenuTryPrintMonsHP(void) +{ + u8 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + PartyMenuTryPrintHP(i, &gPlayerParty[i]); + } +} + +void unref_sub_806E564(void) { } +void unref_sub_806E568(void) { } +void nullsub_12(u8 monIndex, struct Pokemon *pokemon) { } +void nullsub_13(void) { } + +void PartyMenuDoDrawHPBar(u8 monIndex, u8 menuLayout, u16 currentHP, u16 maxHP) +{ + u8 hpBarLevel; + u16 *vramPtr; + int var = -32768; + struct BattleInterfaceStruct1 battleInterface; + battleInterface.unk0 = maxHP; + battleInterface.unk4 = currentHP; + battleInterface.unk8 = 0; + + hpBarLevel = GetHPBarLevel(currentHP, maxHP); + if (hpBarLevel > 2) + { + battleInterface.unkC_0 = 4; + } + if (hpBarLevel == 2) + { + battleInterface.unkC_0 = 5; + } + if (hpBarLevel < 2) + { + battleInterface.unkC_0 = 6; + } + + battleInterface.unk10 = 0x100; + + vramPtr = gUnknown_08376858[menuLayout][monIndex]; + sub_80460C8(&battleInterface, &var, vramPtr, 0); + + vramPtr -= 2; + + vramPtr[0] = 0x3109; + vramPtr[1] = 0x310A; + vramPtr[8] = 0x310B; +} + +void PartyMenuDrawHPBar(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon) +{ + u16 currentHP = GetMonData(pokemon, MON_DATA_HP); + u16 maxHP = GetMonData(pokemon, MON_DATA_MAX_HP); + + PartyMenuDoDrawHPBar(monIndex, menuLayout, currentHP, maxHP); +} + +void PartyMenuTryDrawHPBar(u8 monIndex, struct Pokemon *pokemon) +{ + if (GetMonData(pokemon, MON_DATA_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + { + bool8 isDoubleBattle = IsLinkDoubleBattle(); + if (isDoubleBattle == TRUE) + { + PartyMenuDrawHPBar(monIndex, PARTY_MENU_LAYOUT_LINK_DOUBLE_BATTLE, pokemon); + } + else + { + PartyMenuDrawHPBar(monIndex, IsDoubleBattle(), pokemon); + } + } +} + +void PartyMenuDrawHPBars(void) +{ + u8 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + PartyMenuTryDrawHPBar(i, &gPlayerParty[i]); + } +} + +void SwapPokemon(struct Pokemon *a, struct Pokemon *b) +{ + struct Pokemon temp = *a; + *a = *b; + *b = temp; +} + +void SetPartyPopupMenuOffsets(u8 menuIndex, u8 *left, u8 *top, const struct PartyPopupMenu *menu) +{ + u8 bottomOffset = (2 * menu[menuIndex].numChoices) + 2; + u8 rightOffset = menu[menuIndex].width + 1; + + *left = 30 - rightOffset; + *top = 20 - bottomOffset; +} + +void ShowPartyPopupMenu(u8 menuIndex, const struct PartyPopupMenu *menu, const struct MenuAction2 *menuActions, u8 cursorPos) +{ + u8 left; + u8 top; + + SetPartyPopupMenuOffsets(menuIndex, &left, &top, menu); + sub_8089C50(left, top, menu[menuIndex].width, menu[menuIndex].numChoices, menuActions, menu[menuIndex].items); + + InitMenu(0, left + 1, top + 1, menu[menuIndex].numChoices, cursorPos, menu[menuIndex].width - 1); +} + +void ClosePartyPopupMenu(u8 index, const struct PartyPopupMenu *menu) +{ + u8 left; + u8 top; + + SetPartyPopupMenuOffsets(index, &left, &top, menu); + + MenuZeroFillWindowRect(left, top, left + menu[index].width, menu[index].numChoices * 2 + top + 1); + HandleDestroyMenuCursors(); +} + +TaskFunc PartyMenuGetPopupMenuFunc(u8 menuIndex, const struct PartyPopupMenu *menus, const struct MenuAction2 *menuActions, u8 itemIndex) +{ + u8 action = menus[menuIndex].items[itemIndex]; + return menuActions[action].func; +} + +u8 sub_806E834(const u8 *message, u8 arg1) +{ + u8 taskId; + + gUnknown_0202E8F6 = 1; + + MenuDrawTextWindow(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); + MenuPrintMessage(message, WINDOW_LEFT + 1, 15); + + taskId = CreateTask(sub_806E884, 1); + gTasks[taskId].data[0] = arg1; + + return taskId; +} + +static void sub_806E884(u8 taskId) +{ + if (MenuUpdateWindowText()) + { + gUnknown_0202E8F6 = 0; + if (gTasks[taskId].data[0] == 0) + MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); + DestroyTask(taskId); + } +} + +void sub_806E8D0(u8 taskId, u16 b, TaskFunc c) +{ + ewram1C000.unk10 = c; + ewram1C000.unk4 = taskId; + ewram1C000.unk5 = sub_806CA38(taskId); + ewram1C000.unk6 = b; + ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; +} + +bool8 PartyMenuUpdateMonHeldItem(struct Pokemon *pkmn, u16 item) +{ + u8 itemData[2]; + + if (ItemIsMail(item) == TRUE) + { + if (GiveMailToMon(pkmn, item) == 0xFF) + return TRUE; + gUnknown_0202E8F4 = 2; + } + else + { + gUnknown_0202E8F4 = 1; + } + + itemData[0] = item; + itemData[1] = item >> 8; + SetMonData(pkmn, MON_DATA_HELD_ITEM, itemData); + return FALSE; +} + +void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c) +{ + u16 currentItem; + + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, newItem, c); + currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); + gUnknown_0202E8F4 = 0; + gUnknown_0202E8F8 = 0; + if (currentItem != 0) + { + if (ItemIsMail(currentItem) == TRUE) + { + sub_806E834(gOtherText_MailMustBeRemoved, 1); + CreateTask(party_menu_link_mon_held_item_object, 5); + } + else + { + GetMonNickname(ewram1C000.pokemon, gStringVar1); + CopyItemName(currentItem, gStringVar2); + StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyHolding); + sub_806E834(gStringVar4, 1); + CreateTask(Task_ConfirmGiveHeldItem, 5); + if (ItemIsMail(newItem) == TRUE) + gUnknown_0202E8F8 = currentItem; + } + } + else + { + PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, newItem); + RemoveBagItem(newItem, 1); + if (ItemIsMail(newItem)) + { + gTasks[taskId].func = c; + } + else + { + DisplayGiveHeldItemMessage(ewram1C000.unk5, newItem, 1); + CreateTask(party_menu_link_mon_held_item_object, 5); + } + } +} + +void party_menu_link_mon_held_item_object(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); + gTasks[ewram1C000.unk4].func = ewram1C000.unk10; + DestroyTask(taskId); + } +} + +void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId) +{ + s8 selection = ProcessMenuInputNoWrap_(); + + if (selection == 0) + { + u16 currentItem; + + MenuZeroFillWindowRect(23, 8, 29, 13); + currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); + RemoveBagItem(ewram1C000.unk6, 1); + if (AddBagItem(currentItem, 1) == TRUE) + { + PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.unk6); + if (ItemIsMail(ewram1C000.unk6)) + { + DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 1); + } + else + { + CopyItemName(ewram1C000.unk6, gStringVar1); + StringExpandPlaceholders(gStringVar4, gOtherText_TakenAndReplaced); + sub_806E834(gStringVar4, 1); + } + } + else + { + sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); + AddBagItem(ewram1C000.unk6, 1); + } + } + else + { + if (selection != 1 && selection != -1) + return; + if (selection == -1) + PlaySE(SE_SELECT); + MenuZeroFillWindowRect(23, 8, 29, 13); + } + gTasks[taskId].func = party_menu_link_mon_held_item_object; +} + +void Task_ConfirmGiveHeldItem(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + DisplayYesNoMenu(23, 8, 1); + gTasks[taskId].func = PartyMenuTryGiveMonHeldItem_806EACC; + } +} + +void DisplayGiveHeldItemMessage(u8 a, u16 b, u8 c) +{ + GetMonNickname(&gPlayerParty[a], gStringVar1); + CopyItemName(b, gStringVar2); + StringExpandPlaceholders(gStringVar4, gOtherText_WasGivenToHold); + sub_806E834(gStringVar4, c); +} + +void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func) +{ + u32 var1; + u16 currentItem; + struct MailStruct *mail; + + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, 0, func); + currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); + gUnknown_0202E8F4 = 0; + var1 = ewram1FE00.unkE00 + 6; + mail = &gSaveBlock1.mail[var1 + ewram1FE00.unkE02]; + + if (currentItem != 0) + { + sub_806E834(gOtherText_PokeHoldingItemCantMail, 1); + CreateTask(party_menu_link_mon_held_item_object, 5); + } + else + { + GiveMailToMon2(ewram1C000.pokemon, mail); + ClearMailStruct(mail); + sub_806E834(gOtherText_MailTransferredMailbox, 1); + CreateTask(party_menu_link_mon_held_item_object, 5); + } +} + +void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func) +{ + u16 currentItem; + + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, 0, func); + currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); + if (currentItem == 0) + { + StringExpandPlaceholders(gStringVar4, gOtherText_NotHoldingAnything); + sub_806E834(gStringVar4, 0); + CreateTask(party_menu_link_mon_held_item_object, 5); + } + else + { + u8 itemData[2]; + + itemData[0] = 0; + itemData[1] = 0; + if (AddBagItem(currentItem, 1) == TRUE) + { + if (ItemIsMail(currentItem) == TRUE) + TakeMailFromMon(ewram1C000.pokemon); + DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 0); + SetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM, itemData); + } + else + { + sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); + } + CreateTask(party_menu_link_mon_held_item_object, 5); + } +} + +void DisplayTakeHeldItemMessage(u8 a, u16 b, u8 c) +{ + GetMonNickname(&gPlayerParty[a], gStringVar1); + CopyItemName(b, gStringVar2); + StringExpandPlaceholders(gStringVar4, gOtherText_ReceivedTheThingFrom); + sub_806E834(gStringVar4, c); +} + +void DoTakeMail(u8 taskId, TaskFunc func) +{ + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, 0, func); + ewram1C000.unk6 = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); + sub_806E834(gOtherText_SendRemovedMailPrompt, 1); + CreateTask(Task_ConfirmTakeHeldMail, 5); +} + +void Task_LoseMailMessage(u8 taskId) +{ + s8 selection = ProcessMenuInputNoWrap_(); + + if (selection == 0) + { + if (AddBagItem(ewram1C000.unk6, 1) == TRUE) + { + TakeMailFromMon(ewram1C000.pokemon); + sub_806E834(gOtherText_MailTaken, 0); + } + else + { + sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); + } + MenuZeroFillWindowRect(23, 8, 29, 13); + gTasks[taskId].func = party_menu_link_mon_held_item_object; + } + else + { + if (selection != 1 && selection != -1) + return; + if (selection == -1) + PlaySE(SE_SELECT); + MenuZeroFillWindowRect(23, 8, 29, 13); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = party_menu_link_mon_held_item_object; + } +} + +void Task_ConfirmLoseMailMessage(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + DisplayYesNoMenu(23, 8, 1); + gTasks[taskId].func = Task_LoseMailMessage; + } +} + +void Task_TakeHeldMail(u8 taskId) +{ + s8 selection = ProcessMenuInputNoWrap_(); + + if (selection == 0) + { + MenuZeroFillWindowRect(23, 8, 29, 13); + if (TakeMailFromMon2(ewram1C000.pokemon) != 0xFF) + sub_806E834(gOtherText_MailWasSent, 0); + else + sub_806E834(gOtherText_MailboxIsFull, 0); + gTasks[taskId].func = party_menu_link_mon_held_item_object; + } + else + { + if (selection != 1 && selection != -1) + return; + if (selection == -1) + PlaySE(SE_SELECT); + MenuZeroFillWindowRect(23, 8, 29, 13); + sub_806E834(gOtherText_MailRemovedMessageLost, 1); + gTasks[taskId].func = Task_ConfirmLoseMailMessage; + } +} + +void Task_ConfirmTakeHeldMail(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + DisplayYesNoMenu(23, 8, 1); + gTasks[taskId].func = Task_TakeHeldMail; + } +} + +u16 ItemIdToBattleMoveId(u16 item) +{ + u16 machineNumber = item - ITEM_TM01; + return TMHMMoves[machineNumber]; +} + +bool8 pokemon_has_move(struct Pokemon *pkmn, u16 move) +{ + u8 i; + + for (i = 0; i < 4; i++) + { + if (GetMonData(pkmn, MON_DATA_MOVE1 + i) == move) + return TRUE; + } + return FALSE; +} + +void TeachMonTMMove(u8 taskId, u16 move, TaskFunc func) +{ + PlaySE(SE_SELECT); + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, move, func); + CreateTask(Task_TeamMonTMMove, 5); +} + +void Task_TeamMonTMMove(u8 taskId) +{ + GetMonNickname(ewram1C000.pokemon, gStringVar1); + ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.unk6); + StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); + ewram1B000.unk282 = 0; + if (pokemon_has_move(ewram1C000.pokemon, ewram1C000.unk8)) + { + StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyKnows); + sub_806E834(gStringVar4, 1); + gTasks[taskId].func = party_menu_link_mon_held_item_object; + } + else + { + if (!CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33)) + { + StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible); + sub_806E834(gStringVar4, 1); + gTasks[taskId].func = party_menu_link_mon_held_item_object; + } + else + { + if (GiveMoveToMon(ewram1C000.pokemon, ewram1C000.unk8) != 0xFFFF) + { + Task_TeamMonTMMove2(taskId); + } + else + { + StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn); + sub_806E834(gStringVar4, 1); + gTasks[taskId].func = sub_806F358; + } + } + } +} + +void Task_TeamMonTMMove2(u8 taskId) +{ + StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); + StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove); + sub_806E834(gStringVar4, 1); + AdjustFriendship(ewram1C000.pokemon, 4); + if (ewram1B000.unk282 == 0 && ewram1C000.unk6 <= 0x152) + RemoveBagItem(ewram1C000.unk6, 1); + gTasks[taskId].func = Task_TeamMonTMMove3; +} + +void Task_TeamMonTMMove3(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + PlayFanfare(BGM_FANFA1); + gTasks[taskId].func = Task_TeamMonTMMove4; + } +} + +void Task_TeamMonTMMove4(u8 taskId) +{ + if (IsFanfareTaskInactive()) + { + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); + if (ewram1B000.unk282 == 1) + { + TeachMonMoveInPartyMenu(taskId); + } + else + { + gTasks[ewram1C000.unk4].func = ewram1C000.unk10; + DestroyTask(taskId); + } + } + } +} + +void sub_806F2FC(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); + if (ewram1B000.unk282 == 1) + { + TeachMonMoveInPartyMenu(taskId); + } + else + { + gTasks[ewram1C000.unk4].func = ewram1C000.unk10; + DestroyTask(taskId); + } + } +} + +void sub_806F358(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + DisplayYesNoMenu(23, 8, 1); + gTasks[taskId].func = sub_806F390; + } +} + +void sub_806F390(u8 taskId) +{ + s8 selection = ProcessMenuInputNoWrap_(); + + if (selection == 0) + { + MenuZeroFillWindowRect(23, 8, 29, 13); + sub_806E834(gOtherText_WhichMoveToForget2, 1); + gTasks[taskId].func = sub_806F44C; + } + else + { + if (selection != 1 && selection != -1) + return; + if (selection == -1) + PlaySE(SE_SELECT); + StopTryingToTeachMove_806F614(taskId); + } +} + +void sub_806F3FC(u8 taskId) +{ + if (!gPaletteFade.active) + { + sub_809D9F0(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8); + DestroyTask(taskId); + } +} + +void sub_806F44C(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_806F3FC; + } +} + +void TaughtMove(u8 taskId) +{ + if (!gPaletteFade.active) + { + u8 moveIndex; + u16 r4; + + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, gScriptItemId, sub_808B508); + moveIndex = sub_809FA30(); + r4 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + moveIndex); + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[r4]); + StringExpandPlaceholders(gStringVar4, gOtherText_ForgetMove123_2); + sub_806E834(gStringVar4, 1); + CreateTask(TMMoveUpdateMoveSlot, 5); + } +} + +void TMMoveUpdateMoveSlot(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + RemoveMonPPBonus(ewram1C000.pokemon, sub_809FA30()); + SetMonMoveSlot(ewram1C000.pokemon, ewram1C000.unk8, sub_809FA30()); + Task_TeamMonTMMove2(taskId); + } +} + +void StopTryingToTeachMove_806F588(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, gScriptItemId, sub_808B508); + StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); + StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo); + sub_806E834(gStringVar4, 1); + CreateTask(StopTryingToTeachMove_806F67C, 5); + } +} + +void StopTryingToTeachMove_806F614(u8 taskId) +{ + MenuZeroFillWindowRect(23, 8, 29, 13); + StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); + StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo); + sub_806E834(gStringVar4, 1); + gTasks[taskId].func = StopTryingToTeachMove_806F67C; +} + +void StopTryingToTeachMove_806F67C(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + DisplayYesNoMenu(23, 8, 1); + gTasks[taskId].func = StopTryingToTeachMove_806F6B4; + } +} + +void StopTryingToTeachMove_806F6B4(u8 taskId) +{ + s8 selection = ProcessMenuInputNoWrap_(); + + if (selection == 0) + { + MenuZeroFillWindowRect(23, 8, 29, 13); + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); + StringExpandPlaceholders(gStringVar4, gOtherText_DidNotLearnMove2); + sub_806E834(gStringVar4, 1); + gTasks[taskId].func = sub_806F2FC; + } + else + { + if (selection != 1 && selection != -1) + return; + if (selection == -1) + PlaySE(SE_SELECT); + MenuZeroFillWindowRect(23, 8, 29, 13); + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); + StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn); + sub_806E834(gStringVar4, 1); + gTasks[taskId].func = sub_806F358; + } +} + +bool8 IsHMMove(u16 move) +{ + u8 i; + + for (i = 0; i < NUM_HIDDEN_MACHINES; i++) + { + if (TMHMMoves[NUM_TECHNICAL_MACHINES + i] == move) + return TRUE; + } + + return FALSE; +} + +s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c) +{ + s16 *taskData; + u8 hpBarLevel; + void *vramPtr; + + taskData = gTasks[taskId].data; + + b->unk0 = taskData[10]; + b->unk4 = taskData[11]; + b->unk8 = taskData[12] * c; + b->unk10 = 0x100; + hpBarLevel = GetHPBarLevel(ewram1B000.unk282, b->unk0); + if (hpBarLevel > 2) + b->unkC_0 = 4; + if (hpBarLevel == 2) + b->unkC_0 = 5; + if (hpBarLevel < 2) + b->unkC_0 = 6; + vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.unk5]; + return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0); +} + +void sub_806F8AC(u8 taskId) +{ + struct BattleInterfaceStruct1 sp0; + u16 sp14; + + ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, -1); + if (ewram1B000.unk282 == -1) + { + ewram1C000.unkC = 0; + if (-sp0.unk8 + sp0.unk4 > sp0.unk0) + sp14 = sp0.unk0 - sp0.unk4; + else + sp14 = -sp0.unk8; + gBattleMoveDamage = -sp14; + GetMonNickname(ewram1C000.pokemon, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, sp14, 0, 3); + if (gTasks[taskId].data[14] == 0) + StringExpandPlaceholders(gStringVar4, gOtherText_HPRestoredBy); + else + StringExpandPlaceholders(gStringVar4, gOtherText_RegainedHealth); + SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram1C000.unk5), ewram1C000.pokemon); + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 7); + ewram1B000.unk261 = 2; + sub_806E834(gStringVar4, 1); + sp14 += sp0.unk4; + SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14); + RemoveBagItem(ewram1C000.unk6, 1); + sub_8032638(); + gTasks[taskId].func = sub_806FB44; + } + else + { + PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); + } +} + +void sub_806FA18(u8 taskId) +{ + struct BattleInterfaceStruct1 sp0; + + ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, 1); + if (ewram1B000.unk282 == -1) + { + PlaySE(SE_KAIFUKU); + ewram1C000.unkC = 0; + gTasks[taskId].data[11] -= gTasks[taskId].data[12]; + SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]); + SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon); + ewram1C000.unk5 = gSprites[ewram01000.unk2].data0; + ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; + gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); + gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); + ewram1C000.unkC = -32768; + ewram1C000.unk14 = ewram1C000.unk10; + gTasks[taskId].func = sub_806F8AC; + ewram1B000.unk282 = gTasks[taskId].data[11]; + } + else + { + PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); + } +} + +void sub_806FB0C(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + gTasks[ewram1C000.unk4].func = ewram1C000.unk10; + DestroyTask(taskId); + } +} + +void sub_806FB44(u8 taskId) +{ + if (gUnknown_0202E8F6 == 0) + { + gTasks[ewram1C000.unk4].func = ewram1C000.unk14; + DestroyTask(taskId); + } +} + +bool8 IsHPRecoveryItem(u16 item) +{ + const u8 *itemEffect; + + if (item == ITEM_ENIGMA_BERRY) + itemEffect = gSaveBlock1.enigmaBerry.itemEffect; + else + itemEffect = gItemEffectTable[item - ITEM_POTION]; + + if (itemEffect[4] & 4) + return TRUE; + else + return FALSE; +} + +void PartyMenuUpdateLevelOrStatus(struct Pokemon *pkmn, u8 monIndex) +{ + PartyMenuClearLevelStatusTilemap(monIndex); + PartyMenuPrintMonLevelOrStatus(monIndex, pkmn); +} + +void GetMedicineItemEffectMessage(u16 item) +{ + switch (GetItemEffectType(item)) + { + case 3: + StringExpandPlaceholders(gStringVar4, gOtherText_CuredPoisoning); + break; + case 4: + StringExpandPlaceholders(gStringVar4, gOtherText_WokeUp); + break; + case 5: + StringExpandPlaceholders(gStringVar4, gOtherText_BurnHealed); + break; + case 6: + StringExpandPlaceholders(gStringVar4, gOtherText_ThawedOut); + break; + case 7: + StringExpandPlaceholders(gStringVar4, gOtherText_CuredParalysis); + break; + case 8: + StringExpandPlaceholders(gStringVar4, gOtherText_SnapConfusion); + break; + case 9: + StringExpandPlaceholders(gStringVar4, gOtherText_GotOverLove); + break; + case 11: + StringExpandPlaceholders(gStringVar4, gOtherText_BecameHealthy); + break; + case 13: + StringCopy(gStringVar2, gOtherText_Hp2); + StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); + break; + case 12: + StringCopy(gStringVar2, gOtherText_Attack); + StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); + break; + case 17: + StringCopy(gStringVar2, gOtherText_Defense); + StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); + break; + case 16: + StringCopy(gStringVar2, gOtherText_Speed); + StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); + break; + case 14: + StringCopy(gStringVar2, gOtherText_SpAtk2); + StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); + break; + case 15: + StringCopy(gStringVar2, gOtherText_SpDef2); + StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); + break; + case 19: + case 20: + StringExpandPlaceholders(gStringVar4, gOtherText_PPIncreased); + break; + case 21: + StringExpandPlaceholders(gStringVar4, gOtherText_PPRestored); + break; + default: + StringExpandPlaceholders(gStringVar4, gOtherText_WontHaveAnyEffect); + break; + } +} + +bool8 IsMedicineIneffective(struct Pokemon *pkmn, u16 item) +{ + if (GetItemEffectType(item) == 13 + && GetMonData(pkmn, MON_DATA_SPECIES) == SPECIES_SHEDINJA) + return TRUE; + else + return FALSE; +} + +bool8 ExecuteTableBasedItemEffect__(u8 a, u16 b, u8 c) +{ + if (gMain.inBattle) + return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, sub_8094C20(a), c); + else + return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, a, c); +} + +void UseMedicine(u8 taskId, u16 item, TaskFunc func) +{ + u8 r7; + bool8 r9 = FALSE; + bool8 r0; + + gTasks[taskId].func = TaskDummy; + r7 = CreateTask(TaskDummy, 5); + sub_806E8D0(taskId, item, func); + if (!IsMedicineIneffective(ewram1C000.pokemon, item)) + { + r9 = IsHPRecoveryItem(item); + if (r9 == TRUE) + { + gTasks[r7].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); + gTasks[r7].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); + if (gTasks[r7].data[10] == gTasks[r7].data[11]) + { + r9 = FALSE; + gTasks[r7].data[10] = 0; + gTasks[r7].data[11] = 0; + } + } + r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, item, 0); + } + else + { + r0 = TRUE; + } + + if (r0) + { + gUnknown_0202E8F4 = 0; + PlaySE(SE_SELECT); + sub_806E834(gOtherText_WontHaveAnyEffect, 1); + gTasks[r7].func = sub_806FB0C; + } + else + { + u8 statusAndPkrs; + + gUnknown_0202E8F4 = 1; + if (!IsBlueYellowRedFlute(item)) + PlaySE(SE_KAIFUKU); + else + PlaySE(SE_BIDORO); + statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon); + if (statusAndPkrs == 6 || statusAndPkrs == 0) + PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5); + if (r9 == TRUE) + { + gTasks[r7].data[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - gTasks[r7].data[11]; + ewram1C000.unkC = -32768; + if (gTasks[r7].data[11] == 0) + gTasks[r7].data[14] = 1; + else + gTasks[r7].data[14] = 0; + ewram1C000.unk14 = ewram1C000.unk10; + gTasks[r7].func = sub_806F8AC; + ewram1B000.unk282 = gTasks[r7].data[11]; + } + else + { + GetMonNickname(ewram1C000.pokemon, gStringVar1); + if (!IsBlueYellowRedFlute(item)) + RemoveBagItem(item, 1); + GetMedicineItemEffectMessage(item); + TryPrintPartyMenuMonNickname(ewram1C000.unk5, ewram1C000.pokemon); + sub_806E834(gStringVar4, 1); + gTasks[r7].func = sub_806FB0C; + } + } +} + +bool8 IsBlueYellowRedFlute(u16 item) +{ + if (item == 0x27 + || item == 0x29 + || item == 0x28) + return TRUE; + else + return FALSE; +} + +void sub_8070048(u8 taskId, u16 item, TaskFunc func) +{ + ewram1C000.unk10 = func; + ewram1C000.unk4 = taskId; + ewram1C000.unk6 = item; + ewram1C000.unk5 = 0; + ewram1C000.unk14 = sub_80701DC; + ewram1B000.unk27E = 0; + ewram1B000.unk280 = 0; + sub_8070088(taskId); +} + +void sub_8070088(u8 taskId) +{ + u8 taskId2; + + gTasks[taskId].func = TaskDummy; + if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) == 0) + { + gTasks[taskId].func = sub_80701DC; + } + else + { + s16 *taskData; + + taskId2 = CreateTask(TaskDummy, 5); + taskData = gTasks[taskId2].data; + ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; + taskData[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); + taskData[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); + if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, 0)) + { + DestroyTask(taskId2); + gTasks[taskId].func = sub_80701DC; + } + else + { + gUnknown_0202E8F4 = 1; + MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); + PlaySE(SE_KAIFUKU); + PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5); + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 9); + ewram1B000.unk261 = 2; + taskData[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - taskData[11]; + taskData[14] = 1; + ewram1B000.unk27E = 1; + ewram1B000.unk280 = 1; + ewram1B000.unk282 = taskData[11]; + ewram1C000.unkC = -32768; + gTasks[taskId2].func = sub_806F8AC; + } + } +} + +void sub_80701DC(u8 taskId) +{ + if (ewram1B000.unk27E == 1) + { + AddBagItem(ewram1C000.unk6, 1); + if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) != 0) + { + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 3); + ewram1B000.unk261 = 2; + } + ewram1B000.unk27E = 0; + } + ewram1C000.unk5++; + if (ewram1C000.unk5 == 6) + { + gUnknown_0202E8F4 = 0; + if (ewram1B000.unk280 == 0) + { + gTasks[taskId].func = TaskDummy; + sub_806E834(gOtherText_WontHaveAnyEffect, 1); + CreateTask(sub_806FB0C, 8); + } + else + { + RemoveBagItem(ewram1C000.unk6, 1); + gTasks[taskId].func = ewram1C000.unk10; + } + gLastFieldPokeMenuOpened = 0; + } + else + { + sub_8070088(taskId); + } +} + +void CreateItemUseMoveMenu(u8 partyMonIndex) +{ + u8 r6; + u8 i; + + r6 = 0; + MenuDrawTextWindow(19, 10, 29, 19); + for (i = 0; i < 4; i++) + { + u16 move = GetMonData(&gPlayerParty[partyMonIndex], MON_DATA_MOVE1 + i); + + MenuPrint(gMoveNames[move], 20, i * 2 + 11); + if (move != 0) + r6++; + } + InitMenu(0, 20, 11, r6, 0, 9); +} + +void Task_HandleItemUseMoveMenuInput(u8 taskId) +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + MoveMenuCursor(-1); + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + MoveMenuCursor(1); + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_08376B54[0](taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + gUnknown_08376B54[1](taskId); + } +} + +void DoPPRecoveryItemEffect(u8 taskId, u16 item, TaskFunc c) +{ + const u8 *itemEffect; + u8 taskId2; + + if (item == ITEM_ENIGMA_BERRY) + itemEffect = gSaveBlock1.enigmaBerry.itemEffect; + else + itemEffect = gItemEffectTable[item - ITEM_POTION]; + gTasks[taskId].func = TaskDummy; + taskId2 = CreateTask(TaskDummy, 5); + sub_806E8D0(taskId, item, c); + if (!(itemEffect[4] & 0x10)) + { + gTasks[taskId2].data[11] = 0; + DoRecoverPP(taskId2); + } + else + { + PlaySE(SE_SELECT); + PrintPartyMenuPromptText(10, 3); + CreateItemUseMoveMenu(ewram1C000.unk5); + gTasks[taskId2].func = Task_HandleItemUseMoveMenuInput; + gMain.newKeys = 0; + } +} + +void ItemUseMoveMenu_HandleMoveSelection(u8 taskId) +{ + HandleDestroyMenuCursors(); + MenuZeroFillWindowRect(19, 10, 29, 19); + sub_806D5A4(); + gTasks[taskId].data[11] = GetMenuCursorPos(); + DoRecoverPP(taskId); +} + +void ItemUseMoveMenu_HandleCancel(u8 taskId) +{ + HandleDestroyMenuCursors(); + MenuZeroFillWindowRect(19, 10, 29, 19); + if (gMain.inBattle) + gTasks[ewram1C000.unk4].func = HandleBattlePartyMenu; + else + gTasks[ewram1C000.unk4].func = sub_808B0C0; + PrintPartyMenuPromptText(3, 0); + DestroyTask(taskId); +} + +void DoRecoverPP(u8 taskId) +{ + u16 r5 = 0; + + if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, gTasks[taskId].data[11])) + { + gUnknown_0202E8F4 = r5; + PlaySE(SE_SELECT); + sub_806E834(gOtherText_WontHaveAnyEffect, 1); + } + else + { + gUnknown_0202E8F4 = 1; + PlaySE(SE_KAIFUKU); + RemoveBagItem(ewram1C000.unk6, 1); + r5 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + gTasks[taskId].data[11]); + StringCopy(gStringVar1, gMoveNames[r5]); + GetMedicineItemEffectMessage(ewram1C000.unk6); + sub_806E834(gStringVar4, 1); + } + gTasks[taskId].func = sub_806FB0C; +} + +void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c) +{ + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, b, c); + PlaySE(SE_SELECT); + PrintPartyMenuPromptText(11, 3); + CreateItemUseMoveMenu(ewram1C000.unk5); + CreateTask(Task_HandleItemUseMoveMenuInput, 5); + gMain.newKeys = 0; +} + +void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c) +{ + u8 i; + bool8 r0; + + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, b, c); + + if (GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL) != 100) + { + for (i = 0; i < 6; i++) + ewram1B000.statGrowths[i] = GetMonData(ewram1C000.pokemon, StatDataTypes[i]); + r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, b, 0); + } + else + r0 = TRUE; + + if (r0) + { + gUnknown_0202E8F4 = 0; + PlaySE(SE_SELECT); + sub_806E834(gOtherText_WontHaveAnyEffect, 1); + CreateTask(sub_806FB0C, 5); + } + else + { + u8 level; + + gUnknown_0202E8F4 = 1; + PlayFanfareByFanfareNum(0); + RedrawPokemonInfoInMenu(ewram1C000.unk5, ewram1C000.pokemon); + RemoveBagItem(b, 1); + GetMonNickname(ewram1C000.pokemon, gStringVar1); + level = GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL); + ConvertIntToDecimalStringN(gStringVar2, level, 0, 3); + StringExpandPlaceholders(gStringVar4, gOtherText_ElevatedTo); + sub_806E834(gStringVar4, 1); + CreateTask(Task_RareCandy1, 5); + } +} + +void Task_RareCandy1(u8 taskId) +{ + if (WaitFanfare(0) && gUnknown_0202E8F6 == 0) + { + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + PlaySE(SE_SELECT); + PrintStatGrowthsInLevelUpWindow(taskId); + gTasks[taskId].func = Task_RareCandy2; + } + } +} + +void Task_RareCandy2(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + PlaySE(SE_SELECT); + PrintNewStatsInLevelUpWindow(taskId); + gTasks[taskId].func = Task_RareCandy3; + } +} + +#if ENGLISH +void PrintStatGrowthsInLevelUpWindow(u8 taskId) +{ + u8 i; + + MenuDrawTextWindow(11, 0, 29, 7); + + for (i = 0; i < NUM_STATS; i++) + { + u8 x; + u8 y; + u32 stat; + + stat = GetMonData(ewram1C000.pokemon, StatDataTypes[i]); + + ewram1B000.statGrowths[i + NUM_STATS] = stat; + ewram1B000.statGrowths[i] = stat - ewram1B000.statGrowths[i]; + + x = (i / 3) * 9 + 11; + y = ((i % 3) << 1) + 1; + + MenuPrint_PixelCoords(StatNames[i], (x + 1) * 8, y * 8, 1); + + if (i == 2) + MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 0); + else + MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 1); + + gStringVar1[0] = EXT_CTRL_CODE_BEGIN; + gStringVar1[1] = 0x14; + gStringVar1[2] = 0x06; + + ConvertIntToDecimalStringN(gStringVar1 + 3, ewram1B000.statGrowths[i], 1, 2); + + MenuPrint_PixelCoords(gStringVar1, (x + 6) * 8 + 12, y * 8, 0); + } +} +#elif GERMAN +__attribute__((naked)) +void PrintStatGrowthsInLevelUpWindow(u8 taskId) { + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + movs r0, 0xB\n\ + movs r1, 0\n\ + movs r2, 0x1D\n\ + movs r3, 0x7\n\ + bl MenuDrawTextWindow\n\ + movs r7, 0\n\ + ldr r0, _0807092C @ =gStringVar1\n\ + mov r10, r0\n\ + movs r1, 0xFC\n\ + mov r9, r1\n\ + movs r2, 0x13\n\ + mov r8, r2\n\ +_0807086C:\n\ + ldr r1, _08070930 @ =0x0201c000\n\ + ldr r0, [r1]\n\ + ldr r1, _08070934 @ =StatDataTypes\n\ + adds r1, r7, r1\n\ + ldrb r1, [r1]\n\ + bl GetMonData\n\ + adds r1, r7, 0x6\n\ + lsls r1, 1\n\ + ldr r2, _08070938 @ =0x0201b264\n\ + adds r1, r2, r1\n\ + strh r0, [r1]\n\ + lsls r6, r7, 1\n\ + adds r6, r2, r6\n\ + ldrh r1, [r6]\n\ + subs r0, r1\n\ + strh r0, [r6]\n\ + adds r0, r7, 0\n\ + movs r1, 0x3\n\ + bl __udivsi3\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r4, r0, 3\n\ + adds r4, r0\n\ + adds r4, 0xB\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + adds r0, r7, 0\n\ + movs r1, 0x3\n\ + bl __umodsi3\n\ + adds r5, r0, 0\n\ + lsls r5, 1\n\ + adds r5, 0x1\n\ + lsls r5, 24\n\ + lsrs r5, 24\n\ + ldr r1, _0807093C @ =StatNames\n\ + lsls r0, r7, 2\n\ + adds r0, r1\n\ + ldr r1, [r0]\n\ + mov r0, r10\n\ + bl StringCopy\n\ + adds r2, r0, 0\n\ + mov r0, r9\n\ + strb r0, [r2]\n\ + adds r2, 0x1\n\ + mov r1, r8\n\ + strb r1, [r2]\n\ + adds r2, 0x1\n\ + movs r0, 0x2E\n\ + strb r0, [r2]\n\ + adds r2, 0x1\n\ + adds r0, r2, 0\n\ + ldr r1, _08070940 @ =gOtherText_TallPlusAndRightArrow\n\ + bl StringCopy\n\ + adds r2, r0, 0\n\ + mov r0, r9\n\ + strb r0, [r2]\n\ + adds r2, 0x1\n\ + mov r1, r8\n\ + strb r1, [r2]\n\ + adds r2, 0x1\n\ + movs r0, 0x34\n\ + strb r0, [r2]\n\ + adds r2, 0x1\n\ + movs r0, 0\n\ + ldrsh r1, [r6, r0]\n\ + adds r0, r2, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x2\n\ + bl ConvertIntToDecimalStringN\n\ + adds r4, 0x1\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + mov r0, r10\n\ + adds r1, r4, 0\n\ + adds r2, r5, 0\n\ + bl MenuPrint\n\ + adds r0, r7, 0x1\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + cmp r7, 0x5\n\ + bls _0807086C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0807092C: .4byte gStringVar1\n\ +_08070930: .4byte 0x0201c000\n\ +_08070934: .4byte StatDataTypes\n\ +_08070938: .4byte 0x0201b264\n\ +_0807093C: .4byte StatNames\n\ +_08070940: .4byte gOtherText_TallPlusAndRightArrow\n\ + .syntax divided\n"); +} +#endif + +void PrintNewStatsInLevelUpWindow(u8 taskId) +{ + u8 i; + + for (i = 0; i < NUM_STATS; i++) + { + u8 x; + u8 y; + u32 stat; + u32 newStatIndex; + + stat = GetMonData(ewram1C000.pokemon, StatDataTypes[i]); + newStatIndex = i + 6; + ewram1B000.statGrowths[newStatIndex] = stat; + + x = ((i / 3) * 9) + 11; + y = ((i % 3) << 1) + 1; + + gStringVar1[0] = EXT_CTRL_CODE_BEGIN; + gStringVar1[1] = 0x14; + gStringVar1[2] = 0x06; + + ConvertIntToDecimalStringN(gStringVar1 + 3, ewram1B000.statGrowths[newStatIndex], 1, 3); + MenuPrint_PixelCoords(gStringVar1, (x + 6) * 8 + 6, y * 8, 0); + } +} + +void RedrawPokemonInfoInMenu(u8 monIndex, struct Pokemon *pokemon) +{ + u8 statusAndPkrs; + bool8 isDoubleBattle; + u16 currentHP; + u16 maxHP; + u8 icon; + + statusAndPkrs = GetMonStatusAndPokerus(pokemon); + if (statusAndPkrs == 0 || statusAndPkrs == 6) + { + PartyMenuUpdateLevelOrStatus(pokemon, monIndex); + } + + isDoubleBattle = IsDoubleBattle(); + + currentHP = GetMonData(pokemon, MON_DATA_HP); + maxHP = GetMonData(pokemon, MON_DATA_MAX_HP); + + PartyMenuDoPrintHP(monIndex, isDoubleBattle, currentHP, maxHP); + PartyMenuTryDrawHPBar(monIndex, pokemon); + + icon = GetMonIconSpriteId(ewram1C000.unk4, monIndex); + SetMonIconAnim(icon, pokemon); + + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + monIndex * 2], 7); + ewram1B000.unk261 = 2; +} + +void Task_RareCandy3(u8 taskId) +{ + if (WaitFanfare(0)) + { + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + u16 learnedMove; + u16 evolutionSpecies; + + MenuZeroFillWindowRect(11, 0, 29, 7); + + learnedMove = MonTryLearningNewMove(ewram1C000.pokemon, TRUE); + ewram1B000.unk282 = 1; + + switch (learnedMove) + { + case 0: + // No move is learned. + evolutionSpecies = GetEvolutionTargetSpecies(ewram1C000.pokemon, 0, 0); + if (evolutionSpecies != 0) + { + gCB2_AfterEvolution = sub_80A53F8; + BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5); + DestroyTask(taskId); + } + else + { + sub_8070D90(taskId); + } + break; + case 0xFFFF: + // Mon already knows 4 moves. + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[gMoveToLearn]); + + StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn); + sub_806E834(gStringVar4, 1); + + ewram1C000.unk8 = gMoveToLearn; + gTasks[taskId].func = sub_806F358; + break; + case 0xFFFE: + // Move was already known by the mon. + gTasks[taskId].func = TeachMonMoveInPartyMenu; + break; + default: + // Mon automatically learned a move because it knew less than four moves. + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[learnedMove]); + + StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove); + sub_806E834(gStringVar4, 1); + + gTasks[taskId].func = Task_TeamMonTMMove3; + break; + } + } + } +} + +void TeachMonMoveInPartyMenu(u8 taskId) +{ + u16 learnedMove; + u16 evolutionSpecies; + + learnedMove = MonTryLearningNewMove(ewram1C000.pokemon, FALSE); + switch (learnedMove) + { + case 0: + // No move is learned. + evolutionSpecies = GetEvolutionTargetSpecies(ewram1C000.pokemon, 0, 0); + if (evolutionSpecies != 0) + { + gCB2_AfterEvolution = sub_80A53F8; + BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5); + DestroyTask(taskId); + } + else + { + sub_8070D90(taskId); + } + break; + case 0xFFFF: + // Mon already knows 4 moves. + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[gMoveToLearn]); + + StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn); + sub_806E834(gStringVar4, 1); + + ewram1C000.unk8 = gMoveToLearn; + gTasks[taskId].func = sub_806F358; + break; + case 0xFFFE: + // Move was already known by the mon. Go on the the next move to be learned. + TeachMonMoveInPartyMenu(taskId); + break; + default: + // Mon automatically learned a move because it knew less than four moves. + GetMonNickname(ewram1C000.pokemon, gStringVar1); + StringCopy(gStringVar2, gMoveNames[learnedMove]); + + StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove); + sub_806E834(gStringVar4, 1); + + gTasks[taskId].func = Task_TeamMonTMMove3; + break; + } +} + +static void sub_8070D90(u8 taskId) +{ + gTasks[ewram1C000.unk4].func = ewram1C000.unk10; + DestroyTask(taskId); +} + +void DoEvolutionStoneItemEffect(u8 taskId, u16 evolutionStoneItem, TaskFunc c) +{ + PlaySE(SE_SELECT); + + gTasks[taskId].func = TaskDummy; + sub_806E8D0(taskId, evolutionStoneItem, c); + + gCB2_AfterEvolution = sub_80A53F8; + + if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, evolutionStoneItem, 0)) + { + gUnknown_0202E8F4 = 0; + sub_806E834(gOtherText_WontHaveAnyEffect, 1); + + CreateTask(sub_806FB0C, 5); + } + else + { + RemoveBagItem(evolutionStoneItem, 1); + } +} + +#ifdef NONMATCHING +u8 GetItemEffectType(u16 item) +{ + const u8 *itemEffect; + register u8 itemEffect0 asm("r1"); + u8 mask; + + // Read the item's effect properties. + if (item == ITEM_ENIGMA_BERRY) + { + itemEffect = gSaveBlock1.enigmaBerry.itemEffect; + } + else + { + itemEffect = gItemEffectTable[item - ITEM_POTION]; + } + + itemEffect0 = itemEffect[0]; + mask = 0x3F; + + if ((itemEffect0 & mask) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & 0x80)) + { + return 0; + } + else if (itemEffect0 & 0x40) + { + return 10; + } + else if (itemEffect[3] & 0x40) + { + return 1; + } + else if ((itemEffect[3] & mask) || (itemEffect0 >> 7)) + { + if ((itemEffect[3] & mask) == 0x20) + { + return 4; + } + else if ((itemEffect[3] & mask) == 0x10) + { + return 3; + } + else if ((itemEffect[3] & mask) == 0x8) + { + return 5; + } + else if ((itemEffect[3] & mask) == 0x4) + { + return 6; + } + else if ((itemEffect[3] & mask) == 0x2) + { + return 7; + } + else if ((itemEffect[3] & mask) == 0x1) + { + return 8; + } + else if ((itemEffect0 >> 7) != 0 && (itemEffect[3] & mask) == 0) + { + return 9; + } + else + { + return 11; + } + } + else if (itemEffect[4] & 0x44) + { + return 2; + } + else if (itemEffect[4] & 0x2) + { + return 12; + } + else if (itemEffect[4] & 0x1) + { + return 13; + } + else if (itemEffect[5] & 0x8) + { + return 14; + } + else if (itemEffect[5] & 0x4) + { + return 15; + } + else if (itemEffect[5] & 0x2) + { + return 16; + } + else if (itemEffect[5] & 0x1) + { + return 17; + } + else if (itemEffect[4] & 0x80) + { + return 18; + } + else if (itemEffect[4] & 0x20) + { + return 19; + } + else if (itemEffect[5] & 0x10) + { + return 20; + } + else if (itemEffect[4] & 0x18) + { + return 21; + } + else + { + return 22; + } +} +#else +__attribute__((naked)) +u8 GetItemEffectType(u16 item) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0xAF\n\ + bne _08070E5C\n\ + ldr r4, _08070E58 @ =gSaveBlock1 + 0x3676\n\ + b _08070E66\n\ + .align 2, 0\n\ +_08070E58: .4byte gSaveBlock1 + 0x3676\n\ +_08070E5C:\n\ + ldr r1, _08070E8C @ =gItemEffectTable\n\ + subs r0, 0xD\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldr r4, [r0]\n\ +_08070E66:\n\ + ldrb r1, [r4]\n\ + movs r5, 0x3F\n\ + adds r0, r5, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _08070E88\n\ + ldrb r0, [r4, 0x1]\n\ + cmp r0, 0\n\ + bne _08070E88\n\ + ldrb r0, [r4, 0x2]\n\ + cmp r0, 0\n\ + bne _08070E88\n\ + ldrb r3, [r4, 0x3]\n\ + movs r0, 0x80\n\ + ands r0, r3\n\ + cmp r0, 0\n\ + beq _08070E90\n\ +_08070E88:\n\ + movs r0, 0\n\ + b _08070F8A\n\ + .align 2, 0\n\ +_08070E8C: .4byte gItemEffectTable\n\ +_08070E90:\n\ + movs r2, 0x40\n\ + adds r0, r2, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08070E9E\n\ + movs r0, 0xA\n\ + b _08070F8A\n\ +_08070E9E:\n\ + adds r0, r2, 0\n\ + ands r0, r3\n\ + cmp r0, 0\n\ + beq _08070EAA\n\ + movs r0, 0x1\n\ + b _08070F8A\n\ +_08070EAA:\n\ + adds r2, r5, 0\n\ + ands r2, r3\n\ + cmp r2, 0\n\ + bne _08070EB8\n\ + lsrs r0, r1, 7\n\ + cmp r0, 0\n\ + beq _08070EFA\n\ +_08070EB8:\n\ + cmp r2, 0x20\n\ + bne _08070EC0\n\ + movs r0, 0x4\n\ + b _08070F8A\n\ +_08070EC0:\n\ + cmp r2, 0x10\n\ + bne _08070EC8\n\ + movs r0, 0x3\n\ + b _08070F8A\n\ +_08070EC8:\n\ + cmp r2, 0x8\n\ + bne _08070ED0\n\ + movs r0, 0x5\n\ + b _08070F8A\n\ +_08070ED0:\n\ + cmp r2, 0x4\n\ + bne _08070ED8\n\ + movs r0, 0x6\n\ + b _08070F8A\n\ +_08070ED8:\n\ + cmp r2, 0x2\n\ + bne _08070EE0\n\ + movs r0, 0x7\n\ + b _08070F8A\n\ +_08070EE0:\n\ + cmp r2, 0x1\n\ + bne _08070EE8\n\ + movs r0, 0x8\n\ + b _08070F8A\n\ +_08070EE8:\n\ + lsrs r0, r1, 7\n\ + cmp r0, 0\n\ + beq _08070EF6\n\ + cmp r2, 0\n\ + bne _08070EF6\n\ + movs r0, 0x9\n\ + b _08070F8A\n\ +_08070EF6:\n\ + movs r0, 0xB\n\ + b _08070F8A\n\ +_08070EFA:\n\ + ldrb r1, [r4, 0x4]\n\ + movs r0, 0x44\n\ + ands r0, r1\n\ + adds r2, r1, 0\n\ + cmp r0, 0\n\ + beq _08070F0A\n\ + movs r0, 0x2\n\ + b _08070F8A\n\ +_08070F0A:\n\ + movs r5, 0x2\n\ + adds r0, r5, 0\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _08070F18\n\ + movs r0, 0xC\n\ + b _08070F8A\n\ +_08070F18:\n\ + movs r3, 0x1\n\ + adds r0, r3, 0\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _08070F26\n\ + movs r0, 0xD\n\ + b _08070F8A\n\ +_08070F26:\n\ + ldrb r1, [r4, 0x5]\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08070F34\n\ + movs r0, 0xE\n\ + b _08070F8A\n\ +_08070F34:\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08070F40\n\ + movs r0, 0xF\n\ + b _08070F8A\n\ +_08070F40:\n\ + adds r0, r5, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08070F4C\n\ + movs r0, 0x10\n\ + b _08070F8A\n\ +_08070F4C:\n\ + adds r0, r3, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08070F58\n\ + movs r0, 0x11\n\ + b _08070F8A\n\ +_08070F58:\n\ + movs r0, 0x80\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _08070F64\n\ + movs r0, 0x12\n\ + b _08070F8A\n\ +_08070F64:\n\ + movs r0, 0x20\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _08070F70\n\ + movs r0, 0x13\n\ + b _08070F8A\n\ +_08070F70:\n\ + movs r0, 0x10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08070F7C\n\ + movs r0, 0x14\n\ + b _08070F8A\n\ +_08070F7C:\n\ + movs r0, 0x18\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + bne _08070F88\n\ + movs r0, 0x16\n\ + b _08070F8A\n\ +_08070F88:\n\ + movs r0, 0x15\n\ +_08070F8A:\n\ + pop {r4,r5}\n\ + pop {r1}\n\ + bx r1\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +void unref_sub_8070F90(void) +{ + FlagSet(SYS_POKEDEX_GET); + FlagSet(SYS_POKEMON_GET); + FlagSet(SYS_POKENAV_GET); +} diff --git a/src/player_pc.c b/src/field/player_pc.c index 83e6dd221..d01829266 100644 --- a/src/player_pc.c +++ b/src/field/player_pc.c @@ -32,7 +32,7 @@ extern u8 sub_807D770(void); extern void sub_808B020(void); extern void sub_80F944C(void); -static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL; +static EWRAM_DATA const u8 *gPcItemMenuOptionOrder = NULL; static u8 gPcItemMenuOptionsNum; @@ -211,14 +211,14 @@ void NewGameInitPCItems(void) void BedroomPC(void) { - gPcItemMenuOptionOrder = (u8 *)gBedroomPC_OptionOrder; + gPcItemMenuOptionOrder = gBedroomPC_OptionOrder; gPcItemMenuOptionsNum = 4; DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); } void PlayerPC(void) { - gPcItemMenuOptionOrder = (u8 *)gPlayerPC_OptionOrder; + gPcItemMenuOptionOrder = gPlayerPC_OptionOrder; gPcItemMenuOptionsNum = 3; DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); } @@ -1064,7 +1064,7 @@ static void Mailbox_DrawMailList(u8 taskId) // taskId is unused if(i != mailbox->count) { - StringCopy(gStringVar1, (u8 *)gSaveBlock1.mail[i + 6].playerName); + StringCopy(gStringVar1, gSaveBlock1.mail[i + 6].playerName); SanitizeNameString(gStringVar1); MenuPrint(gStringVar1, 0x15, yCoord + 2); } diff --git a/src/pokeblock.c b/src/field/pokeblock.c index d69c41639..2ee1a23ae 100644 --- a/src/pokeblock.c +++ b/src/field/pokeblock.c @@ -1,5 +1,5 @@ // -// Created by scott on 6/27/2017. + // #include "global.h" @@ -374,11 +374,11 @@ static bool8 sub_810B998(void) switch (ewram[0x1ffff]) { case 0: - LZDecompressVram(gMenuPokeblock_Gfx, (u8 *)BG_CHAR_ADDR(2)); + LZDecompressVram(gMenuPokeblock_Gfx, BG_CHAR_ADDR(2)); ewram[0x1ffff]++; break; case 1: - sub_800D238(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]); + LZDecompressWram(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]); ewram[0x1ffff]++; break; case 2: diff --git a/src/pokenav.c b/src/field/pokenav.c index 84ed7b14b..21d7bb4e3 100644 --- a/src/pokenav.c +++ b/src/field/pokenav.c @@ -38,3 +38,5 @@ void sub_80F700C(u8 *arg0, u16 arg1) { ptr[2] = 0x80; ptr[3] = 0xFF; } + +IWRAM_DATA MainCallback gUnknown_03000744; diff --git a/src/region_map.c b/src/field/region_map.c index 900c9ad71..bfd2729c2 100644 --- a/src/region_map.c +++ b/src/field/region_map.c @@ -140,12 +140,12 @@ static const u16 sRegionMapBkgnd_Pal[] = INCBIN_U16("graphics/pokenav/region_map static const u8 sRegionMapBkgnd_ImageLZ[] = INCBIN_U8("graphics/pokenav/region_map.8bpp.lz"); static const u8 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U8("graphics/pokenav/region_map_map.bin.lz"); -#include "data/region_map_layout.h" +#include "../data/region_map_layout.h" #if ENGLISH -#include "data/region_map_names_en.h" +#include "../data/region_map_names_en.h" #elif GERMAN -#include "data/region_map_names_de.h" +#include "../data/region_map_names_de.h" #endif struct RegionMapLocation diff --git a/src/roamer.c b/src/field/roamer.c index 948828d5e..c45c87601 100644 --- a/src/roamer.c +++ b/src/field/roamer.c @@ -173,13 +173,13 @@ void CreateRoamerMonInstance(void) struct Pokemon *mon = &gEnemyParty[0]; struct Roamer *roamer = &gSaveBlock1.roamer; CreateMonWithIVsPersonality(mon, roamer->species, roamer->level, roamer->ivs, roamer->personality); - SetMonData(mon, MON_DATA_STATUS, (u8 *)&roamer->status); - SetMonData(mon, MON_DATA_HP, (u8 *)&roamer->hp); - SetMonData(mon, MON_DATA_COOL, (u8 *)&roamer->cool); - SetMonData(mon, MON_DATA_BEAUTY, (u8 *)&roamer->beauty); - SetMonData(mon, MON_DATA_CUTE, (u8 *)&roamer->cute); - SetMonData(mon, MON_DATA_SMART, (u8 *)&roamer->smart); - SetMonData(mon, MON_DATA_TOUGH, (u8 *)&roamer->tough); + SetMonData(mon, MON_DATA_STATUS, &roamer->status); + SetMonData(mon, MON_DATA_HP, &roamer->hp); + SetMonData(mon, MON_DATA_COOL, &roamer->cool); + SetMonData(mon, MON_DATA_BEAUTY, &roamer->beauty); + SetMonData(mon, MON_DATA_CUTE, &roamer->cute); + SetMonData(mon, MON_DATA_SMART, &roamer->smart); + SetMonData(mon, MON_DATA_TOUGH, &roamer->tough); } bool8 TryStartRoamerEncounter(void) diff --git a/src/rotating_gate.c b/src/field/rotating_gate.c index e8ab7e1bf..e8ab7e1bf 100644 --- a/src/rotating_gate.c +++ b/src/field/rotating_gate.c diff --git a/src/safari_zone.c b/src/field/safari_zone.c index 14fd1ddc4..14fd1ddc4 100644 --- a/src/safari_zone.c +++ b/src/field/safari_zone.c diff --git a/src/scrcmd.c b/src/field/scrcmd.c index 31a90158a..28584d4d0 100644 --- a/src/scrcmd.c +++ b/src/field/scrcmd.c @@ -91,12 +91,12 @@ static u8 * const sScriptStringVars[] = gStringVar3, }; -bool8 ScrCmd_snop(struct ScriptContext *ctx) +bool8 ScrCmd_nop(struct ScriptContext *ctx) { return FALSE; } -bool8 ScrCmd_snop1(struct ScriptContext *ctx) +bool8 ScrCmd_nop1(struct ScriptContext *ctx) { return FALSE; } @@ -107,9 +107,10 @@ bool8 ScrCmd_end(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_jumpasm(struct ScriptContext *ctx) +bool8 ScrCmd_gotonative(struct ScriptContext *ctx) { bool8 (*addr)(void) = (bool8 (*)(void))ScriptReadWord(ctx); + SetupNativeScript(ctx, addr); return TRUE; } @@ -117,20 +118,23 @@ bool8 ScrCmd_jumpasm(struct ScriptContext *ctx) bool8 ScrCmd_special(struct ScriptContext *ctx) { u16 index = ScriptReadHalfword(ctx); + gSpecials[index](); return FALSE; } -bool8 ScrCmd_specialval(struct ScriptContext *ctx) +bool8 ScrCmd_specialvar(struct ScriptContext *ctx) { u16 *var = GetVarPointer(ScriptReadHalfword(ctx)); + *var = gSpecials[ScriptReadHalfword(ctx)](); return FALSE; } -bool8 ScrCmd_callasm(struct ScriptContext *ctx) +bool8 ScrCmd_callnative(struct ScriptContext *ctx) { NativeFunc func = (NativeFunc)ScriptReadWord(ctx); + func(); return FALSE; } @@ -141,9 +145,10 @@ bool8 ScrCmd_waitstate(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_jump(struct ScriptContext *ctx) +bool8 ScrCmd_goto(struct ScriptContext *ctx) { u8 *ptr = (u8 *)ScriptReadWord(ctx); + ScriptJump(ctx, ptr); return FALSE; } @@ -156,25 +161,27 @@ bool8 ScrCmd_return(struct ScriptContext *ctx) bool8 ScrCmd_call(struct ScriptContext *ctx) { - u8 *ptr = (u8 *)ScriptReadWord(ctx); + ScriptCall(ctx, ptr); return FALSE; } -bool8 ScrCmd_jumpif(struct ScriptContext *ctx) +bool8 ScrCmd_goto_if(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); u8 *ptr = (u8 *)ScriptReadWord(ctx); + if (sScriptConditionTable[condition][ctx->comparisonResult] == 1) ScriptJump(ctx, ptr); return FALSE; } -bool8 ScrCmd_callif(struct ScriptContext *ctx) +bool8 ScrCmd_call_if(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); u8 *ptr = (u8 *)ScriptReadWord(ctx); + if (sScriptConditionTable[condition][ctx->comparisonResult] == 1) ScriptCall(ctx, ptr); return FALSE; @@ -184,13 +191,15 @@ bool8 ScrCmd_setvaddress(struct ScriptContext *ctx) { u32 addr1 = (u32)ctx->scriptPtr - 1; u32 addr2 = ScriptReadWord(ctx); + gUnknown_0202E8B0 = addr2 - addr1; return FALSE; } -bool8 ScrCmd_vjump(struct ScriptContext *ctx) +bool8 ScrCmd_vgoto(struct ScriptContext *ctx) { u32 addr = ScriptReadWord(ctx); + ScriptJump(ctx, (u8 *)(addr - gUnknown_0202E8B0)); return FALSE; } @@ -198,32 +207,36 @@ bool8 ScrCmd_vjump(struct ScriptContext *ctx) bool8 ScrCmd_vcall(struct ScriptContext *ctx) { u32 addr = ScriptReadWord(ctx); + ScriptCall(ctx, (u8 *)(addr - gUnknown_0202E8B0)); return FALSE; } -bool8 ScrCmd_if5(struct ScriptContext *ctx) +bool8 ScrCmd_vgoto_if(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gUnknown_0202E8B0); + if (sScriptConditionTable[condition][ctx->comparisonResult] == 1) ScriptJump(ctx, ptr); return FALSE; } -bool8 ScrCmd_if6(struct ScriptContext *ctx) +bool8 ScrCmd_vcall_if(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gUnknown_0202E8B0); + if (sScriptConditionTable[condition][ctx->comparisonResult] == 1) ScriptCall(ctx, ptr); return FALSE; } -bool8 ScrCmd_jumpstd(struct ScriptContext *ctx) +bool8 ScrCmd_gotostd(struct ScriptContext *ctx) { u8 index = ScriptReadByte(ctx); u8 **ptr = &gStdScripts[index]; + if (ptr < gStdScripts_End) ScriptJump(ctx, *ptr); return FALSE; @@ -233,15 +246,17 @@ bool8 ScrCmd_callstd(struct ScriptContext *ctx) { u8 index = ScriptReadByte(ctx); u8 **ptr = &gStdScripts[index]; + if (ptr < gStdScripts_End) ScriptCall(ctx, *ptr); return FALSE; } -bool8 ScrCmd_jumpstdif(struct ScriptContext *ctx) +bool8 ScrCmd_gotostd_if(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); u8 index = ScriptReadByte(ctx); + if (sScriptConditionTable[condition][ctx->comparisonResult] == 1) { u8 **ptr = &gStdScripts[index]; @@ -251,10 +266,11 @@ bool8 ScrCmd_jumpstdif(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_callstdif(struct ScriptContext *ctx) +bool8 ScrCmd_callstd_if(struct ScriptContext *ctx) { u8 condition = ScriptReadByte(ctx); u8 index = ScriptReadByte(ctx); + if (sScriptConditionTable[condition][ctx->comparisonResult] == 1) { u8 **ptr = &gStdScripts[index]; @@ -264,50 +280,55 @@ bool8 ScrCmd_callstdif(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_jumpram(struct ScriptContext *ctx) +bool8 ScrCmd_gotoram(struct ScriptContext *ctx) { ScriptJump(ctx, (u8 *)gUnknown_0202E8AC); return FALSE; } -bool8 ScrCmd_die(struct ScriptContext *ctx) +bool8 ScrCmd_killscript(struct ScriptContext *ctx) { ClearRamScript(); StopScript(ctx); return TRUE; } -bool8 ScrCmd_setbyte(struct ScriptContext *ctx) +bool8 ScrCmd_setmysteryeventstatus(struct ScriptContext *ctx) { u8 value = ScriptReadByte(ctx); + SetMysteryEventScriptStatus(value); return FALSE; } -bool8 ScrCmd_loadptr(struct ScriptContext *ctx) +bool8 ScrCmd_loadword(struct ScriptContext *ctx) { u8 index = ScriptReadByte(ctx); + ctx->data[index] = ScriptReadWord(ctx); return FALSE; } -bool8 ScrCmd_loadbytefrompointer(struct ScriptContext *ctx) +bool8 ScrCmd_loadbytefromaddr(struct ScriptContext *ctx) { u8 index = ScriptReadByte(ctx); + ctx->data[index] = *(u8 *)ScriptReadWord(ctx); return FALSE; } -bool8 ScrCmd_writebytetooffset(struct ScriptContext *ctx) +bool8 ScrCmd_writebytetoaddr(struct ScriptContext *ctx) { u8 value = ScriptReadByte(ctx); + *(u8 *)ScriptReadWord(ctx) = value; return FALSE; } -bool8 ScrCmd_setbufferbyte(struct ScriptContext *ctx) +bool8 ScrCmd_loadbyte(struct ScriptContext *ctx) { u8 index = ScriptReadByte(ctx); + ctx->data[index] = ScriptReadByte(ctx); return FALSE; } @@ -315,14 +336,16 @@ bool8 ScrCmd_setbufferbyte(struct ScriptContext *ctx) bool8 ScrCmd_setptrbyte(struct ScriptContext *ctx) { u8 index = ScriptReadByte(ctx); + *(u8 *)ScriptReadWord(ctx) = ctx->data[index]; return FALSE; } -bool8 ScrCmd_copybuffers(struct ScriptContext *ctx) +bool8 ScrCmd_copylocal(struct ScriptContext *ctx) { u8 destIndex = ScriptReadByte(ctx); u8 srcIndex = ScriptReadByte(ctx); + ctx->data[destIndex] = ctx->data[srcIndex]; return FALSE; } @@ -359,73 +382,81 @@ u8 compare_012(u16 a1, u16 a2) { if (a1 < a2) return 0; - if (a1 == a2) return 1; - return 2; } -bool8 ScrCmd_comparebuffers(struct ScriptContext *ctx) +// comparelocaltolocal +bool8 ScrCmd_compare_local_to_local(struct ScriptContext *ctx) { u8 value1 = ctx->data[ScriptReadByte(ctx)]; u8 value2 = ctx->data[ScriptReadByte(ctx)]; + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_comparebuffertobyte(struct ScriptContext *ctx) +// comparelocaltoimm +bool8 ScrCmd_compare_local_to_value(struct ScriptContext *ctx) { u8 value1 = ctx->data[ScriptReadByte(ctx)]; u8 value2 = ScriptReadByte(ctx); + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_comparebuffertoptrbyte(struct ScriptContext *ctx) +bool8 ScrCmd_compare_local_to_addr(struct ScriptContext *ctx) { u8 value1 = ctx->data[ScriptReadByte(ctx)]; u8 value2 = *(u8 *)ScriptReadWord(ctx); + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_compareptrbytetobuffer(struct ScriptContext *ctx) +bool8 ScrCmd_compare_addr_to_local(struct ScriptContext *ctx) { u8 value1 = *(u8 *)ScriptReadWord(ctx); u8 value2 = ctx->data[ScriptReadByte(ctx)]; + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_compareptrbytetobyte(struct ScriptContext *ctx) +bool8 ScrCmd_compare_addr_to_value(struct ScriptContext *ctx) { u8 value1 = *(u8 *)ScriptReadWord(ctx); u8 value2 = ScriptReadByte(ctx); + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_compareptrbytes(struct ScriptContext *ctx) +bool8 ScrCmd_compare_addr_to_addr(struct ScriptContext *ctx) { u8 value1 = *(u8 *)ScriptReadWord(ctx); u8 value2 = *(u8 *)ScriptReadWord(ctx); + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_compare(struct ScriptContext *ctx) +bool8 ScrCmd_compare_var_to_value(struct ScriptContext *ctx) { u16 value1 = *GetVarPointer(ScriptReadHalfword(ctx)); u16 value2 = ScriptReadHalfword(ctx); + ctx->comparisonResult = compare_012(value1, value2); return FALSE; } -bool8 ScrCmd_comparevars(struct ScriptContext *ctx) +bool8 ScrCmd_compare_var_to_var(struct ScriptContext *ctx) { u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx)); u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx)); + ctx->comparisonResult = compare_012(*ptr1, *ptr2); return FALSE; } @@ -447,6 +478,7 @@ bool8 ScrCmd_subvar(struct ScriptContext *ctx) bool8 ScrCmd_random(struct ScriptContext *ctx) { u16 max = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = Random() % max; return FALSE; } @@ -455,6 +487,7 @@ bool8 ScrCmd_additem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = AddBagItem(itemId, (u8)quantity); return FALSE; } @@ -463,6 +496,7 @@ bool8 ScrCmd_removeitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = RemoveBagItem(itemId, (u8)quantity); return FALSE; } @@ -471,6 +505,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = CheckBagHasSpace(itemId, (u8)quantity); return FALSE; } @@ -479,6 +514,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = CheckBagHasItem(itemId, (u8)quantity); return FALSE; } @@ -486,6 +522,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx) bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = GetPocketByItemId(itemId); return FALSE; } @@ -494,6 +531,7 @@ bool8 ScrCmd_addpcitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = AddPCItem(itemId, quantity); return FALSE; } @@ -502,6 +540,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = CheckPCHasItem(itemId, quantity); return FALSE; } @@ -509,6 +548,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx) bool8 ScrCmd_adddecor(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = IsThereStorageSpaceForDecoration(decorId); return FALSE; } @@ -516,6 +556,7 @@ bool8 ScrCmd_adddecor(struct ScriptContext *ctx) bool8 ScrCmd_removedecor(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = sub_81340A8(decorId); return FALSE; } @@ -523,13 +564,15 @@ bool8 ScrCmd_removedecor(struct ScriptContext *ctx) bool8 ScrCmd_checkdecor(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = sub_8134074(decorId); return FALSE; } -bool8 ScrCmd_testdecor(struct ScriptContext *ctx) +bool8 ScrCmd_hasdecor(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = sub_8133FE4(decorId); return FALSE; } @@ -552,22 +595,23 @@ bool8 ScrCmd_checkflag(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_inccounter(struct ScriptContext *ctx) +bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx) { IncrementGameStat(ScriptReadByte(ctx)); return FALSE; } -bool8 ScrCmd_lighten(struct ScriptContext *ctx) +bool8 ScrCmd_animdarklevel(struct ScriptContext *ctx) { sub_8081594(ScriptReadByte(ctx)); ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_darken(struct ScriptContext *ctx) +bool8 ScrCmd_setdarklevel(struct ScriptContext *ctx) { u16 flashLevel = VarGet(ScriptReadHalfword(ctx)); + Overworld_SetFlashLevel(flashLevel); return FALSE; } @@ -591,6 +635,7 @@ bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx) { u8 duration = ScriptReadByte(ctx); u8 delay = ScriptReadByte(ctx); + fade_screen(duration, delay); SetupNativeScript(ctx, IsPaletteNotActive); return TRUE; @@ -606,28 +651,29 @@ bool8 s28_pause_asm() return FALSE; } -bool8 ScrCmd_pause(struct ScriptContext *ctx) +bool8 ScrCmd_delay(struct ScriptContext *ctx) { sPauseCounter = ScriptReadHalfword(ctx); SetupNativeScript(ctx, s28_pause_asm); return TRUE; } -bool8 ScrCmd_compareflags(struct ScriptContext *ctx) +bool8 ScrCmd_initclock(struct ScriptContext *ctx) { u8 hour = VarGet(ScriptReadHalfword(ctx)); u8 minute = VarGet(ScriptReadHalfword(ctx)); + RtcInitLocalTimeOffset(hour, minute); return FALSE; } -bool8 ScrCmd_checkdailyflags(struct ScriptContext *ctx) +bool8 ScrCmd_dodailyevents(struct ScriptContext *ctx) { DoTimeBasedEvents(); return FALSE; } -bool8 ScrCmd_resetvars(struct ScriptContext *ctx) +bool8 ScrCmd_gettime(struct ScriptContext *ctx) { RtcCalcLocalTime(); gSpecialVar_0x8000 = gLocalTime.hours; @@ -638,8 +684,9 @@ bool8 ScrCmd_resetvars(struct ScriptContext *ctx) bool8 ScrCmd_setweather(struct ScriptContext *ctx) { - u16 value = VarGet(ScriptReadHalfword(ctx)); - SetSav1Weather(value); + u16 weather = VarGet(ScriptReadHalfword(ctx)); + + SetSav1Weather(weather); return FALSE; } @@ -661,47 +708,51 @@ bool8 ScrCmd_tileeffect(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setmapfooter(struct ScriptContext *ctx) +bool8 ScrCmd_setmaplayoutindex(struct ScriptContext *ctx) { u16 value = VarGet(ScriptReadHalfword(ctx)); + sub_8053D14(value); return FALSE; } bool8 ScrCmd_warp(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - warp1_set(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_8080E88(); player_avatar_init_params_reset(); return TRUE; } -bool8 ScrCmd_warpmuted(struct ScriptContext *ctx) +bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - warp1_set(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sp13E_warp_to_last_warp(); player_avatar_init_params_reset(); return TRUE; } -bool8 ScrCmd_warpwalk(struct ScriptContext *ctx) +bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - warp1_set(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_8080EF0(); player_avatar_init_params_reset(); return TRUE; @@ -709,18 +760,16 @@ bool8 ScrCmd_warpwalk(struct ScriptContext *ctx) bool8 ScrCmd_warphole(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); u16 x; u16 y; PlayerGetDestCoords(&x, &y); - - if (v1 == 0xFF && v2 == 0xFF) + if (mapGroup == 0xFF && mapNum == 0xFF) sub_8053720(x - 7, y - 7); else - warp1_set(v1, v2, -1, x - 7, y - 7); - + Overworld_SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7); sp13F_fall_to_last_warp(); player_avatar_init_params_reset(); return TRUE; @@ -728,78 +777,85 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - warp1_set(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_8080F68(); player_avatar_init_params_reset(); return TRUE; } -bool8 ScrCmd_warp3(struct ScriptContext *ctx) +bool8 ScrCmd_setwarp(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - warp1_set(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); return FALSE; } -bool8 ScrCmd_warpplace(struct ScriptContext *ctx) +bool8 ScrCmd_setdynamicwarp(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - saved_warp2_set_2(0, v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + saved_warp2_set_2(0, mapGroup, mapNum, warpId, x, y); return FALSE; } -bool8 ScrCmd_warp4(struct ScriptContext *ctx) +bool8 ScrCmd_setdivewarp(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - sub_8053690(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + sub_8053690(mapGroup, mapNum, warpId, x, y); return FALSE; } -bool8 ScrCmd_warp5(struct ScriptContext *ctx) +bool8 ScrCmd_setholewarp(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - sub_80536E4(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + sub_80536E4(mapGroup, mapNum, warpId, x, y); return FALSE; } -bool8 ScrCmd_warp6(struct ScriptContext *ctx) +bool8 ScrCmd_setescapewarp(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u16 v4 = VarGet(ScriptReadHalfword(ctx)); - s8 v5 = VarGet(ScriptReadHalfword(ctx)); - sub_805363C(v1, v2, v3, v4, v5); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 warpId = ScriptReadByte(ctx); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + sub_805363C(mapGroup, mapNum, warpId, x, y); return FALSE; } bool8 ScrCmd_getplayerxy(struct ScriptContext *ctx) { - u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx)); - u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx)); - *ptr1 = gSaveBlock1.pos.x; - *ptr2 = gSaveBlock1.pos.y; + u16 *pX = GetVarPointer(ScriptReadHalfword(ctx)); + u16 *pY = GetVarPointer(ScriptReadHalfword(ctx)); + + *pX = gSaveBlock1.pos.x; + *pY = gSaveBlock1.pos.y; return FALSE; } @@ -809,7 +865,7 @@ bool8 ScrCmd_countpokemon(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_playsfx(struct ScriptContext *ctx) +bool8 ScrCmd_playse(struct ScriptContext *ctx) { PlaySE(ScriptReadHalfword(ctx)); return FALSE; @@ -823,13 +879,13 @@ static bool8 WaitForSoundEffectFinish() return FALSE; } -bool8 ScrCmd_checksound(struct ScriptContext *ctx) +bool8 ScrCmd_waitse(struct ScriptContext *ctx) { SetupNativeScript(ctx, WaitForSoundEffectFinish); return TRUE; } -bool8 ScrCmd_fanfare(struct ScriptContext *ctx) +bool8 ScrCmd_playfanfare(struct ScriptContext *ctx) { PlayFanfare(ScriptReadHalfword(ctx)); return FALSE; @@ -846,37 +902,39 @@ bool8 ScrCmd_waitfanfare(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_playmusic(struct ScriptContext *ctx) +bool8 ScrCmd_playbgm(struct ScriptContext *ctx) { u16 songId = ScriptReadHalfword(ctx); bool8 val = ScriptReadByte(ctx); + if (val == TRUE) - sav1_set_battle_music_maybe(songId); + Overworld_SetSavedMusic(songId); PlayNewMapMusic(songId); return FALSE; } -bool8 ScrCmd_playmusicbattle(struct ScriptContext *ctx) +bool8 ScrCmd_savebgm(struct ScriptContext *ctx) { - sav1_set_battle_music_maybe(ScriptReadHalfword(ctx)); + Overworld_SetSavedMusic(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_fadedefault(struct ScriptContext *ctx) +bool8 ScrCmd_fadedefaultbgm(struct ScriptContext *ctx) { - sub_8053F84(); + Overworld_ChangeMusicToDefault(); return FALSE; } -bool8 ScrCmd_fademusic(struct ScriptContext *ctx) +bool8 ScrCmd_fadenewbgm(struct ScriptContext *ctx) { Overworld_ChangeMusicTo(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_fadeout(struct ScriptContext *ctx) +bool8 ScrCmd_fadeoutbgm(struct ScriptContext *ctx) { u8 speed = ScriptReadByte(ctx); + if (speed != 0) FadeOutBGMTemporarily(4 * speed); else @@ -885,9 +943,10 @@ bool8 ScrCmd_fadeout(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_fadein(struct ScriptContext *ctx) +bool8 ScrCmd_fadeinbgm(struct ScriptContext *ctx) { u8 speed = ScriptReadByte(ctx); + if (speed != 0) FadeInBGM(4 * speed); else @@ -895,7 +954,7 @@ bool8 ScrCmd_fadein(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_move(struct ScriptContext *ctx) +bool8 ScrCmd_applymovement(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); void *movementScript = (void *)ScriptReadWord(ctx); @@ -905,7 +964,7 @@ bool8 ScrCmd_move(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_movecoords(struct ScriptContext *ctx) +bool8 ScrCmd_applymovement_at(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); void *movementScript = (void *)ScriptReadWord(ctx); @@ -922,7 +981,7 @@ static bool8 WaitForMovementFinish(void) return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapId, sMovingNpcMapBank); } -bool8 ScrCmd_waitmove(struct ScriptContext *ctx) +bool8 ScrCmd_waitmovement(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); @@ -934,7 +993,7 @@ bool8 ScrCmd_waitmove(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_waitmovexy(struct ScriptContext *ctx) +bool8 ScrCmd_waitmovement_at(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapBank; @@ -950,97 +1009,108 @@ bool8 ScrCmd_waitmovexy(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_disappear(struct ScriptContext *ctx) +bool8 ScrCmd_removeobject(struct ScriptContext *ctx) { - u16 objectId = VarGet(ScriptReadHalfword(ctx)); - RemoveFieldObjectByLocalIdAndMap(objectId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + + RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); return FALSE; } -bool8 ScrCmd_disappearxy(struct ScriptContext *ctx) +bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); + RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup); return FALSE; } -bool8 ScrCmd_reappear(struct ScriptContext *ctx) +bool8 ScrCmd_addobject(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); + show_sprite(objectId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); return FALSE; } -bool8 ScrCmd_reappearxy(struct ScriptContext *ctx) +bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); + show_sprite(objectId, mapNum, mapGroup); return FALSE; } -bool8 ScrCmd_movesprite(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u16 v2 = VarGet(ScriptReadHalfword(ctx)); - u32 v3 = VarGet(ScriptReadHalfword(ctx)); - sub_805C0F8(v1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, v2, v3); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + sub_805C0F8(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); return FALSE; } -bool8 ScrCmd_movespriteperm(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u16 v2 = VarGet(ScriptReadHalfword(ctx)); - u32 v3 = VarGet(ScriptReadHalfword(ctx)); - Overworld_SaveMapObjCoords(v1, v2, v3); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u16 y = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetMapObjTemplateCoords(localId, x, y); return FALSE; } -bool8 ScrCmd_moveoffscreen(struct ScriptContext *ctx) +bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - sub_805C78C(v1, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + + sub_805C78C(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); return FALSE; } -bool8 ScrCmd_spritevisible(struct ScriptContext *ctx) +bool8 ScrCmd_showobject(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - npc_by_local_id_and_map_set_field_1_bit_x20(v1, v3, v2, 0); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + + npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 0); return FALSE; } -bool8 ScrCmd_spriteinvisible(struct ScriptContext *ctx) +bool8 ScrCmd_hideobject(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - npc_by_local_id_and_map_set_field_1_bit_x20(v1, v3, v2, 1); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + + npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 1); return FALSE; } -bool8 ScrCmd_spritelevelup(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectpriority(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - u8 v4 = ScriptReadByte(ctx); - sub_805BCF0(v1, v3, v2, v4 + 83); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 priority = ScriptReadByte(ctx); + + sub_805BCF0(localId, mapNum, mapGroup, priority + 83); return FALSE; } -bool8 ScrCmd_restorespritelevel(struct ScriptContext *ctx) +bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - sub_805BD48(v1, v3, v2); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + + sub_805BD48(localId, mapNum, mapGroup); return FALSE; } @@ -1054,39 +1124,43 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_spriteface(struct ScriptContext *ctx) +bool8 ScrCmd_turnobject(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 direction = ScriptReadByte(ctx); + FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, direction); return FALSE; } -bool8 ScrCmd_spritebehave(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx) { - u16 v1 = VarGet(ScriptReadHalfword(ctx)); - u8 v2 = ScriptReadByte(ctx); - Overworld_SaveMapObjMovementType(v1, v2); + u16 localId = VarGet(ScriptReadHalfword(ctx)); + u8 movementType = ScriptReadByte(ctx); + + Overworld_SetMapObjTemplateMovementType(localId, movementType); return FALSE; } -bool8 ScrCmd_createvsprite(struct ScriptContext *ctx) +bool8 ScrCmd_createvobject(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); + u8 graphicsId = ScriptReadByte(ctx); u8 v2 = ScriptReadByte(ctx); - u16 v3 = VarGet(ScriptReadHalfword(ctx)); - u32 v4 = VarGet(ScriptReadHalfword(ctx)); - u8 v5 = ScriptReadByte(ctx); - u8 v6 = ScriptReadByte(ctx); - sub_805B410(v1, v2, v3, v4, v5, v6); + u16 x = VarGet(ScriptReadHalfword(ctx)); + u32 y = VarGet(ScriptReadHalfword(ctx)); + u8 elevation = ScriptReadByte(ctx); + u8 direction = ScriptReadByte(ctx); + + sub_805B410(graphicsId, v2, x, y, elevation, direction); return FALSE; } -bool8 ScrCmd_vspriteface(struct ScriptContext *ctx) +bool8 ScrCmd_turnvobject(struct ScriptContext *ctx) { u8 v1 = ScriptReadByte(ctx); - u8 v2 = ScriptReadByte(ctx); - sub_8064990(v1, v2); + u8 direction = ScriptReadByte(ctx); + + sub_8064990(v1, direction); return FALSE; } @@ -1122,7 +1196,6 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx) ScriptFreezeMapObjects(); SetupNativeScript(ctx, sub_8064CFC); } - return TRUE; } } @@ -1156,34 +1229,36 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) bool8 ScrCmd_message(struct ScriptContext *ctx) { u8 *msg = (u8 *)ScriptReadWord(ctx); - if (!msg) + + if (msg == NULL) msg = (u8 *)ctx->data[0]; ShowFieldMessage(msg); return FALSE; } -bool8 ScrCmd_message2(struct ScriptContext *ctx) +bool8 ScrCmd_messageautoscroll(struct ScriptContext *ctx) { u8 *msg = (u8 *)ScriptReadWord(ctx); - if (!msg) + + if (msg == NULL) msg = (u8 *)ctx->data[0]; ShowFieldAutoScrollMessage(msg); return FALSE; } -bool8 ScrCmd_waittext(struct ScriptContext *ctx) +bool8 ScrCmd_waitmessage(struct ScriptContext *ctx) { SetupNativeScript(ctx, IsFieldMessageBoxHidden); return TRUE; } -bool8 ScrCmd_closebutton(struct ScriptContext *ctx) +bool8 ScrCmd_closemessage(struct ScriptContext *ctx) { HideFieldMessageBox(); return FALSE; } -bool8 WaitForAorBPress(void) +static bool8 WaitForAorBPress(void) { if (gMain.newKeys & A_BUTTON) return TRUE; @@ -1202,6 +1277,7 @@ bool8 ScrCmd_yesnobox(struct ScriptContext *ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); + if (ScriptMenu_YesNo(left, top) == TRUE) { ScriptContext1_Stop(); @@ -1219,6 +1295,7 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx) u8 top = ScriptReadByte(ctx); u8 multichoiceId = ScriptReadByte(ctx); u8 ignoreBPress = ScriptReadByte(ctx); + if (ScriptMenu_Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE) { ScriptContext1_Stop(); @@ -1230,13 +1307,14 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx) } } -bool8 ScrCmd_multichoicedef(struct ScriptContext *ctx) +bool8 ScrCmd_multichoicedefault(struct ScriptContext *ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); u8 multichoiceId = ScriptReadByte(ctx); u8 defaultChoice = ScriptReadByte(ctx); u8 ignoreBPress = ScriptReadByte(ctx); + if (ScriptMenu_MultichoiceWithDefault(left, top, multichoiceId, ignoreBPress, defaultChoice) == TRUE) { ScriptContext1_Stop(); @@ -1248,23 +1326,25 @@ bool8 ScrCmd_multichoicedef(struct ScriptContext *ctx) } } -bool8 ScrCmd_showbox(struct ScriptContext *ctx) +bool8 ScrCmd_drawbox(struct ScriptContext *ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); u8 right = ScriptReadByte(ctx); u8 bottom = ScriptReadByte(ctx); + MenuDrawTextWindow(left, top, right, bottom); return FALSE; } -bool8 ScrCmd_multichoicerow(struct ScriptContext *ctx) +bool8 ScrCmd_multichoicegrid(struct ScriptContext *ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); u8 multichoiceId = ScriptReadByte(ctx); u8 numColumns = ScriptReadByte(ctx); u8 ignoreBPress = ScriptReadByte(ctx); + if (ScriptMenu_MultichoiceGrid(left, top, multichoiceId, ignoreBPress, numColumns) == TRUE) { ScriptContext1_Stop(); @@ -1276,23 +1356,25 @@ bool8 ScrCmd_multichoicerow(struct ScriptContext *ctx) } } -bool8 ScrCmd_hidebox(struct ScriptContext *ctx) +bool8 ScrCmd_erasebox(struct ScriptContext *ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); u8 right = ScriptReadByte(ctx); u8 bottom = ScriptReadByte(ctx); + MenuZeroFillWindowRect(left, top, right, bottom); return FALSE; } // unused -bool8 ScrCmd_clearbox(struct ScriptContext *ctx) +bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); u8 multichoiceId = ScriptReadByte(ctx); u8 ignoreBPress = ScriptReadByte(ctx); + if (Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE) { ScriptContext1_Stop(); @@ -1304,16 +1386,17 @@ bool8 ScrCmd_clearbox(struct ScriptContext *ctx) } } -bool8 ScrCmd_showpokepic(struct ScriptContext *ctx) +bool8 ScrCmd_drawpokepic(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); + ScriptMenu_ShowPokemonPic(species, x, y); return FALSE; } -bool8 ScrCmd_hidepokepic(struct ScriptContext *ctx) +bool8 ScrCmd_erasepokepic(struct ScriptContext *ctx) { bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc(); @@ -1323,9 +1406,10 @@ bool8 ScrCmd_hidepokepic(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx) +bool8 ScrCmd_drawcontestwinner(struct ScriptContext *ctx) { u8 v1 = ScriptReadByte(ctx); + if (v1) sub_8106630(v1); ShowContestWinner(); @@ -1333,9 +1417,10 @@ bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_braillemsg(struct ScriptContext *ctx) +bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) { u8 *ptr = (u8 *)ScriptReadWord(ctx); + u8 v2 = ptr[0]; u8 v3 = ptr[1]; u8 v4 = ptr[2]; @@ -1348,24 +1433,27 @@ bool8 ScrCmd_braillemsg(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vtext(struct ScriptContext *ctx) +bool8 ScrCmd_vmessage(struct ScriptContext *ctx) { u32 v1 = ScriptReadWord(ctx); + ShowFieldMessage((u8 *)(v1 - gUnknown_0202E8B0)); return FALSE; } -bool8 ScrCmd_bufferpoke(struct ScriptContext *ctx) +bool8 ScrCmd_getspeciesname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 species = VarGet(ScriptReadHalfword(ctx)); + StringCopy(sScriptStringVars[stringVarIndex], gSpeciesNames[species]); return FALSE; } -bool8 ScrCmd_bufferfirstpoke(struct ScriptContext *ctx) +bool8 ScrCmd_getfirstpartypokename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); + u8 *dest = sScriptStringVars[stringVarIndex]; u8 partyIndex = GetLeadMonIndex(); u32 species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); @@ -1373,82 +1461,91 @@ bool8 ScrCmd_bufferfirstpoke(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferpartypoke(struct ScriptContext *ctx) +bool8 ScrCmd_getpartypokename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); + GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, sScriptStringVars[stringVarIndex]); StringGetEnd10(sScriptStringVars[stringVarIndex]); return FALSE; } -bool8 ScrCmd_bufferitem(struct ScriptContext *ctx) +bool8 ScrCmd_getitemname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 itemId = VarGet(ScriptReadHalfword(ctx)); + CopyItemName(itemId, sScriptStringVars[stringVarIndex]); return FALSE; } -bool8 ScrCmd_bufferdecor(struct ScriptContext *ctx) +bool8 ScrCmd_getdecorname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 decorId = VarGet(ScriptReadHalfword(ctx)); + StringCopy(sScriptStringVars[stringVarIndex], gDecorations[decorId].name); return FALSE; } -bool8 ScrCmd_bufferattack(struct ScriptContext *ctx) +bool8 ScrCmd_getmovename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 moveId = VarGet(ScriptReadHalfword(ctx)); + StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[moveId]); return FALSE; } -bool8 ScrCmd_buffernum(struct ScriptContext *ctx) +bool8 ScrCmd_getnumberstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 v1 = VarGet(ScriptReadHalfword(ctx)); u8 v2 = sub_80BF0B8(v1); + ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], v1, 0, v2); return FALSE; } -bool8 ScrCmd_bufferstd(struct ScriptContext *ctx) +bool8 ScrCmd_getstdstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); + StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index]); return FALSE; } -bool8 ScrCmd_buffertext(struct ScriptContext *ctx) +bool8 ScrCmd_getstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u8 *text = (u8 *)ScriptReadWord(ctx); + StringCopy(sScriptStringVars[stringVarIndex], text); return FALSE; } -bool8 ScrCmd_vloadptr(struct ScriptContext *ctx) +bool8 ScrCmd_vloadword(struct ScriptContext *ctx) { u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gUnknown_0202E8B0); + StringExpandPlaceholders(gStringVar4, ptr); return FALSE; } -bool8 ScrCmd_vbuffer(struct ScriptContext *ctx) +bool8 ScrCmd_vgetstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u32 addr = ScriptReadWord(ctx); + u8 *src = (u8 *)(addr - gUnknown_0202E8B0); u8 *dest = sScriptStringVars[stringVarIndex]; StringCopy(dest, src); return FALSE; } -bool8 ScrCmd_givepokemon(struct ScriptContext *ctx) +bool8 ScrCmd_givepoke(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u8 level = ScriptReadByte(ctx); @@ -1456,6 +1553,7 @@ bool8 ScrCmd_givepokemon(struct ScriptContext *ctx) u32 unkParam1 = ScriptReadWord(ctx); u32 unkParam2 = ScriptReadWord(ctx); u8 unkParam3 = ScriptReadByte(ctx); + gScriptResult = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3); return FALSE; } @@ -1463,6 +1561,7 @@ bool8 ScrCmd_givepokemon(struct ScriptContext *ctx) bool8 ScrCmd_giveegg(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = ScriptGiveEgg(species); return FALSE; } @@ -1472,14 +1571,16 @@ bool8 ScrCmd_setpokemove(struct ScriptContext *ctx) u8 partyIndex = ScriptReadByte(ctx); u8 slot = ScriptReadByte(ctx); u16 move = ScriptReadHalfword(ctx); + ScriptSetMonMoveSlot(partyIndex, move, slot); return FALSE; } -bool8 ScrCmd_checkattack(struct ScriptContext *ctx) +bool8 ScrCmd_checkpokemove(struct ScriptContext *ctx) { u8 i; u16 moveId = ScriptReadHalfword(ctx); + gScriptResult = 6; for (i = 0; i < 6; i++) { @@ -1501,15 +1602,17 @@ bool8 ScrCmd_givemoney(struct ScriptContext *ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); + if (!ignore) AddMoney(&gSaveBlock1.money, amount); return FALSE; } -bool8 ScrCmd_paymoney(struct ScriptContext *ctx) +bool8 ScrCmd_takemoney(struct ScriptContext *ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); + if (!ignore) RemoveMoney(&gSaveBlock1.money, amount); return FALSE; @@ -1519,60 +1622,67 @@ bool8 ScrCmd_checkmoney(struct ScriptContext *ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); + if (!ignore) gScriptResult = IsEnoughMoney(gSaveBlock1.money, amount); return FALSE; } -bool8 ScrCmd_showmoney(struct ScriptContext *ctx) +bool8 ScrCmd_showmoneybox(struct ScriptContext *ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); u8 ignore = ScriptReadByte(ctx); + if (!ignore) OpenMoneyWindow(gSaveBlock1.money, x, y); return FALSE; } -bool8 ScrCmd_hidemoney(struct ScriptContext *ctx) +bool8 ScrCmd_hidemoneybox(struct ScriptContext *ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); + CloseMoneyWindow(x, y); return FALSE; } -bool8 ScrCmd_updatemoney(struct ScriptContext *ctx) +bool8 ScrCmd_updatemoneybox(struct ScriptContext *ctx) { - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); + u8 x = ScriptReadByte(ctx); + u8 y = ScriptReadByte(ctx); u8 ignore = ScriptReadByte(ctx); + if (!ignore) - UpdateMoneyWindow(gSaveBlock1.money, v2, v3); + UpdateMoneyWindow(gSaveBlock1.money, x, y); return FALSE; } -bool8 ScrCmd_showcoins(struct ScriptContext *ctx) +bool8 ScrCmd_showcoinsbox(struct ScriptContext *ctx) { - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - ShowCoinsWindow(gSaveBlock1.coins, v2, v3); + u8 x = ScriptReadByte(ctx); + u8 y = ScriptReadByte(ctx); + + ShowCoinsWindow(gSaveBlock1.coins, x, y); return FALSE; } -bool8 ScrCmd_hidecoins(struct ScriptContext *ctx) +bool8 ScrCmd_hidecoinsbox(struct ScriptContext *ctx) { - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - HideCoinsWindow(v2, v3); + u8 x = ScriptReadByte(ctx); + u8 y = ScriptReadByte(ctx); + + HideCoinsWindow(x, y); return FALSE; } -bool8 ScrCmd_updatecoins(struct ScriptContext *ctx) +bool8 ScrCmd_updatecoinsbox(struct ScriptContext *ctx) { - u8 v2 = ScriptReadByte(ctx); - u8 v3 = ScriptReadByte(ctx); - UpdateCoinsWindow(gSaveBlock1.coins, v2, v3); + u8 x = ScriptReadByte(ctx); + u8 y = ScriptReadByte(ctx); + + UpdateCoinsWindow(gSaveBlock1.coins, x, y); return FALSE; } @@ -1582,19 +1692,19 @@ bool8 ScrCmd_trainerbattle(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_reptrainerbattle(struct ScriptContext *ctx) +bool8 ScrCmd_battlebegin(struct ScriptContext *ctx) { BattleSetup_StartTrainerBattle(); return TRUE; } -bool8 ScrCmd_endtrainerbattle(struct ScriptContext *ctx) +bool8 ScrCmd_ontrainerbattleend(struct ScriptContext *ctx) { ctx->scriptPtr = BattleSetup_GetScriptAddrAfterBattle(); return FALSE; } -bool8 ScrCmd_endtrainerbattle2(struct ScriptContext *ctx) +bool8 ScrCmd_ontrainerbattleendgoto(struct ScriptContext *ctx) { ctx->scriptPtr = BattleSetup_GetTrainerPostBattleScript(); return FALSE; @@ -1603,20 +1713,23 @@ bool8 ScrCmd_endtrainerbattle2(struct ScriptContext *ctx) bool8 ScrCmd_checktrainerflag(struct ScriptContext *ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); + ctx->comparisonResult = HasTrainerAlreadyBeenFought(index); return FALSE; } -bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx) +bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); + trainer_flag_set(index); return FALSE; } -bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx) +bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); + trainer_flag_clear(index); return FALSE; } @@ -1626,6 +1739,7 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx) u16 species = ScriptReadHalfword(ctx); u8 level = ScriptReadByte(ctx); u16 item = ScriptReadHalfword(ctx); + CreateScriptedWildMon(species, level, item); return FALSE; } @@ -1640,6 +1754,7 @@ bool8 ScrCmd_dowildbattle(struct ScriptContext *ctx) bool8 ScrCmd_pokemart(struct ScriptContext *ctx) { void *ptr = (void *)ScriptReadWord(ctx); + CreatePokemartMenu(ptr); ScriptContext1_Stop(); return TRUE; @@ -1648,6 +1763,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx) bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx) { void *ptr = (void *)ScriptReadWord(ctx); + CreateDecorationShop1Menu(ptr); ScriptContext1_Stop(); return TRUE; @@ -1656,24 +1772,27 @@ bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx) bool8 ScrCmd_pokemartbp(struct ScriptContext *ctx) { void *ptr = (void *)ScriptReadWord(ctx); + CreateDecorationShop2Menu(ptr); ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_pokecasino(struct ScriptContext *ctx) +bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx) { u8 v2 = VarGet(ScriptReadHalfword(ctx)); + PlaySlotMachine(v2, c2_exit_to_overworld_1_continue_scripts_restart_music); ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_event_8a(struct ScriptContext *ctx) +bool8 ScrCmd_plantberrytree(struct ScriptContext *ctx) { u8 treeId = ScriptReadByte(ctx); u8 berry = ScriptReadByte(ctx); u8 growthStage = ScriptReadByte(ctx); + if (berry == 0) PlantBerryTree(treeId, 0, growthStage, FALSE); else @@ -1681,9 +1800,10 @@ bool8 ScrCmd_event_8a(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_event_96(struct ScriptContext *ctx) +bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx) { u16 value = VarGet(ScriptReadHalfword(ctx)); + gScriptResult = GetPriceReduction(value); return FALSE; } @@ -1716,17 +1836,19 @@ bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_doanimation(struct ScriptContext *ctx) +bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx) { u16 effectId = VarGet(ScriptReadHalfword(ctx)); + sFieldEffectScriptId = effectId; FieldEffectStart(sFieldEffectScriptId); return FALSE; } -bool8 ScrCmd_setanimation(struct ScriptContext *ctx) +bool8 ScrCmd_setfieldeffect(struct ScriptContext *ctx) { u8 argNum = ScriptReadByte(ctx); + gFieldEffectArguments[argNum] = (s16)VarGet(ScriptReadHalfword(ctx)); return FALSE; } @@ -1739,7 +1861,7 @@ static bool8 sub_8067B48() return FALSE; } -bool8 ScrCmd_checkanimation(struct ScriptContext *ctx) +bool8 ScrCmd_waitfieldeffect(struct ScriptContext *ctx) { sFieldEffectScriptId = VarGet(ScriptReadHalfword(ctx)); SetupNativeScript(ctx, sub_8067B48); @@ -1748,21 +1870,23 @@ bool8 ScrCmd_checkanimation(struct ScriptContext *ctx) bool8 ScrCmd_sethealplace(struct ScriptContext *ctx) { - u16 v2 = VarGet(ScriptReadHalfword(ctx)); - sub_8053588(v2); + u16 healLocationId = VarGet(ScriptReadHalfword(ctx)); + + Overworld_SetHealLocationWarp(healLocationId); return FALSE; } -bool8 ScrCmd_checkgender(struct ScriptContext *ctx) +bool8 ScrCmd_checkplayergender(struct ScriptContext *ctx) { gScriptResult = gSaveBlock2.playerGender; return FALSE; } -bool8 ScrCmd_pokecry(struct ScriptContext *ctx) +bool8 ScrCmd_playpokecry(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u16 mode = VarGet(ScriptReadHalfword(ctx)); + PlayCry5(species, mode); return FALSE; } @@ -1779,6 +1903,7 @@ bool8 ScrCmd_setmaptile(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); u16 tileId = VarGet(ScriptReadHalfword(ctx)); u16 v8 = VarGet(ScriptReadHalfword(ctx)); + x += 7; y += 7; if (!v8) @@ -1788,10 +1913,11 @@ bool8 ScrCmd_setmaptile(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setdooropened(struct ScriptContext *ctx) +bool8 ScrCmd_opendoor(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); + x += 7; y += 7; PlaySE(GetDoorSoundEffect(x, y)); @@ -1799,10 +1925,11 @@ bool8 ScrCmd_setdooropened(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx) +bool8 ScrCmd_closedoor(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); + x += 7; y += 7; FieldAnimateDoorClose(x, y); @@ -1817,43 +1944,46 @@ static bool8 IsDoorAnimationStopped() return FALSE; } -bool8 ScrCmd_doorchange(struct ScriptContext *ctx) +bool8 ScrCmd_waitdooranim(struct ScriptContext *ctx) { SetupNativeScript(ctx, IsDoorAnimationStopped); return TRUE; } -bool8 ScrCmd_setdooropened2(struct ScriptContext *ctx) +bool8 ScrCmd_setdooropen(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); + x += 7; y += 7; FieldSetDoorOpened(x, y); return FALSE; } -bool8 ScrCmd_setdoorclosed2(struct ScriptContext *ctx) +bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); + x += 7; y += 7; FieldSetDoorClosed(x, y); return FALSE; } -bool8 ScrCmd_event_b1(struct ScriptContext *ctx) +bool8 ScrCmd_addelevmenuitem(struct ScriptContext *ctx) { u8 v3 = ScriptReadByte(ctx); u16 v5 = VarGet(ScriptReadHalfword(ctx)); u16 v7 = VarGet(ScriptReadHalfword(ctx)); u16 v9 = VarGet(ScriptReadHalfword(ctx)); + ScriptAddElevatorMenuItem(v3, v5, v7, v9); return FALSE; } -bool8 ScrCmd_event_b2(struct ScriptContext *ctx) +bool8 ScrCmd_showelevmenu(struct ScriptContext *ctx) { ScriptShowElevatorMenu(); ScriptContext1_Stop(); @@ -1870,21 +2000,21 @@ bool8 ScrCmd_checkcoins(struct ScriptContext *ctx) bool8 ScrCmd_givecoins(struct ScriptContext *ctx) { u16 coins = VarGet(ScriptReadHalfword(ctx)); + if (GiveCoins(coins) == TRUE) gScriptResult = 0; else gScriptResult = 1; - return FALSE; } -bool8 ScrCmd_removecoins(struct ScriptContext *ctx) +bool8 ScrCmd_takecoins(struct ScriptContext *ctx) { u16 coins = VarGet(ScriptReadHalfword(ctx)); + if (TakeCoins(coins) == TRUE) gScriptResult = 0; else gScriptResult = 1; - return FALSE; } diff --git a/src/script_menu.c b/src/field/script_menu.c index e25e74d8c..e25e74d8c 100644 --- a/src/script_menu.c +++ b/src/field/script_menu.c diff --git a/src/script_movement.c b/src/field/script_movement.c index 30e10b451..c7ce55171 100644 --- a/src/script_movement.c +++ b/src/field/script_movement.c @@ -5,19 +5,19 @@ #include "task.h" #include "util.h" -static EWRAM_DATA u8 *gUnknown_020384F8[16] = {0}; +static EWRAM_DATA const u8 *gUnknown_020384F8[16] = {0}; static void sub_80A2198(u8); static u8 sub_80A21E0(void); -static bool8 sub_80A21F4(u8, u8, u8 *); +static bool8 sub_80A21F4(u8, u8, const u8 *); static u8 sub_80A2260(u8, u8); static bool8 sub_80A2370(u8, u8); -static void sub_80A23C8(u8, u8, u8, u8 *); +static void sub_80A23C8(u8, u8, u8, const u8 *); static void UnfreezeObjects(u8); static void Task_80A244C(u8); -static void sub_80A2490(u8, u8, u8, u8 *); +static void sub_80A2490(u8, u8, u8, const u8 *); -bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, u8 *movementScript) +bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) { u8 mapObjId; @@ -70,7 +70,7 @@ static u8 sub_80A21E0(void) return FindTaskIdByFunc(Task_80A244C); } -static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, u8 *movementScript) +static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, const u8 *movementScript) { u8 r4; @@ -160,17 +160,17 @@ static bool8 sub_80A2370(u8 taskId, u8 b) return FALSE; } -static void npc_obj_offscreen_culling_and_flag_update(u8 a, u8 *movementScript) +static void npc_obj_offscreen_culling_and_flag_update(u8 a, const u8 *movementScript) { gUnknown_020384F8[a] = movementScript; } -static u8 *sub_80A23B8(u8 a) +static const u8 *sub_80A23B8(u8 a) { return gUnknown_020384F8[a]; } -static void sub_80A23C8(u8 taskId, u8 b, u8 mapObjId, u8 *movementScript) +static void sub_80A23C8(u8 taskId, u8 b, u8 mapObjId, const u8 *movementScript) { sub_80A2318(taskId, b); npc_obj_offscreen_culling_and_flag_update(b, movementScript); @@ -203,7 +203,7 @@ static void Task_80A244C(u8 taskId) } } -static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, u8 *d) +static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, const u8 *d) { u8 var; diff --git a/src/field/secret_base.c b/src/field/secret_base.c new file mode 100644 index 000000000..8c1b7c8c1 --- /dev/null +++ b/src/field/secret_base.c @@ -0,0 +1,1711 @@ +#include "global.h" +#include "secret_base.h" +#include "decoration.h" +#include "species.h" +#include "items.h" +#include "moves.h" +#include "event_data.h" +#include "field_camera.h" +#include "field_effect.h" +#include "field_fadetransition.h" +#include "field_player_avatar.h" +#include "field_specials.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "link.h" +#include "main.h" +#include "sound.h" +#include "songs.h" +#include "map_constants.h" +#include "map_name_popup.h" +#include "menu.h" +#include "menu_helpers.h" +#include "metatile_behavior.h" +#include "palette.h" +#include "pokemon.h" +#include "overworld.h" +#include "script.h" +#include "sound.h" +#include "species.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "vars.h" + + +static void sub_80BC7D8(u8 taskId); +static void sub_80BC824(u8 taskId); +static u8 sub_80BC948(u8 a); +static void sub_80BC980(u8 taskId); +static void sub_80BC9E4(u8 taskId); +static void sub_80BCA84(u8); +static void sub_80BCAEC(u8 taskId); +static void sub_80BCB90(u8); +static void sub_80BCBC0(u8); +static void sub_80BCBF8(u8 taskId); +static void sub_80BCC54(u8 taskId); +static void Task_SecretBasePC_Registry(u8 taskId); + +extern void DoDecorationSoundEffect(s16 metatileId); +extern void sub_80C6A54(s16 x, s16 y); +extern void sub_80C68A4(s16 metatileId, s16 x, s16 y); +extern void DoYellowCave4Sparkle(void); + +extern u8 gUnknown_0815F399[]; +extern u8 gUnknown_0815F49A[]; +extern u8 gUnknown_020387DC; + +const struct +{ + u16 unk_083D1358_0; + u16 unk_083D1358_1; +} gUnknown_083D1358[] = { + {0x26, 0x36}, + {0x27, 0x37}, + {0x1a0, 0x1a1}, + {0x1a8, 0x1a9}, + {0x1b0, 0x1b1}, + {0x208, 0x210}, + {0x271, 0x278} +}; + + +const u8 gUnknown_083D1374[] = { + MAP_ID_SECRET_BASE_RED_CAVE1, 0, 1, 3, + MAP_ID_SECRET_BASE_RED_CAVE2, 0, 5, 9, + MAP_ID_SECRET_BASE_RED_CAVE3, 0, 1, 3, + MAP_ID_SECRET_BASE_RED_CAVE4, 0, 7, 13, + MAP_ID_SECRET_BASE_BROWN_CAVE1, 0, 2, 3, + MAP_ID_SECRET_BASE_BROWN_CAVE2, 0, 9, 2, + MAP_ID_SECRET_BASE_BROWN_CAVE3, 0, 13, 4, + MAP_ID_SECRET_BASE_BROWN_CAVE4, 0, 1, 2, + MAP_ID_SECRET_BASE_BLUE_CAVE1, 0, 1, 3, + MAP_ID_SECRET_BASE_BLUE_CAVE2, 0, 1, 2, + MAP_ID_SECRET_BASE_BLUE_CAVE3, 0, 3, 15, + MAP_ID_SECRET_BASE_BLUE_CAVE4, 0, 3, 14, + MAP_ID_SECRET_BASE_YELLOW_CAVE1, 0, 9, 3, + MAP_ID_SECRET_BASE_YELLOW_CAVE2, 0, 8, 7, + MAP_ID_SECRET_BASE_YELLOW_CAVE3, 0, 3, 6, + MAP_ID_SECRET_BASE_YELLOW_CAVE4, 0, 5, 9, + MAP_ID_SECRET_BASE_TREE1, 0, 2, 3, + MAP_ID_SECRET_BASE_TREE2, 0, 5, 6, + MAP_ID_SECRET_BASE_TREE3, 0, 15, 3, + MAP_ID_SECRET_BASE_TREE4, 0, 4, 10, + MAP_ID_SECRET_BASE_SHRUB1, 0, 3, 3, + MAP_ID_SECRET_BASE_SHRUB2, 0, 1, 2, + MAP_ID_SECRET_BASE_SHRUB3, 0, 7, 8, + MAP_ID_SECRET_BASE_SHRUB4, 0, 9, 6 +}; + +const struct MenuAction2 gUnknown_083D13D4[] = { + {SecretBaseText_DelRegist, sub_80BCA84}, + {gUnknownText_Exit, sub_80BCBF8} +}; + +const struct YesNoFuncTable gUnknown_083D13E4 = { + sub_80BCB90, + sub_80BCBC0 +}; + +const u8 gUnknown_083D13EC[] = { + 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0 +}; + +extern void *gUnknown_0300485C; +extern u8 gUnknown_081A2E14[]; +extern u8 UnknownString_81A1BB2[]; +extern u8 UnknownString_81A1F67[]; +extern u8 UnknownString_81A2254[]; +extern u8 UnknownString_81A25C3[]; +extern u8 UnknownString_81A2925[]; +extern u8 UnknownString_81A1D74[]; +extern u8 UnknownString_81A20C9[]; +extern u8 UnknownString_81A2439[]; +extern u8 UnknownString_81A2B2A[]; +extern u8 UnknownString_81A2754[]; + + +void ClearSecretBase(struct SecretBaseRecord *record) +{ + u16 i; + u16 j; + record->secretBaseId = 0; + for (i=0; i<OT_NAME_LENGTH; i++) + record->playerName[i] = 0xff; + for (i=0; i<4; i++) + record->trainerId[i] = 0x00; + record->sbr_field_e = 0; + record->sbr_field_10 = 0; + record->sbr_field_11 = 0; + record->sbr_field_1_0 = 0; + record->gender = 0; + record->sbr_field_1_5 = 0; + record->sbr_field_1_6 = 0; + for (i=0; i<16; i++) { + record->decorations[i] = 0; + record->decorationPos[i] = 0; + } + for (i=0; i<6; i++) { + for (j=0; j<4; j++) { + record->partyMoves[i * 4 + j] = 0; + } + record->partyPersonality[i] = 0; + record->partyEVs[i] = 0; + record->partySpecies[i] = 0; + record->partyHeldItems[i] = 0; + record->partyLevels[i] = 0; + } +} + +void ResetSecretBase(u8 idx) +{ + ClearSecretBase(&gSaveBlock1.secretBases[idx]); +} + +void ResetSecretBases(void) +{ + u16 i; + for (i = 0; i < MAX_SECRET_BASES; i++) + ResetSecretBase(i); +} + +void sub_80BB5D0(void) +{ + gUnknown_020387DC = gSpecialVar_0x8004; +} + +void sub_80BB5E4(void) +{ + u16 i; + gScriptResult = 0; + for (i = 0; i < MAX_SECRET_BASES; i++) { + if (gUnknown_020387DC != gSaveBlock1.secretBases[i].secretBaseId) + continue; + gScriptResult = 1; + VarSet(VAR_0x4054, i); + break; + } +} + +void sub_80BB63C(void) // 80bb63c +{ + if (gSaveBlock1.secretBases[0].secretBaseId) + gScriptResult = 1; + else + gScriptResult = 0; +} + +u8 sub_80BB66C(void) // 80bb66c +{ + s16 x, y; + s16 v0; + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + v0 = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF; + if (v0 == 0x90 || v0 == 0x91) + return 1; + else if (v0 == 0x92 || v0 == 0x93) + return 2; + else if (v0 == 0x9a || v0 == 0x9b) + return 3; + else if (v0 == 0x94 || v0 == 0x95) + return 4; + else if (v0 == 0x96 || v0 == 0x97 || v0 == 0x9c || v0 == 0x9d) + return 5; + else if (v0 == 0x98 || v0 == 0x99) + return 6; + return 0; +} + +void sub_80BB70C(void) // 80bb70c +{ + gSpecialVar_0x8007 = sub_80BB66C(); +} + +s16 unref_sub_80BB724(u16 *a0, u8 a1) +{ + u16 v2; + for (v2=0; v2<0x200; v2++) { + if ((a0[v2] & 0xFFF) == a1) + return (s16)v2; + } + return -1; +} + +void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3) +{ + s16 x, y; + for (y=0; y<gMapHeader.mapData->height; y++) { + for (x=0; x<gMapHeader.mapData->width; x++) { + if ((gMapHeader.mapData->map[y * gMapHeader.mapData->width + x] & 0x3ff) == arg3) { + *arg1 = x; + *arg2 = y; + return; + } + } + } +} + +void sub_80BB800(void) +{ + s16 x, y; + s16 tile_id; + u16 idx; + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + tile_id = MapGridGetMetatileIdAt(x, y); + for (idx=0; idx<7; idx++) { + if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) { + MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00); + CurrentMapDrawMetatileAt(x, y); + return; + } + } + for (idx=0; idx<7; idx++) { + if (gUnknown_083D1358[idx].unk_083D1358_1 == tile_id) { + MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_0 | 0xc00); + CurrentMapDrawMetatileAt(x, y); + return; + } + } +} + +u8 sub_80BB8A8(u8 *arg1) +{ + u8 idx; + for (idx=0; idx<7; idx++) { + if (arg1[idx] == EOS) + return idx; + } + return 7; +} + +void sub_80BB8CC(void) +{ + u8 nameLength; + u16 idx; + gSaveBlock1.secretBases[0].secretBaseId = gUnknown_020387DC; + for (idx=0; idx<4; idx++) { + gSaveBlock1.secretBases[0].trainerId[idx] = gSaveBlock2.playerTrainerId[idx]; + } + VarSet(VAR_0x4054, 0); + nameLength = sub_80BB8A8(gSaveBlock2.playerName); + memset(gSaveBlock1.secretBases[0].playerName, 0xFF, OT_NAME_LENGTH); + StringCopyN(gSaveBlock1.secretBases[0].playerName, gSaveBlock2.playerName, nameLength); + gSaveBlock1.secretBases[0].gender = gSaveBlock2.playerGender; + VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId); +} + +void sub_80BB970(struct MapEvents *events) +{ + u16 bgevidx, idx, jdx; + s16 tile_id; + for (bgevidx=0; bgevidx<events->bgEventCount; bgevidx++) { + if (events->bgEvents[bgevidx].kind == 8) { + for (jdx=0; jdx<MAX_SECRET_BASES; jdx++) { + if (gSaveBlock1.secretBases[jdx].secretBaseId == events->bgEvents[bgevidx].bgUnion.secretBaseId) { + tile_id = MapGridGetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7); + for (idx=0; idx<7; idx++) { + if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) { + MapGridSetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00); + break; + } + } + break; + } + } + } + } +} + +void sub_80BBA14(void) +{ + s8 idx = 4 * (gUnknown_020387DC / 10); + warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]); +} + +void sub_80BBA48(u8 taskid) +{ + u16 curbaseid; + switch (gTasks[taskid].data[0]) { + case 0: + gTasks[taskid].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) { + gTasks[taskid].data[0] = 2; + } + break; + case 2: + curbaseid = VarGet(VAR_0x4054); + if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff) + gSaveBlock1.secretBases[curbaseid].sbr_field_10++; + sub_80BBA14(); + warp_in(); + gFieldCallback = sub_8080990; + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskid); + break; + } +} + +void sub_80BBAF0(void) +{ + CreateTask(sub_80BBA48, 0); + fade_screen(1, 0); + saved_warp2_set(0, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1); +} + +bool8 sub_80BBB24(void) +{ + if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_0x4097) == 0) + return FALSE; + return TRUE; +} + +void sub_80BBB50(u8 taskid) +{ + FieldObjectTurn(&(gMapObjects[gPlayerAvatar.mapObjectId]), 2); + if (sub_807D770() == 1) { + EnableBothScriptContexts(); + DestroyTask(taskid); + } +} + +void sub_80BBB90(void) +{ + s16 x, y; + ScriptContext2_Enable(); + HideMapNamePopup(); + sub_80BB764(&x, &y, 0x220); + MapGridSetMetatileIdAt(x + 7, y + 7, 0xe20); + CurrentMapDrawMetatileAt(x + 7, y + 7); + pal_fill_black(); + CreateTask(sub_80BBB50, 0); +} + +void sub_80BBBEC(u8 taskid) +{ + s8 idx; + if (!gPaletteFade.active) { + idx = 4 * (gUnknown_020387DC / 10); + Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]); + warp_in(); + gFieldCallback = sub_80BBB90; + SetMainCallback2(CB2_LoadMap); + DestroyTask(taskid); + } +} + +void sub_80BBC78(void) +{ + u8 taskid = CreateTask(sub_80BBBEC, 0); + gTasks[taskid].data[0] = 0; + fade_screen(1, 0); +} + +bool8 CurrentMapIsSecretBase(void) +{ + if (gSaveBlock1.location.mapGroup == MAP_GROUP_SECRET_BASE_SHRUB4 && (u8)(gSaveBlock1.location.mapNum) <= MAP_ID_SECRET_BASE_SHRUB4) + return TRUE; + return FALSE; +} + +void sub_80BBCCC(u8 flagIn) +{ + u16 curBaseId; + u16 x, y; + if (CurrentMapIsSecretBase()) { + curBaseId = VarGet(VAR_0x4054); + for (x=0; x<16; x++) { + if (gSaveBlock1.secretBases[curBaseId].decorations[x] > 0 && gSaveBlock1.secretBases[curBaseId].decorations[x] <= 0x78 && gDecorations[gSaveBlock1.secretBases[curBaseId].decorations[x]].permission != DECORPERM_SOLID_MAT) { + sub_80FF394((gSaveBlock1.secretBases[curBaseId].decorationPos[x] >> 4) + 7, (gSaveBlock1.secretBases[curBaseId].decorationPos[x] & 0xF) + 7, gSaveBlock1.secretBases[curBaseId].decorations[x]); + } + } + if (curBaseId != 0) { + sub_80BB764(&x, &y, 0x220); + MapGridSetMetatileIdAt(x + 7, y + 7, 0xe21); + } else if (flagIn == 1 && VarGet(VAR_0x4089) == 1) { + sub_80BB764(&x, &y, 0x220); + MapGridSetMetatileIdAt(x + 7, y + 7, 0xe0a); + } + } +} + +void sub_80BBDD0(void) +{ + u8 *roomdecor; + u8 *roomdecorpos; + u8 decidx; + u8 objid = 0; + u8 metatile; + u8 permission; + u8 ndecor; + u16 curBase = VarGet(VAR_0x4054); + if (!CurrentMapIsSecretBase()) { + roomdecor = gSaveBlock1.playerRoomDecor; + roomdecorpos = gSaveBlock1.playerRoomDecorPos; + ndecor = 12; + } else { + roomdecor = gSaveBlock1.secretBases[curBase].decorations; + roomdecorpos = gSaveBlock1.secretBases[curBase].decorationPos; + ndecor = 16; + } + for (decidx=0; decidx<ndecor; decidx++) { + if (roomdecor[decidx] != DECOR_NONE) { + permission = gDecorations[roomdecor[decidx]].permission; + if (permission == DECORPERM_SOLID_MAT) + { + for (objid=0; objid<gMapHeader.events->mapObjectCount; objid++) { + if (gMapHeader.events->mapObjects[objid].flagId == gSpecialVar_0x8004 + 0xAE) + break; + } + if (objid == gMapHeader.events->mapObjectCount) + continue; + gSpecialVar_0x8006 = roomdecorpos[decidx] >> 4; + gSpecialVar_0x8007 = roomdecorpos[decidx] & 0xF; + metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); + if (sub_80572D8(metatile) == TRUE || sub_80572EC(metatile) == TRUE) { + gScriptResult = gMapHeader.events->mapObjects[objid].graphicsId + VAR_0x3F20; + VarSet(gScriptResult, gDecorations[roomdecor[decidx]].tiles[0]); + gScriptResult = gMapHeader.events->mapObjects[objid].localId; + FlagClear(gSpecialVar_0x8004 + 0xAE); + show_sprite(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + sub_805C0F8(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + sub_805C78C(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + gSpecialVar_0x8004 ++; + } + } + } + } +} + +void sub_80BBFA4(void) +{ + int curBase = VarGet(VAR_0x4054); + VarSet(VAR_0x401F, gUnknown_083D13EC[sub_80BCCA4(curBase)]); +} + +void sub_80BBFD8(struct MapPosition *position, struct MapEvents *events) +{ + s16 bgevtidx; + for (bgevtidx=0; bgevtidx<events->bgEventCount; bgevtidx++) { + if (events->bgEvents[bgevtidx].kind == 8 && position->x == events->bgEvents[bgevtidx].x + 7 && position->y == events->bgEvents[bgevtidx].y + 7) { + gUnknown_020387DC = events->bgEvents[bgevtidx].bgUnion.secretBaseId; + break; + } + } +} + +void sub_80BC038(struct MapPosition *position, struct MapEvents *events) +{ + sub_80BBFD8(position, events); + sub_80BB5E4(); + ScriptContext1_SetupScript(gUnknown_081A2E14); +} + +bool8 sub_80BC050(void) +{ + sub_80BB5D0(); + sub_80BB5E4(); + if (gScriptResult == 1) + return FALSE; + return TRUE; +} + +void sub_80BC074(u8 taskid) +{ + switch (gTasks[taskid].data[0]) { + case 0: + ScriptContext2_Enable(); + gTasks[taskid].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) { + gTasks[taskid].data[0] = 2; + } + break; + case 2: + copy_saved_warp2_bank_and_enter_x_to_warp1(0x7E); + warp_in(); + gFieldCallback = mapldr_default; + SetMainCallback2(CB2_LoadMap); + ScriptContext2_Disable(); + DestroyTask(taskid); + break; + } +} + +void sub_80BC0F8(void) { + CreateTask(sub_80BC074, 0); + fade_screen(1, 0); +} + +void sub_80BC114(void) { + if (gSaveBlock1.secretBases[0].secretBaseId != gUnknown_020387DC) + gScriptResult = 1; + else + gScriptResult = 0; +} + +u8 sub_80BC14C(u8 sbid) +{ + s16 idx; + for (idx=0; idx<MAX_SECRET_BASES; idx++) { + if (gSaveBlock1.secretBases[idx].secretBaseId == sbid) + return idx; + } + return 0; +} + +u8 *sub_80BC190(u8 *dest, u8 arg1) { // 80bc190 + u8 local1; + u8 *str; + + local1 = sub_80BB8A8(gSaveBlock1.secretBases[arg1].playerName); + + str = StringCopyN(dest, gSaveBlock1.secretBases[arg1].playerName, local1); + str[0] = EOS; + +#if ENGLISH + return StringAppend(dest, gOtherText_PlayersBase); +#elif GERMAN + return de_sub_8073174(dest, gOtherText_PlayersBase); +#endif +} + +u8 *GetSecretBaseMapName(u8 *dest) { + gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(VAR_0x4054)].secretBaseId; + return sub_80BC190(dest, VarGet(VAR_0x4054)); +} + +void sub_80BC224(void) { + u8 *var0 = gSaveBlock1.secretBases[(u8)VarGet(VAR_0x4054)].playerName; + u8 *var1 = gStringVar1; + u8 var2 = sub_80BB8A8(var0); + u8 *var3 = StringCopyN(var1, var0, var2); + *var3 = EOS; +} + +bool8 sub_80BC268(u8 i) { // 80bc268 + if (gSaveBlock1.secretBases[i].sbr_field_1_6) + return TRUE; + return FALSE; +} + +u8 sub_80BC298(struct Pokemon *mon) { // 80bc298 + u16 evsum = GetMonData(mon, MON_DATA_HP_EV); + evsum += GetMonData(mon, MON_DATA_ATK_EV); + evsum += GetMonData(mon, MON_DATA_DEF_EV); + evsum += GetMonData(mon, MON_DATA_SPEED_EV); + evsum += GetMonData(mon, MON_DATA_SPATK_EV); + evsum += GetMonData(mon, MON_DATA_SPDEF_EV); + return (u8)(evsum / 6); +} + +#ifdef NONMATCHING +// So much is wrong with this function. +// The compiler likes to store pointers in temp variables. That's not what it's supposed to do. +void sub_80BC300(void) +{ + u16 partyidx; + u16 moveidx; + u16 sbpartyidx = 0; + for (partyidx=0; partyidx<PARTY_SIZE; partyidx++) + { + for (moveidx=0; moveidx<4; moveidx++) + gSaveBlock1.secretBases[0].partyMoves[partyidx * 4 + moveidx] = MOVE_NONE; + gSaveBlock1.secretBases[0].partySpecies[partyidx] = SPECIES_NONE; + gSaveBlock1.secretBases[0].partyHeldItems[partyidx] = ITEM_NONE; + gSaveBlock1.secretBases[0].partyLevels[partyidx] = 0; + gSaveBlock1.secretBases[0].partyPersonality[partyidx] = 0; + gSaveBlock1.secretBases[0].partyEVs[partyidx] = 0; + if (GetMonData(&(gPlayerParty[partyidx]), MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&(gPlayerParty[partyidx]), MON_DATA_IS_EGG)) { + for (moveidx=0; moveidx<4; moveidx++) + gSaveBlock1.secretBases[0].partyMoves[sbpartyidx * 4 + moveidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_MOVE1 + moveidx); + gSaveBlock1.secretBases[0].partySpecies[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_SPECIES); + gSaveBlock1.secretBases[0].partyHeldItems[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_HELD_ITEM); + gSaveBlock1.secretBases[0].partyLevels[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_LEVEL); + gSaveBlock1.secretBases[0].partyPersonality[sbpartyidx] = GetMonData(&(gPlayerParty[partyidx]), MON_DATA_PERSONALITY); + gSaveBlock1.secretBases[0].partyEVs[sbpartyidx] = sub_80BC298(&(gPlayerParty[partyidx])); + sbpartyidx ++; + } + } +} +#else +__attribute__((naked)) +void sub_80BC300(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0xC\n\ + movs r0, 0\n\ + mov r10, r0\n\ + movs r6, 0\n\ + mov r9, r6\n\ +_080BC314:\n\ + movs r4, 0\n\ + lsls r3, r6, 2\n\ + lsls r2, r6, 1\n\ + ldr r7, _080BC424 @ =gPlayerParty\n\ + adds r1, r6, 0x1\n\ + str r1, [sp]\n\ + adds r1, r3, 0\n\ +_080BC322:\n\ + adds r0, r1, r4\n\ + lsls r0, 1\n\ + ldr r5, _080BC428 @ =gSaveBlock1 + 0x1A54\n\ + adds r0, r5, r0\n\ + mov r5, r9\n\ + strh r5, [r0]\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + cmp r4, 0x3\n\ + bls _080BC322\n\ + ldr r1, _080BC42C @ =gSaveBlock1 + 0x1A84\n\ + adds r0, r1, r2\n\ + strh r5, [r0]\n\ + ldr r5, _080BC430 @ =gSaveBlock1 + 0x1A90\n\ + adds r0, r5, r2\n\ + mov r1, r9\n\ + strh r1, [r0]\n\ + ldr r2, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\ + adds r0, r2, r6\n\ + mov r5, r9\n\ + strb r5, [r0]\n\ + ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\ + adds r0, r1, r3\n\ + mov r2, r9\n\ + str r2, [r0]\n\ + ldr r3, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\ + adds r0, r3, r6\n\ + strb r2, [r0]\n\ + movs r0, 0x64\n\ + adds r5, r6, 0\n\ + muls r5, r0\n\ + adds r4, r5, r7\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080BC408\n\ + adds r0, r4, 0\n\ + movs r1, 0x2D\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + bne _080BC408\n\ + movs r4, 0\n\ + mov r0, r10\n\ + lsls r0, 2\n\ + mov r8, r0\n\ + mov r1, r10\n\ + lsls r7, r1, 1\n\ + adds r1, 0x1\n\ + str r1, [sp, 0x4]\n\ + ldr r2, _080BC424 @ =gPlayerParty\n\ +_080BC38E:\n\ + adds r1, r4, 0\n\ + adds r1, 0xD\n\ + adds r0, r5, r2\n\ + str r2, [sp, 0x8]\n\ + bl GetMonData\n\ + mov r3, r8\n\ + adds r1, r3, r4\n\ + lsls r1, 1\n\ + ldr r3, _080BC428 @ =gSaveBlock1 + 0x1A54\n\ + adds r1, r3, r1\n\ + strh r0, [r1]\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + ldr r2, [sp, 0x8]\n\ + cmp r4, 0x3\n\ + bls _080BC38E\n\ + movs r0, 0x64\n\ + adds r4, r6, 0\n\ + muls r4, r0\n\ + ldr r0, _080BC424 @ =gPlayerParty\n\ + adds r4, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + ldr r5, _080BC42C @ =gSaveBlock1 + 0x1A84\n\ + adds r1, r5, r7\n\ + strh r0, [r1]\n\ + adds r0, r4, 0\n\ + movs r1, 0xC\n\ + bl GetMonData\n\ + ldr r2, _080BC430 @ =gSaveBlock1 + 0x1A90\n\ + adds r1, r2, r7\n\ + strh r0, [r1]\n\ + adds r0, r4, 0\n\ + movs r1, 0x38\n\ + bl GetMonData\n\ + ldr r1, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\ + add r1, r10\n\ + strb r0, [r1]\n\ + adds r0, r4, 0\n\ + movs r1, 0\n\ + bl GetMonData\n\ + ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\ + add r1, r8\n\ + str r0, [r1]\n\ + adds r0, r4, 0\n\ + bl sub_80BC298\n\ + ldr r1, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\ + add r1, r10\n\ + strb r0, [r1]\n\ + ldr r3, [sp, 0x4]\n\ + lsls r0, r3, 16\n\ + lsrs r0, 16\n\ + mov r10, r0\n\ +_080BC408:\n\ + ldr r5, [sp]\n\ + lsls r0, r5, 16\n\ + lsrs r6, r0, 16\n\ + cmp r6, 0x5\n\ + bls _080BC314\n\ + add sp, 0xC\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080BC424: .4byte gPlayerParty\n\ +_080BC428: .4byte gSaveBlock1 + 0x1A54\n\ +_080BC42C: .4byte gSaveBlock1 + 0x1A84\n\ +_080BC430: .4byte gSaveBlock1 + 0x1A90\n\ +_080BC434: .4byte gSaveBlock1 + 0x1A9C\n\ +_080BC438: .4byte gSaveBlock1 + 0x1A3C\n\ +_080BC43C: .4byte gSaveBlock1 + 0x1AA2\n\ +.syntax divided\n"); +} +#endif + +void sub_80BC440(void) +{ + u16 backupValue = gSaveBlock1.secretBases[0].sbr_field_e; + ResetSecretBase(0); + gSaveBlock1.secretBases[0].sbr_field_e = backupValue; + sub_80BC0F8(); +} + +void SecretBasePC_PackUp(void) +{ + IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); + sub_80BC440(); +} + +void sub_80BC474(void) +{ + u16 eventId; + struct MapEvents *mapEvents = gMapHeader.events; + for (eventId = 0; eventId < mapEvents->bgEventCount; eventId++) + { + if (mapEvents->bgEvents[eventId].kind == 8 + && gSaveBlock1.secretBases[0].secretBaseId == mapEvents->bgEvents[eventId].bgUnion.secretBaseId) + { + u16 i; + s16 tileId = MapGridGetMetatileIdAt(mapEvents->bgEvents[eventId].x + 7, mapEvents->bgEvents[eventId].y + 7); + + for (i = 0; i < 7; i++) + { + if (gUnknown_083D1358[i].unk_083D1358_1 == tileId) + { + MapGridSetMetatileIdAt( + mapEvents->bgEvents[eventId].x + 7, + mapEvents->bgEvents[eventId].y + 7, + gUnknown_083D1358[i].unk_083D1358_0 | 0xc00); + break; + } + } + + DrawWholeMapView(); + break; + } + } +} + +void sub_80BC50C(void) +{ + u16 backupValue; + sub_80BC474(); + IncrementGameStat(GAME_STAT_MOVED_SECRET_BASE); + + backupValue = gSaveBlock1.secretBases[0].sbr_field_e; + ResetSecretBase(0); + gSaveBlock1.secretBases[0].sbr_field_e = backupValue; +} + +u8 sub_80BC538(void) +{ + s16 secretBaseIndex; + u8 retVal = 0; + + for (secretBaseIndex = 1; secretBaseIndex < MAX_SECRET_BASES; secretBaseIndex++) + { + if (sub_80BC268(secretBaseIndex) == TRUE) + { + retVal++; + } + } + + return retVal; +} + +void sub_80BC56C(void) +{ + u8 secretBaseIndex = sub_80BC14C(gUnknown_020387DC); + if (sub_80BC268(secretBaseIndex) == TRUE) + { + gScriptResult = 1; + } + else if (sub_80BC538() > 9) + { + gScriptResult = 2; + } + else + { + gScriptResult = 0; + } +} + +void sub_80BC5BC(void) +{ + gSaveBlock1.secretBases[sub_80BC14C(gUnknown_020387DC)].sbr_field_1_6 ^= 1; + FlagSet(0x10C); +} + +void SecretBasePC_Decoration(void) +{ + CreateTask(Task_SecretBasePC_Decoration, 0); +} + +void SecretBasePC_Registry(void) +{ + CreateTask(Task_SecretBasePC_Registry, 0); +} + +void Task_SecretBasePC_Registry(u8 taskId) +{ + s16 *taskData; + + ScriptContext2_Enable(); + sub_80F944C(); + LoadScrollIndicatorPalette(); + + taskData = gTasks[taskId].data; + taskData[0] = sub_80BC538(); + if (taskData[0] != 0) + { + if (taskData[0] > 7) { + taskData[3] = 7; + } + else + { + taskData[3] = taskData[0]; + } + + taskData[1] = 0; + taskData[2] = 0; + + MenuZeroFillWindowRect(0, 0, 29, 19); + sub_80BC7D8(taskId); + + gTasks[taskId].func = sub_80BC824; + } + else + { + DisplayItemMessageOnField(taskId, gSecretBaseText_NoRegistry, sub_80BCC54, 0); + } +} + +void sub_80BC6B0(u8 taskId) +{ + u8 i; + s16 *taskData = gTasks[taskId].data; + u8 m = 0; + u8 n = 0; + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (m == taskData[2]) + { + m = i; + break; + } + + if (sub_80BC268(i) == TRUE) + m++; + } + + for (i = m; i < MAX_SECRET_BASES; i++) + { + if (sub_80BC268(i) == TRUE) + { + sub_80BC190(gStringVar1, i); + MenuFillWindowRectWithBlankTile(18, 2 * n + 2, 28, 2 * n + 3); + MenuPrint(gStringVar1, 18, 2 * n + 2); + if (++n == 8) + break; + } + } + + if (n < 8) + { + MenuFillWindowRectWithBlankTile(18, 2 * n + 2, 28, 2 * n + 3); + MenuPrint(gUnknownText_Exit, 18, 2 * n + 2); + DestroyVerticalScrollIndicator(1); + if (n != 7) + MenuFillWindowRectWithBlankTile(18, ((n << 25) + (1 << 26)) >> 24, 28, 18); // the shifts are needed to match + } + else + CreateVerticalScrollIndicators(1, 0xbc, 0x98); + + if (taskData[2] == 0) + DestroyVerticalScrollIndicator(0); + else + CreateVerticalScrollIndicators(0, 0xbc, 0x08); +} + +void sub_80BC7D8(u8 taskId) +{ + u16 *taskData = gTasks[taskId].data; + MenuDrawTextWindow(17, 0, 29, 19); + InitMenu(0, 18, 2, taskData[3] + 1, taskData[1], 11); + + sub_80BC6B0(taskId); +} + +void sub_80BC824(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (taskData[1]) + { + PlaySE(5); + taskData[1] = MoveMenuCursor(-1); + } + else if (taskData[2]) + { + PlaySE(5); + taskData[2]--; + sub_80BC6B0(taskId); + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (taskData[1] == taskData[3]) + { + if (taskData[2] + taskData[1] != taskData[0]) + { + PlaySE(5); + taskData[2]++; + sub_80BC6B0(taskId); + } + } + else + { + PlaySE(5); + taskData[1] = MoveMenuCursor(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(5); + if (taskData[1] + taskData[2] == taskData[0]) + { + HandleDestroyMenuCursors(); + MenuZeroFillWindowRect(0, 0, 29, 19); + sub_80BCC54(taskId); + } + else + { + HandleDestroyMenuCursors(); + taskData[4] = sub_80BC948(taskData[1] + taskData[2]); + sub_80BC980(taskId); + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(5); + HandleDestroyMenuCursors(); + MenuZeroFillWindowRect(0, 0, 29, 19); + sub_80BCC54(taskId); + } +} + +u8 sub_80BC948(u8 a) +{ + u8 secretBaseIndex; + u8 count = 0; + + for (secretBaseIndex = 1; secretBaseIndex < MAX_SECRET_BASES; secretBaseIndex++) + { + if (sub_80BC268(secretBaseIndex) == TRUE) + { + if (a == count) + { + return secretBaseIndex; + } + + count++; + } + } + + return 0; +} + +void sub_80BC980(u8 taskId) +{ + PauseVerticalScrollIndicator(0); + PauseVerticalScrollIndicator(1); + MenuDrawTextWindow(1, 0, 12, 5); + PrintMenuItems(2, 1, 2, (const struct MenuAction *)gUnknown_083D13D4); + InitMenu(0, 2, 1, 2, 0, 10); + gTasks[taskId].func = sub_80BC9E4; +} + +void sub_80BC9E4(u8 taskId) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (GetMenuCursorPos()) + { + PlaySE(5); + MoveMenuCursor(-1); + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (GetMenuCursorPos() != 1) + { + PlaySE(5); + MoveMenuCursor(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(5); + gUnknown_083D13D4[GetMenuCursorPos()].func(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(5); + sub_80BCBF8(taskId); + } +} + +void sub_80BCA84(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + DestroyVerticalScrollIndicator(0); + DestroyVerticalScrollIndicator(1); + HandleDestroyMenuCursors(); + MenuZeroFillWindowRect(0, 0, 29, 19); + + sub_80BC190(gStringVar1, taskData[4]); + StringExpandPlaceholders(gStringVar4, gOtherText_OkayToDeleteFromRegistry); + DisplayItemMessageOnField(taskId, gStringVar4, sub_80BCAEC, 0); +} + +void sub_80BCAEC(u8 taskId) +{ + DisplayYesNoMenu(20, 8, 1); + DoYesNoFuncWithChoice(taskId, &gUnknown_083D13E4); +} + +void sub_80BCB10(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + MenuZeroFillWindowRect(0, 0, 29, 19); + + gSaveBlock1.secretBases[taskData[4]].sbr_field_1_6 = 0; + taskData[0]--; + + if (taskData[2] > 0) + { + taskData[2]--; + } + + if (taskData[0] < 8) + { + taskData[3]--; + } + + sub_80BC7D8(taskId); + gTasks[taskId].func = sub_80BC824; +} + +void sub_80BCB90(u8 taskId) +{ + MenuZeroFillWindowRect(20, 8, 26, 13); + DisplayItemMessageOnField(taskId, gOtherText_RegisteredDataDeleted, sub_80BCB10, 0); +} + +void sub_80BCBC0(u8 taskId) +{ + MenuZeroFillWindowRect(0, 0, 29, 19); + + sub_80BC7D8(taskId); + gTasks[taskId].func = sub_80BC824; +} + +void sub_80BCBF8(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + InitMenu(0, 18, 2, taskData[3] + 1, taskData[1], 11); + MenuZeroFillWindowRect(1, 0, 12, 5); + StartVerticalScrollIndicators(0); + StartVerticalScrollIndicators(1); + + gTasks[taskId].func = sub_80BC824; +} + +void sub_80BCC54(u8 taskId) +{ + u16 curBaseIndex = VarGet(VAR_0x4054); + + BuyMenuFreeMemory(); + DestroyVerticalScrollIndicator(0); + DestroyVerticalScrollIndicator(1); + + if (curBaseIndex == 0) + { + ScriptContext1_SetupScript(gUnknown_0815F399); + } + else + { + ScriptContext1_SetupScript(gUnknown_0815F49A); + } + + DestroyTask(taskId); +} + +u8 sub_80BCCA4(u8 secretBaseIndex) +{ + return (gSaveBlock1.secretBases[secretBaseIndex].playerName[OT_NAME_LENGTH] % 5) + + gSaveBlock1.secretBases[secretBaseIndex].gender * 5; +} + +const u8 *sub_80BCCE8(void) +{ + u8 param = sub_80BCCA4(VarGet(VAR_0x4054)); + if (param == 0) return UnknownString_81A1BB2; + if (param == 1) return UnknownString_81A1F67; + if (param == 2) return UnknownString_81A2254; + if (param == 3) return UnknownString_81A25C3; + if (param == 4) return UnknownString_81A2925; + if (param == 5) return UnknownString_81A1D74; + if (param == 6) return UnknownString_81A20C9; + if (param == 7) return UnknownString_81A2439; + if (param == 8) return UnknownString_81A2754; + return UnknownString_81A2B2A; +} + +// Debugging function to test secret base battles. +void unref_sub_80BCD7C(u8 secretBaseIndex) +{ + u16 i; + for (i = 0; i == 0; i++) + { + gSaveBlock1.secretBases[secretBaseIndex].partyPersonality[i] = i + 1; + gSaveBlock1.secretBases[secretBaseIndex].partyMoves[i * 4] = i + 1; + gSaveBlock1.secretBases[secretBaseIndex].partySpecies[i] = SPECIES_TREECKO; + gSaveBlock1.secretBases[secretBaseIndex].partyHeldItems[i] = i + 1; + gSaveBlock1.secretBases[secretBaseIndex].partyLevels[i] = i + 5; + gSaveBlock1.secretBases[secretBaseIndex].partyEVs[i] = i * 5; + } +} + +void sub_80BCE1C(void) +{ + u16 curBaseIndex = VarGet(VAR_0x4054); + sub_810FB10(1); + + CreateSecretBaseEnemyParty(&gSaveBlock1.secretBases[curBaseIndex]); +} + +void sub_80BCE4C() +{ + gSaveBlock1.secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gScriptResult; +} + +void sub_80BCE90() +{ + u16 curBaseIndex = VarGet(VAR_0x4054); + + if (!FlagGet(0x8C2)) + { + u8 i; + + for (i = 0; i < MAX_SECRET_BASES; i++) + { + gSaveBlock1.secretBases[i].sbr_field_1_5 = 0; + } + + FlagSet(0x8C2); + } + + gSpecialVar_0x8004 = sub_80BCCA4(curBaseIndex); + gScriptResult = gSaveBlock1.secretBases[curBaseIndex].sbr_field_1_5; +} + +void sub_80BCF1C(u8 taskId) +{ + s16 x, y; + u32 behavior; + s16 *taskData = gTasks[taskId].data; + + switch (taskData[1]) + { + case 0: + PlayerGetDestCoords(&taskData[2], &taskData[3]); + taskData[1] = 1; + break; + case 1: + PlayerGetDestCoords(&x, &y); + if (x != taskData[2] || y != taskData[3]) + { + taskData[2] = x; + taskData[3] = y; + + behavior = MapGridGetMetatileBehaviorAt(x, y); + if (sub_8057350(behavior) == TRUE) + { + DoYellowCave4Sparkle(); + } + else if (sub_8057314(behavior) == TRUE) + { + sub_80C68A4(MapGridGetMetatileIdAt(x, y), x, y); + } + else if (sub_8057328(behavior) == TRUE) + { + sub_80C6A54(x, y); + } + else if (sub_805733C(behavior) == TRUE) + { + DoDecorationSoundEffect(MapGridGetMetatileIdAt(x, y)); + } + } + break; + case 2: + if (!FieldEffectActiveListContains(taskData[4])) + { + taskData[1] = 1; + } + break; + } +} + +void sub_80BD034(u8 i, struct SecretBaseRecord *secretBase) +{ + gSaveBlock1.secretBases[i] = *secretBase; + gSaveBlock1.secretBases[i].sbr_field_1_6 = 2; +} + +bool8 sub_80BD070(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB) +{ + u8 i; + + for (i = 0; i < 4; i++) + { + if (baseA->trainerId[i] != baseB->trainerId[i]) + { + return FALSE; + } + } + + return TRUE; +} + +bool8 sub_80BD0A0(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB) +{ + u8 i; + + for (i = 0; i < OT_NAME_LENGTH && (baseA->playerName[i] != 0xFF || baseB->playerName[i] != 0xFF); i++) + { + if (baseA->playerName[i] != baseB->playerName[i]) + { + return FALSE; + } + } + + return TRUE; +} + +bool8 sub_80BD0EC(struct SecretBaseRecord *baseA, struct SecretBaseRecord *baseB) +{ + if (baseA->gender == baseB->gender && sub_80BD070(baseA, baseB) && sub_80BD0A0(baseA, baseB)) + { + return TRUE; + } + + + return FALSE; +} + +s16 sub_80BD12C(u8 secretBaseId) +{ + s16 i; + + for (i = 0; i < MAX_SECRET_BASES; i++) + { + if (gSaveBlock1.secretBases[i].secretBaseId == secretBaseId) + { + return i; + } + } + + return -1; +} + +u8 sub_80BD170(void) +{ + s16 i; + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (gSaveBlock1.secretBases[i].secretBaseId == 0) + { + return i; + } + } + + return 0; +} + +u8 sub_80BD1B0(void) +{ + s16 i; + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (gSaveBlock1.secretBases[i].sbr_field_1_6 == 0 && gSaveBlock1.secretBases[i].sbr_field_1_0 == 0) + { + return i; + } + } + + return 0; +} + +u8 sub_80BD1FC(struct SecretBaseRecord *secretBase) +{ + s16 secretBaseIndex; + + if (secretBase->secretBaseId == 0) + { + return 0; + } + + secretBaseIndex = sub_80BD12C(secretBase->secretBaseId); + if (secretBaseIndex != 0) + { + if (secretBaseIndex != -1) + { + if (gSaveBlock1.secretBases[secretBaseIndex].sbr_field_1_0 == 1) + { + return 0; + } + if (gSaveBlock1.secretBases[secretBaseIndex].sbr_field_1_6 != 2 + || secretBase->sbr_field_1_0 == 1) + { + sub_80BD034(secretBaseIndex, secretBase); + return secretBaseIndex; + } + } + else + { + secretBaseIndex = sub_80BD170(); + if (secretBaseIndex != 0) + { + sub_80BD034(secretBaseIndex, secretBase); + return secretBaseIndex; + } + secretBaseIndex = sub_80BD1B0(); + if (secretBaseIndex) + { + sub_80BD034(secretBaseIndex, secretBase); + return secretBaseIndex; + } + } + } + + return 0; +} + +void sub_80BD280(void) +{ + u8 i; + u8 j; + struct SecretBaseRecord temp; + struct SecretBaseRecord *secretBases = gSaveBlock1.secretBases; + + for (i = 1; i < MAX_SECRET_BASES - 1; i++) + { + for (j = i + 1; j < MAX_SECRET_BASES; j++) + { + if ((!secretBases[i].sbr_field_1_6 && secretBases[j].sbr_field_1_6 == 1) + || (secretBases[i].sbr_field_1_6 == 2 && secretBases[j].sbr_field_1_6 != 2)) + { + temp = secretBases[i]; + secretBases[i] = secretBases[j]; + secretBases[j] = temp; + } + } + } +} + +void sub_80BD328(struct SecretBaseRecord *secretBases, u8 b) +{ + u16 i; + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (secretBases[i].sbr_field_1_6 == b) + { + sub_80BD1FC(&secretBases[i]); + } + } +} + +bool8 sub_80BD358(struct SecretBaseRecord *secretBase) +{ + u8 i; + + if (!secretBase->secretBaseId) + return FALSE; + + if (secretBase->secretBaseId && secretBase->gender != gSaveBlock2.playerGender) + return FALSE; + + // Check if the player's trainer Id matches the secret base's id. + for (i = 0; i < 4; i++) + { + if (secretBase->trainerId[i] != gSaveBlock2.playerTrainerId[i]) + return FALSE; + } + + for (i = 0; i < OT_NAME_LENGTH && (secretBase->playerName[i] != 0xFF || gSaveBlock2.playerName[i] != 0xFF); i++) + { + if (secretBase->playerName[i] != gSaveBlock2.playerName[i]) + return FALSE; + } + + return TRUE; +} + +void sub_80BD3DC(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC) +{ + u8 i; + u8 var1 = 0; + + for (i = 0; i < MAX_SECRET_BASES; i++) + { + if ((var1 & 1) == 0) + { + if (sub_80BD358(&basesA[i]) == TRUE) + { + ClearSecretBase(&basesA[i]); + var1 |= 1; + } + } + + if ((var1 & 2) == 0) + { + if (sub_80BD358(&basesB[i]) == TRUE) + { + ClearSecretBase(&basesB[i]); + var1 |= 2; + } + } + + if ((var1 & 4) == 0) + { + if (sub_80BD358(&basesC[i]) == TRUE) + { + ClearSecretBase(&basesC[i]); + var1 |= 4; + } + } + + if (var1 == 7) + { + break; + } + } +} + +bool8 sub_80BD494(struct SecretBaseRecord *base, struct SecretBaseRecord *secretBases, u8 c) +{ + u8 i; + + for (i = 0; i < MAX_SECRET_BASES; i++) + { + if (secretBases[i].secretBaseId) + { + if (sub_80BD0EC(base, &secretBases[i]) == TRUE) + { + if (c == 0) + { + ClearSecretBase(&secretBases[i]); + return FALSE; + } + + if (base->sbr_field_e > secretBases[i].sbr_field_e) + { + ClearSecretBase(&secretBases[i]); + return FALSE; + } + + secretBases[i].sbr_field_1_0 = base->sbr_field_1_0; + + ClearSecretBase(base); + return TRUE; + } + } + } + + return FALSE; +} + +void sub_80BD514(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC, struct SecretBaseRecord *basesD) +{ + u8 i; + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (basesA[i].secretBaseId) + { + if (basesA[i].sbr_field_1_6 == 1) + { + basesA[i].sbr_field_1_0 = 1; + } + + if (!sub_80BD494(&basesA[i], basesB, i)) + { + if (!sub_80BD494(&basesA[i], basesC, i)) + { + sub_80BD494(&basesA[i], basesD, i); + } + } + } + } + + for (i = 0; i < MAX_SECRET_BASES; i++) + { + if (basesB[i].secretBaseId) + { + basesB[i].sbr_field_1_5 = 0; + + if (!sub_80BD494(&basesB[i], basesC, i)) + { + sub_80BD494(&basesB[i], basesD, i); + } + } + } + + for (i = 0; i < MAX_SECRET_BASES; i++) + { + if (basesC[i].secretBaseId) + { + basesC[i].sbr_field_1_5 = 0; + sub_80BD494(&basesC[i], basesD, i); + } + + if (basesD[i].secretBaseId) + { + basesD[i].sbr_field_1_5 = 0; + } + } +} + +void sub_80BD610(struct SecretBaseRecord *basesA, struct SecretBaseRecord *basesB, struct SecretBaseRecord *basesC) +{ + sub_80BD3DC(basesA, basesB, basesC); + sub_80BD514(gSaveBlock1.secretBases, basesA, basesB, basesC); + + sub_80BD1FC(basesA); + sub_80BD1FC(basesB); + sub_80BD1FC(basesC); + + sub_80BD328(basesA, 1); + sub_80BD328(basesB, 1); + sub_80BD328(basesC, 1); + + sub_80BD328(basesA, 0); + sub_80BD328(basesB, 0); + sub_80BD328(basesC, 0); +} + +void sub_80BD674(void *playerRecords, u32 size, u8 c) +{ + if (FlagGet(0x60)) + { + u16 i; + u8 numLinkedPlayers = GetLinkPlayerCount(); + switch (numLinkedPlayers) + { + case 2: + memset(playerRecords + size * 2, 0, size); + memset(playerRecords + size * 3, 0, size); + break; + case 3: + memset(playerRecords + size * 3, 0, size); + break; + } + + switch (c) + { + case 0: + sub_80BD610(playerRecords + size, playerRecords + size * 2, playerRecords + size * 3); + break; + case 1: + sub_80BD610(playerRecords + size * 2, playerRecords + size * 3, playerRecords); + break; + case 2: + sub_80BD610(playerRecords + size * 3, playerRecords, playerRecords + size); + break; + case 3: + sub_80BD610(playerRecords, playerRecords + size, playerRecords + size * 2); + break; + } + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (gSaveBlock1.secretBases[i].sbr_field_1_0 == 1) + { + gSaveBlock1.secretBases[i].sbr_field_1_6 = 1; + gSaveBlock1.secretBases[i].sbr_field_1_0 = 0; + } + } + + sub_80BD280(); + + for (i = 1; i < MAX_SECRET_BASES; i++) + { + if (gSaveBlock1.secretBases[i].sbr_field_1_6 == 2) + { + gSaveBlock1.secretBases[i].sbr_field_1_6 = 0; + } + } + + if (gSaveBlock1.secretBases[0].sbr_field_e != 0xFFFF) + { + gSaveBlock1.secretBases[0].sbr_field_e++; + } + } +} diff --git a/src/shop.c b/src/field/shop.c index 22250b1c4..375205935 100644 --- a/src/shop.c +++ b/src/field/shop.c @@ -282,7 +282,7 @@ void BuyMenuDrawGraphics(void) register const u32 zero asm("r6") = 0; DmaFill32(3, zero, addr, OAM_SIZE); LZDecompressVram(gBuyMenuFrame_Gfx, (void*)(VRAM + 0x7C00)); - sub_800D238(gBuyMenuFrame_Tilemap, (void *)0x02018000); + LZDecompressWram(gBuyMenuFrame_Tilemap, (void *)0x02018000); LoadCompressedPalette(gMenuMoneyPal, 0xC0, sizeof(gMenuMoneyPal)); FreeAllSpritePalettes(); ResetPaletteFade(); diff --git a/src/slot_machine.c b/src/field/slot_machine.c index c9a06a758..153970337 100644 --- a/src/slot_machine.c +++ b/src/field/slot_machine.c @@ -71,7 +71,7 @@ void sub_8106448(void) { u32 offsetRead, offsetWrite; u32 size; - sub_800D238(gSlotMachine_Gfx, (void *) 0x02010000); + LZDecompressWram(gSlotMachine_Gfx, (void *) 0x02010000); offsetRead = 0x02010000; offsetWrite = BG_VRAM; @@ -94,7 +94,7 @@ void sub_8106448(void) { } void sub_81064B8(void) { - CpuCopy16(gUnknown_08E95AB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2); + CpuCopy16(gUnknown_08E95AB8, BG_SCREEN_ADDR(29), 20 * 32 * 2); LoadSlotMachineWheelOverlay(); } @@ -102,7 +102,7 @@ static void LoadSlotMachineWheelOverlay(void) { s16 x, y, dx; u16 *screen; - screen = (u16 *) BG_SCREEN_ADDR(30); + screen = BG_SCREEN_ADDR(30); for (x = 4; x < 18; x += 5) { @@ -125,7 +125,7 @@ static void LoadSlotMachineWheelOverlay(void) { } void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) { - u16 *vram = (u16 *) BG_SCREEN_ADDR(29); + u16 *vram = BG_SCREEN_ADDR(29); vram[15 * 32 + arg0] = arg1; vram[15 * 32 + 1 + arg0] = arg2; @@ -137,9 +137,9 @@ void sub_81065DC(void) { s16 y, x; u16 *screen; - CpuCopy16(gUnknown_08E95FB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2); + CpuCopy16(gUnknown_08E95FB8, BG_SCREEN_ADDR(29), 20 * 32 * 2); - screen = (u16 *) BG_SCREEN_ADDR(30); + screen = BG_SCREEN_ADDR(30); for (y = 0; y < 20; y++) { for (x = 0; x < 30; x++) diff --git a/src/start_menu.c b/src/field/start_menu.c index 6e44090df..6e44090df 100644 --- a/src/start_menu.c +++ b/src/field/start_menu.c diff --git a/src/starter_choose.c b/src/field/starter_choose.c index 2b28df4f0..2b28df4f0 100644 --- a/src/starter_choose.c +++ b/src/field/starter_choose.c diff --git a/src/trader.c b/src/field/trader.c index 61f48fad8..61f48fad8 100644 --- a/src/trader.c +++ b/src/field/trader.c diff --git a/src/trainer_see.c b/src/field/trainer_see.c index 5a8ebbafc..85bd7ad0b 100644 --- a/src/trainer_see.c +++ b/src/field/trainer_see.c @@ -257,7 +257,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer { u8 direction; - FieldObjectGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); FieldObjectSetSpecialAnim(trainerObj, direction); diff --git a/src/tv.c b/src/field/tv.c index 734cbad6f..87fc03065 100644 --- a/src/tv.c +++ b/src/field/tv.c @@ -123,7 +123,6 @@ void ClearTVShowData(void) bool8 sub_80BF1B4(u8); void sub_80BF20C(void); -extern u16 sub_8135D3C(u8); extern u8 gScriptContestCategory; extern u8 gScriptContestRank; extern u8 gUnknown_03004316[11]; @@ -674,12 +673,12 @@ void sub_80BE320(void) bravoTrainerTower->var00 = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; bravoTrainerTower->var01 = 1; StringCopy(bravoTrainerTower->trainerName, gSaveBlock2.playerName); - StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.filler_A8.filler_3DC); - bravoTrainerTower->species = gSaveBlock2.filler_A8.var_480; - bravoTrainerTower->defeatedSpecies = gSaveBlock2.filler_A8.var_482; - bravoTrainerTower->var16 = sub_8135D3C(gSaveBlock2.filler_A8.var_4D0); - bravoTrainerTower->var1c = gSaveBlock2.filler_A8.var_4AD; - if (gSaveBlock2.filler_A8.var_4D0 == 0) + StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.battleTower.defeatedByTrainerName); + bravoTrainerTower->species = gSaveBlock2.battleTower.firstMonSpecies; + bravoTrainerTower->defeatedSpecies = gSaveBlock2.battleTower.defeatedBySpecies; + bravoTrainerTower->var16 = GetCurrentBattleTowerWinStreak(gSaveBlock2.battleTower.lastStreakLevelType); + bravoTrainerTower->var1c = gSaveBlock2.battleTower.battleOutcome; + if (gSaveBlock2.battleTower.lastStreakLevelType == 0) bravoTrainerTower->btLevel = 50; else bravoTrainerTower->btLevel = 100; @@ -1555,7 +1554,7 @@ u16 sub_80BF674(u16 species) rspecies = (Random() % (NUM_SPECIES - 1)) + 1; cspecies = rspecies; - while (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species) + while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species) { if (cspecies == SPECIES_BULBASAUR) cspecies = NUM_SPECIES - 1; @@ -2319,7 +2318,7 @@ void sub_80C03A8(u8 showidx) void sub_80C03C8(u16 species, u8 showidx) { - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0) + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0) gSaveBlock1.tvShows[showidx].common.var01 = 0; } diff --git a/src/use_pokeblock.c b/src/field/use_pokeblock.c index be3003680..5fbecec0d 100644 --- a/src/use_pokeblock.c +++ b/src/field/use_pokeblock.c @@ -1,5 +1,5 @@ // -// Created by Scott Norton on 5/31/17. + // Modified by Dizzy Egg on 8/15/17. // @@ -22,10 +22,10 @@ #ifdef GERMAN extern const u16 ConditionUpDownPalette[16]; -extern const u32 ConditionUpDownTiles[0x80]; +extern const u8 ConditionUpDownTiles[0x200]; #else const u16 ConditionUpDownPalette[] = INCBIN_U16("graphics/misc/condition_up_down.gbapal"); -const u32 ConditionUpDownTiles[] = INCBIN_U32("graphics/misc/condition_up_down.4bpp"); +const u8 ConditionUpDownTiles[] = INCBIN_U8("graphics/misc/condition_up_down.4bpp"); #endif static const u32 sContestStatsMonData[] = { @@ -49,7 +49,7 @@ static const u8 *const sContextStatNames[] = { }; static const struct SpriteSheet gSpriteSheet_ConditionUpDown = { - (u8 *)ConditionUpDownTiles, + ConditionUpDownTiles, sizeof ConditionUpDownTiles, GFX_TAG_CONDITIONUPDOWN }; diff --git a/src/wallclock.c b/src/field/wallclock.c index 8db13dc2d..8db13dc2d 100644 --- a/src/wallclock.c +++ b/src/field/wallclock.c diff --git a/src/wild_encounter.c b/src/field/wild_encounter.c index 390898917..390898917 100644 --- a/src/wild_encounter.c +++ b/src/field/wild_encounter.c diff --git a/src/agb_flash.c b/src/libs/agb_flash.c index 340d469a7..5b171abcb 100644 --- a/src/agb_flash.c +++ b/src/libs/agb_flash.c @@ -9,7 +9,7 @@ static u16 sSavedIme; u8 gFlashTimeoutFlag; u8 (*PollFlashStatus)(u8 *); u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData); -u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src); +u16 (*ProgramFlashSector)(u16 sectorNum, void *src); const struct FlashType *gFlash; u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data); u16 gFlashNumRemainingBytes; @@ -135,7 +135,7 @@ void ReadFlash_Core(u8 *src, u8 *dest, u32 size) } } -void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size) +void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size) { u8 *src; u16 i; @@ -256,7 +256,7 @@ u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n) return verifyFlashSector_Core(src, tgt, n); } -u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused +u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) { u8 i; u32 result; @@ -275,18 +275,18 @@ u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused return result; // return 0 if verified and programmed. } -u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n) +u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n) { u8 i; u32 result; for (i = 0; i < 3; i++) { - result = ProgramFlashSector(sectorNum, src); + result = ProgramFlashSector(sectorNum, dataSrc); if (result != 0) continue; - result = VerifyFlashSectorNBytes(sectorNum, src, n); + result = VerifyFlashSectorNBytes(sectorNum, dataSrc, n); if (result == 0) break; } diff --git a/src/agb_flash_1m.c b/src/libs/agb_flash_1m.c index e249fab9a..e249fab9a 100644 --- a/src/agb_flash_1m.c +++ b/src/libs/agb_flash_1m.c diff --git a/src/agb_flash_le.c b/src/libs/agb_flash_le.c index 39d956e27..39d956e27 100644 --- a/src/agb_flash_le.c +++ b/src/libs/agb_flash_le.c diff --git a/src/agb_flash_mx.c b/src/libs/agb_flash_mx.c index 67348901f..b4f710f36 100644 --- a/src/agb_flash_mx.c +++ b/src/libs/agb_flash_mx.c @@ -157,7 +157,7 @@ static u16 ProgramByte(u8 *src, u8 *dest) return WaitForFlashWrite(1, dest, *src); } -u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src) +u16 ProgramFlashSector_MX(u16 sectorNum, void *src) { u16 result; u8 *dest; diff --git a/src/libc.c b/src/libs/libc.c index 920673e3e..920673e3e 100644 --- a/src/libc.c +++ b/src/libs/libc.c diff --git a/src/m4a_2.c b/src/libs/m4a_2.c index 2d3c65848..2d3c65848 100644 --- a/src/m4a_2.c +++ b/src/libs/m4a_2.c diff --git a/src/m4a_4.c b/src/libs/m4a_4.c index 2e1d140b4..2e1d140b4 100644 --- a/src/m4a_4.c +++ b/src/libs/m4a_4.c diff --git a/src/m4a_tables.c b/src/libs/m4a_tables.c index 91f00a31d..91f00a31d 100644 --- a/src/m4a_tables.c +++ b/src/libs/m4a_tables.c diff --git a/src/siirtc.c b/src/libs/siirtc.c index 965a068f1..965a068f1 100644 --- a/src/siirtc.c +++ b/src/libs/siirtc.c diff --git a/src/party_menu.c b/src/party_menu.c deleted file mode 100644 index 39477e293..000000000 --- a/src/party_menu.c +++ /dev/null @@ -1,1494 +0,0 @@ -#include "global.h" -#include "party_menu.h" -#include "battle.h" -#include "battle_interface.h" -#include "battle_party_menu.h" -#include "data2.h" -#include "event_data.h" -#include "item.h" -#include "item_use.h" -#include "mail_data.h" -#include "main.h" -#include "menu.h" -#include "palette.h" -#include "pokemon.h" -#include "pokemon_item_effect.h" -#include "pokemon_menu.h" -#include "pokemon_summary_screen.h" -#include "rom_8077ABC.h" -#include "rom_8094928.h" -#include "songs.h" -#include "sound.h" -#include "species.h" -#include "sprite.h" -#include "string_util.h" -#include "strings.h" -#include "task.h" -#include "sprite.h" -#include "palette.h" -#include "event_data.h" -#include "main.h" -#include "item.h" -#include "battle_interface.h" -#include "species.h" -#include "party_menu.h" - -struct Unk201C000 -{ - /*0x00*/ struct Pokemon *pokemon; - /*0x04*/ u8 unk4; - /*0x05*/ u8 unk5; - /*0x06*/ u16 unk6; - /*0x08*/ u16 unk8; - /*0x0A*/ u8 pad_0A[2]; - /*0x0C*/ s32 unkC; - /*0x10*/ TaskFunc unk10; - /*0x14*/ TaskFunc unk14; -}; - -struct Unk201F000 -{ - u8 filler0[0xE00]; - u8 unkE00[3]; // not sure if this is an array or struct, or how big it is -}; - -struct UnknownStruct5 -{ - u8 unk0; - u8 unk1; - u16 *unk4; -}; - -#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000)) -#define ewram1F000 (*(struct Unk201F000 *)(ewram + 0x1F000)) - -extern u8 gUnknown_0202E8F4; -extern u8 gUnknown_0202E8F6; -extern u16 gUnknown_0202E8F8; -extern u8 gUnknown_0202E8FA; -extern u8 gLastFieldPokeMenuOpened; -extern u8 gPlayerPartyCount; -extern s32 gBattleMoveDamage; - -//extern const u16 gUnknown_083769A8[][6]; -//extern const u8 gUnknown_083769A8[][12]; -extern void *const gUnknown_08376858[][6]; -extern const u8 gUnknown_083769A8[]; -extern const u8 gUnknown_08376D1C[DATA_COUNT]; -extern const u16 gUnknown_08376504[]; -extern void (*const gUnknown_08376B54[])(u8); -extern const u8 *const gUnknown_08376D04[DATA_COUNT]; -extern const struct UnknownStruct5 gUnknown_08376BB4[][6]; - -static void sub_806E884(u8 taskId); - -/* -void sub_806AEDC(void) -{ - const struct UnknownStruct5 *r5; - s32 i; - - AnimateSprites(); - BuildOamBuffer(); - r5 = gUnknown_08376BB4[gUnknown_0202E8FA]; - for (i = 0; i < 6; i++) - sub_800142C(r5[i].unk0 * 8, r5[i].unk1 * 8, r5[i].unk4, 0, (i << 5) | 0x200); - RunTasks(); - UpdatePaletteFade(); -} -*/ - -#if ENGLISH -#define WINDOW_LEFT (3) -#define WINDOW_RIGHT (26) -#elif GERMAN -#define WINDOW_LEFT (0) -#define WINDOW_RIGHT (29) -#endif - -u8 sub_806E834(const u8 *message, u8 arg1) -{ - u8 taskId; - - gUnknown_0202E8F6 = 1; - - MenuDrawTextWindow(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); - MenuPrintMessage(message, WINDOW_LEFT + 1, 15); - - taskId = CreateTask(sub_806E884, 1); - gTasks[taskId].data[0] = arg1; - - return taskId; -} - -static void sub_806E884(u8 taskId) -{ - if (MenuUpdateWindowText()) - { - gUnknown_0202E8F6 = 0; - if (gTasks[taskId].data[0] == 0) - MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); - DestroyTask(taskId); - } -} - -void sub_806E8D0(u8 taskId, u16 b, TaskFunc c) -{ - ewram1C000.unk10 = c; - ewram1C000.unk4 = taskId; - ewram1C000.unk5 = sub_806CA38(taskId); - ewram1C000.unk6 = b; - ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; -} - -bool8 PartyMenuUpdateMonHeldItem(struct Pokemon *pkmn, u16 item) -{ - u8 itemData[2]; - - if (ItemIsMail(item) == TRUE) - { - if (GiveMailToMon(pkmn, item) == 0xFF) - return TRUE; - gUnknown_0202E8F4 = 2; - } - else - { - gUnknown_0202E8F4 = 1; - } - - itemData[0] = item; - itemData[1] = item >> 8; - SetMonData(pkmn, MON_DATA_HELD_ITEM, itemData); - return FALSE; -} - -void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c) -{ - u16 currentItem; - - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, newItem, c); - currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); - gUnknown_0202E8F4 = 0; - gUnknown_0202E8F8 = 0; - if (currentItem != 0) - { - if (ItemIsMail(currentItem) == TRUE) - { - sub_806E834(gOtherText_MailMustBeRemoved, 1); - CreateTask(party_menu_link_mon_held_item_object, 5); - } - else - { - GetMonNickname(ewram1C000.pokemon, gStringVar1); - CopyItemName(currentItem, gStringVar2); - StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyHolding); - sub_806E834(gStringVar4, 1); - CreateTask(Task_ConfirmGiveHeldItem, 5); - if (ItemIsMail(newItem) == TRUE) - gUnknown_0202E8F8 = currentItem; - } - } - else - { - PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, newItem); - RemoveBagItem(newItem, 1); - if (ItemIsMail(newItem)) - { - gTasks[taskId].func = c; - } - else - { - DisplayGiveHeldItemMessage(ewram1C000.unk5, newItem, 1); - CreateTask(party_menu_link_mon_held_item_object, 5); - } - } -} - -void party_menu_link_mon_held_item_object(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); - gTasks[ewram1C000.unk4].func = ewram1C000.unk10; - DestroyTask(taskId); - } -} - -void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId) -{ - s8 selection = ProcessMenuInputNoWrap_(); - - if (selection == 0) - { - u16 currentItem; - - MenuZeroFillWindowRect(23, 8, 29, 13); - currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); - RemoveBagItem(ewram1C000.unk6, 1); - if (AddBagItem(currentItem, 1) == TRUE) - { - PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.unk6); - if (ItemIsMail(ewram1C000.unk6)) - { - DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 1); - } - else - { - CopyItemName(ewram1C000.unk6, gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_TakenAndReplaced); - sub_806E834(gStringVar4, 1); - } - } - else - { - sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); - AddBagItem(ewram1C000.unk6, 1); - } - } - else - { - if (selection != 1 && selection != -1) - return; - if (selection == -1) - PlaySE(SE_SELECT); - MenuZeroFillWindowRect(23, 8, 29, 13); - } - gTasks[taskId].func = party_menu_link_mon_held_item_object; -} - -void Task_ConfirmGiveHeldItem(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - DisplayYesNoMenu(23, 8, 1); - gTasks[taskId].func = PartyMenuTryGiveMonHeldItem_806EACC; - } -} - -void DisplayGiveHeldItemMessage(u8 a, u16 b, u8 c) -{ - GetMonNickname(&gPlayerParty[a], gStringVar1); - CopyItemName(b, gStringVar2); - StringExpandPlaceholders(gStringVar4, gOtherText_WasGivenToHold); - sub_806E834(gStringVar4, c); -} - - -// Not sure about this one for now. -/* -void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func) -{ - u16 currentItem; - struct MailStruct *r4; - - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, 0, func); - currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); - gUnknown_0202E8F4 = 0; - r4 = &gSaveBlock1.mail[ewram1F000.unkE00[0] + ewram1F000.unkE00[2]]; - if (currentItem != 0) - { - sub_806E834(gOtherText_PokeHoldingItemCantMail, 1); - CreateTask(party_menu_link_mon_held_item_object, 5); - } - else - { - GiveMailToMon2(ewram1C000.pokemon, r4); - ClearMailStruct(r4); - sub_806E834(gOtherText_MailTransferredMailbox, 1); - CreateTask(party_menu_link_mon_held_item_object, 5); - } -} -*/ -__attribute__((naked)) -void PartyMenuTryGiveMonMail(u8 taskId, TaskFunc func) -{ - asm(".syntax unified\n\ - push {r4,r5,lr}\n\ - adds r2, r1, 0\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - ldr r3, _0806ECA0 @ =gTasks\n\ - lsls r1, r0, 2\n\ - adds r1, r0\n\ - lsls r1, 3\n\ - adds r1, r3\n\ - ldr r3, _0806ECA4 @ =TaskDummy\n\ - str r3, [r1]\n\ - movs r1, 0\n\ - bl sub_806E8D0\n\ - ldr r5, _0806ECA8 @ =0x0201c000\n\ - ldr r0, [r5]\n\ - movs r1, 0xC\n\ - bl GetMonData\n\ - lsls r0, 16\n\ - ldr r2, _0806ECAC @ =gUnknown_0202E8F4\n\ - movs r1, 0\n\ - strb r1, [r2]\n\ - movs r1, 0xF8\n\ - lsls r1, 6\n\ - adds r2, r5, r1\n\ - ldrb r1, [r2]\n\ - adds r1, 0x6\n\ - ldrb r2, [r2, 0x2]\n\ - adds r1, r2\n\ - lsls r2, r1, 3\n\ - adds r2, r1\n\ - lsls r2, 2\n\ - ldr r1, _0806ECB0 @ =gSaveBlock1 + 0x2B4C\n\ - adds r4, r2, r1\n\ - cmp r0, 0\n\ - beq _0806ECBC\n\ - ldr r0, _0806ECB4 @ =gOtherText_PokeHoldingItemCantMail\n\ - movs r1, 0x1\n\ - bl sub_806E834\n\ - ldr r0, _0806ECB8 @ =party_menu_link_mon_held_item_object\n\ - movs r1, 0x5\n\ - bl CreateTask\n\ - b _0806ECDA\n\ - .align 2, 0\n\ -_0806ECA0: .4byte gTasks\n\ -_0806ECA4: .4byte TaskDummy\n\ -_0806ECA8: .4byte 0x0201c000\n\ -_0806ECAC: .4byte gUnknown_0202E8F4\n\ -_0806ECB0: .4byte gSaveBlock1 + 0x2B4C\n\ -_0806ECB4: .4byte gOtherText_PokeHoldingItemCantMail\n\ -_0806ECB8: .4byte party_menu_link_mon_held_item_object\n\ -_0806ECBC:\n\ - ldr r0, [r5]\n\ - adds r1, r4, 0\n\ - bl GiveMailToMon2\n\ - adds r0, r4, 0\n\ - bl ClearMailStruct\n\ - ldr r0, _0806ECE0 @ =gOtherText_MailTransferredMailbox\n\ - movs r1, 0x1\n\ - bl sub_806E834\n\ - ldr r0, _0806ECE4 @ =party_menu_link_mon_held_item_object\n\ - movs r1, 0x5\n\ - bl CreateTask\n\ -_0806ECDA:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_0806ECE0: .4byte gOtherText_MailTransferredMailbox\n\ -_0806ECE4: .4byte party_menu_link_mon_held_item_object\n\ - .syntax divided\n"); -} - -void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func) -{ - u16 currentItem; - - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, 0, func); - currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); - if (currentItem == 0) - { - StringExpandPlaceholders(gStringVar4, gOtherText_NotHoldingAnything); - sub_806E834(gStringVar4, 0); - CreateTask(party_menu_link_mon_held_item_object, 5); - } - else - { - u8 itemData[2]; - - itemData[0] = 0; - itemData[1] = 0; - if (AddBagItem(currentItem, 1) == TRUE) - { - if (ItemIsMail(currentItem) == TRUE) - TakeMailFromMon(ewram1C000.pokemon); - DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 0); - SetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM, itemData); - } - else - { - sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); - } - CreateTask(party_menu_link_mon_held_item_object, 5); - } -} - -void DisplayTakeHeldItemMessage(u8 a, u16 b, u8 c) -{ - GetMonNickname(&gPlayerParty[a], gStringVar1); - CopyItemName(b, gStringVar2); - StringExpandPlaceholders(gStringVar4, gOtherText_ReceivedTheThingFrom); - sub_806E834(gStringVar4, c); -} - -void DoTakeMail(u8 taskId, TaskFunc func) -{ - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, 0, func); - ewram1C000.unk6 = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); - sub_806E834(gOtherText_SendRemovedMailPrompt, 1); - CreateTask(Task_ConfirmTakeHeldMail, 5); -} - -void Task_LoseMailMessage(u8 taskId) -{ - s8 selection = ProcessMenuInputNoWrap_(); - - if (selection == 0) - { - if (AddBagItem(ewram1C000.unk6, 1) == TRUE) - { - TakeMailFromMon(ewram1C000.pokemon); - sub_806E834(gOtherText_MailTaken, 0); - } - else - { - sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); - } - MenuZeroFillWindowRect(23, 8, 29, 13); - gTasks[taskId].func = party_menu_link_mon_held_item_object; - } - else - { - if (selection != 1 && selection != -1) - return; - if (selection == -1) - PlaySE(SE_SELECT); - MenuZeroFillWindowRect(23, 8, 29, 13); - MenuZeroFillWindowRect(0, 14, 29, 19); - gTasks[taskId].func = party_menu_link_mon_held_item_object; - } -} - -void Task_ConfirmLoseMailMessage(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - DisplayYesNoMenu(23, 8, 1); - gTasks[taskId].func = Task_LoseMailMessage; - } -} - -void Task_TakeHeldMail(u8 taskId) -{ - s8 selection = ProcessMenuInputNoWrap_(); - - if (selection == 0) - { - MenuZeroFillWindowRect(23, 8, 29, 13); - if (TakeMailFromMon2(ewram1C000.pokemon) != 0xFF) - sub_806E834(gOtherText_MailWasSent, 0); - else - sub_806E834(gOtherText_MailboxIsFull, 0); - gTasks[taskId].func = party_menu_link_mon_held_item_object; - } - else - { - if (selection != 1 && selection != -1) - return; - if (selection == -1) - PlaySE(SE_SELECT); - MenuZeroFillWindowRect(23, 8, 29, 13); - sub_806E834(gOtherText_MailRemovedMessageLost, 1); - gTasks[taskId].func = Task_ConfirmLoseMailMessage; - } -} - -void Task_ConfirmTakeHeldMail(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - DisplayYesNoMenu(23, 8, 1); - gTasks[taskId].func = Task_TakeHeldMail; - } -} - -u16 ItemIdToBattleMoveId(u16 item) -{ - u16 moveId = item - 289; - - return gUnknown_08376504[moveId]; -} - -bool8 pokemon_has_move(struct Pokemon *pkmn, u16 move) -{ - u8 i; - - for (i = 0; i < 4; i++) - { - if (GetMonData(pkmn, MON_DATA_MOVE1 + i) == move) - return TRUE; - } - return FALSE; -} - -void TeachMonTMMove(u8 taskId, u16 move, TaskFunc func) -{ - PlaySE(SE_SELECT); - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, move, func); - CreateTask(Task_TeamMonTMMove, 5); -} - -void Task_TeamMonTMMove(u8 taskId) -{ - GetMonNickname(ewram1C000.pokemon, gStringVar1); - ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.unk6); - StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); - ewram1B000.unk282 = 0; - if (pokemon_has_move(ewram1C000.pokemon, ewram1C000.unk8)) - { - StringExpandPlaceholders(gStringVar4, gOtherText_AlreadyKnows); - sub_806E834(gStringVar4, 1); - gTasks[taskId].func = party_menu_link_mon_held_item_object; - } - else - { - if (!CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33)) - { - StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible); - sub_806E834(gStringVar4, 1); - gTasks[taskId].func = party_menu_link_mon_held_item_object; - } - else - { - if (GiveMoveToMon(ewram1C000.pokemon, ewram1C000.unk8) != 0xFFFF) - { - Task_TeamMonTMMove2(taskId); - } - else - { - StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn); - sub_806E834(gStringVar4, 1); - gTasks[taskId].func = sub_806F358; - } - } - } -} - -void Task_TeamMonTMMove2(u8 taskId) -{ - StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); - StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove); - sub_806E834(gStringVar4, 1); - AdjustFriendship(ewram1C000.pokemon, 4); - if (ewram1B000.unk282 == 0 && ewram1C000.unk6 <= 0x152) - RemoveBagItem(ewram1C000.unk6, 1); - gTasks[taskId].func = Task_TeamMonTMMove3; -} - -void Task_TeamMonTMMove3(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - PlayFanfare(BGM_FANFA1); - gTasks[taskId].func = Task_TeamMonTMMove4; - } -} - -void Task_TeamMonTMMove4(u8 taskId) -{ - if (IsFanfareTaskInactive()) - { - if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) - { - SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); - if (ewram1B000.unk282 == 1) - { - sub_8070C54(taskId); - } - else - { - gTasks[ewram1C000.unk4].func = ewram1C000.unk10; - DestroyTask(taskId); - } - } - } -} - -void sub_806F2FC(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); - if (ewram1B000.unk282 == 1) - { - sub_8070C54(taskId); - } - else - { - gTasks[ewram1C000.unk4].func = ewram1C000.unk10; - DestroyTask(taskId); - } - } -} - -void sub_806F358(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - DisplayYesNoMenu(23, 8, 1); - gTasks[taskId].func = sub_806F390; - } -} - -void sub_806F390(u8 taskId) -{ - s8 selection = ProcessMenuInputNoWrap_(); - - if (selection == 0) - { - MenuZeroFillWindowRect(23, 8, 29, 13); - sub_806E834(gOtherText_WhichMoveToForget2, 1); - gTasks[taskId].func = sub_806F44C; - } - else - { - if (selection != 1 && selection != -1) - return; - if (selection == -1) - PlaySE(SE_SELECT); - StopTryingToTeachMove_806F614(taskId); - } -} - -void sub_806F3FC(u8 taskId) -{ - if (!gPaletteFade.active) - { - sub_809D9F0(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8); - DestroyTask(taskId); - } -} - -void sub_806F44C(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gTasks[taskId].func = sub_806F3FC; - } -} - -void TaughtMove(u8 taskId) -{ - if (!gPaletteFade.active) - { - u8 moveIndex; - u16 r4; - - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, gScriptItemId, sub_808B508); - moveIndex = sub_809FA30(); - r4 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + moveIndex); - GetMonNickname(ewram1C000.pokemon, gStringVar1); - StringCopy(gStringVar2, gMoveNames[r4]); - StringExpandPlaceholders(gStringVar4, gOtherText_ForgetMove123_2); - sub_806E834(gStringVar4, 1); - CreateTask(TMMoveUpdateMoveSlot, 5); - } -} - -void TMMoveUpdateMoveSlot(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - RemoveMonPPBonus(ewram1C000.pokemon, sub_809FA30()); - SetMonMoveSlot(ewram1C000.pokemon, ewram1C000.unk8, sub_809FA30()); - Task_TeamMonTMMove2(taskId); - } -} - -void StopTryingToTeachMove_806F588(u8 taskId) -{ - if (!gPaletteFade.active) - { - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, gScriptItemId, sub_808B508); - StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); - StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo); - sub_806E834(gStringVar4, 1); - CreateTask(StopTryingToTeachMove_806F67C, 5); - } -} - -void StopTryingToTeachMove_806F614(u8 taskId) -{ - MenuZeroFillWindowRect(23, 8, 29, 13); - StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); - StringExpandPlaceholders(gStringVar4, gOtherText_StopTryingTo); - sub_806E834(gStringVar4, 1); - gTasks[taskId].func = StopTryingToTeachMove_806F67C; -} - -void StopTryingToTeachMove_806F67C(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - DisplayYesNoMenu(23, 8, 1); - gTasks[taskId].func = StopTryingToTeachMove_806F6B4; - } -} - -void StopTryingToTeachMove_806F6B4(u8 taskId) -{ - s8 selection = ProcessMenuInputNoWrap_(); - - if (selection == 0) - { - MenuZeroFillWindowRect(23, 8, 29, 13); - GetMonNickname(ewram1C000.pokemon, gStringVar1); - StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); - StringExpandPlaceholders(gStringVar4, gOtherText_DidNotLearnMove2); - sub_806E834(gStringVar4, 1); - gTasks[taskId].func = sub_806F2FC; - } - else - { - if (selection != 1 && selection != -1) - return; - if (selection == -1) - PlaySE(SE_SELECT); - MenuZeroFillWindowRect(23, 8, 29, 13); - GetMonNickname(ewram1C000.pokemon, gStringVar1); - StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); - StringExpandPlaceholders(gStringVar4, gOtherText_WantsToLearn); - sub_806E834(gStringVar4, 1); - gTasks[taskId].func = sub_806F358; - } -} - -bool8 IsHMMove(u16 move) -{ - u8 i; - - for (i = 0; i < 8; i++) - { - if (gUnknown_08376504[50 + i] == move) - return TRUE; - } - return FALSE; -} - -s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c) -{ - s16 *taskData; - u8 hpBarLevel; - void *vramPtr; - - taskData = gTasks[taskId].data; - - b->unk0 = taskData[10]; - b->unk4 = taskData[11]; - b->unk8 = taskData[12] * c; - b->unk10 = 0x100; - hpBarLevel = GetHPBarLevel(ewram1B000.unk282, b->unk0); - if (hpBarLevel > 2) - b->unkC_0 = 4; - if (hpBarLevel == 2) - b->unkC_0 = 5; - if (hpBarLevel < 2) - b->unkC_0 = 6; - vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.unk5]; - return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0); -} - -void sub_806F8AC(u8 taskId) -{ - struct BattleInterfaceStruct1 sp0; - u16 sp14; - - ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, -1); - if (ewram1B000.unk282 == -1) - { - ewram1C000.unkC = 0; - if (-sp0.unk8 + sp0.unk4 > sp0.unk0) - sp14 = sp0.unk0 - sp0.unk4; - else - sp14 = -sp0.unk8; - gBattleMoveDamage = -sp14; - GetMonNickname(ewram1C000.pokemon, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, sp14, 0, 3); - if (gTasks[taskId].data[14] == 0) - StringExpandPlaceholders(gStringVar4, gOtherText_HPRestoredBy); - else - StringExpandPlaceholders(gStringVar4, gOtherText_RegainedHealth); - SetMonIconAnim(GetMonIconSpriteId_maybe(ewram1C000.unk4, ewram1C000.unk5), ewram1C000.pokemon); - task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 7); - ewram1B000.unk261 = 2; - sub_806E834(gStringVar4, 1); - sp14 += sp0.unk4; - SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&sp14); - RemoveBagItem(ewram1C000.unk6, 1); - sub_8032638(); - gTasks[taskId].func = sub_806FB44; - } - else - { - PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); - } -} - -void sub_806FA18(u8 taskId) -{ - struct BattleInterfaceStruct1 sp0; - - ewram1B000.unk282 = sub_806F7E8(taskId, &sp0, 1); - if (ewram1B000.unk282 == -1) - { - PlaySE(SE_KAIFUKU); - ewram1C000.unkC = 0; - gTasks[taskId].data[11] -= gTasks[taskId].data[12]; - SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&gTasks[taskId].data[11]); - SetMonIconAnim(GetMonIconSpriteId_maybe(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon); - ewram1C000.unk5 = gSprites[ewram01000.unk2].data0; - ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; - gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); - gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); - ewram1C000.unkC = -32768; - ewram1C000.unk14 = ewram1C000.unk10; - gTasks[taskId].func = sub_806F8AC; - ewram1B000.unk282 = gTasks[taskId].data[11]; - } - else - { - PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); - } -} - -void sub_806FB0C(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - gTasks[ewram1C000.unk4].func = ewram1C000.unk10; - DestroyTask(taskId); - } -} - -void sub_806FB44(u8 taskId) -{ - if (gUnknown_0202E8F6 == 0) - { - gTasks[ewram1C000.unk4].func = ewram1C000.unk14; - DestroyTask(taskId); - } -} - -bool8 IsHPRecoveryItem(u16 item) -{ - const u8 *itemEffect; - - if (item == 0xAF) - itemEffect = gSaveBlock1.enigmaBerry.itemEffect; - else - itemEffect = gItemEffectTable[item - 13]; - - if (itemEffect[4] & 4) - return TRUE; - else - return FALSE; -} - -void PartyMenuUpdateLevelOrStatus(struct Pokemon *pkmn, u8 b) -{ - PartyMenuClearLevelStatusTilemap(b); - PartyMenuPrintMonLevelOrStatus(b, pkmn); -} - -void GetMedicineItemEffectMessage(u16 item) -{ - switch (GetItemEffectType(item)) - { - case 3: - StringExpandPlaceholders(gStringVar4, gOtherText_CuredPoisoning); - break; - case 4: - StringExpandPlaceholders(gStringVar4, gOtherText_WokeUp); - break; - case 5: - StringExpandPlaceholders(gStringVar4, gOtherText_BurnHealed); - break; - case 6: - StringExpandPlaceholders(gStringVar4, gOtherText_ThawedOut); - break; - case 7: - StringExpandPlaceholders(gStringVar4, gOtherText_CuredParalysis); - break; - case 8: - StringExpandPlaceholders(gStringVar4, gOtherText_SnapConfusion); - break; - case 9: - StringExpandPlaceholders(gStringVar4, gOtherText_GotOverLove); - break; - case 11: - StringExpandPlaceholders(gStringVar4, gOtherText_BecameHealthy); - break; - case 13: - StringCopy(gStringVar2, gOtherText_Hp2); - StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); - break; - case 12: - StringCopy(gStringVar2, gOtherText_Attack); - StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); - break; - case 17: - StringCopy(gStringVar2, gOtherText_Defense); - StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); - break; - case 16: - StringCopy(gStringVar2, gOtherText_Speed); - StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); - break; - case 14: - StringCopy(gStringVar2, gOtherText_SpAtk2); - StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); - break; - case 15: - StringCopy(gStringVar2, gOtherText_SpDef2); - StringExpandPlaceholders(gStringVar4, gOtherText_WasRaised); - break; - case 19: - case 20: - StringExpandPlaceholders(gStringVar4, gOtherText_PPIncreased); - break; - case 21: - StringExpandPlaceholders(gStringVar4, gOtherText_PPRestored); - break; - default: - StringExpandPlaceholders(gStringVar4, gOtherText_WontHaveAnyEffect); - break; - } -} - -bool8 IsMedicineIneffective(struct Pokemon *pkmn, u16 item) -{ - if (GetItemEffectType(item) == 13 - && GetMonData(pkmn, MON_DATA_SPECIES) == SPECIES_SHEDINJA) - return TRUE; - else - return FALSE; -} - -bool8 ExecuteTableBasedItemEffect__(u8 a, u16 b, u8 c) -{ - if (gMain.inBattle) - return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, sub_8094C20(a), c); - else - return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, a, c); -} - -void UseMedicine(u8 taskId, u16 item, TaskFunc func) -{ - u8 r7; - bool8 r9 = FALSE; - bool8 r0; - - gTasks[taskId].func = TaskDummy; - r7 = CreateTask(TaskDummy, 5); - sub_806E8D0(taskId, item, func); - if (!IsMedicineIneffective(ewram1C000.pokemon, item)) - { - r9 = IsHPRecoveryItem(item); - if (r9 == TRUE) - { - gTasks[r7].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); - gTasks[r7].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); - if (gTasks[r7].data[10] == gTasks[r7].data[11]) - { - r9 = FALSE; - gTasks[r7].data[10] = 0; - gTasks[r7].data[11] = 0; - } - } - r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, item, 0); - } - else - { - r0 = TRUE; - } - - if (r0) - { - gUnknown_0202E8F4 = 0; - PlaySE(SE_SELECT); - sub_806E834(gOtherText_WontHaveAnyEffect, 1); - gTasks[r7].func = sub_806FB0C; - } - else - { - u8 statusAndPkrs; - - gUnknown_0202E8F4 = 1; - if (!IsBlueYellowRedFlute(item)) - PlaySE(SE_KAIFUKU); - else - PlaySE(SE_BIDORO); - statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon); - if (statusAndPkrs == 6 || statusAndPkrs == 0) - PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5); - if (r9 == TRUE) - { - gTasks[r7].data[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - gTasks[r7].data[11]; - ewram1C000.unkC = -32768; - if (gTasks[r7].data[11] == 0) - gTasks[r7].data[14] = 1; - else - gTasks[r7].data[14] = 0; - ewram1C000.unk14 = ewram1C000.unk10; - gTasks[r7].func = sub_806F8AC; - ewram1B000.unk282 = gTasks[r7].data[11]; - } - else - { - GetMonNickname(ewram1C000.pokemon, gStringVar1); - if (!IsBlueYellowRedFlute(item)) - RemoveBagItem(item, 1); - GetMedicineItemEffectMessage(item); - TryPrintPartyMenuMonNickname(ewram1C000.unk5, ewram1C000.pokemon); - sub_806E834(gStringVar4, 1); - gTasks[r7].func = sub_806FB0C; - } - } -} - -bool8 IsBlueYellowRedFlute(u16 item) -{ - if (item == 0x27 - || item == 0x29 - || item == 0x28) - return TRUE; - else - return FALSE; -} - -void sub_8070048(u8 taskId, u16 item, TaskFunc func) -{ - ewram1C000.unk10 = func; - ewram1C000.unk4 = taskId; - ewram1C000.unk6 = item; - ewram1C000.unk5 = 0; - ewram1C000.unk14 = sub_80701DC; - ewram1B000.unk27E = 0; - ewram1B000.unk280 = 0; - sub_8070088(taskId); -} - -void sub_8070088(u8 taskId) -{ - u8 taskId2; - - gTasks[taskId].func = TaskDummy; - if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) == 0) - { - gTasks[taskId].func = sub_80701DC; - } - else - { - s16 *taskData; - - taskId2 = CreateTask(TaskDummy, 5); - taskData = gTasks[taskId2].data; - ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; - taskData[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); - taskData[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); - if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, 0)) - { - DestroyTask(taskId2); - gTasks[taskId].func = sub_80701DC; - } - else - { - gUnknown_0202E8F4 = 1; - MenuZeroFillWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); - PlaySE(SE_KAIFUKU); - PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5); - task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 9); - ewram1B000.unk261 = 2; - taskData[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - taskData[11]; - taskData[14] = 1; - ewram1B000.unk27E = 1; - ewram1B000.unk280 = 1; - ewram1B000.unk282 = taskData[11]; - ewram1C000.unkC = -32768; - gTasks[taskId2].func = sub_806F8AC; - } - } -} - -void sub_80701DC(u8 taskId) -{ - if (ewram1B000.unk27E == 1) - { - AddBagItem(ewram1C000.unk6, 1); - if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) != 0) - { - task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 3); - ewram1B000.unk261 = 2; - } - ewram1B000.unk27E = 0; - } - ewram1C000.unk5++; - if (ewram1C000.unk5 == 6) - { - gUnknown_0202E8F4 = 0; - if (ewram1B000.unk280 == 0) - { - gTasks[taskId].func = TaskDummy; - sub_806E834(gOtherText_WontHaveAnyEffect, 1); - CreateTask(sub_806FB0C, 8); - } - else - { - RemoveBagItem(ewram1C000.unk6, 1); - gTasks[taskId].func = ewram1C000.unk10; - } - gLastFieldPokeMenuOpened = 0; - } - else - { - sub_8070088(taskId); - } -} - -void CreateItemUseMoveMenu(u8 partyMonIndex) -{ - u8 r6; - u8 i; - - r6 = 0; - MenuDrawTextWindow(19, 10, 29, 19); - for (i = 0; i < 4; i++) - { - u16 move = GetMonData(&gPlayerParty[partyMonIndex], MON_DATA_MOVE1 + i); - - MenuPrint(gMoveNames[move], 20, i * 2 + 11); - if (move != 0) - r6++; - } - InitMenu(0, 20, 11, r6, 0, 9); -} - -void Task_HandleItemUseMoveMenuInput(u8 taskId) -{ - if (gMain.newKeys & DPAD_UP) - { - PlaySE(SE_SELECT); - MoveMenuCursor(-1); - } - else if (gMain.newKeys & DPAD_DOWN) - { - PlaySE(SE_SELECT); - MoveMenuCursor(1); - } - else if (gMain.newKeys & A_BUTTON) - { - gUnknown_08376B54[0](taskId); - } - else if (gMain.newKeys & B_BUTTON) - { - PlaySE(SE_SELECT); - gUnknown_08376B54[1](taskId); - } -} - -void DoPPRecoveryItemEffect(u8 taskId, u16 b, TaskFunc c) -{ - const u8 *itemEffect; - u8 taskId2; - - if (b == 0xAF) - itemEffect = gSaveBlock1.enigmaBerry.itemEffect; - else - itemEffect = gItemEffectTable[b - 13]; - gTasks[taskId].func = TaskDummy; - taskId2 = CreateTask(TaskDummy, 5); - sub_806E8D0(taskId, b, c); - if (!(itemEffect[4] & 0x10)) - { - gTasks[taskId2].data[11] = 0; - DoRecoverPP(taskId2); - } - else - { - PlaySE(SE_SELECT); - sub_806D538(10, 3); - CreateItemUseMoveMenu(ewram1C000.unk5); - gTasks[taskId2].func = Task_HandleItemUseMoveMenuInput; - gMain.newKeys = 0; - } -} - -void ItemUseMoveMenu_HandleMoveSelection(u8 taskId) -{ - HandleDestroyMenuCursors(); - MenuZeroFillWindowRect(19, 10, 29, 19); - sub_806D5A4(); - gTasks[taskId].data[11] = GetMenuCursorPos(); - DoRecoverPP(taskId); -} - -void ItemUseMoveMenu_HandleCancel(u8 taskId) -{ - HandleDestroyMenuCursors(); - MenuZeroFillWindowRect(19, 10, 29, 19); - if (gMain.inBattle) - gTasks[ewram1C000.unk4].func = SetUpBattlePokemonMenu; - else - gTasks[ewram1C000.unk4].func = sub_808B0C0; - sub_806D538(3, 0); - DestroyTask(taskId); -} - -void DoRecoverPP(u8 taskId) -{ - u16 r5 = 0; - - if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, gTasks[taskId].data[11])) - { - gUnknown_0202E8F4 = r5; - PlaySE(SE_SELECT); - sub_806E834(gOtherText_WontHaveAnyEffect, 1); - } - else - { - gUnknown_0202E8F4 = 1; - PlaySE(SE_KAIFUKU); - RemoveBagItem(ewram1C000.unk6, 1); - r5 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + gTasks[taskId].data[11]); - StringCopy(gStringVar1, gMoveNames[r5]); - GetMedicineItemEffectMessage(ewram1C000.unk6); - sub_806E834(gStringVar4, 1); - } - gTasks[taskId].func = sub_806FB0C; -} - -void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c) -{ - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, b, c); - PlaySE(SE_SELECT); - sub_806D538(11, 3); - CreateItemUseMoveMenu(ewram1C000.unk5); - CreateTask(Task_HandleItemUseMoveMenuInput, 5); - gMain.newKeys = 0; -} - -void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c) -{ - u8 i; - bool8 r0; - - gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, b, c); - - if (GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL) != 100) - { - for (i = 0; i < 6; i++) - ewram1B000.unk264[i] = GetMonData(ewram1C000.pokemon, gUnknown_08376D1C[i]); - r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, b, 0); - } - else - r0 = TRUE; - - if (r0) - { - gUnknown_0202E8F4 = 0; - PlaySE(SE_SELECT); - sub_806E834(gOtherText_WontHaveAnyEffect, 1); - CreateTask(sub_806FB0C, 5); - } - else - { - u8 level; - - gUnknown_0202E8F4 = 1; - PlayFanfareByFanfareNum(0); - sub_8070A20(ewram1C000.unk5, ewram1C000.pokemon); - RemoveBagItem(b, 1); - GetMonNickname(ewram1C000.pokemon, gStringVar1); - level = GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL); - ConvertIntToDecimalStringN(gStringVar2, level, 0, 3); - StringExpandPlaceholders(gStringVar4, gOtherText_ElevatedTo); - sub_806E834(gStringVar4, 1); - CreateTask(Task_RareCandy1, 5); - } -} - -void Task_RareCandy1(u8 taskId) -{ - if (WaitFanfare(0) && gUnknown_0202E8F6 == 0) - { - if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) - { - PlaySE(SE_SELECT); - sub_8070848(taskId); - gTasks[taskId].func = Task_RareCandy2; - } - } -} - -void Task_RareCandy2(u8 taskId) -{ - if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) - { - PlaySE(SE_SELECT); - sub_8070968(taskId); - gTasks[taskId].func = Task_RareCandy3; - } -} - -#if ENGLISH -void sub_8070848(u8 taskId) -{ - u8 i; - - MenuDrawTextWindow(11, 0, 29, 7); - - for (i = 0; i < DATA_COUNT; i++) - { - u8 x; - u8 y; - u32 stat; - - stat = GetMonData(ewram1C000.pokemon, gUnknown_08376D1C[i]); - - ewram1B000.unk264[i + DATA_COUNT] = stat; - ewram1B000.unk264[i] = stat - ewram1B000.unk264[i]; - - x = (i / 3) * 9 + 11; - y = ((i % 3) << 1) + 1; - - MenuPrint_PixelCoords(gUnknown_08376D04[i], (x + 1) * 8, y * 8, 1); - - if (i == 2) - MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 0); - else - MenuPrint_PixelCoords(gOtherText_TallPlusAndRightArrow, (x + 6) * 8 + 6, y * 8, 1); - - gStringVar1[0] = EXT_CTRL_CODE_BEGIN; - gStringVar1[1] = 0x14; - gStringVar1[2] = 0x06; - - ConvertIntToDecimalStringN(gStringVar1 + 3, ewram1B000.unk264[i], 1, 2); - - MenuPrint_PixelCoords(gStringVar1, (x + 6) * 8 + 12, y * 8, 0); - } -} -#elif GERMAN -__attribute__((naked)) -void sub_8070848(u8 taskId) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - movs r0, 0xB\n\ - movs r1, 0\n\ - movs r2, 0x1D\n\ - movs r3, 0x7\n\ - bl MenuDrawTextWindow\n\ - movs r7, 0\n\ - ldr r0, _0807092C @ =gStringVar1\n\ - mov r10, r0\n\ - movs r1, 0xFC\n\ - mov r9, r1\n\ - movs r2, 0x13\n\ - mov r8, r2\n\ -_0807086C:\n\ - ldr r1, _08070930 @ =0x0201c000\n\ - ldr r0, [r1]\n\ - ldr r1, _08070934 @ =gUnknown_08376D1C\n\ - adds r1, r7, r1\n\ - ldrb r1, [r1]\n\ - bl GetMonData\n\ - adds r1, r7, 0x6\n\ - lsls r1, 1\n\ - ldr r2, _08070938 @ =0x0201b264\n\ - adds r1, r2, r1\n\ - strh r0, [r1]\n\ - lsls r6, r7, 1\n\ - adds r6, r2, r6\n\ - ldrh r1, [r6]\n\ - subs r0, r1\n\ - strh r0, [r6]\n\ - adds r0, r7, 0\n\ - movs r1, 0x3\n\ - bl __udivsi3\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - lsls r4, r0, 3\n\ - adds r4, r0\n\ - adds r4, 0xB\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - adds r0, r7, 0\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - adds r5, r0, 0\n\ - lsls r5, 1\n\ - adds r5, 0x1\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - ldr r1, _0807093C @ =gUnknown_08376D04\n\ - lsls r0, r7, 2\n\ - adds r0, r1\n\ - ldr r1, [r0]\n\ - mov r0, r10\n\ - bl StringCopy\n\ - adds r2, r0, 0\n\ - mov r0, r9\n\ - strb r0, [r2]\n\ - adds r2, 0x1\n\ - mov r1, r8\n\ - strb r1, [r2]\n\ - adds r2, 0x1\n\ - movs r0, 0x2E\n\ - strb r0, [r2]\n\ - adds r2, 0x1\n\ - adds r0, r2, 0\n\ - ldr r1, _08070940 @ =gOtherText_TallPlusAndRightArrow\n\ - bl StringCopy\n\ - adds r2, r0, 0\n\ - mov r0, r9\n\ - strb r0, [r2]\n\ - adds r2, 0x1\n\ - mov r1, r8\n\ - strb r1, [r2]\n\ - adds r2, 0x1\n\ - movs r0, 0x34\n\ - strb r0, [r2]\n\ - adds r2, 0x1\n\ - movs r0, 0\n\ - ldrsh r1, [r6, r0]\n\ - adds r0, r2, 0\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - adds r4, 0x1\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - mov r0, r10\n\ - adds r1, r4, 0\n\ - adds r2, r5, 0\n\ - bl MenuPrint\n\ - adds r0, r7, 0x1\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - cmp r7, 0x5\n\ - bls _0807086C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_0807092C: .4byte gStringVar1\n\ -_08070930: .4byte 0x0201c000\n\ -_08070934: .4byte gUnknown_08376D1C\n\ -_08070938: .4byte 0x0201b264\n\ -_0807093C: .4byte gUnknown_08376D04\n\ -_08070940: .4byte gOtherText_TallPlusAndRightArrow\n\ - .syntax divided\n"); -} -#endif diff --git a/src/learn_move.c b/src/pokemon/learn_move.c index 33252c66b..33252c66b 100644 --- a/src/learn_move.c +++ b/src/pokemon/learn_move.c diff --git a/src/mail.c b/src/pokemon/mail.c index c5dd119e3..c5dd119e3 100644 --- a/src/mail.c +++ b/src/pokemon/mail.c diff --git a/src/mail_data.c b/src/pokemon/mail_data.c index ae3f4b3e8..ae3f4b3e8 100644 --- a/src/mail_data.c +++ b/src/pokemon/mail_data.c diff --git a/src/mon_markings.c b/src/pokemon/mon_markings.c index 0cad8db59..0cad8db59 100644 --- a/src/mon_markings.c +++ b/src/pokemon/mon_markings.c diff --git a/src/pokeblock_feed.c b/src/pokemon/pokeblock_feed.c index ccbb391af..5d6b215cd 100644 --- a/src/pokeblock_feed.c +++ b/src/pokemon/pokeblock_feed.c @@ -46,7 +46,7 @@ extern const u8 gBattleTerrainPalette_BattleTower[]; extern const struct CompressedSpriteSheet gUnknown_083F7F74; extern const struct CompressedSpritePalette gUnknown_083F7F7C; -bool8 sub_8040A3C(u16 species); +bool8 IsPokeSpriteNotFlipped(u16 species); // this file's functions static void sub_8147B04(void); @@ -626,7 +626,7 @@ static bool8 sub_8147B20(struct Pokemon* mon) species = GetMonData(mon, MON_DATA_SPECIES2); PiD = GetMonData(mon, MON_DATA_PERSONALITY); TiD = GetMonData(mon, MON_DATA_OT_ID); - palette = sub_80409C8(species, TiD, PiD); + palette = GetMonSpritePalStructFromOtIdPersonality(species, TiD, PiD); LoadCompressedObjectPalette(palette); GetMonSpriteTemplate_803C56C(palette->tag, 1); ewram[0x1FFFF]++; @@ -766,7 +766,7 @@ static u8 PokeblockFeed_CreatePokeSprite(struct Pokemon* mon) gSprites[spriteID].data2 = species; gSprites[spriteID].callback = SpriteCallbackDummy; gPokeblockMonNotFlipped = 1; - if (!sub_8040A3C(species)) + if (!IsPokeSpriteNotFlipped(species)) { gSprites[spriteID].affineAnims = sSpriteAffineAnimTable_84120EC; gSprites[spriteID].oam.affineMode = 3; diff --git a/src/pokedex.c b/src/pokemon/pokedex.c index 603b5ae48..947dfd218 100644 --- a/src/pokedex.c +++ b/src/pokemon/pokedex.c @@ -1,4 +1,3 @@ - #include "global.h" #include "gba/m4a_internal.h" #include "pokedex.h" @@ -150,7 +149,6 @@ extern const u8 gUnknown_08E96738[]; extern const u8 gUnknown_08E96888[]; extern const u8 gUnknown_08E96994[]; extern const u8 gUnknown_08E9C6DC[]; -extern const u8 gUnknown_08D00524[]; extern const u8 gUnknown_08E96BD4[]; extern const u8 gUnknown_08E96ACC[]; extern const u8 gUnknown_08E96B58[]; @@ -186,7 +184,7 @@ static const u8 gUnknown_0839FA7C[] = INCBIN_U8("graphics/pokedex/noball.4bpp.lz extern const u8 gUnknown_0839FA7C[]; #endif -#include "data/pokedex_orders.h" +#include "../data/pokedex_orders.h" static const struct OamData gOamData_83A0404 = { .y = 160, @@ -515,9 +513,9 @@ static const u8 gUnknown_083A05F1[] = {16, 8, 4, 2, 1}; const u8 gEmptySpacce_83A05F6[] = {0, 0}; // Padding, maybe? static const u8 gUnknown_083A05F8[] = _(""); #if ENGLISH -#include "data/pokedex_entries_en.h" +#include "../data/pokedex_entries_en.h" #elif GERMAN -#include "data/pokedex_entries_de.h" +#include "../data/pokedex_entries_de.h" #endif static const u16 gUnknown_083B4EC4[16] = {0}; static const u8 *const sMonFootprintTable[] = @@ -1320,8 +1318,8 @@ void ResetPokedex(void) { gSaveBlock2.pokedex.owned[i] = 0; gSaveBlock2.pokedex.seen[i] = 0; - gSaveBlock1.unk938[i] = 0; - gSaveBlock1.unk3A8C[i] = 0; + gSaveBlock1.dexSeen2[i] = 0; + gSaveBlock1.dexSeen3[i] = 0; } } @@ -2030,8 +2028,8 @@ static void SortPokedex(u8 dexMode, u8 sortMode) { vars[2] = HoennToNationalOrder(i + 1); gPokedexView->unk0[i].dexNum = vars[2]; - gPokedexView->unk0[i].seen = GetNationalPokedexFlag(vars[2], 0); - gPokedexView->unk0[i].owned = GetNationalPokedexFlag(vars[2], 1); + gPokedexView->unk0[i].seen = GetSetPokedexFlag(vars[2], 0); + gPokedexView->unk0[i].owned = GetSetPokedexFlag(vars[2], 1); if (gPokedexView->unk0[i].seen) gPokedexView->pokemonListCount = i + 1; } @@ -2045,14 +2043,14 @@ static void SortPokedex(u8 dexMode, u8 sortMode) for (i = 0; i < vars[0]; i++) { vars[2] = i + 1; - if (GetNationalPokedexFlag(vars[2], 0)) + if (GetSetPokedexFlag(vars[2], 0)) r10 = 1; if (r10) { asm(""); //Needed to match for some reason gPokedexView->unk0[r5].dexNum = vars[2]; - gPokedexView->unk0[r5].seen = GetNationalPokedexFlag(vars[2], 0); - gPokedexView->unk0[r5].owned = GetNationalPokedexFlag(vars[2], 1); + gPokedexView->unk0[r5].seen = GetSetPokedexFlag(vars[2], 0); + gPokedexView->unk0[r5].owned = GetSetPokedexFlag(vars[2], 1); if (gPokedexView->unk0[r5].seen) gPokedexView->pokemonListCount = r5 + 1; r5++; @@ -2065,11 +2063,11 @@ static void SortPokedex(u8 dexMode, u8 sortMode) { vars[2] = gPokedexOrder_Alphabetical[i]; - if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 0)) + if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 0)) { gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2]; gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1; - gPokedexView->unk0[gPokedexView->pokemonListCount].owned = GetNationalPokedexFlag(vars[2], 1); + gPokedexView->unk0[gPokedexView->pokemonListCount].owned = GetSetPokedexFlag(vars[2], 1); gPokedexView->pokemonListCount++; } } @@ -2079,7 +2077,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode) { vars[2] = gPokedexOrder_Weight[i]; - if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1)) + if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1)) { gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2]; gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1; @@ -2093,7 +2091,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode) { vars[2] = gPokedexOrder_Weight[i]; - if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1)) + if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1)) { gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2]; gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1; @@ -2107,7 +2105,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode) { vars[2] = gPokedexOrder_Height[i]; - if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1)) + if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1)) { gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2]; gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1; @@ -2121,7 +2119,7 @@ static void SortPokedex(u8 dexMode, u8 sortMode) { vars[2] = gPokedexOrder_Height[i]; - if (NationalToHoennOrder(vars[2]) <= vars[0] && GetNationalPokedexFlag(vars[2], 1)) + if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1)) { gPokedexView->unk0[gPokedexView->pokemonListCount].dexNum = vars[2]; gPokedexView->unk0[gPokedexView->pokemonListCount].seen = 1; @@ -3946,7 +3944,7 @@ static void sub_8090B8C(u8 taskId) otId = ((u16)gTasks[taskId].data[13] << 16) | (u16)gTasks[taskId].data[12]; personality = ((u16)gTasks[taskId].data[15] << 16) | (u16)gTasks[taskId].data[14]; paletteNum = gSprites[gTasks[taskId].data[3]].oam.paletteNum; - lzPaletteData = species_and_otid_get_pal(species, otId, personality); + lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personality); LoadCompressedPalette(lzPaletteData, 0x100 | paletteNum * 16, 32); DestroyTask(taskId); } @@ -4008,79 +4006,79 @@ u16 GetPokedexHeightWeight(u16 dexNum, u8 data) } } -s8 GetNationalPokedexFlag(u16 a, u8 b) +s8 GetSetPokedexFlag(u16 nationalDexNo, u8 caseID) { u8 index; u8 bit; u8 mask; s8 retVal; - a--; - index = a / 8; - bit = a % 8; + nationalDexNo--; + index = nationalDexNo / 8; + bit = nationalDexNo % 8; mask = 1 << bit; retVal = 0; - switch (b) + switch (caseID) { - case 0: + case FLAG_GET_SEEN: if (gSaveBlock2.pokedex.seen[index] & mask) { - if ((gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.unk938[index] & mask) - && (gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.unk3A8C[index] & mask)) + if ((gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.dexSeen2[index] & mask) + && (gSaveBlock2.pokedex.seen[index] & mask) == (gSaveBlock1.dexSeen3[index] & mask)) retVal = 1; else { gSaveBlock2.pokedex.seen[index] &= ~mask; - gSaveBlock1.unk938[index] &= ~mask; - gSaveBlock1.unk3A8C[index] &= ~mask; + gSaveBlock1.dexSeen2[index] &= ~mask; + gSaveBlock1.dexSeen3[index] &= ~mask; retVal = 0; } } break; - case 1: + case FLAG_GET_CAUGHT: if (gSaveBlock2.pokedex.owned[index] & mask) { if ((gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock2.pokedex.seen[index] & mask) - && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.unk938[index] & mask) - && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.unk3A8C[index] & mask)) + && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.dexSeen2[index] & mask) + && (gSaveBlock2.pokedex.owned[index] & mask) == (gSaveBlock1.dexSeen3[index] & mask)) retVal = 1; else { gSaveBlock2.pokedex.owned[index] &= ~mask; gSaveBlock2.pokedex.seen[index] &= ~mask; - gSaveBlock1.unk938[index] &= ~mask; - gSaveBlock1.unk3A8C[index] &= ~mask; + gSaveBlock1.dexSeen2[index] &= ~mask; + gSaveBlock1.dexSeen3[index] &= ~mask; retVal = 0; } } break; - case 2: + case FLAG_SET_SEEN: gSaveBlock2.pokedex.seen[index] |= mask; - gSaveBlock1.unk938[index] |= mask; - gSaveBlock1.unk3A8C[index] |= mask; + gSaveBlock1.dexSeen2[index] |= mask; + gSaveBlock1.dexSeen3[index] |= mask; break; - case 3: + case FLAG_SET_CAUGHT: gSaveBlock2.pokedex.owned[index] |= mask; break; } return retVal; } -u16 GetNationalPokedexCount(u8 a) +u16 GetNationalPokedexCount(u8 caseID) { u16 count = 0; u16 i; for (i = 0; i < NATIONAL_DEX_COUNT; i++) { - switch (a) + switch (caseID) { - case 0: - if (GetNationalPokedexFlag(i + 1, 0) != 0) + case FLAG_GET_SEEN: + if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN)) count++; break; - case 1: - if (GetNationalPokedexFlag(i + 1, 1) != 0) + case FLAG_GET_CAUGHT: + if (GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT)) count++; break; } @@ -4088,21 +4086,21 @@ u16 GetNationalPokedexCount(u8 a) return count; } -u16 GetHoennPokedexCount(u8 a) +u16 GetHoennPokedexCount(u8 caseID) { u16 count = 0; u16 i; for (i = 0; i < 202; i++) { - switch (a) + switch (caseID) { - case 0: - if (GetNationalPokedexFlag(HoennToNationalOrder(i + 1), 0) != 0) + case FLAG_GET_SEEN: + if (GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_SEEN)) count++; break; - case 1: - if (GetNationalPokedexFlag(HoennToNationalOrder(i + 1), 1) != 0) + case FLAG_GET_CAUGHT: + if (GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_CAUGHT)) count++; break; } @@ -4116,7 +4114,7 @@ bool8 sub_8090FC0(void) for (i = 0; i < 200; i++) { - if (GetNationalPokedexFlag(HoennToNationalOrder(i + 1), 1) == 0) + if (!GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_CAUGHT)) return FALSE; } return TRUE; @@ -4128,17 +4126,17 @@ u16 sub_8090FF4(void) for (i = 0; i < 150; i++) { - if (GetNationalPokedexFlag(i + 1, 1) == 0) + if (GetSetPokedexFlag(i + 1, 1) == 0) return 0; } for (i = 152; i < 250; i++) { - if (GetNationalPokedexFlag(i + 1, 1) == 0) + if (GetSetPokedexFlag(i + 1, 1) == 0) return 0; } for (i = 252; i < 384; i++) { - if (GetNationalPokedexFlag(i + 1, 1) == 0) + if (GetSetPokedexFlag(i + 1, 1) == 0) return 0; } return 1; diff --git a/src/pokedex_cry_screen.c b/src/pokemon/pokedex_cry_screen.c index 92fd832fc..ad7029f59 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokemon/pokedex_cry_screen.c @@ -49,7 +49,7 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { u32 r12; int x, y; - vram = (void *) BG_SCREEN_ADDR(cry->unk2); + vram = BG_SCREEN_ADDR(cry->unk2); r12 = (u32) (cry->unk0 << 18) >> 23; diff --git a/src/pokemon_1.c b/src/pokemon/pokemon_1.c index fd7916ee6..0c0d14d7a 100644 --- a/src/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -39,17 +39,17 @@ void ZeroMonData(struct Pokemon *mon) u32 arg; ZeroBoxMonData(&mon->box); arg = 0; - SetMonData(mon, MON_DATA_STATUS, (u8 *)&arg); - SetMonData(mon, MON_DATA_LEVEL, (u8 *)&arg); - SetMonData(mon, MON_DATA_HP, (u8 *)&arg); - SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&arg); - SetMonData(mon, MON_DATA_ATK, (u8 *)&arg); - SetMonData(mon, MON_DATA_DEF, (u8 *)&arg); - SetMonData(mon, MON_DATA_SPD, (u8 *)&arg); - SetMonData(mon, MON_DATA_SPATK, (u8 *)&arg); - SetMonData(mon, MON_DATA_SPDEF, (u8 *)&arg); + SetMonData(mon, MON_DATA_STATUS, &arg); + SetMonData(mon, MON_DATA_LEVEL, &arg); + SetMonData(mon, MON_DATA_HP, &arg); + SetMonData(mon, MON_DATA_MAX_HP, &arg); + SetMonData(mon, MON_DATA_ATK, &arg); + SetMonData(mon, MON_DATA_DEF, &arg); + SetMonData(mon, MON_DATA_SPEED, &arg); + SetMonData(mon, MON_DATA_SPATK, &arg); + SetMonData(mon, MON_DATA_SPDEF, &arg); arg = 255; - SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg); + SetMonData(mon, MON_DATA_MAIL, &arg); } void ZeroPlayerPartyMons(void) @@ -74,7 +74,7 @@ void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFix CreateBoxMon(&mon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId); SetMonData(mon, MON_DATA_LEVEL, &level); arg = 255; - SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg); + SetMonData(mon, MON_DATA_MAIL, &arg); CalculateMonStats(mon); } @@ -92,7 +92,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, else personality = Random32(); - SetBoxMonData(boxMon, MON_DATA_PERSONALITY, (u8 *)&personality); + SetBoxMonData(boxMon, MON_DATA_PERSONALITY, &personality); //Determine original trainer ID if (otIdType == 2) //Pokemon cannot be shiny @@ -116,24 +116,24 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, | (gSaveBlock2.playerTrainerId[3] << 24); } - SetBoxMonData(boxMon, MON_DATA_OT_ID, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_OT_ID, &value); checksum = CalculateBoxMonChecksum(boxMon); - SetBoxMonData(boxMon, MON_DATA_CHECKSUM, (u8 *)&checksum); + SetBoxMonData(boxMon, MON_DATA_CHECKSUM, &checksum); EncryptBoxMon(boxMon); GetSpeciesName(speciesName, species); SetBoxMonData(boxMon, MON_DATA_NICKNAME, speciesName); SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2.playerName); - SetBoxMonData(boxMon, MON_DATA_SPECIES, (u8 *)&species); - SetBoxMonData(boxMon, MON_DATA_EXP, (u8 *)&gExperienceTables[gBaseStats[species].growthRate][level]); + SetBoxMonData(boxMon, MON_DATA_SPECIES, &species); + SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]); SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship); value = sav1_map_get_name(); - SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value); SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level); SetBoxMonData(boxMon, MON_DATA_MET_GAME, &gGameVersion); value = 4; - SetBoxMonData(boxMon, MON_DATA_POKEBALL, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_POKEBALL, &value); SetBoxMonData(boxMon, MON_DATA_OT_GENDER, &gSaveBlock2.playerGender); if (fixedIV < 32) @@ -141,7 +141,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, SetBoxMonData(boxMon, MON_DATA_HP_IV, &fixedIV); SetBoxMonData(boxMon, MON_DATA_ATK_IV, &fixedIV); SetBoxMonData(boxMon, MON_DATA_DEF_IV, &fixedIV); - SetBoxMonData(boxMon, MON_DATA_SPD_IV, &fixedIV); + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &fixedIV); SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &fixedIV); SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &fixedIV); } @@ -151,26 +151,26 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, value = Random(); iv = value & 0x1F; - SetBoxMonData(boxMon, MON_DATA_HP_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); iv = (value & 0x3E0) >> 5; - SetBoxMonData(boxMon, MON_DATA_ATK_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); iv = (value & 0x7C00) >> 10; - SetBoxMonData(boxMon, MON_DATA_DEF_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); value = Random(); iv = value & 0x1F; - SetBoxMonData(boxMon, MON_DATA_SPD_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); iv = (value & 0x3E0) >> 5; - SetBoxMonData(boxMon, MON_DATA_SPATK_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); iv = (value & 0x7C00) >> 10; - SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); } if (gBaseStats[species].ability2) { value = personality & 1; - SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, &value); } GiveBoxMonInitialMoveset(boxMon); @@ -237,7 +237,7 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level) void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality) { CreateMon(mon, species, level, 0, 1, personality, 0, 0); - SetMonData(mon, MON_DATA_IVS, (u8 *)&ivs); + SetMonData(mon, MON_DATA_IVS, &ivs); CalculateMonStats(mon); } @@ -247,7 +247,7 @@ void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u SetMonData(mon, MON_DATA_HP_IV, &ivs[0]); SetMonData(mon, MON_DATA_ATK_IV, &ivs[1]); SetMonData(mon, MON_DATA_DEF_IV, &ivs[2]); - SetMonData(mon, MON_DATA_SPD_IV, &ivs[3]); + SetMonData(mon, MON_DATA_SPEED_IV, &ivs[3]); SetMonData(mon, MON_DATA_SPATK_IV, &ivs[4]); SetMonData(mon, MON_DATA_SPDEF_IV, &ivs[5]); CalculateMonStats(mon); @@ -278,7 +278,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI for (i = 0; i < 6; i++) { if (evSpread & temp) - SetMonData(mon, MON_DATA_HP_EV + i, (u8 *)&evAmount); + SetMonData(mon, MON_DATA_HP_EV + i, &evAmount); temp <<= 1; } @@ -297,8 +297,8 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src) for (i = 0; i < 4; i++) SetMonMoveSlot(mon, src->moves[i], i); - SetMonData(mon, MON_DATA_PP_BONUSES, (u8 *)&src->ppBonuses); - SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&src->heldItem); + SetMonData(mon, MON_DATA_PP_BONUSES, &src->ppBonuses); + SetMonData(mon, MON_DATA_HELD_ITEM, &src->heldItem); StringCopy(nickname, src->nickname); @@ -310,13 +310,13 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src) SetMonData(mon, MON_DATA_LANGUAGE, &language); StripExtCtrlCodes(nickname); SetMonData(mon, MON_DATA_NICKNAME, nickname); - SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&src->friendship); - SetMonData(mon, MON_DATA_HP_EV, (u8 *)&src->hpEV); - SetMonData(mon, MON_DATA_ATK_EV, (u8 *)&src->attackEV); - SetMonData(mon, MON_DATA_DEF_EV, (u8 *)&src->defenseEV); - SetMonData(mon, MON_DATA_SPD_EV, (u8 *)&src->speedEV); - SetMonData(mon, MON_DATA_SPATK_EV, (u8 *)&src->spAttackEV); - SetMonData(mon, MON_DATA_SPDEF_EV, (u8 *)&src->spDefenseEV); + SetMonData(mon, MON_DATA_FRIENDSHIP, &src->friendship); + SetMonData(mon, MON_DATA_HP_EV, &src->hpEV); + SetMonData(mon, MON_DATA_ATK_EV, &src->attackEV); + SetMonData(mon, MON_DATA_DEF_EV, &src->defenseEV); + SetMonData(mon, MON_DATA_SPEED_EV, &src->speedEV); + SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV); + SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV); value = src->altAbility; SetMonData(mon, MON_DATA_ALT_ABILITY, &value); value = src->hpIV; @@ -326,7 +326,7 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src) value = src->defenseIV; SetMonData(mon, MON_DATA_DEF_IV, &value); value = src->speedIV; - SetMonData(mon, MON_DATA_SPD_IV, &value); + SetMonData(mon, MON_DATA_SPEED_IV, &value); value = src->spAttackIV; SetMonData(mon, MON_DATA_SPATK_IV, &value); value = src->spDefenseIV; @@ -356,14 +356,14 @@ void sub_803AF78(struct Pokemon *mon, struct UnknownPokemonStruct *dest) dest->hpEV = GetMonData(mon, MON_DATA_HP_EV, NULL); dest->attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL); dest->defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL); - dest->speedEV = GetMonData(mon, MON_DATA_SPD_EV, NULL); + dest->speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL); dest->spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL); dest->spDefenseEV = GetMonData(mon, MON_DATA_SPDEF_EV, NULL); dest->friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL); dest->hpIV = GetMonData(mon, MON_DATA_HP_IV, NULL); dest->attackIV = GetMonData(mon, MON_DATA_ATK_IV, NULL); dest->defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL); - dest->speedIV = GetMonData(mon, MON_DATA_SPD_IV, NULL); + dest->speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL); dest->spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL); dest->spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); dest->altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY, NULL); @@ -401,7 +401,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ n = nature_stat_mod(nature, n, statIndex); \ - SetMonData(mon, field, (u8 *)&n); \ + SetMonData(mon, field, &n); \ } void CalculateMonStats(struct Pokemon *mon) @@ -414,8 +414,8 @@ void CalculateMonStats(struct Pokemon *mon) s32 attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL); s32 defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL); s32 defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL); - s32 speedIV = GetMonData(mon, MON_DATA_SPD_IV, NULL); - s32 speedEV = GetMonData(mon, MON_DATA_SPD_EV, NULL); + s32 speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL); + s32 speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL); s32 spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL); s32 spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL); s32 spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); @@ -424,7 +424,7 @@ void CalculateMonStats(struct Pokemon *mon) s32 level = GetLevelFromMonExp(mon); s32 newMaxHP; - SetMonData(mon, MON_DATA_LEVEL, (u8 *)&level); + SetMonData(mon, MON_DATA_LEVEL, &level); if (species == SPECIES_SHEDINJA) { @@ -440,11 +440,11 @@ void CalculateMonStats(struct Pokemon *mon) if (unk_2000000[0x160FA] == 0) unk_2000000[0x160FA] = 1; - SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&newMaxHP); + SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); CALC_STAT(baseAttack, attackIV, attackEV, 1, MON_DATA_ATK) CALC_STAT(baseDefense, defenseIV, defenseEV, 2, MON_DATA_DEF) - CALC_STAT(baseSpeed, speedIV, speedEV, 3, MON_DATA_SPD) + CALC_STAT(baseSpeed, speedIV, speedEV, 3, MON_DATA_SPEED) CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, 4, MON_DATA_SPATK) CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, 5, MON_DATA_SPDEF) @@ -465,18 +465,18 @@ void CalculateMonStats(struct Pokemon *mon) return; } - SetMonData(mon, MON_DATA_HP, (u8 *)¤tHP); + SetMonData(mon, MON_DATA_HP, ¤tHP); } -void sub_803B4B4(struct Pokemon *src, struct Pokemon *dest) +void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest) { u32 value = 0; - memcpy(&dest->box, &src->box, sizeof(struct BoxPokemon)); - SetMonData(dest, MON_DATA_STATUS, (u8 *)&value); - SetMonData(dest, MON_DATA_HP, (u8 *)&value); - SetMonData(dest, MON_DATA_MAX_HP, (u8 *)&value); + dest->box = *src; + SetMonData(dest, MON_DATA_STATUS, &value); + SetMonData(dest, MON_DATA_HP, &value); + SetMonData(dest, MON_DATA_MAX_HP, &value); value = 255; - SetMonData(dest, MON_DATA_MAIL, (u8 *)&value); + SetMonData(dest, MON_DATA_MAIL, &value); CalculateMonStats(dest); } @@ -517,7 +517,7 @@ u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL); if (!existingMove) { - SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&move); + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move); SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp); return move; } @@ -546,7 +546,7 @@ u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move) void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot) { - SetMonData(mon, MON_DATA_MOVE1 + slot, (u8 *)&move); + SetMonData(mon, MON_DATA_MOVE1 + slot, &move); SetMonData(mon, MON_DATA_PP1 + slot, &gBattleMoves[move].pp); } @@ -636,7 +636,7 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) for (i = 0; i < 4; i++) { - SetMonData(mon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]); + SetMonData(mon, MON_DATA_MOVE1 + i, &moves[i]); SetMonData(mon, MON_DATA_PP1 + i, &pp[i]); } @@ -663,7 +663,7 @@ void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) for (i = 0; i < 4; i++) { - SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]); + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &moves[i]); SetBoxMonData(boxMon, MON_DATA_PP1 + i, &pp[i]); } diff --git a/src/pokemon_2.c b/src/pokemon/pokemon_2.c index f02ce6170..d3bdf3a13 100644 --- a/src/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -278,7 +278,7 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data) return mon->attack; case MON_DATA_DEF: return mon->defense; - case MON_DATA_SPD: + case MON_DATA_SPEED: return mon->speed; case MON_DATA_SPATK: return mon->spAttack; @@ -422,7 +422,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_DEF_EV: retVal = substruct2->defenseEV; break; - case MON_DATA_SPD_EV: + case MON_DATA_SPEED_EV: retVal = substruct2->speedEV; break; case MON_DATA_SPATK_EV: @@ -476,7 +476,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_DEF_IV: retVal = substruct3->defenseIV; break; - case MON_DATA_SPD_IV: + case MON_DATA_SPEED_IV: retVal = substruct3->speedIV; break; case MON_DATA_SPATK_IV: @@ -653,7 +653,7 @@ void SetMonData(struct Pokemon *mon, s32 field, const u8 *data) case MON_DATA_DEF: SET16(mon->defense); break; - case MON_DATA_SPD: + case MON_DATA_SPEED: SET16(mon->speed); break; case MON_DATA_SPATK: @@ -784,7 +784,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data) case MON_DATA_DEF_EV: SET8(substruct2->defenseEV); break; - case MON_DATA_SPD_EV: + case MON_DATA_SPEED_EV: SET8(substruct2->speedEV); break; case MON_DATA_SPATK_EV: @@ -844,7 +844,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data) case MON_DATA_DEF_IV: SET8(substruct3->defenseIV); break; - case MON_DATA_SPD_IV: + case MON_DATA_SPEED_IV: SET8(substruct3->speedIV); break; case MON_DATA_SPATK_IV: @@ -1077,6 +1077,7 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) 2, 0); + // these two SetMonData calls require the (u8 *) cast since SetMonData is declared in this function. SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&gSecretBaseRecord.partyHeldItems[i]); for (j = 0; j < 6; j++) @@ -1185,7 +1186,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex) gBattleMons[battleIndex].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL); gBattleMons[battleIndex].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL); gBattleMons[battleIndex].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL); - gBattleMons[battleIndex].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPD_IV, NULL); + gBattleMons[battleIndex].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL); gBattleMons[battleIndex].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL); gBattleMons[battleIndex].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL); gBattleMons[battleIndex].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL); @@ -1195,7 +1196,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex) gBattleMons[battleIndex].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL); gBattleMons[battleIndex].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL); gBattleMons[battleIndex].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL); - gBattleMons[battleIndex].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPD, NULL); + gBattleMons[battleIndex].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL); gBattleMons[battleIndex].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL); gBattleMons[battleIndex].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL); gBattleMons[battleIndex].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); diff --git a/src/pokemon_3.c b/src/pokemon/pokemon_3.c index e51d3187b..9c2cb4730 100644 --- a/src/pokemon_3.c +++ b/src/pokemon/pokemon_3.c @@ -68,7 +68,7 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 bat if (status & healMask) { status &= ~healMask; - SetMonData(mon, MON_DATA_STATUS, (u8 *)&status); + SetMonData(mon, MON_DATA_STATUS, &status); if (gMain.inBattle && battleId != 4) gBattleMons[battleId].status1 &= ~healMask; return FALSE; @@ -203,7 +203,7 @@ void sub_803F324(int stat) u8 *sub_803F378(u16 itemId) { int i; - u8 *itemEffect; + const u8 *itemEffect; if (itemId == ITEM_ENIGMA_BERRY) { @@ -218,7 +218,7 @@ u8 *sub_803F378(u16 itemId) } else { - itemEffect = (u8 *) gItemEffectTable[itemId - 13]; + itemEffect = gItemEffectTable[itemId - 13]; } gStringBank = gBankInMenu; @@ -278,7 +278,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) else holdEffect = ItemId_GetHoldEffect(heldItem); - if (holdEffect == 38 && type != 3) + if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && type != 3) return 0; switch (type) @@ -355,7 +355,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) if (gEvolutionTable[species].evolutions[i].param == heldItem) { heldItem = 0; - SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem); + SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem); targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; } break; @@ -695,7 +695,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) friendship = 0; if (friendship > 255) friendship = 255; - SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&friendship); + SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); } } } @@ -1096,7 +1096,7 @@ void ClearBattleMonForms(void) gBattleMonForms[i] = 0; } -u16 sub_8040728(void) +u16 GetBGM_ForBattle(void) { if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) return BGM_BATTLE34; @@ -1137,7 +1137,7 @@ void sub_80408BC(void) { ResetMapMusic(); m4aMPlayAllStop(); - PlayBGM(sub_8040728()); + PlayBGM(GetBGM_ForBattle()); } void current_map_music_set__default_for_battle(u16 song) @@ -1147,15 +1147,15 @@ void current_map_music_set__default_for_battle(u16 song) if (song) PlayNewMapMusic(song); else - PlayNewMapMusic(sub_8040728()); + PlayNewMapMusic(GetBGM_ForBattle()); } -const u8 *pokemon_get_pal(struct Pokemon *mon) +const u8 *GetMonSpritePal(struct Pokemon *mon) { u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0); u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0); - return species_and_otid_get_pal(species, otId, personality); + return GetMonSpritePalFromOtIdPersonality(species, otId, personality); } //Extracts the upper 16 bits of a 32-bit number @@ -1164,7 +1164,7 @@ const u8 *pokemon_get_pal(struct Pokemon *mon) //Extracts the lower 16 bits of a 32-bit number #define LOHALF(n) ((n) & 0xFFFF) -const u8 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality) +const u8 *GetMonSpritePalFromOtIdPersonality(u16 species, u32 otId, u32 personality) { u32 shinyValue; @@ -1178,15 +1178,15 @@ const u8 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality) return gMonPaletteTable[species].data; } -const struct CompressedSpritePalette *sub_8040990(struct Pokemon *mon) +const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon) { u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0); u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0); - return sub_80409C8(species, otId, personality); + return GetMonSpritePalStructFromOtIdPersonality(species, otId, personality); } -const struct CompressedSpritePalette *sub_80409C8(u16 species, u32 otId , u32 personality) +const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality) { u32 shinyValue; @@ -1208,9 +1208,9 @@ bool32 IsHMMove2(u16 move) return FALSE; } -bool8 sub_8040A3C(u16 species) +bool8 IsPokeSpriteNotFlipped(u16 species) { - return gBaseStats[species].unk19_7; + return gBaseStats[species].noFlip; } s8 sub_8040A54(struct Pokemon *mon, u8 a2) @@ -1299,16 +1299,16 @@ void SetWildMonHeldItem(void) u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0); if (gBaseStats[species].item1 == gBaseStats[species].item2) { - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1); return; } if (rnd > 44) { if (rnd <= 94) - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1); else - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item2); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item2); } } } @@ -1337,7 +1337,7 @@ u8 *sub_8040D08(void) return gLinkPlayers[sub_803FC34(gLinkPlayers[id].lp_field_18 ^ 2)].name; } -bool32 sub_8040D3C(u16 species, u8 *name, u8 language) +bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language) { bool32 retVal = FALSE; if (species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F) @@ -1362,12 +1362,12 @@ bool32 sub_8040D3C(u16 species, u8 *name, u8 language) return retVal; } -bool32 sub_8040D8C(u16 species, u8 *name) +bool32 ShouldHideGenderIcon(u16 species, u8 *name) { u8 language = GAME_LANGUAGE; if (name[0] == 0xFC && name[1] == 21) language = LANGUAGE_JAPANESE; - return sub_8040D3C(species, name, language); + return ShouldHideGenderIconForLanguage(species, name, language); } bool32 unref_sub_8040DAC(struct Pokemon *mon) @@ -1376,5 +1376,5 @@ bool32 unref_sub_8040DAC(struct Pokemon *mon) u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u8 language = GetMonData(mon, MON_DATA_LANGUAGE, 0); GetMonData(mon, MON_DATA_NICKNAME, name); - return sub_8040D3C(species, name, language); + return ShouldHideGenderIconForLanguage(species, name, language); } diff --git a/src/pokemon_data.c b/src/pokemon/pokemon_data.c index 6414134fb..3d13a3390 100644 --- a/src/pokemon_data.c +++ b/src/pokemon/pokemon_data.c @@ -9,18 +9,18 @@ #include "sprite.h" #include "data2.h" -#include "data/pokemon/dex_order.h" -#include "data/pokemon/spinda_spots.h" -#include "data/pokemon/item_effects.h" -#include "data/pokemon/nature_stats.h" -#include "data/pokemon/tmhm_learnsets.h" -#include "data/pokemon/trainer_class_lookups.h" -#include "data/pokemon/cry_ids.h" -#include "data/pokemon/experience_tables.h" -#include "data/pokemon/base_stats.h" -#include "data/pokemon/level_up_learnsets.h" -#include "data/pokemon/evolution.h" -#include "data/pokemon/level_up_learnset_pointers.h" +#include "../data/pokemon/dex_order.h" +#include "../data/pokemon/spinda_spots.h" +#include "../data/pokemon/item_effects.h" +#include "../data/pokemon/nature_stats.h" +#include "../data/pokemon/tmhm_learnsets.h" +#include "../data/pokemon/trainer_class_lookups.h" +#include "../data/pokemon/cry_ids.h" +#include "../data/pokemon/experience_tables.h" +#include "../data/pokemon/base_stats.h" +#include "../data/pokemon/level_up_learnsets.h" +#include "../data/pokemon/evolution.h" +#include "../data/pokemon/level_up_learnset_pointers.h" const u8 gUnknown_08208238[] = { // Masks for getting PP Up count, also PP Max values 0x03, 0x0c, 0x30, 0xc0 @@ -93,7 +93,7 @@ const u8 gUnknown_082082F2[] = { MON_DATA_HP_EV, MON_DATA_ATK_EV, MON_DATA_DEF_EV, - MON_DATA_SPD_EV, + MON_DATA_SPEED_EV, MON_DATA_SPDEF_EV, MON_DATA_SPATK_EV }; diff --git a/src/pokemon_icon.c b/src/pokemon/pokemon_icon.c index 9bb3386e1..e83f912ec 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon/pokemon_icon.c @@ -1215,8 +1215,11 @@ u8 UpdateMonIconFrame(struct Sprite *sprite) break; default: RequestSpriteCopy( - (u8 *)sprite->images + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame, - (u8 *)OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, + // pointer arithmetic is needed to get the correct pointer to perform the sprite copy on. + // because sprite->images is a struct def, it has to be casted to (u8 *) before any + // arithmetic can be performed. + (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame), + OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]); { register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration; diff --git a/src/pokemon_menu.c b/src/pokemon/pokemon_menu.c index bc5150a16..7d70e7708 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -57,7 +57,6 @@ void sub_80E62A0(u8 arg0, struct MailStruct* arg1, void* arg2, u8 arg3); void sub_808A520(void); void sub_80A61D0(void); void CB2_InitFlyRegionMap(void); -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); bool8 SetUpFieldMove_Cut(void); bool8 SetUpFieldMove_Flash(void); bool8 SetUpFieldMove_RockSmash(void); @@ -184,7 +183,7 @@ static const struct PokeMenuFieldMoveFunc sFieldMoveFuncs[] = void sub_8089A70(void) { gPaletteFade.bufferTransferDisabled = 1; - OpenPartyMenu(0, 0); + OpenPartyMenu(PARTY_MENU_TYPE_STANDARD, 0); } static void sub_8089A8C(void) @@ -229,7 +228,7 @@ static void sub_8089A8C(void) static void sub_8089BDC(u8 arg0, u8 arg1, u8 arg2, u8 noOfOptions, const struct MenuAction2 *menuActions, const u8 *order, u8 arg6) { - sub_806D538(5, arg6); + PrintPartyMenuPromptText(5, arg6); MenuDrawTextWindow(arg0, arg1, arg0 + arg2, (noOfOptions * 2) + arg1 + 1); PrintMenuItemsReordered(arg0 + 1, arg1 + 1, noOfOptions, menuActions, order); } @@ -248,13 +247,13 @@ static void sub_8089C7C(u8 arg0) InitMenu(0, 20, r4, sPokeMenuOptionsNo, arg0, 9); } -void sub_8089CD4(u8 taskID) +void HandleDefaultPartyMenu(u8 taskID) { if (!gPaletteFade.active) { - switch (sub_806BD80(taskID)) + switch (HandleDefaultPartyMenuInput(taskID)) { - case 1: + case A_BUTTON: PlaySE(SE_SELECT); gLastFieldPokeMenuOpened = sub_806CA38(taskID); GetMonNickname(&gPlayerParty[gLastFieldPokeMenuOpened], gStringVar1); @@ -264,7 +263,7 @@ void sub_8089CD4(u8 taskID) gTasks[taskID].func = sub_8089D94; sub_808B5B4(taskID); break; - case 2: + case B_BUTTON: PlaySE(SE_SELECT); BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); gTasks[taskID].func = sub_8089E4C; @@ -325,13 +324,13 @@ static void sub_8089EBC(void) { do { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0); - sub_806BF74(EWRAM_1B000.unk260, 0); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); gLastFieldPokeMenuOpened = gUnknown_020384F0; sub_8089E84(); - SetMainCallback2(sub_806AEDC); + SetMainCallback2(CB2_PartyMenuMain); break; } } while (sub_80F9344() != TRUE); @@ -340,7 +339,7 @@ static void sub_8089EBC(void) static void sub_8089F14(void) { gPaletteFade.bufferTransferDisabled = 1; - sub_806AF4C(0, 0xFF, sub_8089D94, 5); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_8089D94, 5); SetMainCallback2(sub_8089EBC); } @@ -361,9 +360,9 @@ static void PokemonMenu_Summary(u8 taskID) gTasks[taskID].func = sub_8089F44; } -void sub_808A004(u8 taskID) +void DoPokemonMenu_Switch(u8 taskID) { - SetTaskFuncWithFollowupFunc(taskID, sub_806CA60, sub_8089CD4); + SetTaskFuncWithFollowupFunc(taskID, SetupDefaultPartyMenuSwitchPokemon, HandleDefaultPartyMenu); MenuZeroFillWindowRect(19, 0, 29, 19); } @@ -372,7 +371,7 @@ static void PokemonMenu_Switch(u8 taskID) HandleDestroyMenuCursors(); ewram01000.unkC = sub_806CD5C; ewram01000.array[53553] = 1; - sub_808A004(taskID); + DoPokemonMenu_Switch(taskID); } static void sub_808A060(u8 taskID) @@ -390,19 +389,19 @@ static void sub_808A060(u8 taskID) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F578, (void *)sPokemonMenuActions, sPokeMenuCursorPos)(taskID); + PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F578, sPokemonMenuActions, sPokeMenuCursorPos)(taskID); } else if (gMain.newKeys & B_BUTTON) { - sub_806E7D0(0, &sUnknown_0839F578); + ClosePartyPopupMenu(0, &sUnknown_0839F578); PokemonMenu_CancelSubmenu(taskID); } } static void sub_808A100(u8 taskID) { - sub_806E750(0, &sUnknown_0839F578, (void*)(sPokemonMenuActions), 0); - sub_806D538(0xD, 2); + ShowPartyPopupMenu(0, &sUnknown_0839F578, (void*)(sPokemonMenuActions), 0); + PrintPartyMenuPromptText(0xD, 2); gTasks[taskID].func = sub_808A060; } @@ -429,8 +428,8 @@ static void sub_808A1E0(u8 taskID) if (gUnknown_0202E8F6 != 1) { SetHeldItemIconVisibility(taskID, sub_806CA38(taskID)); - sub_806D538(0, 0); - gTasks[taskID].func = sub_8089CD4; + PrintPartyMenuPromptText(0, 0); + gTasks[taskID].func = HandleDefaultPartyMenu; } } @@ -444,8 +443,8 @@ static void sub_808A228(u8 taskID) else { MenuZeroFillWindowRect(0, 0, 29, 19); - sub_806D538(0, 0); - gTasks[taskID].func = sub_8089CD4; + PrintPartyMenuPromptText(0, 0); + gTasks[taskID].func = HandleDefaultPartyMenu; } } @@ -476,11 +475,11 @@ static void sub_808A358(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened); - sub_806BF74(EWRAM_1B000.unk260, 0); - SetMainCallback2(sub_806AEDC); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -492,13 +491,13 @@ static void sub_808A3A4(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened); - sub_806BF74(EWRAM_1B000.unk260, 0); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); EWRAM_1B000.unk262 = 3; sub_8089E84(); - SetMainCallback2(sub_806AEDC); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -514,7 +513,7 @@ void sub_808A3F8(void) gPaletteFade.bufferTransferDisabled = 1; sub_806BD58(taskID, 0); sub_806C994(taskID, gLastFieldPokeMenuOpened); - sub_806BF74(taskID, 0); + ChangePartyMenuSelection(taskID, 0); if (!(bool8)(GetMonData(&gPlayerParty[sub_806CA38(taskID)], MON_DATA_HELD_ITEM))) { SetMainCallback2(sub_808A34C); @@ -526,12 +525,12 @@ void sub_808A3F8(void) gPaletteFade.bufferTransferDisabled = 1; if (gScriptItemId) { - sub_806AF4C(0, 0xFF, sub_808A2AC, 0xFF); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_808A2AC, 0xFF); SetMainCallback2(sub_808A358); } else { - sub_806AF4C(0, 0xFF, sub_8089D94, 5); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_8089D94, 5); SetMainCallback2(sub_808A3A4); } } @@ -540,11 +539,11 @@ static void sub_808A4D4(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened); - sub_806BF74(EWRAM_1B000.unk260, 0); - SetMainCallback2(sub_806AEDC); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -562,10 +561,10 @@ void sub_808A520(void) AddBagItem(GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_HELD_ITEM), 1); TakeMailFromMon(&gPlayerParty[gLastFieldPokeMenuOpened]); SetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_HELD_ITEM, (void*) &gUnknown_0202E8F8); - sub_806AF4C(0, 0xFF, sub_8089CD4, 0); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, HandleDefaultPartyMenu, 0); } else - sub_806AF4C(0, 0xFF, sub_808A5BC, 0xFF); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, sub_808A5BC, 0xFF); SetMainCallback2(sub_808A4D4); } @@ -620,7 +619,7 @@ static void PokemonMenu_Mail(u8 taskID) HandleDestroyMenuCursors(); sPokeMenuCursorPos = 0; MenuZeroFillWindowRect(19, 0, 29, 19); - sub_806E750(0, &sUnknown_0839F584, (void*) sPokemonMenuActions, 0); + ShowPartyPopupMenu(0, &sUnknown_0839F584, (void*) sPokemonMenuActions, 0); gTasks[taskID].func = sub_808A73C; } @@ -630,26 +629,26 @@ static void sub_808A73C(u8 taskID) { PlaySE(SE_SELECT); if (sPokeMenuCursorPos == 0) - sPokeMenuCursorPos = MoveMenuCursor(sUnknown_0839F584.unk0 - 1); + sPokeMenuCursorPos = MoveMenuCursor(sUnknown_0839F584.numChoices - 1); else sPokeMenuCursorPos = MoveMenuCursor(-1); } if (gMain.newAndRepeatedKeys == DPAD_DOWN) { PlaySE(SE_SELECT); - if (sPokeMenuCursorPos == sUnknown_0839F584.unk0 - 1) - sPokeMenuCursorPos = MoveMenuCursor(1 - sUnknown_0839F584.unk0); + if (sPokeMenuCursorPos == sUnknown_0839F584.numChoices - 1) + sPokeMenuCursorPos = MoveMenuCursor(1 - sUnknown_0839F584.numChoices); else sPokeMenuCursorPos = MoveMenuCursor(1); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F584, (void*) sPokemonMenuActions, sPokeMenuCursorPos)(taskID); + PartyMenuGetPopupMenuFunc(0, &sUnknown_0839F584, sPokemonMenuActions, sPokeMenuCursorPos)(taskID); } else if (gMain.newKeys & B_BUTTON) { - sub_806E7D0(0, &sUnknown_0839F584); + ClosePartyPopupMenu(0, &sUnknown_0839F584); PokemonMenu_Cancel(taskID); } } @@ -681,8 +680,8 @@ static void sub_808A8D4(u8 taskID) { sPokeMenuCursorPos = 0; MenuZeroFillWindowRect(19, 0, 29, 19); - sub_806D538(0, 0); - gTasks[taskID].func = sub_8089CD4; + PrintPartyMenuPromptText(0, 0); + gTasks[taskID].func = HandleDefaultPartyMenu; } static void PokemonMenu_Cancel(u8 taskID) @@ -718,9 +717,9 @@ static void PokemonMenu_FieldMove(u8 taskID) { MenuZeroFillWindowRect(19, 0, 29, 19); if (IS_SOFTBOILED_MILKDRINK(tFieldMoveId)) - sub_806D538(9, 0); + PrintPartyMenuPromptText(9, 0); else - sub_806D538(sFieldMoveFuncs[tFieldMoveId].field_1, 0); + PrintPartyMenuPromptText(sFieldMoveFuncs[tFieldMoveId].field_1, 0); gTasks[taskID].func = sub_808ABF4; } else if (tFieldMoveId <= 7 && FlagGet(BADGE01_GET + tFieldMoveId) != TRUE) @@ -748,9 +747,9 @@ static void PokemonMenu_FieldMove(u8 taskID) { MenuZeroFillWindowRect(19, 0, 29, 19); if (IS_SURF(tFieldMoveId) && TestPlayerAvatarFlags(8)) - sub_806D538(8, 0); + PrintPartyMenuPromptText(8, 0); else - sub_806D538(sFieldMoveFuncs[tFieldMoveId].field_1, 0); + PrintPartyMenuPromptText(sFieldMoveFuncs[tFieldMoveId].field_1, 0); gTasks[taskID].func = sub_808ABF4; } } @@ -849,11 +848,11 @@ static void sub_808AD0C(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened); - sub_806BF74(EWRAM_1B000.unk260, 0); - SetMainCallback2(sub_806AEDC); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -864,7 +863,7 @@ static void sub_808AD0C(void) void sub_808AD58(void) { gPaletteFade.bufferTransferDisabled = 1; - sub_806AF4C(0, 0xFF, sub_8089CD4, 0); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0xFF, HandleDefaultPartyMenu, 0); SetMainCallback2(sub_808AD0C); } @@ -952,7 +951,7 @@ static void sub_808AF80(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { if (gUnknown_02038561 == 0) { @@ -968,9 +967,9 @@ static void sub_808AF80(void) } if (gLastFieldPokeMenuOpened > 5 || !GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_SPECIES)) gLastFieldPokeMenuOpened = 0; - sub_806C994(ewram1B000.unk260, gLastFieldPokeMenuOpened); - sub_806BF74(ewram1B000.unk260, 0); - SetMainCallback2(sub_806AEDC); + sub_806C994(ewram1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened); + ChangePartyMenuSelection(ewram1B000.menuHandlerTaskId, 0); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -985,16 +984,16 @@ void sub_808B020(void) { case 0: if (CheckIfItemIsTMHMOrEvolutionStone(gScriptItemId) == 1) - sub_806AF4C(0, 0, sub_808B0C0, 20); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 20); else - sub_806AF4C(0, 0, sub_808B0C0, 3); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 3); break; case 4: - sub_806AF4C(0, 0, sub_808B1EC, 0xFF); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B1EC, 0xFF); break; case 1: case 3: - sub_806AF4C(0, 0, sub_808B0C0, 4); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 4); break; } SetMainCallback2(sub_808AF80); @@ -1004,9 +1003,9 @@ void sub_808B0C0(u8 taskID) { if (!gPaletteFade.active) { - switch (sub_806BD80(taskID)) + switch (HandleDefaultPartyMenuInput(taskID)) { - case 1: + case A_BUTTON: gLastFieldPokeMenuOpened = sub_806CA38(taskID); if (GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_IS_EGG)) PlaySE(SE_HAZURE); @@ -1027,7 +1026,7 @@ void sub_808B0C0(u8 taskID) } } break; - case 2: + case B_BUTTON: gLastFieldPokeMenuOpened = sub_806CA38(taskID); PlaySE(SE_SELECT); BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); @@ -1104,11 +1103,11 @@ static void sub_808B3A0(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gLastFieldPokeMenuOpened); - sub_806BF74(EWRAM_1B000.unk260, 0); - SetMainCallback2(sub_806AEDC); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gLastFieldPokeMenuOpened); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -1130,11 +1129,11 @@ static void sub_808B3EC(void) SetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_HELD_ITEM, (void*) &gUnknown_0202E8F8); CreateTask(sub_808B25C, 5); gPaletteFade.bufferTransferDisabled = 0; - callback = sub_806AEDC; + callback = CB2_PartyMenuMain; } else { - sub_806AF4C(0, 0, sub_808B4A4, 0xFF); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B4A4, 0xFF); callback = sub_808B3A0; } SetMainCallback2(callback); @@ -1164,11 +1163,11 @@ static void sub_808B518(void) { while (1) { - if (sub_806B124() == TRUE) + if (InitPartyMenu() == TRUE) { - sub_806C994(EWRAM_1B000.unk260, gUnknown_020384F0); - sub_806BF74(EWRAM_1B000.unk260, 0); - SetMainCallback2(sub_806AEDC); + sub_806C994(EWRAM_1B000.menuHandlerTaskId, gUnknown_020384F0); + ChangePartyMenuSelection(EWRAM_1B000.menuHandlerTaskId, 0); + SetMainCallback2(CB2_PartyMenuMain); break; } if (sub_80F9344() == TRUE) @@ -1180,9 +1179,9 @@ void sub_808B564(void) { gPaletteFade.bufferTransferDisabled = 1; if (sub_809FA30() != 4) - sub_806AF4C(0, 0, TaughtMove, 0xFF); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, TaughtMove, 0xFF); else - sub_806AF4C(0, 0, StopTryingToTeachMove_806F588, 0xFF); + SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, StopTryingToTeachMove_806F588, 0xFF); SetMainCallback2(sub_808B518); } diff --git a/src/pokemon_size_record.c b/src/pokemon/pokemon_size_record.c index f2222bd3b..a71e6f1fd 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon/pokemon_size_record.c @@ -46,7 +46,7 @@ static u32 GetMonSizeHash(struct Pokemon *pkmn) u16 hpIV = GetMonData(pkmn, MON_DATA_HP_IV) & 0xF; u16 attackIV = GetMonData(pkmn, MON_DATA_ATK_IV) & 0xF; u16 defenseIV = GetMonData(pkmn, MON_DATA_DEF_IV) & 0xF; - u16 speedIV = GetMonData(pkmn, MON_DATA_SPD_IV) & 0xF; + u16 speedIV = GetMonData(pkmn, MON_DATA_SPEED_IV) & 0xF; u16 spAtkIV = GetMonData(pkmn, MON_DATA_SPATK_IV) & 0xF; u16 spDefIV = GetMonData(pkmn, MON_DATA_SPDEF_IV) & 0xF; u32 hibyte = ((attackIV ^ defenseIV) * hpIV) ^ (personality & 0xFF); diff --git a/src/pokemon_storage_system.c b/src/pokemon/pokemon_storage_system.c index 5e97523e2..5e97523e2 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon/pokemon_storage_system.c diff --git a/src/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c index 00a0bea29..00a0bea29 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon/pokemon_summary_screen.c diff --git a/src/rom3.c b/src/rom3.c index 3f4860ecc..75dfdf2a2 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -92,7 +92,7 @@ void setup_poochyena_battle(void) ZeroEnemyPartyMons(); CreateMon(&gEnemyParty[0], SPECIES_POOCHYENA, 2, 32, 0, 0, 0, 0); i = ITEM_NONE; - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&i); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &i); } gUnknown_020239FC = 0; gUnknown_02024C78 = 0; @@ -489,7 +489,7 @@ void sub_800C35C(void) u8 i; //r4 s32 j; //r2 u16 r6; //r6 - u8 *recvBuffer; //r3 + u16 *recvBuffer; //r3 u8 *dest; //r5 u8 *src; //r4 @@ -500,10 +500,10 @@ void sub_800C35C(void) if (GetBlockReceivedStatus() & gBitTable[i]) { ResetBlockReceivedFlag(i); - recvBuffer = (u8 *)&gBlockRecvBuffer[i]; + recvBuffer = gBlockRecvBuffer[i]; #ifndef NONMATCHING asm(""); - recvBuffer = (u8 *)&gBlockRecvBuffer[i]; + recvBuffer = gBlockRecvBuffer[i]; #endif r6 = gBlockRecvBuffer[i][2]; if (gTasks[gUnknown_020238C5].data[14] + 9 + r6 > 0x1000) @@ -513,7 +513,7 @@ void sub_800C35C(void) } //_0800C402 dest = EWRAM_15000 + gTasks[gUnknown_020238C5].data[14]; - src = recvBuffer; + src = (u8 *)recvBuffer; for (j = 0; j < r6 + 8; j++) dest[j] = src[j]; gTasks[gUnknown_020238C5].data[14] = gTasks[gUnknown_020238C5].data[14] + r6 + 8; @@ -1097,7 +1097,7 @@ void EmitTrainerBallThrow(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd48(u8 a, u8 *b, u8 c) +void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c) { int i; @@ -1106,7 +1106,7 @@ void Emitcmd48(u8 a, u8 *b, u8 c) gBattleBuffersTransferData[2] = (c & 0x80) >> 7; gBattleBuffersTransferData[3] = 48; for (i = 0; i < 48; i++) - gBattleBuffersTransferData[4 + i] = b[i]; + gBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus)); PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 52); } diff --git a/src/rom6.c b/src/rom6.c index 3a5071034..32b5f52a5 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -59,7 +59,7 @@ static void task08_080C9820(u8 taskId) u8 mapObjId; ScriptContext2_Enable(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; mapObjId = gPlayerAvatar.mapObjectId; if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gMapObjects[mapObjId]) || FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId])) @@ -112,7 +112,7 @@ static void sub_810B4CC(u8 taskId) void (*func)(void) = (void (*)(void))(((u16)gTasks[taskId].data[8] << 16) | (u16)gTasks[taskId].data[9]); func(); - gPlayerAvatar.unk6 = 0; + gPlayerAvatar.preventStep = FALSE; DestroyTask(taskId); } @@ -169,7 +169,7 @@ int SetUpFieldMove_Dig(void) static void sub_810B5D8(void) { - sub_8053014(); + Overworld_ResetStateAfterDigEscRope(); FieldEffectStart(FLDEFF_USE_DIG); gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; } diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 249146b37..285c992ca 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -102,8 +102,8 @@ extern u32 gTransformPersonalities[NUM_BATTLE_SLOTS]; extern u8 gBattleMonForms[NUM_BATTLE_SLOTS]; extern u16 gUnknown_0202F7CA[]; extern u8 gBattleMonSprites[NUM_BATTLE_SLOTS]; -extern u8 gBattleAnimPlayerMonIndex; -extern u8 gBattleAnimEnemyMonIndex; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; extern s16 gBattleAnimArgs[8]; extern u8 gBanksBySide[NUM_BATTLE_SLOTS]; extern u8 gNoOfAllBanks; // gNumBattleMons? @@ -111,6 +111,8 @@ extern struct OamMatrix gOamMatrices[]; extern struct Struct_2017810 unk_2017810[]; extern u8 gHappinessMoveAnim; +extern u8 UpdateMonIconFrame(struct Sprite *sprite); + EWRAM_DATA union AffineAnimCmd *gUnknown_0202F7D4 = NULL; EWRAM_DATA u32 filler_0202F7D8[3] = {0}; @@ -185,7 +187,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) { u16 species; struct TransformStatus *transform; - if (IsContest()) { + if (NotInBattle()) { if (a2 == 3 && slot == 3) { a2 = 1; } @@ -201,7 +203,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) { case 3: case 4: default: - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { species = unk_2019348.field_2; } else { @@ -241,9 +243,9 @@ u8 sub_8077BFC(u8 slot, u16 species) { u8 ret; u16 var; - if (!GetBankSide(slot) || IsContest()) { + if (!GetBankSide(slot) || NotInBattle()) { if (species == SPECIES_UNOWN) { - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { personality = unk_2019348.field_10; } else { @@ -300,7 +302,7 @@ u8 sub_8077BFC(u8 slot, u16 species) { u8 sub_8077DD8(u8 slot, u16 species) { u8 ret = 0; if (GetBankSide(slot) == 1) { - if (!IsContest()) { + if (!NotInBattle()) { if (species == SPECIES_CASTFORM) { ret = gCastformElevations[gBattleMonForms[slot]]; } else if (species > NUM_SPECIES) { @@ -316,7 +318,7 @@ u8 sub_8077DD8(u8 slot, u16 species) { u8 sub_8077E44(u8 slot, u16 species, u8 a3) { u16 offset; u8 y; - if (GetBankSide(slot) == 0 || IsContest()) { + if (GetBankSide(slot) == 0 || NotInBattle()) { offset = sub_8077BFC(slot, species); } else { offset = sub_8077BFC(slot, species); @@ -336,7 +338,7 @@ u8 sub_8077EE4(u8 slot, u8 a2) { u16 species; struct TransformStatus *transform; if (a2 == 3 || a2 == 4) { - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { species = unk_2019348.field_2; } else { @@ -379,7 +381,7 @@ u8 sub_8077FC0(u8 slot) { u8 r6; struct TransformStatus *transform; r6 = sub_8077ABC(slot, 1); - if (!IsContest()) { + if (!NotInBattle()) { if (GetBankSide(slot)) { transform = &gTransformStatuses[slot]; if (!transform->species) { @@ -402,43 +404,43 @@ u8 sub_8077FC0(u8 slot) { return r6; } -u8 obj_id_for_side_relative_to_move(u8 a1) { +u8 GetAnimBankSpriteId(u8 whichBank) { u8 *sprites; - if (a1 == 0) { - if (sub_8078874(gBattleAnimPlayerMonIndex)) { + if (whichBank == ANIM_BANK_ATK) { + if (AnimBankSpriteExists(gBattleAnimBankAttacker)) { sprites = gBattleMonSprites; - return sprites[gBattleAnimPlayerMonIndex]; + return sprites[gBattleAnimBankAttacker]; } else { return 0xff; } - } else if (a1 == 1) { - if (sub_8078874(gBattleAnimEnemyMonIndex)) { + } else if (whichBank == ANIM_BANK_DEF) { + if (AnimBankSpriteExists(gBattleAnimBankTarget)) { sprites = gBattleMonSprites; - return sprites[gBattleAnimEnemyMonIndex]; + return sprites[gBattleAnimBankTarget]; } else { return 0xff; } - } else if (a1 == 2) { - if (!b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) { + } else if (whichBank == ANIM_BANK_ATK_PARTNER) { + if (!IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) { return 0xff; } else { - return gBattleMonSprites[gBattleAnimPlayerMonIndex ^ 2]; + return gBattleMonSprites[gBattleAnimBankAttacker ^ 2]; } } else { - if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) { - return gBattleMonSprites[gBattleAnimEnemyMonIndex ^ 2]; + if (IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) { + return gBattleMonSprites[gBattleAnimBankTarget ^ 2]; } else { return 0xff; } } } -void oamt_set_x3A_32(struct Sprite *sprite, void (*callback)(struct Sprite*)) { +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite*)) { sprite->data6 = (u32)(callback) & 0xffff; sprite->data7 = (u32)(callback) >> 16; } -void sub_8078104(struct Sprite *sprite) { +void SetCallbackToStoredInData6(struct Sprite *sprite) { u32 callback = (u16)sprite->data6 | (sprite->data7 << 16); sprite->callback = (void (*)(struct Sprite *))callback; } @@ -455,7 +457,7 @@ void sub_8078114(struct Sprite *sprite) { } sprite->data3--; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -472,7 +474,7 @@ void sub_8078174(struct Sprite *sprite) { } sprite->data3--; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -494,7 +496,7 @@ void unref_sub_80781F0(struct Sprite *sprite) { } sprite->data3--; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -510,7 +512,7 @@ void sub_8078278(struct Sprite *sprite) { } sprite->data3--; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -518,7 +520,7 @@ void sub_80782D8(struct Sprite *sprite) { if (sprite->data0 > 0) { sprite->data0--; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -547,7 +549,7 @@ void sub_8078364(struct Sprite *sprite) { sprite->pos2.x += sprite->data1; sprite->pos2.y += sprite->data2; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -559,7 +561,7 @@ void sub_8078394(struct Sprite *sprite) { sprite->pos2.x = sprite->data3 >> 8; sprite->pos2.y = sprite->data4 >> 8; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -571,7 +573,7 @@ void sub_80783D0(struct Sprite *sprite) { sprite->pos2.x = sprite->data3 >> 8; sprite->pos2.y = sprite->data4 >> 8; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } UpdateMonIconFrame(sprite); } @@ -579,8 +581,8 @@ void sub_80783D0(struct Sprite *sprite) { void unref_sub_8078414(struct Sprite *sprite) { sprite->data1 = sprite->pos1.x + sprite->pos2.x; sprite->data3 = sprite->pos1.y + sprite->pos2.y; - sprite->data2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2); - sprite->data4 = sub_8077ABC(gBattleAnimEnemyMonIndex, 3); + sprite->data2 = sub_8077ABC(gBattleAnimBankTarget, 2); + sprite->data4 = sub_8077ABC(gBattleAnimBankTarget, 3); sprite->callback = sub_80782F8; } @@ -590,7 +592,7 @@ void sub_8078458(struct Sprite *sprite) { gSprites[sprite->data3].pos2.x += sprite->data1; gSprites[sprite->data3].pos2.y += sprite->data2; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -602,7 +604,7 @@ void sub_80784A8(struct Sprite *sprite) { gSprites[sprite->data5].pos2.x = sprite->data3 >> 8; gSprites[sprite->data5].pos2.y = sprite->data4 >> 8; } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -619,7 +621,7 @@ void sub_8078504(struct Sprite *sprite) { } } } else { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -631,8 +633,8 @@ void move_anim_8074EE0(struct Sprite *sprite) { void unref_sub_8078588(struct Sprite *sprite) { sprite->data1 = sprite->pos1.x + sprite->pos2.x; sprite->data3 = sprite->pos1.y + sprite->pos2.y; - sprite->data2 = sub_8077ABC(gBattleAnimPlayerMonIndex, 2); - sprite->data4 = sub_8077ABC(gBattleAnimPlayerMonIndex, 3); + sprite->data2 = sub_8077ABC(gBattleAnimBankAttacker, 2); + sprite->data4 = sub_8077ABC(gBattleAnimBankAttacker, 3); sprite->callback = sub_80782F8; } @@ -643,13 +645,13 @@ void unref_sub_80785CC(struct Sprite *sprite) { void sub_80785E4(struct Sprite *sprite) { if (sprite->affineAnimEnded) { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } void sub_8078600(struct Sprite *sprite) { if (sprite->animEnded) { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -666,19 +668,19 @@ void sub_8078634(u8 task) { } void sub_8078650(struct Sprite *sprite) { - sprite->pos1.x = sub_8077ABC(gBattleAnimPlayerMonIndex, 2); - sprite->pos1.y = sub_8077ABC(gBattleAnimPlayerMonIndex, 3); + sprite->pos1.x = sub_8077ABC(gBattleAnimBankAttacker, 2); + sprite->pos1.y = sub_8077ABC(gBattleAnimBankAttacker, 3); } void sub_807867C(struct Sprite *sprite, s16 a2) { - u16 v1 = sub_8077ABC(gBattleAnimPlayerMonIndex, 0); - u16 v2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 0); + u16 v1 = sub_8077ABC(gBattleAnimBankAttacker, 0); + u16 v2 = sub_8077ABC(gBattleAnimBankTarget, 0); if (v1 > v2) { sprite->pos1.x -= a2; } else if (v1 < v2) { sprite->pos1.x += a2; } else { - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { sprite->pos1.x -= a2; } else { sprite->pos1.x += a2; @@ -712,8 +714,8 @@ void oamt_add_pos2_onto_pos1(struct Sprite *sprite) { void sub_8078764(struct Sprite *sprite, u8 a2) { if (!a2) { - sprite->pos1.x = sub_8077EE4(gBattleAnimEnemyMonIndex, 0); - sprite->pos1.y = sub_8077EE4(gBattleAnimEnemyMonIndex, 1); + sprite->pos1.x = sub_8077EE4(gBattleAnimBankTarget, 0); + sprite->pos1.y = sub_8077EE4(gBattleAnimBankTarget, 1); } sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; @@ -721,11 +723,11 @@ void sub_8078764(struct Sprite *sprite, u8 a2) { void sub_80787B0(struct Sprite *sprite, u8 a2) { if (!a2) { - sprite->pos1.x = sub_8077EE4(gBattleAnimPlayerMonIndex, 0); - sprite->pos1.y = sub_8077EE4(gBattleAnimPlayerMonIndex, 1); + sprite->pos1.x = sub_8077EE4(gBattleAnimBankAttacker, 0); + sprite->pos1.y = sub_8077EE4(gBattleAnimBankAttacker, 1); } else { - sprite->pos1.x = sub_8077EE4(gBattleAnimPlayerMonIndex, 2); - sprite->pos1.y = sub_8077EE4(gBattleAnimPlayerMonIndex, 3); + sprite->pos1.x = sub_8077EE4(gBattleAnimBankAttacker, 2); + sprite->pos1.y = sub_8077EE4(gBattleAnimBankAttacker, 3); } sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; @@ -749,12 +751,12 @@ u8 GetBankByPlayerAI(u8 slot) { return i; } -bool8 sub_8078874(u8 slot) { - if (IsContest()) { - if (gBattleAnimPlayerMonIndex == slot) { +bool8 AnimBankSpriteExists(u8 slot) { + if (NotInBattle()) { + if (gBattleAnimBankAttacker == slot) { return TRUE; } - if (gBattleAnimEnemyMonIndex == slot) { + if (gBattleAnimBankTarget == slot) { return TRUE; } return FALSE; @@ -780,7 +782,7 @@ bool8 IsDoubleBattle() { } void sub_8078914(struct Struct_sub_8078914 *unk) { - if (IsContest()) { + if (NotInBattle()) { unk->field_0 = (u8 *)0x6008000; unk->field_4 = (u8 *)0x600f000; unk->field_8 = 0xe; @@ -792,11 +794,11 @@ void sub_8078914(struct Struct_sub_8078914 *unk) { } void sub_8078954(struct Struct_sub_8078914 *unk) { - if (IsContest()) { + if (NotInBattle()) { unk->field_0 = (u8 *)0x6008000; unk->field_4 = (u8 *)0x600f000; unk->field_8 = 0xe; - } else if (GetBankIdentity_permutated(gBattleAnimPlayerMonIndex) == 1) { + } else if (GetBankIdentity_permutated(gBattleAnimBankAttacker) == 1) { unk->field_0 = (u8 *)0x6004000; unk->field_4 = (u8 *)0x600e000; unk->field_8 = 0x8; @@ -808,7 +810,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) { } u8 sub_80789BC() { - if (IsContest()) { + if (NotInBattle()) { return 1; } return 2; @@ -818,7 +820,7 @@ void sub_80789D4(bool8 a1) { if (!a1) { BG3CNT.size = 0; BG3CNT.overflow = 1; - } else if (IsContest()) { + } else if (NotInBattle()) { BG3CNT.size = 0; BG3CNT.overflow = 1; } else { @@ -906,7 +908,7 @@ bool8 sub_8078B5C(struct Sprite *sprite) { void sub_8078BB8(struct Sprite *sprite) { if (sub_8078B5C(sprite)) { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -986,7 +988,7 @@ bool8 sub_8078CE8(struct Sprite *sprite) { void sub_8078D44(struct Sprite *sprite) { if (sub_8078CE8(sprite)) { - sub_8078104(sprite); + SetCallbackToStoredInData6(sprite); } } @@ -1023,8 +1025,8 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) { } bool8 sub_8078E38() { - if (IsContest()) { - if (gSprites[obj_id_for_side_relative_to_move(0)].data2 == 0xc9 /* XXX SPECIES_UNOWN? */) { + if (NotInBattle()) { + if (gSprites[GetAnimBankSpriteId(0)].data2 == 0xc9 /* XXX SPECIES_UNOWN? */) { return FALSE; } return TRUE; @@ -1035,12 +1037,12 @@ bool8 sub_8078E38() { void sub_8078E70(u8 sprite, u8 a2) { struct Struct_2017810 *unk; u8 r7 = gSprites[sprite].data0; - if (IsContest() || b_side_obj__get_some_boolean(r7)) { + if (NotInBattle() || IsAnimBankSpriteVisible(r7)) { gSprites[sprite].invisible = FALSE; } gSprites[sprite].oam.objMode = a2; gSprites[sprite].affineAnimPaused = TRUE; - if (!IsContest() && !gSprites[sprite].oam.affineMode) { + if (!NotInBattle() && !gSprites[sprite].oam.affineMode) { unk = &unk_2017810[r7]; gSprites[sprite].oam.matrixNum = unk->field_6; } @@ -1096,12 +1098,12 @@ void sub_8079098(struct Sprite *sprite) { CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); } -u16 sub_80790D8(s16 a, s16 b) { +static u16 ArcTan2_(s16 a, s16 b) { return ArcTan2(a, b); } u16 sub_80790F0(s16 a, s16 b) { - u16 var = sub_80790D8(a, b); + u16 var = ArcTan2_(a, b); return -var; } @@ -1133,41 +1135,41 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { u32 var = 0; u32 shift; if (a1) { - if (!IsContest()) { + if (!NotInBattle()) { var = 0xe; } else { var = 1 << sub_80789BC(); } } if (a2) { - shift = gBattleAnimPlayerMonIndex + 16; + shift = gBattleAnimBankAttacker + 16; var |= 1 << shift; } if (a3) { - shift = gBattleAnimEnemyMonIndex + 16; + shift = gBattleAnimBankTarget + 16; var |= 1 << shift; } if (a4) { - if (b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) { - shift = (gBattleAnimPlayerMonIndex ^ 2) + 16; + if (IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) { + shift = (gBattleAnimBankAttacker ^ 2) + 16; var |= 1 << shift; } } if (a5) { - if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) { - shift = (gBattleAnimEnemyMonIndex ^ 2) + 16; + if (IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) { + shift = (gBattleAnimBankTarget ^ 2) + 16; var |= 1 << shift; } } if (a6) { - if (!IsContest()) { + if (!NotInBattle()) { var |= 0x100; } else { var |= 0x4000; } } if (a7) { - if (!IsContest()) { + if (!NotInBattle()) { var |= 0x200; } } @@ -1177,31 +1179,31 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) { u32 var = 0; u32 shift; - if (IsContest()) { + if (NotInBattle()) { if (a1) { var |= 1 << 18; return var; } } else { if (a1) { - if (b_side_obj__get_some_boolean(GetBankByPlayerAI(0))) { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(0))) { var |= 1 << (GetBankByPlayerAI(0) + 16); } } if (a2) { - if (b_side_obj__get_some_boolean(GetBankByPlayerAI(2))) { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(2))) { shift = GetBankByPlayerAI(2) + 16; var |= 1 << shift; } } if (a3) { - if (b_side_obj__get_some_boolean(GetBankByPlayerAI(1))) { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(1))) { shift = GetBankByPlayerAI(1) + 16; var |= 1 << shift; } } if (a4) { - if (b_side_obj__get_some_boolean(GetBankByPlayerAI(3))) { + if (IsAnimBankSpriteVisible(GetBankByPlayerAI(3))) { shift = GetBankByPlayerAI(3) + 16; var |= 1 << shift; } @@ -1252,24 +1254,24 @@ void sub_807941C(struct Sprite *sprite) { v2 = 1; } sub_80787B0(sprite, v1); - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data0 = gBattleAnimArgs[4]; - sprite->data2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2) + gBattleAnimArgs[2]; - sprite->data4 = sub_8077ABC(gBattleAnimEnemyMonIndex, v2) + gBattleAnimArgs[3]; + sprite->data2 = sub_8077ABC(gBattleAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data4 = sub_8077ABC(gBattleAnimBankTarget, v2) + gBattleAnimArgs[3]; sprite->callback = sub_8078B34; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } void sub_80794A8(struct Sprite *sprite) { sub_80787B0(sprite, 1); - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data0 = gBattleAnimArgs[4]; - sprite->data2 = sub_8077ABC(gBattleAnimEnemyMonIndex, 2) + gBattleAnimArgs[2]; - sprite->data4 = sub_8077ABC(gBattleAnimEnemyMonIndex, 3) + gBattleAnimArgs[3]; + sprite->data2 = sub_8077ABC(gBattleAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data4 = sub_8077ABC(gBattleAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->data5 = gBattleAnimArgs[5]; sub_80786EC(sprite); sprite->callback = sub_8079518; @@ -1292,12 +1294,12 @@ void sub_8079534(struct Sprite *sprite) { } if (!gBattleAnimArgs[5]) { sub_80787B0(sprite, r4); - slot = gBattleAnimPlayerMonIndex; + slot = gBattleAnimBankAttacker; } else { sub_8078764(sprite, r4); - slot = gBattleAnimEnemyMonIndex; + slot = gBattleAnimBankTarget; } - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sub_8078764(sprite, r4); @@ -1305,12 +1307,12 @@ void sub_8079534(struct Sprite *sprite) { sprite->data2 = sub_8077ABC(slot, 2) + gBattleAnimArgs[2]; sprite->data4 = sub_8077ABC(slot, r7) + gBattleAnimArgs[3]; sprite->callback = sub_8078B34; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) { u16 i; - u8 sprite = obj_id_for_side_relative_to_move(a1); + u8 sprite = GetAnimBankSpriteId(a1); if (sprite != 0xff) { for (i = 0; i < 0x40; i++) { if (gSprites[i].inUse) { @@ -1380,7 +1382,7 @@ void sub_80796F8(u8 taskId) { } void sub_8079790(u8 task) { - u8 sprite = obj_id_for_side_relative_to_move(gBattleAnimArgs[0]); + u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (sprite == 0xff) { DestroyAnimVisualTask(task); return; @@ -1538,7 +1540,7 @@ u16 sub_8079B10(u8 sprite) { u16 i; for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) { if (gBattleMonSprites[i] == sprite) { - if (IsContest()) { + if (NotInBattle()) { species = unk_2019348.field_0; return gMonBackPicCoords[species].y_offset; } else { @@ -1624,24 +1626,24 @@ void sub_8079CEC(u8 task) { } void unref_sub_8079D20(u8 priority) { - if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex)) { - gSprites[gBattleMonSprites[gBattleAnimEnemyMonIndex]].oam.priority = priority; + if (IsAnimBankSpriteVisible(gBattleAnimBankTarget)) { + gSprites[gBattleMonSprites[gBattleAnimBankTarget]].oam.priority = priority; } - if (b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex)) { - gSprites[gBattleMonSprites[gBattleAnimPlayerMonIndex]].oam.priority = priority; + if (IsAnimBankSpriteVisible(gBattleAnimBankAttacker)) { + gSprites[gBattleMonSprites[gBattleAnimBankAttacker]].oam.priority = priority; } - if (b_side_obj__get_some_boolean(gBattleAnimEnemyMonIndex ^ 2)) { - gSprites[gBattleMonSprites[gBattleAnimEnemyMonIndex ^ 2]].oam.priority = priority; + if (IsAnimBankSpriteVisible(gBattleAnimBankTarget ^ 2)) { + gSprites[gBattleMonSprites[gBattleAnimBankTarget ^ 2]].oam.priority = priority; } - if (b_side_obj__get_some_boolean(gBattleAnimPlayerMonIndex ^ 2)) { - gSprites[gBattleMonSprites[gBattleAnimPlayerMonIndex ^ 2]].oam.priority = priority; + if (IsAnimBankSpriteVisible(gBattleAnimBankAttacker ^ 2)) { + gSprites[gBattleMonSprites[gBattleAnimBankAttacker ^ 2]].oam.priority = priority; } } void sub_8079E24() { int i; for (i = 0; i < gNoOfAllBanks; i++) { - if (b_side_obj__get_some_boolean(i)) { + if (IsAnimBankSpriteVisible(i)) { gSprites[gBattleMonSprites[i]].subpriority = sub_8079E90(i); gSprites[gBattleMonSprites[i]].oam.priority = 2; } @@ -1651,7 +1653,7 @@ void sub_8079E24() { u8 sub_8079E90(u8 slot) { u8 status; u8 ret; - if (IsContest()) { + if (NotInBattle()) { if (slot == 2) { return 30; } else { @@ -1674,7 +1676,7 @@ u8 sub_8079E90(u8 slot) { u8 sub_8079ED4(u8 slot) { u8 status = GetBankIdentity(slot); - if (IsContest()) { + if (NotInBattle()) { return 2; } if (status == 0 || status == 3) { @@ -1686,7 +1688,7 @@ u8 sub_8079ED4(u8 slot) { u8 GetBankIdentity_permutated(u8 slot) { u8 status; - if (!IsContest()) { + if (!NotInBattle()) { status = GetBankIdentity(slot); if (status == 0 || status == 3) { return 2; @@ -1706,7 +1708,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u16 sheet = LoadSpriteSheet(&gUnknown_0837F5E0[a3]); u16 palette = AllocSpritePalette(gSpriteTemplate_837F5B0[a3].paletteTag); if (!isBackpic) { - LoadCompressedPalette(species_and_otid_get_pal(species, a8, a7), (palette * 0x10) + 0x100, 0x20); + LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20); LoadSpecialPokePic( &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, @@ -1719,7 +1721,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, ); } else { LoadCompressedPalette( - species_and_otid_get_pal(species, a8, a7), (palette * 0x10) + 0x100, 0x20); + GetMonSpritePalFromOtIdPersonality(species, a8, a7), (palette * 0x10) + 0x100, 0x20); LoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -1742,7 +1744,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, } else { sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6); } - if (IsContest()) { + if (NotInBattle()) { gSprites[sprite].affineAnims = &gSpriteAffineAnimTable_81E7C18; StartSpriteAffineAnim(&gSprites[sprite], 0); } @@ -1761,7 +1763,7 @@ int sub_807A100(u8 slot, u8 a2) { int ret; const struct MonCoords *coords; struct TransformStatus *transform; - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { species = unk_2019348.field_2; personality = unk_2019348.field_10; @@ -1868,7 +1870,7 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) { } v3 = sub_8077ABC(slot, v1); v4 = sub_8077ABC(slot, v2); - if (IsDoubleBattle() && !IsContest()) { + if (IsDoubleBattle() && !NotInBattle()) { v5 = sub_8077ABC(slot ^ 2, v1); v6 = sub_8077ABC(slot ^ 2, v2); } else { @@ -1892,7 +1894,7 @@ u8 sub_807A4A0(int a1, u8 sprite, int a3) { void sub_807A544(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; sprite->hFlip = TRUE; @@ -1904,12 +1906,12 @@ void sub_807A544(struct Sprite *sprite) { sprite->data1 = gBattleAnimArgs[3]; sprite->data3 = gBattleAnimArgs[4]; sprite->data5 = gBattleAnimArgs[5]; - oamt_set_x3A_32(sprite, move_anim_8074EE0); + StoreSpriteCallbackInData6(sprite, move_anim_8074EE0); sprite->callback = sub_8078504; } void sub_807A5C4(struct Sprite *sprite) { - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] *= -1; } else { @@ -1921,28 +1923,28 @@ void sub_807A5C4(struct Sprite *sprite) { sprite->data3 = gBattleAnimArgs[4]; sprite->data5 = gBattleAnimArgs[5]; StartSpriteAnim(sprite, gBattleAnimArgs[6]); - oamt_set_x3A_32(sprite, move_anim_8074EE0); + StoreSpriteCallbackInData6(sprite, move_anim_8074EE0); sprite->callback = sub_8078504; } void sub_807A63C(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gBattleAnimPlayerMonIndex)) { + if (GetBankSide(gBattleAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; } else { sprite->pos1.x += gBattleAnimArgs[0]; } sprite->pos1.y += gBattleAnimArgs[1]; sprite->callback = sub_8078600; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } void sub_807A69C(u8 taskId) { u16 src; u16 dest; struct Task *task = &gTasks[taskId]; - task->data[0] = obj_id_for_side_relative_to_move(0); - task->data[1] = (GetBankSide(gBattleAnimPlayerMonIndex)) ? -8 : 8; + task->data[0] = GetAnimBankSpriteId(0); + task->data[1] = (GetBankSide(gBattleAnimBankAttacker)) ? -8 : 8; task->data[2] = 0; task->data[3] = 0; gSprites[task->data[0]].pos2.x -= task->data[0]; @@ -1951,7 +1953,7 @@ void sub_807A69C(u8 taskId) { dest = (task->data[4] + 0x10) * 0x10; src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10; - task->data[6] = sub_8079E90(gBattleAnimPlayerMonIndex); + task->data[6] = sub_8079E90(gBattleAnimBankAttacker); if (task->data[6] == 20 || task->data[6] == 40) { task->data[6] = 2; } else { @@ -2012,9 +2014,9 @@ void sub_807A8D4(struct Sprite *sprite) { } void sub_807A908(struct Sprite *sprite) { - sprite->pos1.x = sub_8077ABC(gBattleAnimPlayerMonIndex, 2); - sprite->pos1.y = sub_8077ABC(gBattleAnimPlayerMonIndex, 3); - if (!GetBankSide(gBattleAnimPlayerMonIndex)) { + sprite->pos1.x = sub_8077ABC(gBattleAnimBankAttacker, 2); + sprite->pos1.y = sub_8077ABC(gBattleAnimBankAttacker, 3); + if (!GetBankSide(gBattleAnimBankAttacker)) { sprite->data0 = 5; } else { sprite->data0 = -10; @@ -2041,7 +2043,7 @@ void sub_807A9BC(struct Sprite *sprite) { sprite->data0 = gBattleAnimArgs[2]; sprite->data2 = sprite->pos1.x + gBattleAnimArgs[4]; sprite->data4 = sprite->pos1.y + gBattleAnimArgs[5]; - if (!GetBankSide(gBattleAnimEnemyMonIndex)) { + if (!GetBankSide(gBattleAnimBankTarget)) { x = (u16)gBattleAnimArgs[4] + 30; sprite->pos1.x += x; sprite->pos1.y = gBattleAnimArgs[5] - 20; @@ -2051,5 +2053,5 @@ void sub_807A9BC(struct Sprite *sprite) { sprite->pos1.y = gBattleAnimArgs[5] - 80; } sprite->callback = sub_8078B34; - oamt_set_x3A_32(sprite, move_anim_8072740); + StoreSpriteCallbackInData6(sprite, move_anim_8072740); } diff --git a/src/berry_blender.c b/src/scene/berry_blender.c index 455aabc45..7ffcc5185 100644 --- a/src/berry_blender.c +++ b/src/scene/berry_blender.c @@ -828,7 +828,7 @@ static bool8 sub_804E2EC(void) switch (gBerryBlenderData->field_1) { case 0: - sub_800D238(gUnknown_08E6C100, &ewram[0x10000]); + LZDecompressWram(gUnknown_08E6C100, &ewram[0x10000]); gBerryBlenderData->field_1++; break; case 1: @@ -862,11 +862,11 @@ static bool8 sub_804E2EC(void) } break; case 3: - sub_800D238(gUnknown_08E6C920, &ewram[0x10000]); + LZDecompressWram(gUnknown_08E6C920, &ewram[0x10000]); gBerryBlenderData->field_1++; break; case 4: - sub_800D238(gUnknown_08E6D354, &ewram[0x13000]); + LZDecompressWram(gUnknown_08E6D354, &ewram[0x13000]); gBerryBlenderData->field_1++; break; case 5: diff --git a/src/contest_painting.c b/src/scene/contest_painting.c index 391cbdfaa..3662efdec 100644 --- a/src/contest_painting.c +++ b/src/scene/contest_painting.c @@ -353,7 +353,7 @@ static void sub_8106AC4(u16 species, u8 arg1) void *pal; // Unsure what gUnknown_03005E8C->var0 is supposed to be. - pal = species_and_otid_get_pal(species, gUnknown_03005E8C->var4, gUnknown_03005E8C->var0); + pal = GetMonSpritePalFromOtIdPersonality(species, gUnknown_03005E8C->var4, gUnknown_03005E8C->var0); LZDecompressVram(pal, gUnknown_03005E90); if (arg1 == 1) @@ -402,7 +402,7 @@ static void sub_8106AC4(u16 arg0, u8 arg2) ldr r1, [r0, 0x4]\n\ ldr r2, [r0]\n\ adds r0, r6, 0\n\ - bl species_and_otid_get_pal\n\ + bl GetMonSpritePalFromOtIdPersonality\n\ ldr r1, _08106B2C @ =gUnknown_03005E90\n\ mov r8, r1\n\ ldr r1, [r1]\n\ diff --git a/src/credits.c b/src/scene/credits.c index df70674b6..cf10137c1 100644 --- a/src/credits.c +++ b/src/scene/credits.c @@ -1387,7 +1387,7 @@ static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position) 1 ); - lzPaletteData = species_and_otid_get_pal(species, 0, 0xFFFF); + lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, 0, 0xFFFF); LoadCompressedPalette(lzPaletteData, 0x100 + (position * 16), 0x20); sub_8143648(position, position); @@ -1433,7 +1433,7 @@ static void sub_81458DC(void) for (dexNum = 1, seenTypesCount = 0; dexNum < 386; dexNum++) { - if (GetNationalPokedexFlag(dexNum, 1)) + if (GetSetPokedexFlag(dexNum, 1)) { unk201C000->unk90[seenTypesCount] = dexNum; seenTypesCount++; diff --git a/src/cute_sketch.c b/src/scene/cute_sketch.c index 5317bc334..5317bc334 100644 --- a/src/cute_sketch.c +++ b/src/scene/cute_sketch.c diff --git a/src/egg_hatch.c b/src/scene/egg_hatch.c index 90d1ee039..032dcd284 100644 --- a/src/egg_hatch.c +++ b/src/scene/egg_hatch.c @@ -19,6 +19,7 @@ #include "naming_screen.h" #include "trig.h" #include "rng.h" +#include "trade.h" extern u8 ewram[]; extern struct SpriteTemplate gUnknown_02024E8C; @@ -40,18 +41,15 @@ struct EggHatchData* gEggHatchData; extern const u32 gUnknown_08D00000[]; extern const u32 gUnknown_08D00524[]; -extern const u32 gUnknown_0820CA98[]; -extern const u32 gUnknown_0820F798[]; extern const u16 gUnknown_08D004E0[]; //palette -extern const u16 gUnknown_0820C9F8[]; //palette extern const struct SpriteSheet sUnknown_0820A3B0; extern const struct SpriteSheet sUnknown_0820A3B8; extern const struct SpritePalette sUnknown_0820A3C0; -bool8 GetNationalPokedexFlag(u16 nationalNum, u8 caseID); +bool8 GetSetPokedexFlag(u16 nationalNum, u8 caseID); u8* GetMonNick(struct Pokemon* mon, u8* dst); u8 sav1_map_get_name(void); -const struct CompressedSpritePalette* sub_8040990(struct Pokemon* mon); //gets pokemon palette address +const struct CompressedSpritePalette* GetMonSpritePalStruct(struct Pokemon* mon); //gets pokemon palette address void sub_8080990(void); static void Task_EggHatch(u8 taskID); @@ -289,8 +287,8 @@ static void AddHatchedMonToParty(u8 id) SetMonData(mon, MON_DATA_NICKNAME, name); pokeNum = SpeciesToNationalPokedexNum(pokeNum); - GetNationalPokedexFlag(pokeNum, 2); - GetNationalPokedexFlag(pokeNum, 3); + GetSetPokedexFlag(pokeNum, 2); + GetSetPokedexFlag(pokeNum, 3); GetMonNick(mon, gStringVar1); @@ -419,11 +417,11 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID) u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 pid = GetMonData(mon, MON_DATA_PERSONALITY); HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset,(u32)(&ewram[0]), gUnknown_081FAF4C[2 * a0 + 1], species, pid); - LoadCompressedObjectPalette(sub_8040990(mon)); + LoadCompressedObjectPalette(GetMonSpritePalStruct(mon)); } break; case 1: - GetMonSpriteTemplate_803C56C(sub_8040990(mon)->tag, r5); + GetMonSpriteTemplate_803C56C(GetMonSpritePalStruct(mon)->tag, r5); spriteID = CreateSprite(&gUnknown_02024E8C, 120, 70, 6); gSprites[spriteID].invisible = 1; gSprites[spriteID].callback = SpriteCallbackDummy; @@ -512,7 +510,7 @@ static void CB2_EggHatch_0(void) u32 size; REG_BG2CNT = 0x4C06; - LoadPalette(&gUnknown_0820C9F8, 0x10, 0xA0); + LoadPalette(gUnknown_0820C9F8, 0x10, 0xA0); offsetRead = (u32)(&gUnknown_0820CA98); offsetWrite = (VRAM + 0x4000); diff --git a/src/evolution_graphics.c b/src/scene/evolution_graphics.c index 1fd5bf8fa..1fd5bf8fa 100644 --- a/src/evolution_graphics.c +++ b/src/scene/evolution_graphics.c diff --git a/src/evolution_scene.c b/src/scene/evolution_scene.c index e312b081f..24168dc56 100644 --- a/src/evolution_scene.c +++ b/src/scene/evolution_scene.c @@ -236,7 +236,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, gMonFrontPicCoords[currSpecies].y_offset, (void*)(0x2000000), gUnknown_081FAF4C[1], currSpecies); - pokePal = (void*) sub_80409C8(currSpecies, TiD, PiD); + pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(currSpecies, TiD, PiD); LoadCompressedPalette(*pokePal, 0x110, 0x20); GetMonSpriteTemplate_803C56C(currSpecies, 1); @@ -253,7 +253,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, gMonFrontPicCoords[speciesToEvolve].y_offset, (void*)(0x2000000), gUnknown_081FAF4C[3], speciesToEvolve); - pokePal = (void*) sub_80409C8(speciesToEvolve, TiD, PiD); + pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, TiD, PiD); LoadCompressedPalette(*pokePal, 0x120, 0x20); GetMonSpriteTemplate_803C56C(speciesToEvolve, 3); @@ -333,7 +333,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) gMonFrontPicCoords[postEvoSpecies].y_offset, (void*)(0x2000000), gUnknown_081FAF4C[3], postEvoSpecies); - pokePal = (void*) sub_80409C8(postEvoSpecies, TiD, PiD); + pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, TiD, PiD); LoadCompressedPalette(*pokePal, 0x120, 0x20); GetMonSpriteTemplate_803C56C(postEvoSpecies, 3); @@ -376,13 +376,13 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) break; case 1: SetUpWindowConfig(&gWindowConfig_81E6F84); - InitWindowFromConfig(&gUnknown_03004828->field_4, &gWindowConfig_81E6F84); + InitWindowFromConfig(&gUnknown_03004828->window, &gWindowConfig_81E6F84); gMain.state++; break; case 2: - LoadTextWindowGraphics(&gUnknown_03004828->field_4); - gUnknown_03004828->field_34 = SetTextWindowBaseTileNum(2); - LoadTextWindowGraphics(&gUnknown_03004828->field_4); + LoadTextWindowGraphics(&gUnknown_03004828->window); + gUnknown_03004828->textWindowBaseTileNum = SetTextWindowBaseTileNum(2); + LoadTextWindowGraphics(&gUnknown_03004828->window); MenuZeroFillScreen(); ResetPaletteFade(); gMain.state++; @@ -403,7 +403,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMonFrontPicCoords[postEvoSpecies].y_offset, (void*)(0x2000000), gUnknown_081FAF4C[3], postEvoSpecies); - pokePal = (void*) sub_80409C8(postEvoSpecies, TiD, PiD); + pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(postEvoSpecies, TiD, PiD); LoadCompressedPalette(*pokePal, 0x120, 0x20); gMain.state++; } @@ -453,7 +453,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri gMonFrontPicCoords[speciesToEvolve].y_offset, (void*)(0x2000000), gUnknown_081FAF4C[1], speciesToEvolve); - pokePal = (void*) sub_80409C8(speciesToEvolve, TiD, PiD); + pokePal = (void*) GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, TiD, PiD); LoadCompressedPalette(*pokePal, 0x120, 0x20); GetMonSpriteTemplate_803C56C(speciesToEvolve, 1); @@ -492,7 +492,7 @@ static void CB2_TradeEvolutionSceneUpdate(void) { AnimateSprites(); BuildOamBuffer(); - sub_80035AC(&gUnknown_03004828->field_4); + sub_80035AC(&gUnknown_03004828->window); UpdatePaletteFade(); RunTasks(); } @@ -527,8 +527,8 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) // can't match it otherwise, ehh EvoTable = gEvolutionTable; Evos = EvoTable + preEvoSpecies; - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 2); - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 3); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 3); if (GetMonData(Shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA && GetMonData(Shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE @@ -654,8 +654,8 @@ static void Task_EvolutionScene(u8 taskID) SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies)); CalculateMonStats(mon); EvolutionRenameMon(mon, gTasks[taskID].tPreEvoSpecies, gTasks[taskID].tPostEvoSpecies); - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2); - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3); IncrementGameStat(14); } break; @@ -667,7 +667,7 @@ static void Task_EvolutionScene(u8 taskID) { u8 text[20]; - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); gTasks[taskID].tBits |= TASK_BIT_LEARN_MOVE; gTasks[taskID].tLearnsFirstMove = FALSE; gTasks[taskID].tLearnMoveState = 0; @@ -691,7 +691,7 @@ static void Task_EvolutionScene(u8 taskID) if (!gPaletteFade.active) { if (!(gTasks[taskID].tBits & TASK_BIT_LEARN_MOVE)) - sub_8053E90(); + Overworld_PlaySpecialMapMusic(); if (!gTasks[taskID].tEvoWasStopped) CreateShedinja(gTasks[taskID].tPreEvoSpecies, mon); DestroyTask(taskID); @@ -902,11 +902,11 @@ static void Task_TradeEvolutionScene(u8 taskID) { case 0: StringExpandPlaceholders(gStringVar4, gUnknown_08400C4A); - sub_8002EB0(&gUnknown_03004828->field_4, gStringVar4, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState++; break; case 1: - if (gUnknown_03004828->field_4.state == 0) + if (gUnknown_03004828->window.state == 0) { PlayCry1(gTasks[taskID].tPreEvoSpecies, 0); gTasks[taskID].tState++; @@ -990,19 +990,19 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsCryFinished() && !gPaletteFade.active) { StringExpandPlaceholders(gStringVar4, gUnknown_08400C60); - sub_8002EB0(&gUnknown_03004828->field_4, gStringVar4, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); PlayFanfare(BGM_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies)); CalculateMonStats(mon); EvolutionRenameMon(mon, gTasks[taskID].tPreEvoSpecies, gTasks[taskID].tPostEvoSpecies); - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2); - GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gTasks[taskID].tPostEvoSpecies), 3); IncrementGameStat(14); } break; case 13: - if (gUnknown_03004828->field_4.state == 0 && IsFanfareTaskInactive() == TRUE) + if (gUnknown_03004828->window.state == 0 && IsFanfareTaskInactive() == TRUE) { var = MonTryLearningNewMove(mon, gTasks[taskID].tLearnsFirstMove); if (var != 0 && !gTasks[taskID].tEvoWasStopped) @@ -1024,71 +1024,71 @@ static void Task_TradeEvolutionScene(u8 taskID) else { PlayBGM(BGM_SHINKA); - sub_8002EB0(&gUnknown_03004828->field_4, gOtherText_LinkStandby2, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gOtherText_LinkStandby2, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState++; } } break; case 14: - if (gUnknown_03004828->field_4.state == 0) + if (gUnknown_03004828->window.state == 0) { DestroyTask(taskID); SetMainCallback2(gCB2_AfterEvolution); } break; case 15: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { sub_8024CEC(); PlayFanfare(BGM_FANFA1); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[3]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; } break; case 16: - if (gUnknown_03004828->field_4.state == 0 && IsFanfareTaskInactive() == TRUE && --gTasks[taskID].tLearnsFirstMove == 0) + if (gUnknown_03004828->window.state == 0 && IsFanfareTaskInactive() == TRUE && --gTasks[taskID].tLearnsFirstMove == 0) gTasks[taskID].tState = 13; break; case 17: switch (gTasks[taskID].tLearnMoveState) { case 0: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { sub_8024CEC(); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[4]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } break; case 1: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[5]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } break; case 2: - if (gUnknown_03004828->field_4.state != 0) + if (gUnknown_03004828->window.state != 0) break; if (!IsSEPlaying()) { StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[6]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tData9 = 5; gTasks[taskID].tData10 = 9; gTasks[taskID].tLearnMoveState++; } case 3: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { - DrawTextWindow(&gUnknown_03004828->field_4, 24, 8, 29, 13); + DrawTextWindow(&gUnknown_03004828->window, 24, 8, 29, 13); sEvoCursorPos = 0; - InitWindow(&gUnknown_03004828->field_4, gOtherText_YesNoAndPlayer, gUnknown_03004828->field_34 + 128, 25, 9); - sub_8002F44(&gUnknown_03004828->field_4); + InitWindow(&gUnknown_03004828->window, gOtherText_YesNoAndPlayer, gUnknown_03004828->textWindowBaseTileNum + 128, 25, 9); + sub_8002F44(&gUnknown_03004828->window); sub_814A5C0(0, 0xFFFF, 0xC, 0x2D9F, 0x20); sub_81150D8(); gTasks[taskID].tLearnMoveState++; @@ -1112,10 +1112,10 @@ static void Task_TradeEvolutionScene(u8 taskID) } if (gMain.newKeys & A_BUTTON) { - ZeroFillWindowRect(&gUnknown_03004828->field_4, 0x18, 8, 0x1D, 0xD); + ZeroFillWindowRect(&gUnknown_03004828->window, 0x18, 8, 0x1D, 0xD); DestroyMenuCursor(); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); PlaySE(SE_SELECT); if (sEvoCursorPos != 0) gTasks[taskID].tLearnMoveState = gTasks[taskID].tData10; @@ -1128,10 +1128,10 @@ static void Task_TradeEvolutionScene(u8 taskID) } if (gMain.newKeys & B_BUTTON) { - ZeroFillWindowRect(&gUnknown_03004828->field_4, 0x18, 8, 0x1D, 0xD); + ZeroFillWindowRect(&gUnknown_03004828->window, 0x18, 8, 0x1D, 0xD); DestroyMenuCursor(); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[292]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); PlaySE(SE_SELECT); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData10; } @@ -1157,7 +1157,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsHMMove2(move)) { StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[307]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState = 11; } else @@ -1170,42 +1170,42 @@ static void Task_TradeEvolutionScene(u8 taskID) RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[207]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } } } break; case 7: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[7]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnMoveState++; } break; case 8: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[208]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState = 15; } break; case 9: StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[8]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tData9 = 10; gTasks[taskID].tData10 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 10: StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[9]); - sub_8002EB0(&gUnknown_03004828->field_4, gDisplayedStringBattle, gUnknown_03004828->field_34, 2, 15); + sub_8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState = 13; break; case 11: - if (gUnknown_03004828->field_4.state == 0 && !IsSEPlaying()) + if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) gTasks[taskID].tLearnMoveState = 5; break; } diff --git a/src/hall_of_fame.c b/src/scene/hall_of_fame.c index 10c999ef3..6f7df576b 100644 --- a/src/hall_of_fame.c +++ b/src/scene/hall_of_fame.c @@ -1347,7 +1347,7 @@ static u32 HallOfFame_LoadPokemonPic(u16 species, s16 posX, s16 posY, u16 pokeID LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, 0x2000000, gUnknown_0840B5A0[pokeID], species, pid, 1); - pokePal = species_and_otid_get_pal(species, tid, pid); + pokePal = GetMonSpritePalFromOtIdPersonality(species, tid, pid); LoadCompressedPalette(pokePal, 16 * pokeID + 256, 0x20); sub_8143648(pokeID, pokeID); diff --git a/src/intro.c b/src/scene/intro.c index a43e0356c..a6dd23c92 100644 --- a/src/intro.c +++ b/src/scene/intro.c @@ -768,7 +768,7 @@ const struct SpritePalette gIntro3MiscPal_Table[] = const u32 unusedData = 0x02000000; static void MainCB2_EndIntro(void); -static void Task_IntroLoadPart1Graphics(u8); +void Task_IntroLoadPart1Graphics(u8); static void Task_IntroFadeIn(u8); static void Task_IntroWaterDrops(u8); static void Task_IntroScrollDownAndShowEon(u8); @@ -938,7 +938,7 @@ void CB2_InitCopyrightScreenAfterTitleScreen(void) SetUpCopyrightScreen(); } -static void Task_IntroLoadPart1Graphics(u8 taskId) +void Task_IntroLoadPart1Graphics(u8 taskId) { SetVBlankCallback(NULL); gUnknown_02039318 = Random() & 1; @@ -1785,7 +1785,7 @@ static u16 sub_813CE88(u16 species, s16 x, s16 y, u16 d, u8 front) LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, 0x2000000, gUnknown_0840B5A0[d], species, 0, 1); else LoadSpecialPokePic(&gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, 0x2000000, gUnknown_0840B5A0[d], species, 0, 0); - lzPaletteData = species_and_otid_get_pal(species, 0, 0xFFFF); + lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, 0, 0xFFFF); LoadCompressedPalette(lzPaletteData, 0x100 + d * 0x10, 0x20); sub_8143648(d, d); spriteId = CreateSprite(&gUnknown_02024E8C, x, y, (d + 1) * 4); diff --git a/src/intro_credits_graphics.c b/src/scene/intro_credits_graphics.c index cd0589af8..cd0589af8 100755 --- a/src/intro_credits_graphics.c +++ b/src/scene/intro_credits_graphics.c diff --git a/src/new_game.c b/src/scene/new_game.c index 3f9e9f5a1..b15282960 100644 --- a/src/new_game.c +++ b/src/scene/new_game.c @@ -92,14 +92,14 @@ void sub_8052DA8(void) gSaveBlock1.sbStruct.unkSB1.sb1_2EFC_struct[i] = gUnknown_08216604; } -void sub_8052DE4(void) +void ZeroBattleTowerData(void) { - CpuFill32(0, &gSaveBlock2.filler_A8, sizeof(gSaveBlock2.filler_A8)); + CpuFill32(0, &gSaveBlock2.battleTower, sizeof(gSaveBlock2.battleTower)); } void WarpToTruck(void) { - warp1_set(25, 40, -1, -1, -1); // inside of truck + Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck warp_in(); } @@ -127,7 +127,7 @@ void NewGameInitData(void) ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); ResetPokedex(); - sub_8052DE4(); + ZeroBattleTowerData(); memset(&gSaveBlock1, 0, sizeof(gSaveBlock1)); ClearMailData(); gSaveBlock2.specialSaveWarp = 0; diff --git a/src/title_screen.c b/src/scene/title_screen.c index 2503b0654..2503b0654 100644 --- a/src/title_screen.c +++ b/src/scene/title_screen.c diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c index 323df991a..f98293a90 100644 --- a/src/script_pokemon_util_80C4BF0.c +++ b/src/script_pokemon_util_80C4BF0.c @@ -433,7 +433,7 @@ void ShowContestEntryMonPic(void) gUnknown_081FAF4C[1], species, var1); - palette = sub_80409C8(species, var2, var1); + palette = GetMonSpritePalStructFromOtIdPersonality(species, var2, var1); LoadCompressedObjectPalette(palette); GetMonSpriteTemplate_803C56C(species, 1); gUnknown_02024E8C.paletteTag = palette->tag; @@ -560,8 +560,8 @@ u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 u { case 0: case 1: - GetNationalPokedexFlag(nationalDexNum, 2); - GetNationalPokedexFlag(nationalDexNum, 3); + GetSetPokedexFlag(nationalDexNum, 2); + GetSetPokedexFlag(nationalDexNum, 3); break; } return sentToPc; diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c index f930df8e2..e303d5173 100644 --- a/src/script_pokemon_util_80F99CC.c +++ b/src/script_pokemon_util_80F99CC.c @@ -31,8 +31,8 @@ void sub_80F99CC(void) u8 taskId; ScriptContext2_Enable(); - taskId = CreateTask((void *)sub_80F9A8C, 0xA); - gTasks[taskId].data[0] = 2; + taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA); + gTasks[taskId].data[0] = PARTY_MENU_TYPE_CONTEST; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); } @@ -41,8 +41,8 @@ void sub_80F9A0C(void) u8 taskId; ScriptContext2_Enable(); - taskId = CreateTask((void *)sub_80F9A8C, 0xA); - gTasks[taskId].data[0] = 3; + taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA); + gTasks[taskId].data[0] = PARTY_MENU_TYPE_IN_GAME_TRADE; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); } @@ -51,12 +51,12 @@ void sub_80F9A4C(void) u8 taskId; ScriptContext2_Enable(); - taskId = CreateTask((void *)sub_80F9A8C, 0xA); - gTasks[taskId].data[0] = 7; + taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA); + gTasks[taskId].data[0] = PARTY_MENU_TYPE_MOVE_TUTOR; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); } -void sub_80F9A8C(u8 taskId) +void OpenPartyMenuFromScriptContext(u8 taskId) { if (!gPaletteFade.active) { @@ -66,64 +66,64 @@ void sub_80F9A8C(u8 taskId) } } -bool8 sub_80F9ACC(void) +bool8 SetupContestPartyMenu(void) { - switch (EWRAM_1B000.unk264) + switch (EWRAM_1B000.setupState) { case 0: - if (EWRAM_1B000.unk266 < gPlayerPartyCount) + if (EWRAM_1B000.monIndex < gPlayerPartyCount) { - TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]); - EWRAM_1B000.unk266++; + TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]); + EWRAM_1B000.monIndex++; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } break; case 1: LoadHeldItemIconGraphics(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 2: - CreateHeldItemIcons_806DC34(EWRAM_1B000.unk260); - EWRAM_1B000.unk264++; + CreateHeldItemIcons_806DC34(EWRAM_1B000.menuHandlerTaskId); + EWRAM_1B000.setupState++; break; case 3: - if (sub_806BD58(EWRAM_1B000.unk260, EWRAM_1B000.unk266) != 1) + if (sub_806BD58(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex) != 1) { - EWRAM_1B000.unk266++; + EWRAM_1B000.monIndex++; break; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; break; } case 4: PartyMenuPrintMonsLevelOrStatus(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 5: PrintPartyMenuMonNicknames(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 6: sub_80F9C00(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 7: // the only case that can return true. - if (sub_806B58C(EWRAM_1B000.unk266) != 1) + if (DrawPartyMonBackground(EWRAM_1B000.monIndex) != 1) { - EWRAM_1B000.unk266++; + EWRAM_1B000.monIndex++; break; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264 = 0; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState = 0; return TRUE; } } @@ -151,19 +151,19 @@ void sub_80F9C00(void) } } -void sub_80F9C6C(u8 var) +void HandleSelectPartyMenu(u8 var) { if (!gPaletteFade.active) { - switch (sub_806BD80(var)) + switch (HandleDefaultPartyMenuInput(var)) { - case 1: + case A_BUTTON: PlaySE(SE_SELECT); gUnknown_02038694 = sub_806CA38(var); gSpecialVar_0x8004 = gUnknown_02038694; sub_8123138(var); break; - case 2: + case B_BUTTON: PlaySE(SE_SELECT); gUnknown_02038694 = 0xFF; gSpecialVar_0x8004 = 0xFF; @@ -173,67 +173,66 @@ void sub_80F9C6C(u8 var) } } -bool8 sub_80F9CE8(void) // this is the same function as sub_80F9ACC except case 6 calls a different function. why +bool8 SetupMoveTutorPartyMenu(void) { - switch (EWRAM_1B000.unk264) + switch (EWRAM_1B000.setupState) { case 0: - if (EWRAM_1B000.unk266 < gPlayerPartyCount) + if (EWRAM_1B000.monIndex < gPlayerPartyCount) { - TryCreatePartyMenuMonIcon(EWRAM_1B000.unk260, EWRAM_1B000.unk266, &gPlayerParty[EWRAM_1B000.unk266]); - EWRAM_1B000.unk266++; + TryCreatePartyMenuMonIcon(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex, &gPlayerParty[EWRAM_1B000.monIndex]); + EWRAM_1B000.monIndex++; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } break; case 1: LoadHeldItemIconGraphics(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 2: - CreateHeldItemIcons_806DC34(EWRAM_1B000.unk260); - EWRAM_1B000.unk264++; + CreateHeldItemIcons_806DC34(EWRAM_1B000.menuHandlerTaskId); + EWRAM_1B000.setupState++; break; case 3: - if (sub_806BD58(EWRAM_1B000.unk260, EWRAM_1B000.unk266) != 1) + if (sub_806BD58(EWRAM_1B000.menuHandlerTaskId, EWRAM_1B000.monIndex) != 1) { - EWRAM_1B000.unk266++; - break; + EWRAM_1B000.monIndex++; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264++; - break; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState++; } + break; case 4: PartyMenuPrintMonsLevelOrStatus(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 5: PrintPartyMenuMonNicknames(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 6: sub_80F9E1C(); - EWRAM_1B000.unk264++; + EWRAM_1B000.setupState++; break; case 7: // the only case that can return true. - if (sub_806B58C(EWRAM_1B000.unk266) != 1) + if (DrawPartyMonBackground(EWRAM_1B000.monIndex) != 1) { - EWRAM_1B000.unk266++; - break; + EWRAM_1B000.monIndex++; } else { - EWRAM_1B000.unk266 = 0; - EWRAM_1B000.unk264 = 0; + EWRAM_1B000.monIndex = 0; + EWRAM_1B000.setupState = 0; return TRUE; } } + return FALSE; } @@ -250,19 +249,19 @@ void sub_80F9E1C(void) } } -void sub_80F9E64(u8 var) +void HandleMoveTutorPartyMenu(u8 var) { if (!gPaletteFade.active) { - switch (sub_806BD80(var)) + switch (HandleDefaultPartyMenuInput(var)) { - case 1: + case A_BUTTON: PlaySE(SE_SELECT); gSpecialVar_0x8004 = sub_806CA38(var); gSpecialVar_0x8005 = sub_8040574(&gPlayerParty[gSpecialVar_0x8004]); sub_8123138(var); break; - case 2: + case B_BUTTON: PlaySE(SE_SELECT); gSpecialVar_0x8004 = 0xFF; sub_8123138(var); diff --git a/src/secret_base.c b/src/secret_base.c deleted file mode 100644 index b2cd1f094..000000000 --- a/src/secret_base.c +++ /dev/null @@ -1,1075 +0,0 @@ -#include "global.h" -#include "secret_base.h" -#include "decoration.h" -#include "event_data.h" -#include "field_camera.h" -#include "field_fadetransition.h" -#include "field_player_avatar.h" -#include "field_weather.h" -#include "fieldmap.h" -#include "main.h" -#include "map_constants.h" -#include "map_name_popup.h" -#include "menu.h" -#include "metatile_behavior.h" -#include "palette.h" -#include "pokemon.h" -#include "overworld.h" -#include "script.h" -#include "string_util.h" -#include "strings.h" -#include "task.h" -#include "text.h" -#include "vars.h" - -extern u8 gUnknown_020387DC; -extern u16 gSpecialVar_0x8004; -extern u16 gSpecialVar_0x8005; -extern u16 gSpecialVar_0x8006; -extern u16 gSpecialVar_0x8007; -extern u16 gScriptResult; -extern const struct -{ - u16 unk_083D1358_0; - u16 unk_083D1358_1; -} gUnknown_083D1358[7]; -extern const u8 gUnknown_083D1374[4 * 16]; -extern void *gUnknown_0300485C; -extern const u8 gUnknown_083D13EC[12]; -extern u8 gUnknown_081A2E14[]; - - -void sub_80BB4AC(struct SecretBaseRecord *record) // 080bb4ac -{ - u16 i; - u16 j; - record->sbr_field_0 = 0; - for (i=0; i<7; i++) - record->sbr_field_2[i] = 0xff; - for (i=0; i<4; i++) - record->trainerId[i] = 0x00; - record->sbr_field_e = 0; - record->sbr_field_10 = 0; - record->sbr_field_11 = 0; - record->sbr_field_1_0 = 0; - record->gender = 0; - record->sbr_field_1_5 = 0; - record->sbr_field_1_6 = 0; - for (i=0; i<16; i++) { - record->decorations[i] = 0; - record->decorationPos[i] = 0; - } - for (i=0; i<6; i++) { - for (j=0; j<4; j++) { - record->partyMoves[i * 4 + j] = 0; - } - record->partyPersonality[i] = 0; - record->partyEVs[i] = 0; - record->partySpecies[i] = 0; - record->partyHeldItems[i] = 0; - record->partyLevels[i] = 0; - } -} - -void ResetSecretBase(u8 idx) // 80bb594 -{ - sub_80BB4AC(&(gSaveBlock1.secretBases[idx])); -} - -void ResetSecretBases(void) // 080bb5b4 -{ - u16 i; - for (i=0; i<20; i++) - ResetSecretBase(i); -} - -void sub_80BB5D0(void) // 080bb5d0 -{ - gUnknown_020387DC = gSpecialVar_0x8004; -} - -void sub_80BB5E4(void) // 80bb5e4 -{ - u16 idx; - gScriptResult = 0; - for (idx=0; idx<20; idx++) { - if (gUnknown_020387DC != gSaveBlock1.secretBases[idx].sbr_field_0) - continue; - gScriptResult = 1; - VarSet(VAR_0x4054, idx); - break; - } -} - -void sub_80BB63C(void) // 80bb63c -{ - if (gSaveBlock1.secretBases[0].sbr_field_0) - gScriptResult = 1; - else - gScriptResult = 0; -} - -u8 sub_80BB66C(void) // 80bb66c -{ - s16 x, y; - s16 v0; - GetXYCoordsOneStepInFrontOfPlayer(&x, &y); - v0 = MapGridGetMetatileBehaviorAt(x, y) & 0xFFF; - if (v0 == 0x90 || v0 == 0x91) - return 1; - else if (v0 == 0x92 || v0 == 0x93) - return 2; - else if (v0 == 0x9a || v0 == 0x9b) - return 3; - else if (v0 == 0x94 || v0 == 0x95) - return 4; - else if (v0 == 0x96 || v0 == 0x97 || v0 == 0x9c || v0 == 0x9d) - return 5; - else if (v0 == 0x98 || v0 == 0x99) - return 6; - return 0; -} - -void sub_80BB70C(void) // 80bb70c -{ - gSpecialVar_0x8007 = sub_80BB66C(); -} - -s16 unref_sub_80BB724(u16 *a0, u8 a1) -{ - u16 v2; - for (v2=0; v2<0x200; v2++) { - if ((a0[v2] & 0xFFF) == a1) - return (s16)v2; - } - return -1; -} - -void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3) -{ - s16 x, y; - for (y=0; y<gMapHeader.mapData->height; y++) { - for (x=0; x<gMapHeader.mapData->width; x++) { - if ((gMapHeader.mapData->map[y * gMapHeader.mapData->width + x] & 0x3ff) == arg3) { - *arg1 = x; - *arg2 = y; - return; - } - } - } -} - -void sub_80BB800(void) -{ - s16 x, y; - s16 tile_id; - u16 idx; - GetXYCoordsOneStepInFrontOfPlayer(&x, &y); - tile_id = MapGridGetMetatileIdAt(x, y); - for (idx=0; idx<7; idx++) { - if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) { - MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00); - CurrentMapDrawMetatileAt(x, y); - return; - } - } - for (idx=0; idx<7; idx++) { - if (gUnknown_083D1358[idx].unk_083D1358_1 == tile_id) { - MapGridSetMetatileIdAt(x, y, gUnknown_083D1358[idx].unk_083D1358_0 | 0xc00); - CurrentMapDrawMetatileAt(x, y); - return; - } - } -} - -u8 sub_80BB8A8(u8 *arg1) -{ - u8 idx; - for (idx=0; idx<7; idx++) { - if (arg1[idx] == EOS) - return idx; - } - return 7; -} - -void sub_80BB8CC(void) -{ - u8 nameLength; - u16 idx; - gSaveBlock1.secretBases[0].sbr_field_0 = gUnknown_020387DC; - for (idx=0; idx<4; idx++) { - gSaveBlock1.secretBases[0].trainerId[idx] = gSaveBlock2.playerTrainerId[idx]; - } - VarSet(VAR_0x4054, 0); - nameLength = sub_80BB8A8(gSaveBlock2.playerName); - memset(gSaveBlock1.secretBases[0].sbr_field_2, 0xFF, 7); - StringCopyN(gSaveBlock1.secretBases[0].sbr_field_2, gSaveBlock2.playerName, nameLength); - gSaveBlock1.secretBases[0].gender = gSaveBlock2.playerGender; - VarSet(VAR_SECRET_BASE_MAP, gMapHeader.regionMapSectionId); -} - -void sub_80BB970(struct MapEvents *events) -{ - u16 bgevidx, idx, jdx; - s16 tile_id; - for (bgevidx=0; bgevidx<events->bgEventCount; bgevidx++) { - if (events->bgEvents[bgevidx].kind == 8) { - for (jdx=0; jdx<20; jdx++) { - if (gSaveBlock1.secretBases[jdx].sbr_field_0 == events->bgEvents[bgevidx].bgUnion.secretBaseId) { - tile_id = MapGridGetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7); - for (idx=0; idx<7; idx++) { - if (gUnknown_083D1358[idx].unk_083D1358_0 == tile_id) { - MapGridSetMetatileIdAt(events->bgEvents[bgevidx].x + 7, events->bgEvents[bgevidx].y + 7, gUnknown_083D1358[idx].unk_083D1358_1 | 0xc00); - break; - } - } - break; - } - } - } - } -} - -void sub_80BBA14(void) -{ - s8 idx = 4 * (gUnknown_020387DC / 10); - warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]); -} - -void sub_80BBA48(u8 taskid) -{ - u16 curbaseid; - switch (gTasks[taskid].data[0]) { - case 0: - gTasks[taskid].data[0] = 1; - break; - case 1: - if (!gPaletteFade.active) { - gTasks[taskid].data[0] = 2; - } - break; - case 2: - curbaseid = VarGet(VAR_0x4054); - if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff) - gSaveBlock1.secretBases[curbaseid].sbr_field_10 ++; - sub_80BBA14(); - warp_in(); - gFieldCallback = sub_8080990; - SetMainCallback2(CB2_LoadMap); - DestroyTask(taskid); - break; - } -} - -void sub_80BBAF0(void) -{ - CreateTask(sub_80BBA48, 0); - fade_screen(1, 0); - saved_warp2_set(0, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1); -} - -bool8 sub_80BBB24(void) -{ - if (gMapHeader.mapType == MAP_TYPE_SECRET_BASE && VarGet(VAR_0x4097) == 0) - return FALSE; - return TRUE; -} - -void sub_80BBB50(u8 taskid) -{ - FieldObjectTurn(&(gMapObjects[gPlayerAvatar.mapObjectId]), 2); - if (sub_807D770() == 1) { - EnableBothScriptContexts(); - DestroyTask(taskid); - } -} - -void sub_80BBB90(void) -{ - s16 x, y; - ScriptContext2_Enable(); - HideMapNamePopup(); - sub_80BB764(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0xe20); - CurrentMapDrawMetatileAt(x + 7, y + 7); - pal_fill_black(); - CreateTask(sub_80BBB50, 0); -} - -void sub_80BBBEC(u8 taskid) -{ - s8 idx; - if (!gPaletteFade.active) { - idx = 4 * (gUnknown_020387DC / 10); - warp1_set(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]); - warp_in(); - gFieldCallback = sub_80BBB90; - SetMainCallback2(CB2_LoadMap); - DestroyTask(taskid); - } -} - -void sub_80BBC78(void) -{ - u8 taskid = CreateTask(sub_80BBBEC, 0); - gTasks[taskid].data[0] = 0; - fade_screen(1, 0); -} - -bool8 CurrentMapIsSecretBase(void) -{ - if (gSaveBlock1.location.mapGroup == MAP_GROUP_SECRET_BASE_SHRUB4 && (u8)(gSaveBlock1.location.mapNum) <= MAP_ID_SECRET_BASE_SHRUB4) - return TRUE; - return FALSE; -} - -#ifdef NONMATCHING -void sub_80BBCCC(u8 flagIn) -{ - u16 curBaseId; - u16 x, y; - if (CurrentMapIsSecretBase()) { - curBaseId = VarGet(VAR_0x4054); - for (x=0; x<16; x++) { - if ((u8)(gSaveBlock1.secretBases[curBaseId].decorations[x] - 1) <= 0x77 && gDecorations[gSaveBlock1.secretBases[curBaseId].decorations[x]].decor_field_11 != 4) { - sub_80FF394((gSaveBlock1.secretBases[0].decorationPos[x] >> 4) + 7, (gSaveBlock1.secretBases[0].decorationPos[x] & 0xF) + 7, gSaveBlock1.secretBases[curBaseId].decorations[x]); - } - } - if (curBaseId != 0) { - sub_80BB764(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0xe21); - } else if (flagIn == 1 && VarGet(VAR_0x4089) == 1) { - sub_80BB764(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0xe0a); - } - } -} - -void sub_80BBDD0(void) -{ - u8 *roomdecor; - u8 *roomdecorpos; - u8 ndecor; - u8 decidx; - u8 objid = 0; - u8 metatile; - u16 curBase = VarGet(VAR_0x4054); - if (!CurrentMapIsSecretBase()) { - roomdecor = gSaveBlock1.playerRoomDecor; - roomdecorpos = gSaveBlock1.playerRoomDecorPos; - ndecor = 12; - } else { - roomdecor = gSaveBlock1.secretBases[curBase].decorations; - roomdecorpos = gSaveBlock1.secretBases[curBase].decorationPos; - ndecor = 16; - } - for (decidx=0; decidx<ndecor; decidx++) { - if (roomdecor[decidx] == 0) - continue; - if (gDecorations[roomdecor[decidx]].decor_field_11 != 4) - continue; - for (objid=0; objid<gMapHeader.events->mapObjectCount; objid++) { - if (gMapHeader.events->mapObjects[objid].flagId == gSpecialVar_0x8004 + 0xAE) - break; - } - if (objid != gMapHeader.events->mapObjectCount) { - gSpecialVar_0x8006 = roomdecorpos[decidx] >> 4; - gSpecialVar_0x8007 = roomdecorpos[decidx] & 0xF; - metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); - if (sub_80572D8(metatile) == 1 || sub_80572EC(metatile) == 1) { - gScriptResult = gMapHeader.events->mapObjects[objid].graphicsId + 0x3f20; - VarSet(gScriptResult, gDecorations[roomdecor[decidx]].tiles[0]); - gScriptResult = gMapHeader.events->mapObjects[objid].localId; - FlagClear(gSpecialVar_0x8004 + 0xAE); - show_sprite(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); - sub_805C0F8(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_805C78C(gScriptResult, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); - gSpecialVar_0x8004 ++; - } - } - } -} - -#else -__attribute__((naked)) -void sub_80BBCCC(u8 flagIn) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - sub sp, 0x4\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - bl CurrentMapIsSecretBase\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _080BBDBC\n\ - ldr r0, _080BBD70 @ =0x00004054\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - movs r1, 0\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - ldr r6, _080BBD74 @ =gSaveBlock1\n\ - mov r4, sp\n\ - ldr r0, _080BBD78 @ =0x00001a2a\n\ - adds r7, r6, r0\n\ -_080BBCFC:\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 5\n\ - ldrh r1, [r4]\n\ - adds r2, r0, r1\n\ - ldr r1, _080BBD7C @ =0x00001a1a\n\ - adds r0, r6, r1\n\ - adds r1, r2, r0\n\ - ldrb r0, [r1]\n\ - subs r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x77\n\ - bhi _080BBD3A\n\ - ldr r0, _080BBD80 @ =gDecorations\n\ - ldrb r3, [r1]\n\ - lsls r1, r3, 5\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x11]\n\ - cmp r0, 0x4\n\ - beq _080BBD3A\n\ - adds r0, r2, r7\n\ - ldrb r2, [r0]\n\ - lsrs r0, r2, 4\n\ - adds r0, 0x7\n\ - movs r1, 0xF\n\ - ands r1, r2\n\ - adds r1, 0x7\n\ - adds r2, r3, 0\n\ - bl sub_80FF394\n\ -_080BBD3A:\n\ - ldrh r0, [r4]\n\ - adds r0, 0x1\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - strh r0, [r4]\n\ - cmp r0, 0xF\n\ - bls _080BBCFC\n\ - cmp r5, 0\n\ - beq _080BBD88\n\ - mov r4, sp\n\ - adds r4, 0x2\n\ - movs r2, 0x88\n\ - lsls r2, 2\n\ - mov r0, sp\n\ - adds r1, r4, 0\n\ - bl sub_80BB764\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - adds r0, 0x7\n\ - ldrh r1, [r4]\n\ - adds r1, 0x7\n\ - ldr r2, _080BBD84 @ =0x00000e21\n\ - bl MapGridSetMetatileIdAt\n\ - b _080BBDBC\n\ - .align 2, 0\n\ -_080BBD70: .4byte 0x00004054\n\ -_080BBD74: .4byte gSaveBlock1\n\ -_080BBD78: .4byte 0x00001a2a\n\ -_080BBD7C: .4byte 0x00001a1a\n\ -_080BBD80: .4byte gDecorations\n\ -_080BBD84: .4byte 0x00000e21\n\ -_080BBD88:\n\ - mov r0, r8\n\ - cmp r0, 0x1\n\ - bne _080BBDBC\n\ - ldr r0, _080BBDC8 @ =0x00004089\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - cmp r0, 0x1\n\ - bne _080BBDBC\n\ - mov r4, sp\n\ - adds r4, 0x2\n\ - movs r2, 0x88\n\ - lsls r2, 2\n\ - mov r0, sp\n\ - adds r1, r4, 0\n\ - bl sub_80BB764\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - adds r0, 0x7\n\ - ldrh r1, [r4]\n\ - adds r1, 0x7\n\ - ldr r2, _080BBDCC @ =0x00000e0a\n\ - bl MapGridSetMetatileIdAt\n\ -_080BBDBC:\n\ - add sp, 0x4\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BBDC8: .4byte 0x00004089\n\ -_080BBDCC: .4byte 0x00000e0a\n\ -.syntax divided\n"); -} - -__attribute__((naked)) -void sub_80BBDD0(void) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x14\n\ - ldr r0, _080BBE00 @ =0x00004054\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - bl CurrentMapIsSecretBase\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080BBE08\n\ - ldr r0, _080BBE04 @ =gSaveBlock1 + 0x2688\n\ - str r0, [sp, 0x4]\n\ - adds r0, 0xC\n\ - str r0, [sp, 0x8]\n\ - movs r1, 0xC\n\ - str r1, [sp, 0xC]\n\ - b _080BBE1E\n\ - .align 2, 0\n\ -_080BBE00: .4byte 0x00004054\n\ -_080BBE04: .4byte gSaveBlock1 + 0x2688\n\ -_080BBE08:\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 5\n\ - ldr r0, _080BBF7C @ =gSaveBlock1 + 0x1A1A\n\ - adds r2, r1, r0\n\ - str r2, [sp, 0x4]\n\ - adds r0, 0x10\n\ - adds r1, r0\n\ - str r1, [sp, 0x8]\n\ - movs r3, 0x10\n\ - str r3, [sp, 0xC]\n\ -_080BBE1E:\n\ - movs r6, 0\n\ - ldr r4, [sp, 0xC]\n\ - cmp r6, r4\n\ - bcc _080BBE28\n\ - b _080BBF6C\n\ -_080BBE28:\n\ - ldr r5, _080BBF80 @ =gSaveBlock1\n\ - mov r10, r5\n\ -_080BBE2C:\n\ - ldr r1, [sp, 0x4]\n\ - adds r0, r1, r6\n\ - ldrb r1, [r0]\n\ - mov r9, r0\n\ - adds r2, r6, 0x1\n\ - str r2, [sp, 0x10]\n\ - cmp r1, 0\n\ - bne _080BBE3E\n\ - b _080BBF5E\n\ -_080BBE3E:\n\ - ldrb r0, [r0]\n\ - lsls r0, 5\n\ - ldr r3, _080BBF84 @ =gDecorations\n\ - adds r0, r3\n\ - ldrb r0, [r0, 0x11]\n\ - cmp r0, 0x4\n\ - beq _080BBE4E\n\ - b _080BBF5E\n\ -_080BBE4E:\n\ - movs r5, 0\n\ - ldr r0, _080BBF88 @ =gMapHeader\n\ - ldr r2, [r0, 0x4]\n\ - ldrb r3, [r2]\n\ - mov r8, r0\n\ - cmp r5, r3\n\ - bcs _080BBE8E\n\ - ldr r0, [r2, 0x4]\n\ - ldrh r1, [r0, 0x14]\n\ - ldr r4, _080BBF8C @ =gSpecialVar_0x8004\n\ - ldrh r0, [r4]\n\ - adds r0, 0xAE\n\ - adds r7, r4, 0\n\ - cmp r1, r0\n\ - beq _080BBE8E\n\ - adds r4, r2, 0\n\ - adds r2, r3, 0\n\ -_080BBE70:\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, r2\n\ - bcs _080BBE8E\n\ - ldr r1, [r4, 0x4]\n\ - lsls r0, r5, 1\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldrh r1, [r0, 0x14]\n\ - ldrh r0, [r7]\n\ - adds r0, 0xAE\n\ - cmp r1, r0\n\ - bne _080BBE70\n\ -_080BBE8E:\n\ - mov r1, r8\n\ - ldr r0, [r1, 0x4]\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - beq _080BBF5E\n\ - ldr r7, _080BBF90 @ =gSpecialVar_0x8006\n\ - ldr r2, [sp, 0x8]\n\ - adds r1, r2, r6\n\ - ldrb r0, [r1]\n\ - lsrs r0, 4\n\ - strh r0, [r7]\n\ - ldr r6, _080BBF94 @ =gSpecialVar_0x8007\n\ - ldrb r1, [r1]\n\ - movs r0, 0xF\n\ - ands r0, r1\n\ - strh r0, [r6]\n\ - ldrh r0, [r7]\n\ - adds r0, 0x7\n\ - ldrh r1, [r6]\n\ - adds r1, 0x7\n\ - bl MapGridGetMetatileBehaviorAt\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - adds r0, r4, 0\n\ - bl sub_80572D8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x1\n\ - beq _080BBEDA\n\ - adds r0, r4, 0\n\ - bl sub_80572EC\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x1\n\ - bne _080BBF5E\n\ -_080BBEDA:\n\ - mov r3, r8\n\ - ldr r0, [r3, 0x4]\n\ - ldr r1, [r0, 0x4]\n\ - lsls r4, r5, 1\n\ - adds r4, r5\n\ - lsls r4, 3\n\ - adds r1, r4, r1\n\ - ldr r5, _080BBF98 @ =0x00003f20\n\ - adds r0, r5, 0\n\ - ldrb r1, [r1, 0x1]\n\ - adds r0, r1\n\ - ldr r1, _080BBF9C @ =gScriptResult\n\ - strh r0, [r1]\n\ - ldrh r0, [r1]\n\ - mov r2, r9\n\ - ldrb r1, [r2]\n\ - lsls r1, 5\n\ - ldr r3, _080BBFA0 @ =gDecorations + 0x1C\n\ - adds r1, r3\n\ - ldr r1, [r1]\n\ - ldrh r1, [r1]\n\ - bl VarSet\n\ - mov r5, r8\n\ - ldr r0, [r5, 0x4]\n\ - ldr r0, [r0, 0x4]\n\ - adds r4, r0\n\ - ldrb r0, [r4]\n\ - ldr r1, _080BBF9C @ =gScriptResult\n\ - strh r0, [r1]\n\ - ldr r2, _080BBF8C @ =gSpecialVar_0x8004\n\ - ldrh r0, [r2]\n\ - adds r0, 0xAE\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - bl FlagClear\n\ - ldr r3, _080BBF9C @ =gScriptResult\n\ - ldrb r0, [r3]\n\ - mov r4, r10\n\ - ldrb r1, [r4, 0x5]\n\ - ldrb r2, [r4, 0x4]\n\ - bl show_sprite\n\ - ldr r5, _080BBF9C @ =gScriptResult\n\ - ldrb r0, [r5]\n\ - ldrb r1, [r4, 0x5]\n\ - ldrb r2, [r4, 0x4]\n\ - movs r4, 0\n\ - ldrsh r3, [r7, r4]\n\ - movs r5, 0\n\ - ldrsh r4, [r6, r5]\n\ - str r4, [sp]\n\ - bl sub_805C0F8\n\ - ldr r1, _080BBF9C @ =gScriptResult\n\ - ldrb r0, [r1]\n\ - mov r2, r10\n\ - ldrb r1, [r2, 0x5]\n\ - ldrb r2, [r2, 0x4]\n\ - bl sub_805C78C\n\ - ldr r3, _080BBF8C @ =gSpecialVar_0x8004\n\ - ldrh r0, [r3]\n\ - adds r0, 0x1\n\ - strh r0, [r3]\n\ -_080BBF5E:\n\ - ldr r4, [sp, 0x10]\n\ - lsls r0, r4, 24\n\ - lsrs r6, r0, 24\n\ - ldr r5, [sp, 0xC]\n\ - cmp r6, r5\n\ - bcs _080BBF6C\n\ - b _080BBE2C\n\ -_080BBF6C:\n\ - add sp, 0x14\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BBF7C: .4byte gSaveBlock1 + 0x1A1A\n\ -_080BBF80: .4byte gSaveBlock1\n\ -_080BBF84: .4byte gDecorations\n\ -_080BBF88: .4byte gMapHeader\n\ -_080BBF8C: .4byte gSpecialVar_0x8004\n\ -_080BBF90: .4byte gSpecialVar_0x8006\n\ -_080BBF94: .4byte gSpecialVar_0x8007\n\ -_080BBF98: .4byte 0x00003f20\n\ -_080BBF9C: .4byte gScriptResult\n\ -_080BBFA0: .4byte gDecorations + 0x1C\n\ -.syntax divided\n"); -} -#endif - -void sub_80BBFA4(void) -{ - int curBase = VarGet(VAR_0x4054); - VarSet(VAR_0x401F, gUnknown_083D13EC[sub_80BCCA4(curBase)]); -} - -void sub_80BBFD8(s16 *position, struct MapEvents *events) -{ - s16 bgevtidx; - for (bgevtidx=0; bgevtidx<events->bgEventCount; bgevtidx++) { - if (events->bgEvents[bgevtidx].kind == 8 && position[0] == events->bgEvents[bgevtidx].x + 7 && position[1] == events->bgEvents[bgevtidx].y + 7) { - gUnknown_020387DC = events->bgEvents[bgevtidx].bgUnion.secretBaseId; - break; - } - } -} - -void sub_80BC038(s16 *position, struct MapEvents *events) -{ - sub_80BBFD8(position, events); - sub_80BB5E4(); - ScriptContext1_SetupScript(gUnknown_081A2E14); -} - -bool8 sub_80BC050(void) -{ - sub_80BB5D0(); - sub_80BB5E4(); - if (gScriptResult == 1) - return FALSE; - return TRUE; -} - -void sub_80BC074(u8 taskid) -{ - switch (gTasks[taskid].data[0]) { - case 0: - ScriptContext2_Enable(); - gTasks[taskid].data[0] = 1; - break; - case 1: - if (!gPaletteFade.active) { - gTasks[taskid].data[0] = 2; - } - break; - case 2: - copy_saved_warp2_bank_and_enter_x_to_warp1(0x7E); - warp_in(); - gFieldCallback = mapldr_default; - SetMainCallback2(CB2_LoadMap); - ScriptContext2_Disable(); - DestroyTask(taskid); - break; - } -} - -void sub_80BC0F8(void) { - CreateTask(sub_80BC074, 0); - fade_screen(1, 0); -} - -void sub_80BC114(void) { - if (gSaveBlock1.secretBases[0].sbr_field_0 != gUnknown_020387DC) - gScriptResult = 1; - else - gScriptResult = 0; -} - -u8 sub_80BC14C(u8 sbid) -{ - s16 idx; - for (idx=0; idx<20; idx++) { - if (gSaveBlock1.secretBases[idx].sbr_field_0 == sbid) - return idx; - } - return 0; -} - -u8 *sub_80BC190(u8 *dest, u8 arg1) { // 80bc190 - u8 local1; - u8 *str; - - local1 = sub_80BB8A8(gSaveBlock1.secretBases[arg1].sbr_field_2); - - str = StringCopyN(dest, gSaveBlock1.secretBases[arg1].sbr_field_2, local1); - str[0] = EOS; - -#if ENGLISH - return StringAppend(dest, gOtherText_PlayersBase); -#elif GERMAN - return de_sub_8073174(dest, gOtherText_PlayersBase); -#endif -} - -u8 *GetSecretBaseMapName(u8 *dest) { - gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(VAR_0x4054)].sbr_field_0; - return sub_80BC190(dest, VarGet(VAR_0x4054)); -} - -void sub_80BC224(void) { - u8 *var0 = gSaveBlock1.secretBases[(u8)VarGet(VAR_0x4054)].sbr_field_2; - u8 *var1 = gStringVar1; - u8 var2 = sub_80BB8A8(var0); - u8 *var3 = StringCopyN(var1, var0, var2); - *var3 = EOS; -} - -u8 sub_80BC268(u8 foo) { // 80bc268 - if (gSaveBlock1.secretBases[foo].sbr_field_1_6) - return 1; - return 0; -} - -u8 sub_80BC298(struct Pokemon *mon) { // 80bc298 - u16 evsum = GetMonData(mon, MON_DATA_HP_EV); - evsum += GetMonData(mon, MON_DATA_ATK_EV); - evsum += GetMonData(mon, MON_DATA_DEF_EV); - evsum += GetMonData(mon, MON_DATA_SPD_EV); - evsum += GetMonData(mon, MON_DATA_SPATK_EV); - evsum += GetMonData(mon, MON_DATA_SPDEF_EV); - return (u8)(evsum / 6); -} - -#ifdef NONMATCHING -void sub_80BC300(void) -{ - u16 moveidx; - u16 sbpartyidx = 0; - int resetVal = 0; - u16 partyidx = 0; - while (partyidx < 6) { - partyidx ++; - for (moveidx=0; moveidx<4; moveidx++) { - gSaveBlock1.secretBases[0].partyMoves[(partyidx - 1) * 6 + moveidx] = resetVal; - } - gSaveBlock1.secretBases[0].partySpecies[partyidx - 1] = resetVal; - gSaveBlock1.secretBases[0].partyHeldItems[partyidx - 1] = resetVal; - gSaveBlock1.secretBases[0].partyLevels[partyidx - 1] = resetVal; - gSaveBlock1.secretBases[0].partyPersonality[partyidx - 1] = resetVal; - gSaveBlock1.secretBases[0].partyEVs[partyidx - 1] = resetVal; - if (GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_SPECIES) != 0 && !GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_IS_EGG)) { - sbpartyidx ++; - for (moveidx=0; moveidx<4; moveidx++) { - gSaveBlock1.secretBases[0].partyMoves[(sbpartyidx - 1) * 6 + moveidx] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_MOVE1 + moveidx); - } - gSaveBlock1.secretBases[0].partySpecies[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_SPECIES); - gSaveBlock1.secretBases[0].partyHeldItems[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_HELD_ITEM); - gSaveBlock1.secretBases[0].partyLevels[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_LEVEL); - gSaveBlock1.secretBases[0].partyPersonality[sbpartyidx - 1] = GetMonData(&(gPlayerParty[partyidx - 1]), MON_DATA_PERSONALITY); - gSaveBlock1.secretBases[0].partyEVs[sbpartyidx - 1] = sub_80BC298(&(gPlayerParty[partyidx - 1])); - } - } -} -#else -__attribute__((naked)) -void sub_80BC300(void) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0xC\n\ - movs r0, 0\n\ - mov r10, r0\n\ - movs r6, 0\n\ - mov r9, r6\n\ -_080BC314:\n\ - movs r4, 0\n\ - lsls r3, r6, 2\n\ - lsls r2, r6, 1\n\ - ldr r7, _080BC424 @ =gPlayerParty\n\ - adds r1, r6, 0x1\n\ - str r1, [sp]\n\ - adds r1, r3, 0\n\ -_080BC322:\n\ - adds r0, r1, r4\n\ - lsls r0, 1\n\ - ldr r5, _080BC428 @ =gSaveBlock1 + 0x1A54\n\ - adds r0, r5, r0\n\ - mov r5, r9\n\ - strh r5, [r0]\n\ - adds r0, r4, 0x1\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - cmp r4, 0x3\n\ - bls _080BC322\n\ - ldr r1, _080BC42C @ =gSaveBlock1 + 0x1A84\n\ - adds r0, r1, r2\n\ - strh r5, [r0]\n\ - ldr r5, _080BC430 @ =gSaveBlock1 + 0x1A90\n\ - adds r0, r5, r2\n\ - mov r1, r9\n\ - strh r1, [r0]\n\ - ldr r2, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\ - adds r0, r2, r6\n\ - mov r5, r9\n\ - strb r5, [r0]\n\ - ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\ - adds r0, r1, r3\n\ - mov r2, r9\n\ - str r2, [r0]\n\ - ldr r3, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\ - adds r0, r3, r6\n\ - strb r2, [r0]\n\ - movs r0, 0x64\n\ - adds r5, r6, 0\n\ - muls r5, r0\n\ - adds r4, r5, r7\n\ - adds r0, r4, 0\n\ - movs r1, 0xB\n\ - bl GetMonData\n\ - cmp r0, 0\n\ - beq _080BC408\n\ - adds r0, r4, 0\n\ - movs r1, 0x2D\n\ - bl GetMonData\n\ - cmp r0, 0\n\ - bne _080BC408\n\ - movs r4, 0\n\ - mov r0, r10\n\ - lsls r0, 2\n\ - mov r8, r0\n\ - mov r1, r10\n\ - lsls r7, r1, 1\n\ - adds r1, 0x1\n\ - str r1, [sp, 0x4]\n\ - ldr r2, _080BC424 @ =gPlayerParty\n\ -_080BC38E:\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r5, r2\n\ - str r2, [sp, 0x8]\n\ - bl GetMonData\n\ - mov r3, r8\n\ - adds r1, r3, r4\n\ - lsls r1, 1\n\ - ldr r3, _080BC428 @ =gSaveBlock1 + 0x1A54\n\ - adds r1, r3, r1\n\ - strh r0, [r1]\n\ - adds r0, r4, 0x1\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - ldr r2, [sp, 0x8]\n\ - cmp r4, 0x3\n\ - bls _080BC38E\n\ - movs r0, 0x64\n\ - adds r4, r6, 0\n\ - muls r4, r0\n\ - ldr r0, _080BC424 @ =gPlayerParty\n\ - adds r4, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0xB\n\ - bl GetMonData\n\ - ldr r5, _080BC42C @ =gSaveBlock1 + 0x1A84\n\ - adds r1, r5, r7\n\ - strh r0, [r1]\n\ - adds r0, r4, 0\n\ - movs r1, 0xC\n\ - bl GetMonData\n\ - ldr r2, _080BC430 @ =gSaveBlock1 + 0x1A90\n\ - adds r1, r2, r7\n\ - strh r0, [r1]\n\ - adds r0, r4, 0\n\ - movs r1, 0x38\n\ - bl GetMonData\n\ - ldr r1, _080BC434 @ =gSaveBlock1 + 0x1A9C\n\ - add r1, r10\n\ - strb r0, [r1]\n\ - adds r0, r4, 0\n\ - movs r1, 0\n\ - bl GetMonData\n\ - ldr r1, _080BC438 @ =gSaveBlock1 + 0x1A3C\n\ - add r1, r8\n\ - str r0, [r1]\n\ - adds r0, r4, 0\n\ - bl sub_80BC298\n\ - ldr r1, _080BC43C @ =gSaveBlock1 + 0x1AA2\n\ - add r1, r10\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x4]\n\ - lsls r0, r3, 16\n\ - lsrs r0, 16\n\ - mov r10, r0\n\ -_080BC408:\n\ - ldr r5, [sp]\n\ - lsls r0, r5, 16\n\ - lsrs r6, r0, 16\n\ - cmp r6, 0x5\n\ - bls _080BC314\n\ - add sp, 0xC\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BC424: .4byte gPlayerParty\n\ -_080BC428: .4byte gSaveBlock1 + 0x1A54\n\ -_080BC42C: .4byte gSaveBlock1 + 0x1A84\n\ -_080BC430: .4byte gSaveBlock1 + 0x1A90\n\ -_080BC434: .4byte gSaveBlock1 + 0x1A9C\n\ -_080BC438: .4byte gSaveBlock1 + 0x1A3C\n\ -_080BC43C: .4byte gSaveBlock1 + 0x1AA2\n\ -.syntax divided\n"); -} -#endif - -void sub_80BC440(void) -{ - u16 backupValue = gSaveBlock1.secretBases[0].sbr_field_e; - ResetSecretBase(0); - gSaveBlock1.secretBases[0].sbr_field_e = backupValue; - sub_80BC0F8(); -} - -void SecretBasePC_PackUp(void) -{ - IncrementGameStat(20); - sub_80BC440(); -} diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c deleted file mode 100644 index d97ae6d86..000000000 --- a/src/sound_check_menu.c +++ /dev/null @@ -1,2199 +0,0 @@ -#include "global.h" -#include "sprite.h" -#include "palette.h" -#include "task.h" -#include "m4a.h" -#include "main.h" -#include "text.h" -#include "menu.h" -#include "songs.h" -#include "title_screen.h" -#include "sound.h" -#include "pokedex_cry_screen.h" - -// local task defines -#define WINDOW_SELECTED data[0] -#define BGM_INDEX data[1] -#define SE_INDEX data[2] -#define UNK_DATA3 data[3] -#define UNK_DATA4 data[4] -// data 5-7 are not used -// i dont have a define for data 8 yet because its used in a nonmatching and I can't be sure yet its actually used. - -// window selections -enum -{ - BGM_WINDOW, - SE_WINDOW -}; - -// driver test cry enums -enum -{ - CRY_TEST_UNK0, - CRY_TEST_VOLUME, - CRY_TEST_PANPOT, - CRY_TEST_PITCH, - CRY_TEST_LENGTH, - CRY_TEST_RELEASE, - CRY_TEST_PROGRESS, - CRY_TEST_CHORUS, - CRY_TEST_PRIORITY -}; - -// minmax range enums -enum -{ - MIN, - MAX -}; - -extern struct ToneData voicegroup_84537C0[]; -extern struct ToneData voicegroup_8452590[]; -extern struct ToneData voicegroup_8453DC0[]; -extern struct ToneData voicegroup_8452B90[]; -extern struct ToneData voicegroup_84543C0[]; -extern struct ToneData voicegroup_8453190[]; -extern struct ToneData voicegroup_84549C0[]; -extern struct ToneData voicegroup_8453790[]; - -static EWRAM_DATA u8 gUnknown_020387B0 = 0; -static EWRAM_DATA u8 gUnknown_020387B1 = 0; -static EWRAM_DATA u8 gUnknown_020387B2 = 0; -static EWRAM_DATA s8 gUnknown_020387B3 = 0; -static EWRAM_DATA int gUnknown_020387B4[9] = {0}; -static EWRAM_DATA u8 gUnknown_020387D8 = 0; -static EWRAM_DATA u8 gUnknown_020387D9 = 0; - -extern u16 gUnknown_03005D34; -extern u8 gUnknown_03005E98; - -struct MusicPlayerInfo *gUnknown_03005D30; - -extern struct MusicPlayerInfo gMPlay_BGM; - -void sub_80BA258(u8); -void sub_80BA384(u8); -void sub_80BA65C(u8); -void sub_80BA68C(u8); -void sub_80BA6B8(u8); -void sub_80BA700(u16, u16, u16); -void sub_80BA79C(const u8 *const, u16, u16); -void sub_80BA800(u8); -void sub_80BAA48(u8); -void sub_80BACDC(s8); -void sub_80BAD5C(void); -void sub_80BAE10(u8, u8); -void sub_80BAE78(int, u16, u16, u8); -void sub_80BAF84(u8); -void sub_80BB038(u8); -void sub_80BB1D4(void); -void sub_80BB25C(u8); -void sub_80BB3B4(u8); -void sub_80BB494(void); - -static const u8 gDebugText_SoundCheckJap[] = _("サウンドチェック"); -static const u8 gDebugText_BGM[] = _("BGM"); -static const u8 gDebugText_SE[] = _("SE "); -static const u8 gDebugText_ABDesc[] = _("A‥さいせい B‥おわり"); -static const u8 gDebugText_UpDown[] = _("L‥UP R‥DOWN"); -static const u8 gDebugText_DriverTest[] = _("R‥DRIVER-TEST"); - -// ideally this should be a multi Coords8 struct, but it wont match when its treated like a struct. -static const u8 gUnknown_083D0300[] = { 1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17 }; - -static const u8 gDebugText_BBack[] = _("Bぼたんで もどる"); -static const u8 gDebugText_APlay[] = _("Aぼたんで さいせい"); -static const u8 gDebugText_Voice[] = _("VOICE‥‥‥‥"); -static const u8 gDebugText_Volume[] = _("VOLUME‥‥‥"); -static const u8 gDebugText_Panpot[] = _("PANPOT‥‥‥"); -static const u8 gDebugText_Pitch[] = _("PITCH‥‥‥‥"); -static const u8 gDebugText_Length[] = _("LENGTH‥‥‥"); -static const u8 gDebugText_Release[] = _("RELEASE‥‥"); -static const u8 gDebugText_Progress[] = _("PROGRESS‥"); -static const u8 gDebugText_Chorus[] = _("CHORUS‥‥‥"); -static const u8 gDebugText_Priority[] = _("PRIORITY‥"); -static const u8 gDebugText_Playing[] = _("さいせいちゆう‥"); // 再生中 (playing) -static const u8 gDebugText_Reverse[] = _("はんてん‥‥‥‥"); // 反転 (reverse) -static const u8 gDebugText_Stereo[] = _("すてれお‥‥‥‥"); // stereo - -// also ideally should be a MinMax struct, but any attempt to make this into a struct causes it to not match due to the weird multi dim access. -static const int gUnknown_083D039C[16] = -{ - 0, 387, - 0, 127, - -127, 127, - -128, 32639, - 0, 65535, - 0, 255, - 0, 65535, - -64, 63 -}; - -static const u8 gUnknown_083D03DC[] = _("▶"); -static const u8 gUnknown_083D03DE[] = _(" "); - -// why not just use Powers of ten from string_util? -static const int gUnknown_083D03E0[6] = -{ - 1, - 10, - 100, - 1000, - 10000, - 100000 -}; - -static const s8 gUnknown_083D03F8[5] = { 0x3F, 0x00, 0xC0, 0x7F, 0x80 }; - -static const u8 gOtherText_SE[] = _("SE"); -static const u8 gOtherText_Pan[] = _("PAN"); -static const u8 gOtherText_LR[] = _(" LR"); -static const u8 gOtherText_RL[] = _(" RL"); - -// bgm names -static const u8 BGMName_STOP[] = _("STOP"); -static const u8 BGMName_TETSUJI[] = _("TETSUJI"); -static const u8 BGMName_FIELD13[] = _("FIELD13"); -static const u8 BGMName_KACHI22[] = _("KACHI22"); -static const u8 BGMName_KACHI2[] = _("KACHI2"); -static const u8 BGMName_KACHI3[] = _("KACHI3"); -static const u8 BGMName_KACHI5[] = _("KACHI5"); -static const u8 BGMName_PCC[] = _("PCC"); -static const u8 BGMName_NIBI[] = _("NIBI"); -static const u8 BGMName_SUIKUN[] = _("SUIKUN"); -static const u8 BGMName_DOORO1[] = _("DOORO1"); -static const u8 BGMName_DOORO_X1[] = _("DOORO-X1"); -static const u8 BGMName_DOORO_X3[] = _("DOORO-X3"); -static const u8 BGMName_MACHI_S2[] = _("MACHI-S2"); -static const u8 BGMName_MACHI_S4[] = _("MACHI-S4"); -static const u8 BGMName_GIM[] = _("GIM"); -static const u8 BGMName_NAMINORI[] = _("NAMINORI"); -static const u8 BGMName_DAN01[] = _("DAN01"); -static const u8 BGMName_FANFA1[] = _("FANFA1"); -static const u8 BGMName_ME_ASA[] = _("ME-ASA"); -static const u8 BGMName_ME_BACHI[] = _("ME-BACHI"); -static const u8 BGMName_FANFA4[] = _("FANFA4"); -static const u8 BGMName_FANFA5[] = _("FANFA5"); -static const u8 BGMName_ME_WAZA[] = _("ME-WAZA"); -static const u8 BGMName_BIJYUTU[] = _("BIJYUTU"); -static const u8 BGMName_DOORO_X4[] = _("DOORO-X4"); -static const u8 BGMName_FUNE_KAN[] = _("FUNE-KAN"); -static const u8 BGMName_ME_SHINKA[] = _("ME-SHINKA"); -static const u8 BGMName_SHINKA[] = _("SHINKA"); -static const u8 BGMName_ME_WASURE[] = _("ME-WASURE"); -static const u8 BGMName_SYOUJOEYE[] = _("SYOUJOEYE"); -static const u8 BGMName_BOYEYE[] = _("BOYEYE"); -static const u8 BGMName_DAN02[] = _("DAN02"); -static const u8 BGMName_MACHI_S3[] = _("MACHI-S3"); -static const u8 BGMName_ODAMAKI[] = _("ODAMAKI"); -static const u8 BGMName_B_TOWER[] = _("B-TOWER"); -static const u8 BGMName_SWIMEYE[] = _("SWIMEYE"); -static const u8 BGMName_DAN03[] = _("DAN03"); -static const u8 BGMName_ME_KINOMI[] = _("ME-KINOMI"); -static const u8 BGMName_ME_TAMA[] = _("ME-TAMA"); -static const u8 BGMName_ME_B_BIG[] = _("ME-B-BIG"); -static const u8 BGMName_ME_B_SMALL[] = _("ME-B-SMALL"); -static const u8 BGMName_ME_ZANNEN[] = _("ME-ZANNEN"); -static const u8 BGMName_BD_TIME[] = _("BD-TIME"); -static const u8 BGMName_TEST1[] = _("TEST1"); -static const u8 BGMName_TEST2[] = _("TEST2"); -static const u8 BGMName_TEST3[] = _("TEST3"); -static const u8 BGMName_TEST4[] = _("TEST4"); -static const u8 BGMName_TEST[] = _("TEST"); -static const u8 BGMName_GOMACHI0[] = _("GOMACHI0"); -static const u8 BGMName_GOTOWN[] = _("GOTOWN"); -static const u8 BGMName_POKECEN[] = _("POKECEN"); -static const u8 BGMName_NEXTROAD[] = _("NEXTROAD"); -static const u8 BGMName_GRANROAD[] = _("GRANROAD"); -static const u8 BGMName_CYCLING[] = _("CYCLING"); -static const u8 BGMName_FRIENDLY[] = _("FRIENDLY"); -static const u8 BGMName_MISHIRO[] = _("MISHIRO"); -static const u8 BGMName_TOZAN[] = _("TOZAN"); -static const u8 BGMName_GIRLEYE[] = _("GIRLEYE"); -static const u8 BGMName_MINAMO[] = _("MINAMO"); -static const u8 BGMName_ASHROAD[] = _("ASHROAD"); -static const u8 BGMName_EVENT0[] = _("EVENT0"); -static const u8 BGMName_DEEPDEEP[] = _("DEEPDEEP"); -static const u8 BGMName_KACHI1[] = _("KACHI1"); -static const u8 BGMName_TITLE3[] = _("TITLE3"); -static const u8 BGMName_DEMO1[] = _("DEMO1"); -static const u8 BGMName_GIRL_SUP[] = _("GIRL-SUP"); -static const u8 BGMName_HAGESHII[] = _("HAGESHII"); -static const u8 BGMName_KAKKOII[] = _("KAKKOII"); -static const u8 BGMName_KAZANBAI[] = _("KAZANBAI"); -static const u8 BGMName_AQA_0[] = _("AQA-0"); -static const u8 BGMName_TSURETEK[] = _("TSURETEK"); -static const u8 BGMName_BOY_SUP[] = _("BOY-SUP"); -static const u8 BGMName_RAINBOW[] = _("RAINBOW"); -static const u8 BGMName_AYASII[] = _("AYASII"); -static const u8 BGMName_KACHI4[] = _("KACHI4"); -static const u8 BGMName_ROPEWAY[] = _("ROPEWAY"); -static const u8 BGMName_CASINO[] = _("CASINO"); -static const u8 BGMName_HIGHTOWN[] = _("HIGHTOWN"); -static const u8 BGMName_SAFARI[] = _("SAFARI"); -static const u8 BGMName_C_ROAD[] = _("C-ROAD"); -static const u8 BGMName_AJITO[] = _("AJITO"); -static const u8 BGMName_M_BOAT[] = _("M-BOAT"); -static const u8 BGMName_M_DUNGON[] = _("M-DUNGON"); -static const u8 BGMName_FINECITY[] = _("FINECITY"); -static const u8 BGMName_MACHUPI[] = _("MACHUPI"); -static const u8 BGMName_P_SCHOOL[] = _("P-SCHOOL"); -static const u8 BGMName_DENDOU[] = _("DENDOU"); -static const u8 BGMName_TONEKUSA[] = _("TONEKUSA"); -static const u8 BGMName_MABOROSI[] = _("MABOROSI"); -static const u8 BGMName_CON_FAN[] = _("CON-FAN"); -static const u8 BGMName_CONTEST0[] = _("CONTEST0"); -static const u8 BGMName_MGM0[] = _("MGM0"); -static const u8 BGMName_T_BATTLE[] = _("T-BATTLE"); -static const u8 BGMName_OOAME[] = _("OOAME"); -static const u8 BGMName_HIDERI[] = _("HIDERI"); -static const u8 BGMName_RUNECITY[] = _("RUNECITY"); -static const u8 BGMName_CON_K[] = _("CON-K"); -static const u8 BGMName_EIKOU_R[] = _("EIKOU-R"); -static const u8 BGMName_KARAKURI[] = _("KARAKURI"); -static const u8 BGMName_HUTAGO[] = _("HUTAGO"); -static const u8 BGMName_SITENNOU[] = _("SITENNOU"); -static const u8 BGMName_YAMA_EYE[] = _("YAMA-EYE"); -static const u8 BGMName_CONLOBBY[] = _("CONLOBBY"); -static const u8 BGMName_INTER_V[] = _("INTER-V"); -static const u8 BGMName_DAIGO[] = _("DAIGO"); -static const u8 BGMName_THANKFOR[] = _("THANKFOR"); -static const u8 BGMName_END[] = _("END"); -static const u8 BGMName_BATTLE27[] = _("BATTLE27"); -static const u8 BGMName_BATTLE31[] = _("BATTLE31"); -static const u8 BGMName_BATTLE20[] = _("BATTLE20"); -static const u8 BGMName_BATTLE32[] = _("BATTLE32"); -static const u8 BGMName_BATTLE33[] = _("BATTLE33"); -static const u8 BGMName_BATTLE36[] = _("BATTLE36"); -static const u8 BGMName_BATTLE34[] = _("BATTLE34"); -static const u8 BGMName_BATTLE35[] = _("BATTLE35"); -static const u8 BGMName_BATTLE38[] = _("BATTLE38"); -static const u8 BGMName_BATTLE30[] = _("BATTLE30"); - -static const u8 *const gBGMNames[] = -{ - BGMName_STOP, - BGMName_TETSUJI, - BGMName_FIELD13, - BGMName_KACHI22, - BGMName_KACHI2, - BGMName_KACHI3, - BGMName_KACHI5, - BGMName_PCC, - BGMName_NIBI, - BGMName_SUIKUN, - BGMName_DOORO1, - BGMName_DOORO_X1, - BGMName_DOORO_X3, - BGMName_MACHI_S2, - BGMName_MACHI_S4, - BGMName_GIM, - BGMName_NAMINORI, - BGMName_DAN01, - BGMName_FANFA1, - BGMName_ME_ASA, - BGMName_ME_BACHI, - BGMName_FANFA4, - BGMName_FANFA5, - BGMName_ME_WAZA, - BGMName_BIJYUTU, - BGMName_DOORO_X4, - BGMName_FUNE_KAN, - BGMName_ME_SHINKA, - BGMName_SHINKA, - BGMName_ME_WASURE, - BGMName_SYOUJOEYE, - BGMName_BOYEYE, - BGMName_DAN02, - BGMName_MACHI_S3, - BGMName_ODAMAKI, - BGMName_B_TOWER, - BGMName_SWIMEYE, - BGMName_DAN03, - BGMName_ME_KINOMI, - BGMName_ME_TAMA, - BGMName_ME_B_BIG, - BGMName_ME_B_SMALL, - BGMName_ME_ZANNEN, - BGMName_BD_TIME, - BGMName_TEST1, - BGMName_TEST2, - BGMName_TEST3, - BGMName_TEST4, - BGMName_TEST, - BGMName_GOMACHI0, - BGMName_GOTOWN, - BGMName_POKECEN, - BGMName_NEXTROAD, - BGMName_GRANROAD, - BGMName_CYCLING, - BGMName_FRIENDLY, - BGMName_MISHIRO, - BGMName_TOZAN, - BGMName_GIRLEYE, - BGMName_MINAMO, - BGMName_ASHROAD, - BGMName_EVENT0, - BGMName_DEEPDEEP, - BGMName_KACHI1, - BGMName_TITLE3, - BGMName_DEMO1, - BGMName_GIRL_SUP, - BGMName_HAGESHII, - BGMName_KAKKOII, - BGMName_KAZANBAI, - BGMName_AQA_0, - BGMName_TSURETEK, - BGMName_BOY_SUP, - BGMName_RAINBOW, - BGMName_AYASII, - BGMName_KACHI4, - BGMName_ROPEWAY, - BGMName_CASINO, - BGMName_HIGHTOWN, - BGMName_SAFARI, - BGMName_C_ROAD, - BGMName_AJITO, - BGMName_M_BOAT, - BGMName_M_DUNGON, - BGMName_FINECITY, - BGMName_MACHUPI, - BGMName_P_SCHOOL, - BGMName_DENDOU, - BGMName_TONEKUSA, - BGMName_MABOROSI, - BGMName_CON_FAN, - BGMName_CONTEST0, - BGMName_MGM0, - BGMName_T_BATTLE, - BGMName_OOAME, - BGMName_HIDERI, - BGMName_RUNECITY, - BGMName_CON_K, - BGMName_EIKOU_R, - BGMName_KARAKURI, - BGMName_HUTAGO, - BGMName_SITENNOU, - BGMName_YAMA_EYE, - BGMName_CONLOBBY, - BGMName_INTER_V, - BGMName_DAIGO, - BGMName_THANKFOR, - BGMName_END, - BGMName_BATTLE27, - BGMName_BATTLE31, - BGMName_BATTLE20, - BGMName_BATTLE32, - BGMName_BATTLE33, - BGMName_BATTLE36, - BGMName_BATTLE34, - BGMName_BATTLE35, - BGMName_BATTLE38, - BGMName_BATTLE30 -}; - -// SE names -static const u8 SEName_STOP[] = _("STOP"); -static const u8 SEName_KAIFUKU[] = _("KAIFUKU"); -static const u8 SEName_PC_LOGON[] = _("PC-LOGON"); -static const u8 SEName_PC_OFF[] = _("PC-OFF"); -static const u8 SEName_PC_ON[] = _("PC-ON"); -static const u8 SEName_SELECT[] = _("SELECT"); -static const u8 SEName_WIN_OPEN[] = _("WIN-OPEN"); -static const u8 SEName_WALL_HIT[] = _("WALL-HIT"); -static const u8 SEName_DOOR[] = _("DOOR"); -static const u8 SEName_KAIDAN[] = _("KAIDAN"); -static const u8 SEName_DANSA[] = _("DANSA"); -static const u8 SEName_JITENSYA[] = _("JITENSYA"); -static const u8 SEName_KOUKA_L[] = _("KOUKA-L"); -static const u8 SEName_KOUKA_M[] = _("KOUKA-M"); -static const u8 SEName_KOUKA_H[] = _("KOUKA-H"); -static const u8 SEName_BOWA2[] = _("BOWA2"); -static const u8 SEName_POKE_DEAD[] = _("POKE-DEAD"); -static const u8 SEName_NIGERU[] = _("NIGERU"); -static const u8 SEName_JIDO_DOA[] = _("JIDO-DOA"); -static const u8 SEName_NAMINORI[] = _("NAMINORI"); -static const u8 SEName_BAN[] = _("BAN"); -static const u8 SEName_PIN[] = _("PIN"); -static const u8 SEName_BOO[] = _("BOO"); -static const u8 SEName_BOWA[] = _("BOWA"); -static const u8 SEName_JYUNI[] = _("JYUNI"); -static const u8 SEName_A[] = _("A"); -static const u8 SEName_I[] = _("I"); -static const u8 SEName_U[] = _("U"); -static const u8 SEName_E[] = _("E"); -static const u8 SEName_O[] = _("O"); -static const u8 SEName_N[] = _("N"); -static const u8 SEName_SEIKAI[] = _("SEIKAI"); -static const u8 SEName_HAZURE[] = _("HAZURE"); -static const u8 SEName_EXP[] = _("EXP"); -static const u8 SEName_JITE_PYOKO[] = _("JITE-PYOKO"); -static const u8 SEName_MU_PACHI[] = _("MU-PACHI"); -static const u8 SEName_TK_KASYA[] = _("TK-KASYA"); -static const u8 SEName_FU_ZAKU[] = _("FU-ZAKU"); -static const u8 SEName_FU_ZAKU2[] = _("FU-ZAKU2"); -static const u8 SEName_FU_ZUZUZU[] = _("FU-ZUZUZU"); -static const u8 SEName_RU_GASHIN[] = _("RU-GASHIN"); -static const u8 SEName_RU_GASYAN[] = _("RU-GASYAN"); -static const u8 SEName_RU_BARI[] = _("RU-BARI"); -static const u8 SEName_RU_HYUU[] = _("RU-HYUU"); -static const u8 SEName_KI_GASYAN[] = _("KI-GASYAN"); -static const u8 SEName_TK_WARPIN[] = _("TK-WARPIN"); -static const u8 SEName_TK_WARPOUT[] = _("TK-WARPOUT"); -static const u8 SEName_TU_SAA[] = _("TU-SAA"); -static const u8 SEName_HI_TURUN[] = _("HI-TURUN"); -static const u8 SEName_TRACK_MOVE[] = _("TRACK-MOVE"); -static const u8 SEName_TRACK_STOP[] = _("TRACK-STOP"); -static const u8 SEName_TRACK_HAIK[] = _("TRACK-HAIK"); -static const u8 SEName_TRACK_DOOR[] = _("TRACK-DOOR"); -static const u8 SEName_MOTER[] = _("MOTER"); -static const u8 SEName_CARD[] = _("CARD"); -static const u8 SEName_SAVE[] = _("SAVE"); -static const u8 SEName_KON[] = _("KON"); -static const u8 SEName_KON2[] = _("KON2"); -static const u8 SEName_KON3[] = _("KON3"); -static const u8 SEName_KON4[] = _("KON4"); -static const u8 SEName_SUIKOMU[] = _("SUIKOMU"); -static const u8 SEName_NAGERU[] = _("NAGERU"); -static const u8 SEName_TOY_C[] = _("TOY-C"); -static const u8 SEName_TOY_D[] = _("TOY-D"); -static const u8 SEName_TOY_E[] = _("TOY-E"); -static const u8 SEName_TOY_F[] = _("TOY-F"); -static const u8 SEName_TOY_G[] = _("TOY-G"); -static const u8 SEName_TOY_A[] = _("TOY-A"); -static const u8 SEName_TOY_B[] = _("TOY-B"); -static const u8 SEName_TOY_C1[] = _("TOY-C1"); -static const u8 SEName_MIZU[] = _("MIZU"); -static const u8 SEName_HASHI[] = _("HASHI"); -static const u8 SEName_DAUGI[] = _("DAUGI"); -static const u8 SEName_PINPON[] = _("PINPON"); -static const u8 SEName_FUUSEN1[] = _("FUUSEN1"); -static const u8 SEName_FUUSEN2[] = _("FUUSEN2"); -static const u8 SEName_FUUSEN3[] = _("FUUSEN3"); -static const u8 SEName_TOY_KABE[] = _("TOY-KABE"); -static const u8 SEName_TOY_DANGO[] = _("TOY-DANGO"); -static const u8 SEName_DOKU[] = _("DOKU"); -static const u8 SEName_ESUKA[] = _("ESUKA"); -static const u8 SEName_T_AME[] = _("T-AME"); -static const u8 SEName_T_AME_E[] = _("T-AME-E"); -static const u8 SEName_T_OOAME[] = _("T-OOAME"); -static const u8 SEName_T_OOAME_E[] = _("T-OOAME-E"); -static const u8 SEName_T_KOAME[] = _("T-KOAME"); -static const u8 SEName_T_KOAME_E[] = _("T-KOAME-E"); -static const u8 SEName_T_KAMI[] = _("T-KAMI"); -static const u8 SEName_T_KAMI2[] = _("T-KAMI2"); -static const u8 SEName_ELEBETA[] = _("ELEBETA"); -static const u8 SEName_HINSI[] = _("HINSI"); -static const u8 SEName_EXPMAX[] = _("EXPMAX"); -static const u8 SEName_TAMAKORO[] = _("TAMAKORO"); -static const u8 SEName_TAMAKORO_E[] = _("TAMAKORO-E"); -static const u8 SEName_BASABASA[] = _("BASABASA"); -static const u8 SEName_REGI[] = _("REGI"); -static const u8 SEName_C_GAJI[] = _("C-GAJI"); -static const u8 SEName_C_MAKU_U[] = _("C-MAKU-U"); -static const u8 SEName_C_MAKU_D[] = _("C-MAKU-D"); -static const u8 SEName_C_PASI[] = _("C-PASI"); -static const u8 SEName_C_SYU[] = _("C-SYU"); -static const u8 SEName_C_PIKON[] = _("C-PIKON"); -static const u8 SEName_REAPOKE[] = _("REAPOKE"); -static const u8 SEName_OP_BASYU[] = _("OP-BASYU"); -static const u8 SEName_BT_START[] = _("BT-START"); -static const u8 SEName_DENDOU[] = _("DENDOU"); -static const u8 SEName_JIHANKI[] = _("JIHANKI"); -static const u8 SEName_TAMA[] = _("TAMA"); -static const u8 SEName_Z_SCROLL[] = _("Z-SCROLL"); -static const u8 SEName_Z_PAGE[] = _("Z-PAGE"); -static const u8 SEName_PN_ON[] = _("PN-ON"); -static const u8 SEName_PN_OFF[] = _("PN-OFF"); -static const u8 SEName_Z_SEARCH[] = _("Z-SEARCH"); -static const u8 SEName_TAMAGO[] = _("TAMAGO"); -static const u8 SEName_TB_START[] = _("TB-START"); -static const u8 SEName_TB_KON[] = _("TB-KON"); -static const u8 SEName_TB_KARA[] = _("TB-KARA"); -static const u8 SEName_BIDORO[] = _("BIDORO"); -static const u8 SEName_W085[] = _("W085"); -static const u8 SEName_W085B[] = _("W085B"); -static const u8 SEName_W231[] = _("W231"); -static const u8 SEName_W171[] = _("W171"); -static const u8 SEName_W233[] = _("W233"); -static const u8 SEName_W233B[] = _("W233B"); -static const u8 SEName_W145[] = _("W145"); -static const u8 SEName_W145B[] = _("W145B"); -static const u8 SEName_W145C[] = _("W145C"); -static const u8 SEName_W240[] = _("W240"); -static const u8 SEName_W015[] = _("W015"); -static const u8 SEName_W081[] = _("W081"); -static const u8 SEName_W081B[] = _("W081B"); -static const u8 SEName_W088[] = _("W088"); -static const u8 SEName_W016[] = _("W016"); -static const u8 SEName_W016B[] = _("W016B"); -static const u8 SEName_W003[] = _("W003"); -static const u8 SEName_W104[] = _("W104"); -static const u8 SEName_W013[] = _("W013"); -static const u8 SEName_W196[] = _("W196"); -static const u8 SEName_W086[] = _("W086"); -static const u8 SEName_W004[] = _("W004"); -static const u8 SEName_W025[] = _("W025"); -static const u8 SEName_W025B[] = _("W025B"); -static const u8 SEName_W152[] = _("W152"); -static const u8 SEName_W026[] = _("W026"); -static const u8 SEName_W172[] = _("W172"); -static const u8 SEName_W172B[] = _("W172B"); -static const u8 SEName_W053[] = _("W053"); -static const u8 SEName_W007[] = _("W007"); -static const u8 SEName_W092[] = _("W092"); -static const u8 SEName_W221[] = _("W221"); -static const u8 SEName_W221B[] = _("W221B"); -static const u8 SEName_W052[] = _("W052"); -static const u8 SEName_W036[] = _("W036"); -static const u8 SEName_W059[] = _("W059"); -static const u8 SEName_W059B[] = _("W059B"); -static const u8 SEName_W010[] = _("W010"); -static const u8 SEName_W011[] = _("W011"); -static const u8 SEName_W017[] = _("W017"); -static const u8 SEName_W019[] = _("W019"); -static const u8 SEName_W028[] = _("W028"); -static const u8 SEName_W013B[] = _("W013B"); -static const u8 SEName_W044[] = _("W044"); -static const u8 SEName_W029[] = _("W029"); -static const u8 SEName_W057[] = _("W057"); -static const u8 SEName_W056[] = _("W056"); -static const u8 SEName_W250[] = _("W250"); -static const u8 SEName_W030[] = _("W030"); -static const u8 SEName_W039[] = _("W039"); -static const u8 SEName_W054[] = _("W054"); -static const u8 SEName_W077[] = _("W077"); -static const u8 SEName_W020[] = _("W020"); -static const u8 SEName_W082[] = _("W082"); -static const u8 SEName_W047[] = _("W047"); -static const u8 SEName_W195[] = _("W195"); -static const u8 SEName_W006[] = _("W006"); -static const u8 SEName_W091[] = _("W091"); -static const u8 SEName_W146[] = _("W146"); -static const u8 SEName_W120[] = _("W120"); -static const u8 SEName_W153[] = _("W153"); -static const u8 SEName_W071B[] = _("W071B"); -static const u8 SEName_W071[] = _("W071"); -static const u8 SEName_W103[] = _("W103"); -static const u8 SEName_W062[] = _("W062"); -static const u8 SEName_W062B[] = _("W062B"); -static const u8 SEName_W048[] = _("W048"); -static const u8 SEName_W187[] = _("W187"); -static const u8 SEName_W118[] = _("W118"); -static const u8 SEName_W155[] = _("W155"); -static const u8 SEName_W122[] = _("W122"); -static const u8 SEName_W060[] = _("W060"); -static const u8 SEName_W185[] = _("W185"); -static const u8 SEName_W014[] = _("W014"); -static const u8 SEName_W043[] = _("W043"); -static const u8 SEName_W207[] = _("W207"); -static const u8 SEName_W207B[] = _("W207B"); -static const u8 SEName_W215[] = _("W215"); -static const u8 SEName_W109[] = _("W109"); -static const u8 SEName_W173[] = _("W173"); -static const u8 SEName_W280[] = _("W280"); -static const u8 SEName_W202[] = _("W202"); -static const u8 SEName_W060B[] = _("W060B"); -static const u8 SEName_W076[] = _("W076"); -static const u8 SEName_W080[] = _("W080"); -static const u8 SEName_W100[] = _("W100"); -static const u8 SEName_W107[] = _("W107"); -static const u8 SEName_W166[] = _("W166"); -static const u8 SEName_W129[] = _("W129"); -static const u8 SEName_W115[] = _("W115"); -static const u8 SEName_W112[] = _("W112"); -static const u8 SEName_W197[] = _("W197"); -static const u8 SEName_W199[] = _("W199"); -static const u8 SEName_W236[] = _("W236"); -static const u8 SEName_W204[] = _("W204"); -static const u8 SEName_W268[] = _("W268"); -static const u8 SEName_W070[] = _("W070"); -static const u8 SEName_W063[] = _("W063"); -static const u8 SEName_W127[] = _("W127"); -static const u8 SEName_W179[] = _("W179"); -static const u8 SEName_W151[] = _("W151"); -static const u8 SEName_W201[] = _("W201"); -static const u8 SEName_W161[] = _("W161"); -static const u8 SEName_W161B[] = _("W161B"); -static const u8 SEName_W227[] = _("W227"); -static const u8 SEName_W227B[] = _("W227B"); -static const u8 SEName_W226[] = _("W226"); -static const u8 SEName_W208[] = _("W208"); -static const u8 SEName_W213[] = _("W213"); -static const u8 SEName_W213B[] = _("W213B"); -static const u8 SEName_W234[] = _("W234"); -static const u8 SEName_W260[] = _("W260"); -static const u8 SEName_W328[] = _("W328"); -static const u8 SEName_W320[] = _("W320"); -static const u8 SEName_W255[] = _("W255"); -static const u8 SEName_W291[] = _("W291"); -static const u8 SEName_W089[] = _("W089"); -static const u8 SEName_W239[] = _("W239"); -static const u8 SEName_W230[] = _("W230"); -static const u8 SEName_W281[] = _("W281"); -static const u8 SEName_W327[] = _("W327"); -static const u8 SEName_W287[] = _("W287"); -static const u8 SEName_W257[] = _("W257"); -static const u8 SEName_W253[] = _("W253"); -static const u8 SEName_W258[] = _("W258"); -static const u8 SEName_W322[] = _("W322"); -static const u8 SEName_W298[] = _("W298"); -static const u8 SEName_W287B[] = _("W287B"); -static const u8 SEName_W114[] = _("W114"); -static const u8 SEName_W063B[] = _("W063B"); - -static const u8 *const gSENames[] = -{ - SEName_STOP, - SEName_KAIFUKU, - SEName_PC_LOGON, - SEName_PC_OFF, - SEName_PC_ON, - SEName_SELECT, - SEName_WIN_OPEN, - SEName_WALL_HIT, - SEName_DOOR, - SEName_KAIDAN, - SEName_DANSA, - SEName_JITENSYA, - SEName_KOUKA_L, - SEName_KOUKA_M, - SEName_KOUKA_H, - SEName_BOWA2, - SEName_POKE_DEAD, - SEName_NIGERU, - SEName_JIDO_DOA, - SEName_NAMINORI, - SEName_BAN, - SEName_PIN, - SEName_BOO, - SEName_BOWA, - SEName_JYUNI, - SEName_A, - SEName_I, - SEName_U, - SEName_E, - SEName_O, - SEName_N, - SEName_SEIKAI, - SEName_HAZURE, - SEName_EXP, - SEName_JITE_PYOKO, - SEName_MU_PACHI, - SEName_TK_KASYA, - SEName_FU_ZAKU, - SEName_FU_ZAKU2, - SEName_FU_ZUZUZU, - SEName_RU_GASHIN, - SEName_RU_GASYAN, - SEName_RU_BARI, - SEName_RU_HYUU, - SEName_KI_GASYAN, - SEName_TK_WARPIN, - SEName_TK_WARPOUT, - SEName_TU_SAA, - SEName_HI_TURUN, - SEName_TRACK_MOVE, - SEName_TRACK_STOP, - SEName_TRACK_HAIK, - SEName_TRACK_DOOR, - SEName_MOTER, - SEName_CARD, - SEName_SAVE, - SEName_KON, - SEName_KON2, - SEName_KON3, - SEName_KON4, - SEName_SUIKOMU, - SEName_NAGERU, - SEName_TOY_C, - SEName_TOY_D, - SEName_TOY_E, - SEName_TOY_F, - SEName_TOY_G, - SEName_TOY_A, - SEName_TOY_B, - SEName_TOY_C1, - SEName_MIZU, - SEName_HASHI, - SEName_DAUGI, - SEName_PINPON, - SEName_FUUSEN1, - SEName_FUUSEN2, - SEName_FUUSEN3, - SEName_TOY_KABE, - SEName_TOY_DANGO, - SEName_DOKU, - SEName_ESUKA, - SEName_T_AME, - SEName_T_AME_E, - SEName_T_OOAME, - SEName_T_OOAME_E, - SEName_T_KOAME, - SEName_T_KOAME_E, - SEName_T_KAMI, - SEName_T_KAMI2, - SEName_ELEBETA, - SEName_HINSI, - SEName_EXPMAX, - SEName_TAMAKORO, - SEName_TAMAKORO_E, - SEName_BASABASA, - SEName_REGI, - SEName_C_GAJI, - SEName_C_MAKU_U, - SEName_C_MAKU_D, - SEName_C_PASI, - SEName_C_SYU, - SEName_C_PIKON, - SEName_REAPOKE, - SEName_OP_BASYU, - SEName_BT_START, - SEName_DENDOU, - SEName_JIHANKI, - SEName_TAMA, - SEName_Z_SCROLL, - SEName_Z_PAGE, - SEName_PN_ON, - SEName_PN_OFF, - SEName_Z_SEARCH, - SEName_TAMAGO, - SEName_TB_START, - SEName_TB_KON, - SEName_TB_KARA, - SEName_BIDORO, - SEName_W085, - SEName_W085B, - SEName_W231, - SEName_W171, - SEName_W233, - SEName_W233B, - SEName_W145, - SEName_W145B, - SEName_W145C, - SEName_W240, - SEName_W015, - SEName_W081, - SEName_W081B, - SEName_W088, - SEName_W016, - SEName_W016B, - SEName_W003, - SEName_W104, - SEName_W013, - SEName_W196, - SEName_W086, - SEName_W004, - SEName_W025, - SEName_W025B, - SEName_W152, - SEName_W026, - SEName_W172, - SEName_W172B, - SEName_W053, - SEName_W007, - SEName_W092, - SEName_W221, - SEName_W221B, - SEName_W052, - SEName_W036, - SEName_W059, - SEName_W059B, - SEName_W010, - SEName_W011, - SEName_W017, - SEName_W019, - SEName_W028, - SEName_W013B, - SEName_W044, - SEName_W029, - SEName_W057, - SEName_W056, - SEName_W250, - SEName_W030, - SEName_W039, - SEName_W054, - SEName_W077, - SEName_W020, - SEName_W082, - SEName_W047, - SEName_W195, - SEName_W006, - SEName_W091, - SEName_W146, - SEName_W120, - SEName_W153, - SEName_W071B, - SEName_W071, - SEName_W103, - SEName_W062, - SEName_W062B, - SEName_W048, - SEName_W187, - SEName_W118, - SEName_W155, - SEName_W122, - SEName_W060, - SEName_W185, - SEName_W014, - SEName_W043, - SEName_W207, - SEName_W207B, - SEName_W215, - SEName_W109, - SEName_W173, - SEName_W280, - SEName_W202, - SEName_W060B, - SEName_W076, - SEName_W080, - SEName_W100, - SEName_W107, - SEName_W166, - SEName_W129, - SEName_W115, - SEName_W112, - SEName_W197, - SEName_W199, - SEName_W236, - SEName_W204, - SEName_W268, - SEName_W070, - SEName_W063, - SEName_W127, - SEName_W179, - SEName_W151, - SEName_W201, - SEName_W161, - SEName_W161B, - SEName_W227, - SEName_W227B, - SEName_W226, - SEName_W208, - SEName_W213, - SEName_W213B, - SEName_W234, - SEName_W260, - SEName_W328, - SEName_W320, - SEName_W255, - SEName_W291, - SEName_W089, - SEName_W239, - SEName_W230, - SEName_W281, - SEName_W327, - SEName_W287, - SEName_W257, - SEName_W253, - SEName_W258, - SEName_W322, - SEName_W298, - SEName_W287B, - SEName_W114, - SEName_W063B -}; - -void sub_80BA0A8(void) -{ - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); -} - -void sub_80BA0C0(void) -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); - - if(gUnknown_020387B0 != 0) - { - m4aSoundMain(); - m4aSoundMain(); - m4aSoundMain(); - } -} - -// unused -void CB2_StartSoundCheckMenu(void) -{ - u8 taskId; - - SetVBlankCallback(NULL); - REG_DISPCNT = 0; - REG_BG2CNT = 0; - REG_BG1CNT = 0; - REG_BG0CNT = 0; - REG_BG2HOFS = 0; - REG_BG2VOFS = 0; - REG_BG1HOFS = 0; - REG_BG1VOFS = 0; - REG_BG0HOFS = 0; - REG_BG0VOFS = 0; - DmaFill16(3, 0, VRAM, VRAM_SIZE); - DmaFill32(3, 0, OAM, OAM_SIZE); - DmaFill16(3, 0, PLTT, PLTT_SIZE); - ResetPaletteFade(); - ResetTasks(); - ResetSpriteData(); - SetUpWindowConfig(&gWindowConfig_81E6C3C); - InitMenuWindow(&gWindowConfig_81E6CE4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - REG_WIN0H = WIN_RANGE(0, 0); - REG_WIN0V = WIN_RANGE(0, 0); - REG_WIN1H = WIN_RANGE(0, 0); - REG_WIN1V = WIN_RANGE(0, 0); - REG_WININ = 0x1111; - REG_WINOUT = 0x31; - REG_BLDCNT = 0xE1; - REG_BLDALPHA = 0; - REG_BLDY = 7; - REG_IE = 1; // could be a typo of REG_IME - REG_IE |= 1; - REG_DISPSTAT |= 8; - SetVBlankCallback(sub_80BA0C0); - SetMainCallback2(sub_80BA0A8); - REG_DISPCNT = 0x7140; - taskId = CreateTask(sub_80BA258, 0); - TASK.WINDOW_SELECTED = BGM_WINDOW; - TASK.BGM_INDEX = 0; - TASK.SE_INDEX = 0; - TASK.UNK_DATA3 = 0; - gUnknown_020387B0 = 0; - TASK.UNK_DATA3 = 0; // why? - m4aSoundInit(); -} - -// Task_InitSoundCheckMenu -void sub_80BA258(u8 taskId) -{ - u8 soundcheckStr[sizeof(gDebugText_SoundCheckJap)]; - u8 bgmStr[sizeof(gDebugText_BGM)]; - u8 seStr[sizeof(gDebugText_SE)]; - u8 abDescStr[sizeof(gDebugText_ABDesc)]; - u8 upDownStr[sizeof(gDebugText_UpDown)]; - u8 driverStr[sizeof(gDebugText_DriverTest)]; - - memcpy(soundcheckStr, gDebugText_SoundCheckJap, sizeof(gDebugText_SoundCheckJap)); - memcpy(bgmStr, gDebugText_BGM, sizeof(gDebugText_BGM)); - memcpy(seStr, gDebugText_SE, sizeof(gDebugText_SE)); - memcpy(abDescStr, gDebugText_ABDesc, sizeof(gDebugText_ABDesc)); - memcpy(upDownStr, gDebugText_UpDown, sizeof(gDebugText_UpDown)); - memcpy(driverStr, gDebugText_DriverTest, sizeof(gDebugText_DriverTest)); - - if(!gPaletteFade.active) - { - MenuDrawTextWindow(0x2, 0, 0x1B, 0x3); - MenuDrawTextWindow(0x2, 0x5, 0x1B, 0xA); - MenuDrawTextWindow(0x2, 0xC, 0x1B, 0x11); - MenuPrint(soundcheckStr, 4, 1); - MenuPrint(abDescStr, 14, 1); - MenuPrint(bgmStr, 4, 6); - MenuPrint(upDownStr, 14, 6); - MenuPrint(seStr, 4, 13); - MenuPrint(upDownStr, 14, 13); - MenuPrint(driverStr, 14, 18); - TASK.FUNC = sub_80BA384; - REG_WIN0H = WIN_RANGE(17, 223); - REG_WIN0V = WIN_RANGE(1, 31); - } -} - -void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText -{ - sub_80BA6B8(TASK.WINDOW_SELECTED); - sub_80BA700(TASK.BGM_INDEX + BGM_STOP, 7, 8); // print by BGM index - sub_80BA79C(gBGMNames[TASK.BGM_INDEX], 11, 8); - sub_80BA700(TASK.SE_INDEX, 7, 15); - sub_80BA79C(gSENames[TASK.SE_INDEX], 11, 15); - TASK.FUNC = sub_80BA65C; -} - -#ifdef NONMATCHING -bool8 sub_80BA400(u8 taskId) // Task_ProcessSoundCheckMenuInput -{ - if(gMain.newKeys & R_BUTTON) // driver test - { - TASK.FUNC = sub_80BA800; - return FALSE; - } - if(gMain.newKeys & L_BUTTON) - { - TASK.FUNC = sub_80BAF84; - return FALSE; - } - if(gMain.newKeys & START_BUTTON) - { - TASK.FUNC = sub_80BB25C; - return FALSE; - } - if(gMain.newKeys & A_BUTTON) // both these cases insist on non reuses of certain data variables and cause the function to not match. - { - if(TASK.WINDOW_SELECTED != 0) // is playing? - { - if(TASK.UNK_DATA4 != 0) - { - if(TASK.SE_INDEX != 0) // why are you insiting on a non signed halfword? - { - m4aSongNumStop(TASK.UNK_DATA4); - } - else - { - m4aSongNumStop(TASK.SE_INDEX); - TASK.UNK_DATA4 = TASK.SE_INDEX; - return FALSE; - } - } - else if(TASK.SE_INDEX == 0) // _080BA4BA - { - return FALSE; - } - // _080BA4C4 - m4aSongNumStart(TASK.SE_INDEX); - TASK.UNK_DATA4 = TASK.SE_INDEX; - return FALSE; - } - else // _080BA4D0 - { - if(TASK.UNK_DATA3 != 0) - { - if(TASK.BGM_INDEX != 0) - { - m4aSongNumStop(TASK.UNK_DATA3 + BGM_STOP); - } - else // _080BA500 - { - m4aSongNumStop(TASK.UNK_DATA3 + BGM_STOP); - TASK.UNK_DATA3 = TASK.BGM_INDEX; - return FALSE; - } - } - else if(TASK.BGM_INDEX == 0) // _080BA514 - return FALSE; - - m4aSongNumStart(TASK.BGM_INDEX + BGM_STOP); - TASK.UNK_DATA3 = TASK.BGM_INDEX; - } - return FALSE; - } - if(gMain.newKeys & B_BUTTON) - { - m4aSongNumStart(5); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - TASK.FUNC = sub_80BA68C; - return FALSE; - } - if(gMain.newAndRepeatedKeys & DPAD_UP) - { - TASK.data[8] ^= A_BUTTON; // huh? - return TRUE; - } - if(gMain.newAndRepeatedKeys & DPAD_DOWN) - { - TASK.data[8] ^= A_BUTTON; // huh? - return TRUE; - } - else - { - u16 keys = gMain.newAndRepeatedKeys & DPAD_RIGHT; - if(keys) - { - if(TASK.WINDOW_SELECTED != 0) - { - if(TASK.SE_INDEX > 0) - { - TASK.SE_INDEX--; - } - else - { - TASK.SE_INDEX = 0xF7; - } - } - else if(TASK.BGM_INDEX > 0) - { - TASK.BGM_INDEX--; - } - else - { - TASK.BGM_INDEX = 0x75; - } - return TRUE; - } - if(gMain.newAndRepeatedKeys & DPAD_LEFT) - { - if(TASK.WINDOW_SELECTED != 0) - { - if(TASK.SE_INDEX < 0xF7) - { - TASK.SE_INDEX++; - } - else - { - TASK.SE_INDEX = keys; // ?? - } - } - else if(TASK.BGM_INDEX < 0x75) - { - TASK.BGM_INDEX++; - return TRUE; - } - else - { - TASK.BGM_INDEX = TASK.SE_INDEX; - return TRUE; - } - return TRUE; - } - if(gMain.heldKeys & SELECT_BUTTON) - { - gUnknown_020387B0 = A_BUTTON; - return FALSE; - } - else - { - gUnknown_020387B0 = (gMain.heldKeys & SELECT_BUTTON); - return FALSE; - } - } -} -#else -__attribute__((naked)) -bool8 sub_80BA400(u8 taskId) -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - sub sp, 0x4\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - ldr r2, _080BA428 @ =gMain\n\ - ldrh r1, [r2, 0x2E]\n\ - movs r0, 0x80\n\ - lsls r0, 1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BA434\n\ - ldr r0, _080BA42C @ =gTasks\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 3\n\ - adds r1, r0\n\ - ldr r0, _080BA430 @ =sub_80BA800\n\ - str r0, [r1]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA428: .4byte gMain\n\ -_080BA42C: .4byte gTasks\n\ -_080BA430: .4byte sub_80BA800\n\ -_080BA434:\n\ - movs r0, 0x80\n\ - lsls r0, 2\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BA458\n\ - ldr r0, _080BA450 @ =gTasks\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 3\n\ - adds r1, r0\n\ - ldr r0, _080BA454 @ =sub_80BAF84\n\ - str r0, [r1]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA450: .4byte gTasks\n\ -_080BA454: .4byte sub_80BAF84\n\ -_080BA458:\n\ - movs r0, 0x8\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BA478\n\ - ldr r0, _080BA470 @ =gTasks\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 3\n\ - adds r1, r0\n\ - ldr r0, _080BA474 @ =sub_80BB25C\n\ - str r0, [r1]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA470: .4byte gTasks\n\ -_080BA474: .4byte sub_80BB25C\n\ -_080BA478:\n\ - movs r6, 0x1\n\ - movs r5, 0x1\n\ - ands r5, r1\n\ - cmp r5, 0\n\ - beq _080BA538\n\ - ldr r0, _080BA4AC @ =gTasks\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 3\n\ - adds r5, r1, r0\n\ - movs r1, 0x8\n\ - ldrsh r0, [r5, r1]\n\ - cmp r0, 0\n\ - beq _080BA4D0\n\ - movs r2, 0x10\n\ - ldrsh r0, [r5, r2]\n\ - cmp r0, 0\n\ - beq _080BA4BA\n\ - movs r3, 0xC\n\ - ldrsh r4, [r5, r3]\n\ - cmp r4, 0\n\ - beq _080BA4B0\n\ - ldrh r0, [r5, 0x10]\n\ - bl m4aSongNumStop\n\ - b _080BA4C4\n\ - .align 2, 0\n\ -_080BA4AC: .4byte gTasks\n\ -_080BA4B0:\n\ - ldrh r0, [r5, 0x10]\n\ - bl m4aSongNumStop\n\ - strh r4, [r5, 0x10]\n\ - b _080BA64C\n\ -_080BA4BA:\n\ - movs r4, 0xC\n\ - ldrsh r0, [r5, r4]\n\ - cmp r0, 0\n\ - bne _080BA4C4\n\ - b _080BA64C\n\ -_080BA4C4:\n\ - ldrh r0, [r5, 0xC]\n\ - bl m4aSongNumStart\n\ - ldrh r0, [r5, 0xC]\n\ - strh r0, [r5, 0x10]\n\ - b _080BA64C\n\ -_080BA4D0:\n\ - ldrh r1, [r5, 0xE]\n\ - movs r2, 0xE\n\ - ldrsh r0, [r5, r2]\n\ - cmp r0, 0\n\ - beq _080BA514\n\ - movs r3, 0xA\n\ - ldrsh r4, [r5, r3]\n\ - cmp r4, 0\n\ - beq _080BA500\n\ - ldr r0, _080BA4FC @ =0x0000015d\n\ - adds r4, r0, 0\n\ - adds r0, r1, r4\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - bl m4aSongNumStop\n\ - ldrh r1, [r5, 0xA]\n\ - adds r4, r1\n\ - lsls r4, 16\n\ - lsrs r4, 16\n\ - adds r0, r4, 0\n\ - b _080BA528\n\ - .align 2, 0\n\ -_080BA4FC: .4byte 0x0000015d\n\ -_080BA500:\n\ - ldr r2, _080BA510 @ =0x0000015d\n\ - adds r0, r1, r2\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - bl m4aSongNumStop\n\ - strh r4, [r5, 0xE]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA510: .4byte 0x0000015d\n\ -_080BA514:\n\ - ldrh r1, [r5, 0xA]\n\ - movs r3, 0xA\n\ - ldrsh r0, [r5, r3]\n\ - cmp r0, 0\n\ - bne _080BA520\n\ - b _080BA64C\n\ -_080BA520:\n\ - ldr r4, _080BA534 @ =0x0000015d\n\ - adds r0, r1, r4\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ -_080BA528:\n\ - bl m4aSongNumStart\n\ - ldrh r0, [r5, 0xA]\n\ - strh r0, [r5, 0xE]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA534: .4byte 0x0000015d\n\ -_080BA538:\n\ - movs r0, 0x2\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BA570\n\ - movs r0, 0x5\n\ - bl m4aSongNumStart\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - str r5, [sp]\n\ - movs r1, 0\n\ - movs r2, 0\n\ - movs r3, 0x10\n\ - bl BeginNormalPaletteFade\n\ - ldr r1, _080BA568 @ =gTasks\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - ldr r1, _080BA56C @ =sub_80BA68C\n\ - str r1, [r0]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA568: .4byte gTasks\n\ -_080BA56C: .4byte sub_80BA68C\n\ -_080BA570:\n\ - ldrh r1, [r2, 0x30]\n\ - movs r0, 0x40\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080BA582\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BA59C\n\ -_080BA582:\n\ - ldr r0, _080BA598 @ =gTasks\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 3\n\ - adds r1, r0\n\ - ldrh r0, [r1, 0x8]\n\ - eors r0, r6\n\ - strh r0, [r1, 0x8]\n\ -_080BA592:\n\ - movs r0, 0x1\n\ - b _080BA64E\n\ - .align 2, 0\n\ -_080BA598: .4byte gTasks\n\ -_080BA59C:\n\ - movs r0, 0x10\n\ - ands r0, r1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0\n\ - beq _080BA5EA\n\ - ldr r0, _080BA5CC @ =gTasks\n\ - lsls r1, r4, 2\n\ - adds r1, r4\n\ - lsls r1, 3\n\ - adds r1, r0\n\ - movs r2, 0x8\n\ - ldrsh r0, [r1, r2]\n\ - cmp r0, 0\n\ - beq _080BA5D6\n\ - ldrh r2, [r1, 0xC]\n\ - movs r3, 0xC\n\ - ldrsh r0, [r1, r3]\n\ - cmp r0, 0\n\ - ble _080BA5D0\n\ - subs r0, r2, 0x1\n\ - strh r0, [r1, 0xC]\n\ - b _080BA592\n\ - .align 2, 0\n\ -_080BA5CC: .4byte gTasks\n\ -_080BA5D0:\n\ - movs r0, 0xF7\n\ - strh r0, [r1, 0xC]\n\ - b _080BA592\n\ -_080BA5D6:\n\ - ldrh r2, [r1, 0xA]\n\ - movs r4, 0xA\n\ - ldrsh r0, [r1, r4]\n\ - cmp r0, 0\n\ - ble _080BA5E4\n\ - subs r0, r2, 0x1\n\ - b _080BA5E6\n\ -_080BA5E4:\n\ - movs r0, 0x75\n\ -_080BA5E6:\n\ - strh r0, [r1, 0xA]\n\ - b _080BA592\n\ -_080BA5EA:\n\ - movs r0, 0x20\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BA630\n\ - ldr r1, _080BA614 @ =gTasks\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r1, r0, r1\n\ - movs r0, 0x8\n\ - ldrsh r2, [r1, r0]\n\ - cmp r2, 0\n\ - beq _080BA61C\n\ - ldrh r2, [r1, 0xC]\n\ - movs r4, 0xC\n\ - ldrsh r0, [r1, r4]\n\ - cmp r0, 0xF6\n\ - bgt _080BA618\n\ - adds r0, r2, 0x1\n\ - strh r0, [r1, 0xC]\n\ - b _080BA592\n\ - .align 2, 0\n\ -_080BA614: .4byte gTasks\n\ -_080BA618:\n\ - strh r3, [r1, 0xC]\n\ - b _080BA592\n\ -_080BA61C:\n\ - ldrh r3, [r1, 0xA]\n\ - movs r4, 0xA\n\ - ldrsh r0, [r1, r4]\n\ - cmp r0, 0x74\n\ - bgt _080BA62C\n\ - adds r0, r3, 0x1\n\ - strh r0, [r1, 0xA]\n\ - b _080BA592\n\ -_080BA62C:\n\ - strh r2, [r1, 0xA]\n\ - b _080BA592\n\ -_080BA630:\n\ - ldrh r1, [r2, 0x2C]\n\ - movs r0, 0x4\n\ - ands r0, r1\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - cmp r1, 0\n\ - beq _080BA648\n\ - ldr r0, _080BA644 @ =gUnknown_020387B0\n\ - strb r6, [r0]\n\ - b _080BA64C\n\ - .align 2, 0\n\ -_080BA644: .4byte gUnknown_020387B0\n\ -_080BA648:\n\ - ldr r0, _080BA658 @ =gUnknown_020387B0\n\ - strb r1, [r0]\n\ -_080BA64C:\n\ - movs r0, 0\n\ -_080BA64E:\n\ - add sp, 0x4\n\ - pop {r4-r6}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_080BA658: .4byte gUnknown_020387B0\n\ - .syntax divided"); -} -#endif - -void sub_80BA65C(u8 taskId) -{ - if(sub_80BA400(taskId) != FALSE) - TASK.FUNC = sub_80BA384; -} - -void sub_80BA68C(u8 taskId) -{ - if(!gPaletteFade.active) - { - DestroyTask(taskId); - SetMainCallback2(CB2_InitTitleScreen); - } -} - -void sub_80BA6B8(u8 windowType) -{ - switch(windowType) - { - case BGM_WINDOW: - default: - REG_WIN1H = WIN_RANGE(17, 223); - REG_WIN1V = WIN_RANGE(41, 87); - break; - case SE_WINDOW: - REG_WIN1H = WIN_RANGE(17, 223); - REG_WIN1V = WIN_RANGE(97, 143); - break; - } -} - -void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ? -{ - u8 i; - u8 str[5]; - bool8 someBool; - u8 divisorValue; - - for(i = 0; i < 3; i++) - str[i] = 0; // initialize array - - str[3] = CHAR_ELLIPSIS; - str[4] = EOS; - someBool = FALSE; - - divisorValue = soundIndex / 100; - if(divisorValue) - { - str[0] = divisorValue + CHAR_0; - someBool = TRUE; - } - - divisorValue = (soundIndex % 100) / 10; - if(divisorValue || someBool != FALSE) - str[1] = divisorValue + CHAR_0; - - str[2] = ((soundIndex % 100) % 10) + CHAR_0; - MenuPrint(str, x, y); -} - -void sub_80BA79C(const u8 *const string, u16 x, u16 y) -{ - u8 i; - u8 str[11]; - - for(i = 0; i < 11; i++) - str[i] = 0; // format string. - - str[10] = EOS; // the above for loop formats the last element of the array unnecessarily. - - for(i = 0; string[i] != EOS && i < 10; i++) - str[i] = string[i]; - - MenuPrint(str, x, y); -} - -void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu -{ - u8 bbackStr[sizeof(gDebugText_BBack)]; - u8 aplayStr[sizeof(gDebugText_APlay)]; - u8 voiceStr[sizeof(gDebugText_Voice)]; - u8 volumeStr[sizeof(gDebugText_Volume)]; - u8 panpotStr[sizeof(gDebugText_Panpot)]; - u8 pitchStr[sizeof(gDebugText_Pitch)]; - u8 lengthStr[sizeof(gDebugText_Length)]; - u8 releaseStr[sizeof(gDebugText_Release)]; - u8 progressStr[sizeof(gDebugText_Progress)]; - u8 chorusStr[sizeof(gDebugText_Chorus)]; - u8 priorityStr[sizeof(gDebugText_Priority)]; - u8 playingStr[sizeof(gDebugText_Playing)]; - u8 reverseStr[sizeof(gDebugText_Reverse)]; - u8 stereoStr[sizeof(gDebugText_Stereo)]; - - memcpy(bbackStr, gDebugText_BBack, sizeof(gDebugText_BBack)); - memcpy(aplayStr, gDebugText_APlay, sizeof(gDebugText_APlay)); - memcpy(voiceStr, gDebugText_Voice, sizeof(gDebugText_Voice)); - memcpy(volumeStr, gDebugText_Volume, sizeof(gDebugText_Volume)); - memcpy(panpotStr, gDebugText_Panpot, sizeof(gDebugText_Panpot)); - memcpy(pitchStr, gDebugText_Pitch, sizeof(gDebugText_Pitch)); - memcpy(lengthStr, gDebugText_Length, sizeof(gDebugText_Length)); - memcpy(releaseStr, gDebugText_Release, sizeof(gDebugText_Release)); - memcpy(progressStr, gDebugText_Progress, sizeof(gDebugText_Progress)); - memcpy(chorusStr, gDebugText_Chorus, sizeof(gDebugText_Chorus)); - memcpy(priorityStr, gDebugText_Priority, sizeof(gDebugText_Priority)); - memcpy(playingStr, gDebugText_Playing, sizeof(gDebugText_Playing)); - memcpy(reverseStr, gDebugText_Reverse, sizeof(gDebugText_Reverse)); - memcpy(stereoStr, gDebugText_Stereo, sizeof(gDebugText_Stereo)); - - REG_DISPCNT = 0x3140; - MenuDrawTextWindow(0, 0, 0x1D, 0x13); - MenuPrint(bbackStr, 0x13, 0x4); - MenuPrint(aplayStr, 0x13, 0x2); - MenuPrint(voiceStr, 0x2, 0x1); - MenuPrint(volumeStr, 0x2, 0x3); - MenuPrint(panpotStr, 0x2, 0x5); - MenuPrint(pitchStr, 0x2, 0x7); - MenuPrint(lengthStr, 0x2, 0x9); - MenuPrint(releaseStr, 0x2, 0xB); - MenuPrint(progressStr, 0x2, 0xD); - MenuPrint(chorusStr, 0x2, 0xF); - MenuPrint(priorityStr, 0x2, 0x11); - MenuPrint(playingStr, 0x13, 0x10); - MenuPrint(reverseStr, 0x13, 0xE); - MenuPrint(stereoStr, 0x13, 0xC); - REG_WIN0H = WIN_RANGE(0, 240); - REG_WIN0V = WIN_RANGE(0, 160); - gUnknown_020387B3 = 0; - gUnknown_020387B1 = 0; - gUnknown_020387B2 = 0; - gUnknown_03005D30 = NULL; - gUnknown_020387D8 = 0; - gUnknown_020387D9 = 1; - gUnknown_020387B4[CRY_TEST_UNK0] = 0; - gUnknown_020387B4[CRY_TEST_VOLUME] = 0x78; - gUnknown_020387B4[CRY_TEST_PANPOT] = 0; - gUnknown_020387B4[CRY_TEST_PITCH] = 0x3C00; - gUnknown_020387B4[CRY_TEST_LENGTH] = 0xB4; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; - gUnknown_020387B4[CRY_TEST_RELEASE] = 0; - gUnknown_020387B4[CRY_TEST_CHORUS] = 0; - gUnknown_020387B4[CRY_TEST_PRIORITY] = 2; - sub_80BAD5C(); - sub_80BAE10(0, 0); - TASK.FUNC = sub_80BAA48; -} - -void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput -{ - if(gMain.newKeys & B_BUTTON) - { - REG_DISPCNT = 0x7140; - REG_WIN0H = WIN_RANGE(17, 223); - REG_WIN0V = WIN_RANGE(1, 31); - MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - TASK.FUNC = sub_80BA258; - return; - } - if(gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8 - { - u8 backupVar = gUnknown_020387B3; - if(--gUnknown_020387B3 < 0) - gUnknown_020387B3 = 8; - - sub_80BAE10(backupVar, gUnknown_020387B3); - return; - } - if(gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0 - { - u8 backupVar = gUnknown_020387B3; - if(++gUnknown_020387B3 > 8) - gUnknown_020387B3 = 0; - - sub_80BAE10(backupVar, gUnknown_020387B3); - return; - } - if(gMain.newKeys & START_BUTTON) // _080BAAF8 - { - gUnknown_020387D8 ^= 1; - sub_80BAD5C(); - return; - } - if(gMain.newKeys & SELECT_BUTTON) // _080BAB14 - { - gUnknown_020387D9 ^= 1; - sub_80BAD5C(); - SetPokemonCryStereo(gUnknown_020387D9); - return; - } - if(gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38 - { - sub_80BACDC(10); - sub_80BAD5C(); - return; - } - if(gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46 - { - sub_80BACDC(-10); - sub_80BAD5C(); - return; - } - if(gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56 - { - sub_80BACDC(-1); - sub_80BAD5C(); - return; - } - if(gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64 - { - sub_80BACDC(1); - sub_80BAD5C(); - return; - } - if(gMain.newKeys & A_BUTTON) // _080BAB78 - { - u8 divide, remaining; - - SetPokemonCryVolume(gUnknown_020387B4[CRY_TEST_VOLUME]); - SetPokemonCryPanpot(gUnknown_020387B4[CRY_TEST_PANPOT]); - SetPokemonCryPitch(gUnknown_020387B4[CRY_TEST_PITCH]); - SetPokemonCryLength(gUnknown_020387B4[CRY_TEST_LENGTH]); - SetPokemonCryProgress(gUnknown_020387B4[CRY_TEST_PROGRESS]); - SetPokemonCryRelease(gUnknown_020387B4[CRY_TEST_RELEASE]); - SetPokemonCryChorus(gUnknown_020387B4[CRY_TEST_CHORUS]); - SetPokemonCryPriority(gUnknown_020387B4[CRY_TEST_PRIORITY]); - - remaining = gUnknown_020387B4[CRY_TEST_UNK0] % 128; - divide = gUnknown_020387B4[CRY_TEST_UNK0] / 128; - - switch(divide) - { - case 0: - if(gUnknown_020387D8) - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84537C0[remaining]); - else - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452590[remaining]); - break; - case 1: - if(gUnknown_020387D8) - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453DC0[remaining]); - else - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452B90[remaining]); - break; - case 2: - if(gUnknown_020387D8) - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84543C0[remaining]); - else - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453190[remaining]); - break; - case 3: - if(gUnknown_020387D8) - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84549C0[remaining]); - else - gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453790[remaining]); - break; - } - } - - // _080BACA2 - if(gUnknown_03005D30 != NULL) - { - gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30); - - if(gUnknown_020387B1 != gUnknown_020387B2) - sub_80BAD5C(); - - gUnknown_020387B2 = gUnknown_020387B1; - } -} - -void sub_80BACDC(s8 var) -{ - int minMaxArray[ARRAY_COUNT(gUnknown_083D039C)]; - - memcpy(minMaxArray, gUnknown_083D039C, sizeof(gUnknown_083D039C)); - gUnknown_020387B4[gUnknown_020387B3] += var; - - if(gUnknown_020387B4[gUnknown_020387B3] > minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]) - gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]; - - if(gUnknown_020387B4[gUnknown_020387B3] < minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]) - gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]; -} - -void sub_80BAD5C(void) -{ - sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0] + 1, 0xB, 0x1, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_VOLUME], 0xB, 0x3, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_PANPOT], 0xB, 0x5, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_PITCH], 0xB, 0x7, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_LENGTH], 0xB, 0x9, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_RELEASE], 0xB, 0xB, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_PROGRESS], 0xB, 0xD, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_CHORUS], 0xB, 0xF, 0x5); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_PRIORITY], 0xB, 0x11, 0x5); - sub_80BAE78(gUnknown_020387B1, 0x1B, 0x10, 0x1); - sub_80BAE78(gUnknown_020387D8, 0x1B, 0xE, 0x1); - sub_80BAE78(gUnknown_020387D9, 0x1B, 0xC, 0x1); -} - -void sub_80BAE10(u8 var1, u8 var2) -{ - u8 str1[sizeof(gUnknown_083D03DC)]; - u8 str2[sizeof(gUnknown_083D03DE)]; - - memcpy(str1, gUnknown_083D03DC, sizeof(gUnknown_083D03DC)); - memcpy(str2, gUnknown_083D03DE, sizeof(gUnknown_083D03DE)); - - MenuPrint(str2, gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 1)]); - MenuPrint(str1, gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 1)]); -} - -/*void sub_80BAE78(int var1, u16 var2, u16 var3, u8 var4) -{ - u32 powers[6]; - u8 str[8]; - u8 i; - u8 someVar, someVar2; - - memcpy(powers, gUnknown_083D03E0, sizeof(powers); - - for(i = 0; i < var4; i++) - str[i] = 0; - - str[var4 + 1] = CHAR_0; - someVar = 0; - - if(var1 < 0) // make absolute value? wtf - { - var1 = -var1; // just use abs? - someVar = 1; - } - - // _080BAED6 - someVar2 = 0; - if(var4 == 1) - someVar2 = 1; - - // _080BAEE2 - for(;;) - { - - } -}*/ - -// no. -__attribute__((naked)) -void sub_80BAE78(int var1, u16 var2, u16 var3, u8 var4) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - mov r8, r0\n\ - lsls r1, 16\n\ - lsrs r6, r1, 16\n\ - lsls r2, 16\n\ - lsrs r2, 16\n\ - lsls r3, 24\n\ - lsrs r7, r3, 24\n\ - mov r1, sp\n\ - ldr r0, _080BAF80 @ =gUnknown_083D03E0\n\ - ldm r0!, {r3-r5}\n\ - stm r1!, {r3-r5}\n\ - ldm r0!, {r3-r5}\n\ - stm r1!, {r3-r5}\n\ - movs r5, 0\n\ - add r0, sp, 0x18\n\ - mov r9, r0\n\ - cmp r5, r7\n\ - bgt _080BAEC0\n\ - mov r4, r9\n\ - movs r3, 0\n\ -_080BAEAC:\n\ - lsls r0, r5, 24\n\ - asrs r0, 24\n\ - adds r1, r4, r0\n\ - strb r3, [r1]\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, r7\n\ - ble _080BAEAC\n\ -_080BAEC0:\n\ - adds r0, r7, 0x1\n\ - add r0, r9\n\ - movs r1, 0xFF\n\ - strb r1, [r0]\n\ - movs r1, 0\n\ - mov r3, r8\n\ - cmp r3, 0\n\ - bge _080BAED6\n\ - negs r3, r3\n\ - mov r8, r3\n\ - movs r1, 0x1\n\ -_080BAED6:\n\ - movs r4, 0\n\ - mov r10, r4\n\ - cmp r7, 0x1\n\ - bne _080BAEE2\n\ - movs r5, 0x1\n\ - mov r10, r5\n\ -_080BAEE2:\n\ - subs r0, r7, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - lsls r0, r5, 24\n\ - lsls r6, 24\n\ - str r6, [sp, 0x24]\n\ - lsls r2, 24\n\ - str r2, [sp, 0x28]\n\ - cmp r0, 0\n\ - blt _080BAF62\n\ - str r1, [sp, 0x20]\n\ -_080BAEF8:\n\ - asrs r6, r0, 24\n\ - lsls r0, r6, 2\n\ - add r0, sp\n\ - ldr r1, [r0]\n\ - mov r0, r8\n\ - bl __divsi3\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - cmp r0, 0\n\ - bne _080BAF1A\n\ - mov r0, r10\n\ - cmp r0, 0\n\ - bne _080BAF1A\n\ - lsls r4, r5, 24\n\ - cmp r6, 0\n\ - bne _080BAF46\n\ -_080BAF1A:\n\ - lsls r4, r5, 24\n\ - ldr r3, [sp, 0x20]\n\ - cmp r3, 0\n\ - beq _080BAF34\n\ - mov r5, r10\n\ - cmp r5, 0\n\ - bne _080BAF34\n\ - asrs r0, r4, 24\n\ - subs r0, r7, r0\n\ - subs r0, 0x1\n\ - add r0, r9\n\ - movs r1, 0xAE\n\ - strb r1, [r0]\n\ -_080BAF34:\n\ - asrs r1, r4, 24\n\ - subs r1, r7, r1\n\ - add r1, r9\n\ - lsls r0, r2, 24\n\ - asrs r0, 24\n\ - subs r0, 0x5F\n\ - strb r0, [r1]\n\ - movs r0, 0x1\n\ - mov r10, r0\n\ -_080BAF46:\n\ - asrs r4, 24\n\ - lsls r0, r4, 2\n\ - add r0, sp\n\ - ldr r1, [r0]\n\ - mov r0, r8\n\ - bl __modsi3\n\ - mov r8, r0\n\ - subs r4, 0x1\n\ - lsls r4, 24\n\ - lsrs r5, r4, 24\n\ - lsls r0, r5, 24\n\ - cmp r0, 0\n\ - bge _080BAEF8\n\ -_080BAF62:\n\ - ldr r3, [sp, 0x24]\n\ - lsrs r1, r3, 24\n\ - ldr r4, [sp, 0x28]\n\ - lsrs r2, r4, 24\n\ - mov r0, r9\n\ - bl MenuPrint\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BAF80: .4byte gUnknown_083D03E0\n\ - .syntax divided"); -} - -void sub_80BAF84(u8 taskId) -{ - u8 seStr[sizeof(gOtherText_SE)]; - u8 panStr[sizeof(gOtherText_Pan)]; - u8 playingStr[sizeof(gDebugText_Playing)]; - - memcpy(seStr, gOtherText_SE, sizeof(gOtherText_SE)); - memcpy(panStr, gOtherText_Pan, sizeof(gOtherText_Pan)); - memcpy(playingStr, gDebugText_Playing, sizeof(gDebugText_Playing)); - - REG_DISPCNT = 0x3140; - MenuDrawTextWindow(0, 0, 0x1D, 0x13); - MenuPrint(seStr, 3, 2); - MenuPrint(panStr, 3, 4); - MenuPrint(playingStr, 3, 8); - REG_WIN0H = WIN_RANGE(0, 240); - REG_WIN0V = WIN_RANGE(0, 160); - gUnknown_020387B4[CRY_TEST_UNK0] = 1; - gUnknown_020387B4[CRY_TEST_PANPOT] = 0; - gUnknown_020387B4[CRY_TEST_CHORUS] = 0; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; - gUnknown_020387B4[CRY_TEST_RELEASE] = 0; - sub_80BB1D4(); - TASK.FUNC = sub_80BB038; -} - -void sub_80BB038(u8 taskId) -{ - sub_80BB1D4(); - if(gUnknown_020387B4[CRY_TEST_PROGRESS]) - { - if(gUnknown_020387B4[CRY_TEST_RELEASE]) - { - gUnknown_020387B4[CRY_TEST_RELEASE]--; - } - else // _080BB05C - { - s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]; - if(panpot != -128) - { - if(panpot == 0x7F) - { - gUnknown_020387B4[CRY_TEST_CHORUS] += 2; - if(gUnknown_020387B4[CRY_TEST_CHORUS] < 0x3F) - SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]); - } - } - else // _080BB08C - { - gUnknown_020387B4[CRY_TEST_CHORUS] -= 2; - if(gUnknown_020387B4[CRY_TEST_CHORUS] > -0x40) - SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]); - } - } - } - // _080BB0A2 - if(gMain.newKeys & B_BUTTON) - { - REG_DISPCNT = 0x7140; - REG_WIN0H = WIN_RANGE(17, 223); - REG_WIN0V = WIN_RANGE(1, 31); - MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - TASK.FUNC = sub_80BA258; - return; - } - if(gMain.newKeys & A_BUTTON) // _080BB104 - { - s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]; - if(panpot != -128) - { - if(panpot == 0x7F) - { - PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], -0x40); - gUnknown_020387B4[CRY_TEST_CHORUS] = -0x40; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 1; - gUnknown_020387B4[CRY_TEST_RELEASE] = 0x1E; - return; - } - } - else // _080BB140 - { - PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], 0x3F); - gUnknown_020387B4[CRY_TEST_CHORUS] = 0x3F; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 1; - gUnknown_020387B4[CRY_TEST_RELEASE] = 0x1E; - return; - } - // _080BB154 - PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], panpot); - gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; - return; - } - if(gMain.newKeys & L_BUTTON) // _080BB15E - { - gUnknown_020387B4[CRY_TEST_PANPOT]++; - if(gUnknown_020387B4[CRY_TEST_PANPOT] > 4) - gUnknown_020387B4[CRY_TEST_PANPOT] = 0; - } - if(gMain.newKeys & R_BUTTON) // _080BB176 - { - gUnknown_020387B4[CRY_TEST_PANPOT]--; - if(gUnknown_020387B4[CRY_TEST_PANPOT] < 0) - gUnknown_020387B4[CRY_TEST_PANPOT] = 4; - } - if(gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192 - { - gUnknown_020387B4[CRY_TEST_UNK0]++; - if(gUnknown_020387B4[CRY_TEST_UNK0] > 0xF7) - gUnknown_020387B4[CRY_TEST_UNK0] = 0; - } - else if(gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0 - { - gUnknown_020387B4[CRY_TEST_UNK0]--; - if(gUnknown_020387B4[CRY_TEST_UNK0] < 0) - gUnknown_020387B4[CRY_TEST_UNK0] = 0xF7; - } -} - -void sub_80BB1D4(void) -{ - u8 lrStr[sizeof(gOtherText_LR)]; - u8 rlStr[sizeof(gOtherText_RL)]; - - memcpy(lrStr, gOtherText_LR, sizeof(lrStr)); - memcpy(rlStr, gOtherText_RL, sizeof(rlStr)); - - sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3); - - switch(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]) - { - case 0x7F: - MenuPrint(lrStr, 7, 4); - break; - case -0x80: - MenuPrint(rlStr, 7, 4); - break; - default: - sub_80BAE78(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3); - break; - } - sub_80BAE78(IsSEPlaying(), 12, 8, 1); -} - -void sub_80BB25C(u8 taskId) -{ - struct CryRelatedStruct cryStruct, cryStruct2; - u8 zero; - - SetUpWindowConfig(&gWindowConfig_81E6C3C); - InitMenuWindow(&gWindowConfig_81E6CE4); - gUnknown_03005D34 = 1; - ResetSpriteData(); - FreeAllSpritePalettes(); - - cryStruct.unk0 = 0x2000; - cryStruct.unk2 = 29; - cryStruct.paletteNo = 12; - cryStruct.yPos = 30; - cryStruct.xPos = 4; - - zero = 0; // wtf? - gUnknown_03005E98 = 0; - - while(sub_8119E3C(&cryStruct, 3) == FALSE); - - cryStruct2.unk0 = 0; - cryStruct2.unk2 = 15; - cryStruct2.paletteNo = 13; - cryStruct2.xPos = 12; - cryStruct2.yPos = 12; - - zero = 0; // wtf? - gUnknown_03005E98 = 0; - - while(ShowPokedexCryScreen(&cryStruct2, 2) == FALSE); - - MenuDrawTextWindow(0, 16, 5, 19); - sub_80BB494(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - REG_BG2HOFS = 0; - REG_BG2VOFS = 0; - REG_BG2CNT = 0xF01; - REG_BG3CNT = 0x1D03; - REG_DISPCNT = 0x1d40; - m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2); - TASK.FUNC = sub_80BB3B4; -} - -void sub_80BB3B4(u8 taskId) -{ - sub_8119F88(3); - - if(gMain.newKeys & A_BUTTON) - { - sub_811A050(gUnknown_03005D34); - } - if(gMain.newKeys & R_BUTTON) - { - StopCryAndClearCrySongs(); - } - if(gMain.newAndRepeatedKeys & DPAD_UP) - { - if(--gUnknown_03005D34 == 0) - gUnknown_03005D34 = 384; // total species - sub_80BB494(); - } - if(gMain.newAndRepeatedKeys & DPAD_DOWN) - { - if(++gUnknown_03005D34 > 384) - gUnknown_03005D34 = 1; - sub_80BB494(); - } - if(gMain.newKeys & B_BUTTON) - { - REG_DISPCNT = 0x7140; - REG_WIN0H = WIN_RANGE(17, 223); - REG_WIN0V = WIN_RANGE(1, 31); - MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - TASK.FUNC = sub_80BA258; - DestroyCryMeterNeedleSprite(); - } -} - -void sub_80BB494(void) -{ - sub_80BAE78(gUnknown_03005D34, 1, 17, 3); -} diff --git a/src/trade.c b/src/trade.c deleted file mode 100644 index cb190d194..000000000 --- a/src/trade.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "global.h" -#include "name_string_util.h" -#include "string_util.h" -#include "text.h" - -struct InGameTrade { - /*0x00*/ u8 name[11]; - /*0x0C*/ u16 species; - /*0x0E*/ u8 ivs[6]; - /*0x14*/ bool8 secondAbility; - /*0x18*/ u32 otId; - /*0x1C*/ u8 stats[5]; - /*0x24*/ u32 personality; - /*0x28*/ u16 heldItem; - /*0x2A*/ u8 mailNum; - /*0x2B*/ u8 otName[11]; - /*0x36*/ u8 otGender; - /*0x37*/ u8 sheen; - /*0x38*/ u16 playerSpecies; -}; - -struct UnkStructC { - /*0x00*/ u16 words[9]; - /*0x10*/ u8 string[8]; - /*0x1A*/ u8 otId[4]; - /*0x1E*/ u16 species; - /*0x20*/ u16 heldItem; -}; - -struct UnkStructD { - /*0x00*/ u8 pad00[0x10]; - /*0x10*/ u8 var10; - /*0x11*/ u8 pad11[1]; - /*0x12*/ u16 var12[1]; -}; - -extern const struct InGameTrade gIngameTrades[]; -extern const u16 gIngameTradeMail[][10]; - - -void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { - int y, x; - - for (y = 0; y < height; y++) - { - - for (x = 0; x < width; x++) - { - arg0->var12[(top * 32 + left) + y * 32 + x] = tilemap[width * y + x] | sp8; - } - } - -#if ENGLISH - arg0->var10 = 1; -#endif -} - -#if GERMAN -void sub_804A96C_alt(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) { - sub_804A96C(arg0, left, top, tilemap, width, height, sp8); - - arg0->var10 = 1; -} -#endif - -asm(".section .text.sub_804DAD4"); - -void sub_804DAD4(struct UnkStructC *arg0, struct InGameTrade *trade) { - s32 i; - - for (i = 0; i < 9; i++) - { - arg0->words[i] = gIngameTradeMail[trade->mailNum][i]; - } - - StringCopy(arg0->string, trade->otName); - -#if GERMAN - PadNameString(arg0->string, CHAR_SPACE); -#endif - - arg0->otId[0] = trade->otId >> 24; - arg0->otId[1] = trade->otId >> 16; - arg0->otId[2] = trade->otId >> 8; - arg0->otId[3] = trade->otId; - arg0->species = trade->species; - arg0->heldItem = trade->heldItem; -} diff --git a/src/unused_8124F94.c b/src/unused_8124F94.c index 93b569058..5f76fa92e 100644 --- a/src/unused_8124F94.c +++ b/src/unused_8124F94.c @@ -64,7 +64,7 @@ u8 unref_sub_8124FD8(struct UnknownStruct1 *a, const struct UnknownStruct2 *b) } else { - sub_800D238(b->src, a->dest + a->unk2 * 64); + LZDecompressWram(b->src, a->dest + a->unk2 * 64); } a->unk88[a->unk1].unk8 = a->unk2; temp = r6 + a->unk2; @@ -95,7 +95,7 @@ u8 unref_sub_81250A4(struct UnknownStruct1 *a, struct UnknownStruct3 *b) { u16 palette[16]; - sub_800D238(b->paletteSrc, palette); + LZDecompressWram(b->paletteSrc, palette); LoadPalette(palette, a->paletteNum * 16, 32); } a->unk8[a->paletteNum].paletteCount = a->paletteNum; @@ -111,7 +111,7 @@ u8 unref_sub_8125118(struct UnknownStruct1 *a, struct UnknownStruct3 *b) u8 r7 = b->paletteCount; u8 i; - sub_800D238(b->paletteSrc, palettes); + LZDecompressWram(b->paletteSrc, palettes); for (i = a->paletteNum; i < r7; i++) { if (a->paletteNum + i >= 16) diff --git a/sym_bss.txt b/sym_bss.txt index ab1d8c280..4f6d9c95b 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -1,98 +1,41 @@ - .include "src/main.o" - .include "src/sprite.o" - .include "src/text.o" - .include "src/string_util.o" - .include "src/link.o" - .include "src/rtc.o" - -@ daycare - - .align 2 -gUnknown_03000470: @ 3000470 - .space 0x68 - -gUnknown_030004D8: @ 30004D8 - .space 0x8 - -gUnknown_030004E0: @ 30004E0 - .space 0x8 - -gUnknown_030004E8: @ 30004E8 - .space 0x18 - -gUnknown_03000500: @ 3000500 - .space 0x8 - -@ trade - -gUnknown_03000508: @ 3000508 - .space 0x8 - - .include "src/berry_blender.o" - .include "src/play_time.o" - .include "src/overworld.o" - - @ unused variable? - .align 2 - .space 0x4 - - .include "src/field_camera.o" - .include "src/field_map_obj.o" - .include "src/field_message_box.o" - .include "src/text_window.o" - .include "src/script.o" - .include "src/start_menu.o" - .include "src/menu.o" - .include "src/tileset_anim.o" - .include "src/sound.o" - -@ field_weather - -gUnknown_030006DC: @ 30006DC - .space 0x4 - - .include "src/field_effect.o" - .include "src/item_menu.o" - .include "src/shop.o" - .include "src/record_mixing.o" - .include "src/tv.o" - - @ unused variable? - .align 2 - .space 0x4 - -@ battle_anim_80CA710 - -gUnknown_03000728: @ 3000728 - .space 0x8 - -gUnknown_03000730: @ 3000730 - .space 0x10 - -@ easy_chat - -gUnknown_03000740: @ 3000740 - .space 0x4 - -@ pokenav - -gUnknown_03000744: @ 3000744 - .space 0x4 - - .include "src/mauville_man.o" - .include "src/menu_helpers.o" - .include "src/contest_painting.o" - .include "src/pokeblock.o" - - @ unused variable? - .align 2 - .space 0x4 - - .include "src/field_specials.o" - .include "src/learn_move.o" - .include "src/player_pc.o" + .include "src/engine/main.o" + .include "src/engine/sprite.o" + .include "src/engine/text.o" + .include "src/engine/string_util.o" + .include "src/engine/link.o" + .include "src/engine/rtc.o" + .include "src/field/daycare.o" + .include "src/engine/trade.o" + .include "src/scene/berry_blender.o" + .include "src/engine/play_time.o" + .include "src/field/overworld.o" + .include "src/field/field_camera.o" + .include "src/field/field_map_obj.o" + .include "src/field/field_message_box.o" + .include "src/engine/text_window.o" + .include "src/engine/script.o" + .include "src/field/start_menu.o" + .include "src/engine/menu.o" + .include "src/engine/tileset_anim.o" + .include "src/engine/sound.o" + .include "src/field/field_weather.o" + .include "src/field/field_effect.o" + .include "src/field/item_menu.o" + .include "src/field/shop.o" + .include "src/engine/record_mixing.o" + .include "src/field/tv.o" + .include "src/battle/battle_anim_80CA710.o" + .include "src/field/easy_chat.o" + .include "src/field/pokenav.o" + .include "src/field/mauville_man.o" + .include "src/field/menu_helpers.o" + .include "src/scene/contest_painting.o" + .include "src/field/pokeblock.o" + .include "src/field/field_specials.o" + .include "src/pokemon/learn_move.o" + .include "src/field/player_pc.o" .include "asm/m4a_1.o" - .include "src/agb_flash.o" - .include "src/siirtc.o" + .include "src/libs/agb_flash.o" + .include "src/libs/siirtc.o" .include "tools/agbcc/lib/libgcc.a:dp-bit.o" .include "tools/agbcc/lib/libgcc.a:fp-bit.o" diff --git a/sym_common.txt b/sym_common.txt index d9da3ec3b..b1d99f58b 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -1,8 +1,8 @@ - .include "main.o" - .include "sprite.o" - .include "string_util.o" - .include "link.o" - .include "rtc.o" + .include "engine/main.o" + .include "engine/sprite.o" + .include "engine/string_util.o" + .include "engine/link.o" + .include "engine/rtc.o" .include "rom3.o" @ battle @@ -104,10 +104,10 @@ gUnknown_03004348: @ 3004348 gUnknown_0300434C: @ 300434C .space 0x4 - .include "pokemon_1.o" - .include "rng.o" - .include "egg_hatch.o" - .include "load_save.o" + .include "pokemon/pokemon_1.o" + .include "engine/rng.o" + .include "scene/egg_hatch.o" + .include "engine/load_save.o" @ trade @@ -117,12 +117,12 @@ gUnknown_03004824: @ 3004824 gUnknown_03004828: @ 3004828 .space 0x8 - .include "berry_blender.o" - .include "overworld.o" - .include "fieldmap.o" - .include "field_camera.o" - .include "field_map_obj.o" - .include "field_control_avatar.o" + .include "scene/berry_blender.o" + .include "field/overworld.o" + .include "field/fieldmap.o" + .include "field/field_camera.o" + .include "field/field_map_obj.o" + .include "field/field_control_avatar.o" @ party_menu? @@ -130,11 +130,11 @@ gUnknown_03004828: @ 3004828 gUnknown_03004AE4: @ 3004AE4 .space 0x4 - .include "start_menu.o" - .include "sound.o" - .include "battle_anim.o" - .include "task.o" - .include "mori_debug_menu.o" + .include "field/start_menu.o" + .include "engine/sound.o" + .include "battle/battle_anim.o" + .include "engine/task.o" + .include "debug/mori_debug_menu.o" @ unknown_task @@ -160,8 +160,8 @@ gUnknown_03005560: @ 3005560 gUnknown_030056A0: @ 30056A0 .space 0x640 - .include "pokemon_menu.o" - .include "pokedex.o" + .include "pokemon/pokemon_menu.o" + .include "pokemon/pokedex.o" @ pokemon_summary_screen @@ -172,7 +172,7 @@ gUnknown_03005CF0: @ 3005CF0 @ item_menu .align 4 -gUnknown_03005D00: @ 3005D00 +gFieldItemUseCallback: @ 3005D00 .space 0x10 gBagPocketScrollStates: @ 3005D10 @@ -187,14 +187,9 @@ gCurrentBagPocketItemSlots: @ 3005D24 gUnknown_03005D28: @ 3005D28 .space 0x4 - .include "record_mixing.o" - .include "sound_check_menu.o" - - .align 2 -gUnknown_03005D34: @ 3005D34 - .space 0x4 - - .include "tv.o" + .include "engine/record_mixing.o" + .include "debug/sound_check_menu.o" + .include "field/tv.o" .space 0x64 @ unused variable? @@ -236,19 +231,19 @@ gUnknown_03005E08: @ 3005E08 gUnknown_03005E0C: @ 3005E0C .space 0x4 - .include "contest_painting.o" - .include "evolution_scene.o" + .include "scene/contest_painting.o" + .include "scene/evolution_scene.o" @ pokedex_cry_screen gUnknown_03005E98: @ 3005E98 .space 0x4 - .include "save.o" + .include "engine/save.o" .space 0x10 @ unused variable? - .include "intro.o" + .include "scene/intro.o" @ battle_anim_813F0F4 @@ -262,7 +257,6 @@ gUnknown_03005F10: @ 3005F10 gUnknown_03005F14: @ 3005F14 .space 0xC - - .include "pokeblock_feed.o" - .include "m4a_2.o" - .include "agb_flash.o" + .include "pokemon/pokeblock_feed.o" + .include "libs/m4a_2.o" + .include "libs/agb_flash.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index 040173cfd..09351240f 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,11 +1,11 @@ - .include "src/main.o" - .include "src/sprite.o" - .include "src/text.o" - .include "src/string_util.o" + .include "src/engine/main.o" + .include "src/engine/sprite.o" + .include "src/engine/text.o" + .include "src/engine/string_util.o" .space 0x2E8 - .include "src/link.o" + .include "src/engine/link.o" .include "src/rom3.o" @ battle @@ -293,9 +293,9 @@ gMoveToLearn: @ 2024E82 gBattleMonForms: @ 2024E84 .space 0x4 - .include "src/pokemon_1.o" - .include "src/pokemon_2.o" - .include "src/load_save.o" + .include "src/pokemon/pokemon_1.o" + .include "src/pokemon/pokemon_2.o" + .include "src/engine/load_save.o" @ trade @@ -308,17 +308,17 @@ gUnknown_02029700: @ 2029700 gUnknown_020297D8: @ 20297D8 .space 0x4 - .include "src/berry_blender.o" - .include "src/new_game.o" - .include "src/overworld.o" - .include "src/fieldmap.o" - .include "src/field_camera.o" - .include "src/field_player_avatar.o" - .include "src/field_message_box.o" - .include "src/script.o" - .include "src/scrcmd.o" - .include "src/field_control_avatar.o" - .include "src/event_data.o" + .include "src/scene/berry_blender.o" + .include "src/scene/new_game.o" + .include "src/field/overworld.o" + .include "src/field/fieldmap.o" + .include "src/field/field_camera.o" + .include "src/field/field_player_avatar.o" + .include "src/field/field_message_box.o" + .include "src/engine/script.o" + .include "src/field/scrcmd.o" + .include "src/field/field_control_avatar.o" + .include "src/field/event_data.o" @ party_menu @@ -335,17 +335,17 @@ gUnknown_0202E8F6: @ 202E8F6 gUnknown_0202E8F8: @ 202E8F8 .space 0x2 -gUnknown_0202E8FA: @ 202E8FA +gPartyMenuType: @ 202E8FA .space 0x2 - .include "src/start_menu.o" - .include "src/menu.o" - .include "src/tileset_anim.o" - .include "src/palette.o" - .include "src/sound.o" - .include "src/battle_anim.o" + .include "src/field/start_menu.o" + .include "src/engine/menu.o" + .include "src/engine/tileset_anim.o" + .include "src/engine/palette.o" + .include "src/engine/sound.o" + .include "src/battle/battle_anim.o" .include "src/rom_8077ABC.o" - .include "src/title_screen.o" + .include "src/scene/title_screen.o" @ field_weather @@ -365,20 +365,19 @@ gUnknown_0202FF38: @ 202FF38 gUnknown_0202FF58: @ 202FF58 .space 0x4 - .include "src/battle_setup.o" - .include "src/wild_encounter.o" - .include "src/field_effect.o" + .include "src/battle/battle_setup.o" + .include "src/field/wild_encounter.o" + .include "src/field/field_effect.o" @ unknown_task gUnknown_0202FFA4: @ 202FFA4 .space 0x4 - - .include "src/pokemon_menu.o" - .include "src/pokedex.o" - .include "src/trainer_card.o" - .include "src/pokemon_storage_system.o" + .include "src/pokemon/pokemon_menu.o" + .include "src/pokemon/pokedex.o" + .include "src/engine/trainer_card.o" + .include "src/pokemon/pokemon_storage_system.o" @ still pokemon_storage_system @@ -442,9 +441,9 @@ gUnknown_020384F0: @ 20384F0 gUnknown_020384F4: @ 20384F4 .space 0x4 - .include "src/script_movement.o" - .include "src/map_name_popup.o" - .include "src/item_menu.o" + .include "src/field/script_movement.o" + .include "src/field/map_name_popup.o" + .include "src/field/item_menu.o" @ contest @@ -501,8 +500,8 @@ gScriptContestCategory: @ 203869C gScriptContestRank: @ 203869E .space 0x2 - .include "src/shop.o" - .include "src/money.o" + .include "src/field/shop.o" + .include "src/field/money.o" @ record_mixing @@ -510,7 +509,7 @@ gScriptContestRank: @ 203869E gUnknown_02038738: @ 2038738 .space 0x78 - .include "src/sound_check_menu.o" + .include "src/debug/sound_check_menu.o" @ secret_base @@ -520,7 +519,7 @@ gUnknown_020387DC: @ 20387DC @ tv - .include "src/tv.o" + .include "src/field/tv.o" @ fldeff_80C5CD4 @@ -528,8 +527,8 @@ gUnknown_020387DC: @ 20387DC gUnknown_020387EC: @ 20387EC .space 0x4 - .include "src/rotating_gate.o" - .include "src/safari_zone.o" + .include "src/field/rotating_gate.o" + .include "src/field/safari_zone.o" @ easy_chat @@ -544,15 +543,15 @@ gUnknown_020388B0: @ 20388B0 gUnknown_020388B4: @ 20388B4 .space 0x4 - .include "src/mon_markings.o" - .include "src/mauville_man.o" - .include "src/menu_helpers.o" - .include "src/region_map.o" - .include "src/decoration.o" - .include "src/battle_ai.o" + .include "src/pokemon/mon_markings.o" + .include "src/field/mauville_man.o" + .include "src/field/menu_helpers.o" + .include "src/field/region_map.o" + .include "src/field/decoration.o" + .include "src/battle/battle_ai.o" .include "src/rom6.o" - .include "src/pokeblock.o" - .include "src/field_specials.o" + .include "src/field/pokeblock.o" + .include "src/field/field_specials.o" @ pokedex_area_screen @@ -580,7 +579,7 @@ gUnknown_0203926A: @ 203926A gAbilitiesPerBank: @ 203926C .space 0x4 - .include "src/choose_party.o" + .include "src/field/choose_party.o" @ cable_car @@ -606,19 +605,19 @@ gUnknown_0203927C: @ 203927C gUnknown_0203927D: @ 203927D .space 0x7 - .include "src/save.o" - .include "src/mystery_event_script.o" - .include "src/roamer.o" - .include "src/use_pokeblock.o" - .include "src/player_pc.o" - .include "src/intro.o" - .include "src/hall_of_fame.o" - .include "src/credits.o" - .include "src/lottery_corner.o" - .include "src/berry_tag_screen.o" - .include "src/mystery_event_menu.o" - .include "src/save_failed_screen.o" - .include "src/pokeblock_feed.o" + .include "src/engine/save.o" + .include "src/engine/mystery_event_script.o" + .include "src/field/roamer.o" + .include "src/field/use_pokeblock.o" + .include "src/field/player_pc.o" + .include "src/scene/intro.o" + .include "src/scene/hall_of_fame.o" + .include "src/scene/credits.o" + .include "src/field/lottery_corner.o" + .include "src/field/berry_tag_screen.o" + .include "src/engine/mystery_event_menu.o" + .include "src/engine/save_failed_screen.o" + .include "src/pokemon/pokeblock_feed.o" @ intro_credits_graphics @@ -645,4 +644,4 @@ gUnknown_02039760: @ 2039760 gUnknown_0203A360: @ 203A360 .space 0x20 - .include "src/menu_cursor.o" + .include "src/engine/menu_cursor.o" diff --git a/tools/gbagfx/convert_png.c b/tools/gbagfx/convert_png.c index f6a30804a..37904318c 100644 --- a/tools/gbagfx/convert_png.c +++ b/tools/gbagfx/convert_png.c @@ -7,163 +7,206 @@ #include "convert_png.h" #include "gfx.h" -void ReadPng(char *path, struct Image *image) +static FILE *PngReadOpen(char *path, png_structp *pngStruct, png_infop *pngInfo) { - FILE *fp = fopen(path, "rb"); + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + unsigned char sig[8]; + + if (fread(sig, 8, 1, fp) != 1) + FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path); + + if (png_sig_cmp(sig, 0, 8)) + FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path); + + png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (!png_ptr) + FATAL_ERROR("Failed to create PNG read struct.\n"); + + png_infop info_ptr = png_create_info_struct(png_ptr); + + if (!info_ptr) + FATAL_ERROR("Failed to create PNG info struct.\n"); - if (fp == NULL) - FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path); - unsigned char sig[8]; + png_init_io(png_ptr, fp); + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); - if (fread(sig, 8, 1, fp) != 1) - FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path); + *pngStruct = png_ptr; + *pngInfo = info_ptr; - if (png_sig_cmp(sig, 0, 8)) - FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path); + return fp; +} + +void ReadPng(char *path, struct Image *image) +{ + png_structp png_ptr; + png_infop info_ptr; + + FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr); - png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + int bit_depth = png_get_bit_depth(png_ptr, info_ptr); - if (!png_ptr) - FATAL_ERROR("Failed to create PNG read struct.\n"); + if (bit_depth != image->bitDepth) + FATAL_ERROR("\"%s\" has a bit depth of %d, but the expected bit depth is %d.\n", path, bit_depth, image->bitDepth); - png_infop info_ptr = png_create_info_struct(png_ptr); + int color_type = png_get_color_type(png_ptr, info_ptr); - if (!info_ptr) - FATAL_ERROR("Failed to create PNG info struct.\n"); + if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE) + FATAL_ERROR("\"%s\" has an unsupported color type.\n", path); - if (setjmp(png_jmpbuf(png_ptr))) - FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path); + // Check if the image has a palette so that we can tell if the colors need to be inverted later. + // Don't read the palette because it's not needed for now. + image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE); - png_init_io(png_ptr, fp); - png_set_sig_bytes(png_ptr, 8); - png_read_info(png_ptr, info_ptr); + image->width = png_get_image_width(png_ptr, info_ptr); + image->height = png_get_image_height(png_ptr, info_ptr); - int bit_depth = png_get_bit_depth(png_ptr, info_ptr); + int rowbytes = png_get_rowbytes(png_ptr, info_ptr); - if (bit_depth != image->bitDepth) - FATAL_ERROR("\"%s\" has a bit depth of %d, but the expected bit depth is %d.\n", path, bit_depth, image->bitDepth); + image->pixels = malloc(image->height * rowbytes); - int color_type = png_get_color_type(png_ptr, info_ptr); + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate pixel buffer.\n"); - if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE) - FATAL_ERROR("\"%s\" has an unsupported color type.\n", path); + png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); - // Check if the image has a palette so that we can tell if the colors need to be inverted later. - // Don't read the palette because it's not needed for now. - image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE); + if (row_pointers == NULL) + FATAL_ERROR("Failed to allocate row pointers.\n"); - image->width = png_get_image_width(png_ptr, info_ptr); - image->height = png_get_image_height(png_ptr, info_ptr); + for (int i = 0; i < image->height; i++) + row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); - int rowbytes = png_get_rowbytes(png_ptr, info_ptr); + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error reading from \"%s\".\n", path); - image->pixels = malloc(image->height * rowbytes); + png_read_image(png_ptr, row_pointers); - if (image->pixels == NULL) - FATAL_ERROR("Failed to allocate pixel buffer.\n"); + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + + free(row_pointers); + fclose(fp); +} + +void ReadPngPalette(char *path, struct Palette *palette) +{ + png_structp png_ptr; + png_infop info_ptr; + png_colorp colors; + int numColors; - png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); + FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr); - if (row_pointers == NULL) - FATAL_ERROR("Failed to allocate row pointers.\n"); + if (png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) + FATAL_ERROR("The image \"%s\" does not contain a palette.\n", path); - for (int i = 0; i < image->height; i++) - row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); + if (png_get_PLTE(png_ptr, info_ptr, &colors, &numColors) != PNG_INFO_PLTE) + FATAL_ERROR("Failed to retrieve palette from \"%s\".\n", path); - if (setjmp(png_jmpbuf(png_ptr))) - FATAL_ERROR("Error reading from \"%s\".\n", path); + if (numColors > 256) + FATAL_ERROR("Images with more than 256 colors are not supported.\n"); - png_read_image(png_ptr, row_pointers); + palette->numColors = numColors; + for (int i = 0; i < numColors; i++) { + palette->colors[i].red = colors[i].red; + palette->colors[i].green = colors[i].green; + palette->colors[i].blue = colors[i].blue; + } - png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); - free(row_pointers); - fclose(fp); + fclose(fp); } void SetPngPalette(png_structp png_ptr, png_infop info_ptr, struct Palette *palette) { - png_colorp colors = malloc(palette->numColors * sizeof(png_color)); + png_colorp colors = malloc(palette->numColors * sizeof(png_color)); - if (colors == NULL) - FATAL_ERROR("Failed to allocate PNG palette.\n"); + if (colors == NULL) + FATAL_ERROR("Failed to allocate PNG palette.\n"); - for (int i = 0; i < palette->numColors; i++) { - colors[i].red = palette->colors[i].red; - colors[i].green = palette->colors[i].green; - colors[i].blue = palette->colors[i].blue; - } + for (int i = 0; i < palette->numColors; i++) { + colors[i].red = palette->colors[i].red; + colors[i].green = palette->colors[i].green; + colors[i].blue = palette->colors[i].blue; + } - png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors); + png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors); - free(colors); + free(colors); } void WritePng(char *path, struct Image *image) { - FILE *fp = fopen(path, "wb"); + FILE *fp = fopen(path, "wb"); - if (fp == NULL) - FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); - png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (!png_ptr) - FATAL_ERROR("Failed to create PNG write struct.\n"); + if (!png_ptr) + FATAL_ERROR("Failed to create PNG write struct.\n"); - png_infop info_ptr = png_create_info_struct(png_ptr); + png_infop info_ptr = png_create_info_struct(png_ptr); - if (!info_ptr) - FATAL_ERROR("Failed to create PNG info struct.\n"); + if (!info_ptr) + FATAL_ERROR("Failed to create PNG info struct.\n"); - if (setjmp(png_jmpbuf(png_ptr))) - FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path); + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path); - png_init_io(png_ptr, fp); + png_init_io(png_ptr, fp); - if (setjmp(png_jmpbuf(png_ptr))) - FATAL_ERROR("Error writing header for \"%s\".\n", path); + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error writing header for \"%s\".\n", path); - int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY; + int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY; - png_set_IHDR(png_ptr, info_ptr, image->width, image->height, - image->bitDepth, color_type, PNG_INTERLACE_NONE, - PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + png_set_IHDR(png_ptr, info_ptr, image->width, image->height, + image->bitDepth, color_type, PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); - if (image->hasPalette) { - SetPngPalette(png_ptr, info_ptr, &image->palette); + if (image->hasPalette) { + SetPngPalette(png_ptr, info_ptr, &image->palette); - if (image->hasTransparency) { - png_byte trans = 0; - png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0); - } - } + if (image->hasTransparency) { + png_byte trans = 0; + png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0); + } + } - png_write_info(png_ptr, info_ptr); + png_write_info(png_ptr, info_ptr); - png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); + png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); - if (row_pointers == NULL) - FATAL_ERROR("Failed to allocate row pointers.\n"); + if (row_pointers == NULL) + FATAL_ERROR("Failed to allocate row pointers.\n"); - int rowbytes = png_get_rowbytes(png_ptr, info_ptr); + int rowbytes = png_get_rowbytes(png_ptr, info_ptr); - for (int i = 0; i < image->height; i++) - row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); + for (int i = 0; i < image->height; i++) + row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); - if (setjmp(png_jmpbuf(png_ptr))) - FATAL_ERROR("Error writing \"%s\".\n", path); + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error writing \"%s\".\n", path); - png_write_image(png_ptr, row_pointers); + png_write_image(png_ptr, row_pointers); - if (setjmp(png_jmpbuf(png_ptr))) - FATAL_ERROR("Error ending write of \"%s\".\n", path); + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error ending write of \"%s\".\n", path); - png_write_end(png_ptr, NULL); + png_write_end(png_ptr, NULL); - fclose(fp); + fclose(fp); - png_destroy_write_struct(&png_ptr, &info_ptr); - free(row_pointers); + png_destroy_write_struct(&png_ptr, &info_ptr); + free(row_pointers); } diff --git a/tools/gbagfx/convert_png.h b/tools/gbagfx/convert_png.h index 55d3d6942..caf081b73 100644 --- a/tools/gbagfx/convert_png.h +++ b/tools/gbagfx/convert_png.h @@ -7,5 +7,6 @@ void ReadPng(char *path, struct Image *image); void WritePng(char *path, struct Image *image); +void ReadPngPalette(char *path, struct Palette *palette); #endif // CONVERT_PNG_H diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c index 37d3441fe..97db60e84 100644 --- a/tools/gbagfx/main.c +++ b/tools/gbagfx/main.c @@ -134,6 +134,14 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a ConvertPngToGba(inputPath, outputPath, numTiles, bitDepth); } +void HandlePngToGbaPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Palette palette; + + ReadPngPalette(inputPath, &palette); + WriteGbaPalette(outputPath, &palette); +} + void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) { struct Palette palette; @@ -353,6 +361,7 @@ int main(int argc, char **argv) { "png", "1bpp", HandlePngToGbaCommand }, { "png", "4bpp", HandlePngToGbaCommand }, { "png", "8bpp", HandlePngToGbaCommand }, + { "png", "gbapal", HandlePngToGbaPaletteCommand }, { "gbapal", "pal", HandleGbaToJascPaletteCommand }, { "pal", "gbapal", HandleJascToGbaPaletteCommand }, { "latfont", "png", HandleLatinFontToPngCommand }, diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp index b82276dd6..f7acc833f 100644 --- a/tools/scaninc/c_file.cpp +++ b/tools/scaninc/c_file.cpp @@ -45,8 +45,6 @@ CFile::CFile(std::string path) m_pos = 0; m_lineNum = 1; - - RemoveComments(); } CFile::~CFile() @@ -54,71 +52,6 @@ CFile::~CFile() delete[] m_buffer; } -// Removes comments to simplify further processing. -// It stops upon encountering a null character, -// which may or may not be the end of file marker. -// If it's not, the error will be caught later. -void CFile::RemoveComments() -{ - long pos = 0; - char stringChar = 0; - - for (;;) - { - if (m_buffer[pos] == 0) - return; - - if (stringChar != 0) - { - if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == stringChar) - { - pos += 2; - } - else - { - if (m_buffer[pos] == stringChar) - stringChar = 0; - pos++; - } - } - else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '/') - { - while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) - m_buffer[pos++] = ' '; - } - else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '*') - { - m_buffer[pos++] = ' '; - m_buffer[pos++] = ' '; - - for (;;) - { - if (m_buffer[pos] == 0) - return; - - if (m_buffer[pos] == '*' && m_buffer[pos + 1] == '/') - { - m_buffer[pos++] = ' '; - m_buffer[pos++] = ' '; - break; - } - else - { - if (m_buffer[pos] != '\n') - m_buffer[pos] = ' '; - pos++; - } - } - } - else - { - if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') - stringChar = m_buffer[pos]; - pos++; - } - } -} - void CFile::FindIncbins() { char stringChar = 0; @@ -145,6 +78,8 @@ void CFile::FindIncbins() } else { + SkipWhitespace(); + CheckInclude(); CheckIncbin(); if (m_pos >= m_size) @@ -177,6 +112,13 @@ bool CFile::ConsumeHorizontalWhitespace() bool CFile::ConsumeNewline() { + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + return true; + } + if (m_buffer[m_pos] == '\r' && m_buffer[m_pos + 1] == '\n') { m_pos += 2; @@ -184,10 +126,33 @@ bool CFile::ConsumeNewline() return true; } - if (m_buffer[m_pos] == '\n') + return false; +} + +bool CFile::ConsumeComment() +{ + if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '*') { - m_pos++; - m_lineNum++; + m_pos += 2; + while (m_buffer[m_pos] != '*' && m_buffer[m_pos + 1] != '/') + { + if (m_buffer[m_pos] == 0) + return false; + if (!ConsumeNewline()) + m_pos++; + } + m_pos += 2; + return true; + } + else if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '/') + { + m_pos += 2; + while (!ConsumeNewline()) + { + if (m_buffer[m_pos] == 0) + return false; + m_pos++; + } return true; } @@ -196,7 +161,7 @@ bool CFile::ConsumeNewline() void CFile::SkipWhitespace() { - while (ConsumeHorizontalWhitespace() || ConsumeNewline()) + while (ConsumeHorizontalWhitespace() || ConsumeNewline() || ConsumeComment()) ; } @@ -211,8 +176,43 @@ bool CFile::CheckIdentifier(const std::string& ident) return (i == ident.length()); } +void CFile::CheckInclude() +{ + if (m_buffer[m_pos] != '#') + return; + + std::string ident = "#include"; + + if (!CheckIdentifier(ident)) + { + return; + } + + m_pos += ident.length(); + + ConsumeHorizontalWhitespace(); + + std::string path = ReadPath(); + + if (!path.empty()) { + m_includes.emplace(path); + } +} + void CFile::CheckIncbin() { + // Optimization: assume most lines are not incbins + if (!(m_buffer[m_pos+0] == 'I' + && m_buffer[m_pos+1] == 'N' + && m_buffer[m_pos+2] == 'C' + && m_buffer[m_pos+3] == 'B' + && m_buffer[m_pos+4] == 'I' + && m_buffer[m_pos+5] == 'N' + && m_buffer[m_pos+6] == '_')) + { + return; + } + std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; int incbinType = -1; @@ -246,8 +246,28 @@ void CFile::CheckIncbin() SkipWhitespace(); + std::string path = ReadPath(); + + SkipWhitespace(); + + if (m_buffer[m_pos] != ')') + FATAL_INPUT_ERROR("expected ')'"); + + m_pos++; + + m_incbins.emplace(path); +} + +std::string CFile::ReadPath() +{ if (m_buffer[m_pos] != '"') - FATAL_INPUT_ERROR("expected double quote"); + { + if (m_buffer[m_pos] == '<') + { + return std::string(); + } + FATAL_INPUT_ERROR("expected '\"' or '<'"); + } m_pos++; @@ -272,16 +292,7 @@ void CFile::CheckIncbin() m_pos++; } - std::string path(&m_buffer[startPos], m_pos - startPos); - m_pos++; - SkipWhitespace(); - - if (m_buffer[m_pos] != ')') - FATAL_INPUT_ERROR("expected ')'"); - - m_pos++; - - m_incbins.emplace(path); + return std::string(m_buffer + startPos, m_pos - 1 - startPos); } diff --git a/tools/scaninc/c_file.h b/tools/scaninc/c_file.h index 922cb4639..618901b85 100644 --- a/tools/scaninc/c_file.h +++ b/tools/scaninc/c_file.h @@ -33,6 +33,7 @@ public: ~CFile(); void FindIncbins(); const std::set<std::string>& GetIncbins() { return m_incbins; } + const std::set<std::string>& GetIncludes() { return m_includes; } private: char *m_buffer; @@ -41,13 +42,16 @@ private: int m_lineNum; std::string m_path; std::set<std::string> m_incbins; + std::set<std::string> m_includes; - void RemoveComments(); bool ConsumeHorizontalWhitespace(); bool ConsumeNewline(); + bool ConsumeComment(); void SkipWhitespace(); bool CheckIdentifier(const std::string& ident); + void CheckInclude(); void CheckIncbin(); + std::string ReadPath(); }; #endif // C_FILE_H diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index b6f7ba767..3dc221479 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -20,7 +20,8 @@ #include <cstdio> #include <cstdlib> -#include <stack> +#include <list> +#include <queue> #include <set> #include <string> #include "scaninc.h" @@ -38,15 +39,49 @@ bool CanOpenFile(std::string path) return true; } +const char *const USAGE = "Usage: scaninc [-I INCLUDE_PATH] FILE_PATH\n"; + int main(int argc, char **argv) { - if (argc < 2) - FATAL_ERROR("Usage: scaninc FILE_PATH\n"); - - std::stack<std::string> filesToProcess; + std::queue<std::string> filesToProcess; std::set<std::string> dependencies; - std::string initialPath(argv[1]); + std::list<std::string> includeDirs; + + argc--; + argv++; + + while (argc > 1) + { + std::string arg(argv[0]); + if (arg.substr(0, 2) == "-I") + { + std::string includeDir = arg.substr(2); + if (includeDir.empty()) + { + argc--; + argv++; + includeDir = std::string(argv[0]); + } + if (includeDir.back() != '/') + { + includeDir += '/'; + } + includeDirs.push_back(includeDir); + } + else + { + FATAL_ERROR(USAGE); + } + argc--; + argv++; + } + + if (argc != 1) { + FATAL_ERROR(USAGE); + } + + std::string initialPath(argv[0]); std::size_t pos = initialPath.find_last_of('.'); @@ -55,20 +90,53 @@ int main(int argc, char **argv) std::string extension = initialPath.substr(pos + 1); - if (extension == "c") + std::string srcDir(""); + std::size_t slash = initialPath.rfind('/'); + if (slash != std::string::npos) { - CFile file(initialPath); + srcDir = initialPath.substr(0, slash + 1); + } + includeDirs.push_back(srcDir); + + if (extension == "c" || extension == "h") + { + filesToProcess.push(initialPath); + + while (!filesToProcess.empty()) + { + CFile file(filesToProcess.front()); + filesToProcess.pop(); - file.FindIncbins(); - dependencies = file.GetIncbins(); + file.FindIncbins(); + for (auto incbin : file.GetIncbins()) + { + dependencies.insert(incbin); + } + for (auto include : file.GetIncludes()) + { + for (auto includeDir : includeDirs) + { + std::string path(includeDir + include); + if (CanOpenFile(path)) + { + bool inserted = dependencies.insert(path).second; + if (inserted) + { + filesToProcess.push(path); + } + break; + } + } + } + } } - else if (extension == "s") + else if (extension == "s" || extension == "inc") { - filesToProcess.push(std::string(argv[1])); + filesToProcess.push(initialPath); while (!filesToProcess.empty()) { - AsmFile file(filesToProcess.top()); + AsmFile file(filesToProcess.front()); filesToProcess.pop(); |