From 140b01bbd6dac2c29c4fbc2cbe4360380851448e Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 16 Apr 2014 13:19:06 -0400 Subject: Use bits for status constants instead of masks. --- constants/status_constants.asm | 12 ++++++------ main.asm | 44 +++++++++++++++++++++--------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/constants/status_constants.asm b/constants/status_constants.asm index 8dd99e1d..866ea03c 100755 --- a/constants/status_constants.asm +++ b/constants/status_constants.asm @@ -1,6 +1,6 @@ -; status ailments (masks) -SLP EQU %00000111 -PSN EQU %00001000 -BRN EQU %00010000 -FRZ EQU %00100000 -PAR EQU %01000000 \ No newline at end of file +; status ailments +SLP EQU %111 ; mask +PSN EQU 3 +BRN EQU 4 +FRZ EQU 5 +PAR EQU 6 diff --git a/main.asm b/main.asm index dd788ea9..76ded1a1 100755 --- a/main.asm +++ b/main.asm @@ -24483,7 +24483,7 @@ ItemUseBall: ; d687 (3:5687) ld a,[W_ENEMYMONSTATUS] ;status ailments and a jr z,.noAilments - and a,(FRZ + SLP) ;is frozen and/or asleep? + and a, 1 << FRZ | SLP ;is frozen and/or asleep? ld c,12 jr z,.notFrozenOrAsleep ld c,25 @@ -24592,7 +24592,7 @@ ItemUseBall: ; d687 (3:5687) ld a,[W_ENEMYMONSTATUS] ;status ailments and a jr z,.next13 - and a,(FRZ + SLP) + and a, 1 << FRZ | SLP ld b,5 jr z,.next14 ld b,10 @@ -56709,12 +56709,12 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) ld de, W_ENEMYMONSTATUS ; $cfe9 .playersTurn ld a, [de] - and BRN | PSN + and (1 << BRN) | (1 << PSN) jr z, .notBurnedOrPoisoned push hl ld hl, HurtByPoisonText ld a, [de] - and BRN + and 1 << BRN jr z, .poisoned ld hl, HurtByBurnText .poisoned @@ -59139,7 +59139,7 @@ SelectEnemyMove: ; 3d564 (f:5564) and $12 ; using multi-turn move or bide ret nz ld a, [W_ENEMYMONSTATUS] - and SLP | FRZ ; sleeping or frozen + and SLP | 1 << FRZ ; sleeping or frozen ret nz ld a, [W_ENEMYBATTSTATUS1] and $21 ; using fly/dig or thrash/petal dance @@ -59461,7 +59461,7 @@ Func_3d811: ; 3d811 (f:5811) and a jr nz,.Ghost ld a,[W_PLAYERMONSTATUS] ; player’s turn - and a,SLP | FRZ + and a,SLP | (1 << FRZ) ret nz ld hl,ScaredText call PrintText @@ -59526,7 +59526,7 @@ Func_3d854: ; 3d854 (f:5854) jp Func_3da37 .FrozenCheck - bit 5,[hl] ; frozen? + bit FRZ,[hl] ; frozen? jr z,.HeldInPlaceCheck ; to 5898 ld hl,FrozenText call PrintText @@ -63546,14 +63546,14 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c) jr z, .burn cp a, FREEZE_SIDE_EFFECT jr z, .freeze - ld a, PAR + ld a, 1 << PAR ld [W_ENEMYMONSTATUS], a call Func_3ed27 ;quarter speed of affected monster ld a, $a9 call Func_3fbb9 ;animation jp Func_3fb6e ;print paralysis text .burn - ld a, BRN + ld a, 1 << BRN ld [W_ENEMYMONSTATUS], a call Func_3ed64 ld a, $a9 @@ -63562,7 +63562,7 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c) jp PrintText .freeze call Func_3f9cf ;resets bit 5 of the D063/D068 flags - ld a, FRZ + ld a, 1 << FRZ ld [W_ENEMYMONSTATUS], a ld a, $a9 call Func_3fbb9 ;animation @@ -63597,18 +63597,18 @@ opponentAttacker: ; 3f382 (f:7382) jr z, .burn cp a, FREEZE_SIDE_EFFECT jr z, .freeze - ld a, PAR + ld a, 1 << PAR ld [W_PLAYERMONSTATUS], a call Func_3ed27 jp Func_3fb6e .burn - ld a, BRN + ld a, 1 << BRN ld [W_PLAYERMONSTATUS], a call Func_3ed64 ld hl, UnnamedText_3f3d8 jp PrintText .freeze - ld a, FRZ + ld a, 1 << FRZ ld [W_PLAYERMONSTATUS], a ld hl, UnnamedText_3f3dd jp PrintText @@ -63622,7 +63622,7 @@ UnnamedText_3f3dd: ; 3f3dd (f:73dd) db "@" CheckDefrost: ; 3f3e2 (f:73e2) - and a, FRZ ;are they frozen? + and a, 1 << FRZ ;are they frozen? ret z ;return if so ;not frozen ld a, [$fff3] ;whose turn? @@ -63644,7 +63644,7 @@ CheckDefrost: ; 3f3e2 (f:73e2) jr .common .opponent ld a, [W_ENEMYMOVETYPE] ;same as above with addresses swapped - sub a, $14 + sub a, FIRE ret nz ld [W_PLAYERMONSTATUS], a ld hl, $d16f @@ -63753,9 +63753,9 @@ Func_3f428: ; 3f428 (f:7428) ld a, [$ff97] sbc $3 jp c, Func_3f4c3 - ld a, $3 + ld a, 999 / $100 ld [$ff97], a - ld a, $e7 + ld a, 999 % $100 ld [$ff98], a Func_3f4c3: ; 3f4c3 (f:74c3) @@ -104322,15 +104322,15 @@ TheEndGfx: ; 7473e (1d:473e) ; 473E (473F on blue) PrintStatusAilment: ; 747de (1d:47de) ld a, [de] - bit 3, a + bit PSN, a jr nz, .psn - bit 4, a + bit BRN, a jr nz, .brn - bit 5, a + bit FRZ, a jr nz, .frz - bit 6, a + bit PAR, a jr nz, .par - and $7 ; slp + and SLP ret z ld a, "S" ld [hli], a -- cgit v1.2.3 From ed55794d11e13bbc3c98e1c06d6acb6269406d3e Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 16 Apr 2014 13:20:23 -0400 Subject: Use map constants for hardcoded warp destinations. --- main.asm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/main.asm b/main.asm index 76ded1a1..2bcf7b40 100755 --- a/main.asm +++ b/main.asm @@ -40565,7 +40565,7 @@ DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46) dw DiglettsCaveRoute2Object ; objects DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0) - ld a, $d + ld a, ROUTE_2 ld [$d365], a jp EnableAutoTextBoxDrawing @@ -41109,7 +41109,7 @@ UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80 dw UndergroundPathEntranceRoute8Object ; objects UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289) - ld a, $13 + ld a, ROUTE_8 ld [$d365], a jp EnableAutoTextBoxDrawing @@ -41365,7 +41365,7 @@ DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85) DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) call EnableAutoTextBoxDrawing - ld a, $16 + ld a, ROUTE_11 ld [$d365], a ret @@ -41489,9 +41489,9 @@ Route22GateScript: ; 1e683 (7:6683) call CallFunctionInTable ld a, [$d361] cp $4 - ld a, $22 + ld a, ROUTE_23 jr c, .asm_1e69a ; 0x1e696 $2 - ld a, $21 + ld a, ROUTE_22 .asm_1e69a ld [$d365], a ret @@ -90123,14 +90123,14 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb) ld [hl], a xor a ld [W_HALLOFFAMEROOMCURSCRIPT], a - ld a, $0 + ld a, PALLET_TOWN ld [$d719], a ld b, BANK(SaveSAVtoSRAM) ld hl, SaveSAVtoSRAM call Bankswitch - ld b, $5 + ld b, 5 .asm_5a4ff - ld c, $78 + ld c, 600 / 5 call DelayFrames dec b jr nz, .asm_5a4ff ; 0x5a505 $f8 @@ -93153,7 +93153,7 @@ UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71) dw UndergroundTunnelEntranceRoute5Object ; objects UndergroundTunnelEntranceRoute5Script: ; 5d6a9 (17:56a9) - ld a, $10 + ld a, ROUTE_5 ld [$d365], a ret @@ -93198,7 +93198,7 @@ UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74) dw UndergroundTunnelEntranceRoute6Object ; objects UndergroundTunnelEntranceRoute6Script: ; 5d6ef (17:56ef) - ld a, $11 + ld a, ROUTE_6 ld [$d365], a jp EnableAutoTextBoxDrawing @@ -93235,7 +93235,7 @@ UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77) dw UndergroundPathEntranceRoute7Object ; objects UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c) - ld a, $12 + ld a, ROUTE_7 ld [$d365], a jp EnableAutoTextBoxDrawing @@ -93272,7 +93272,7 @@ UndergroundPathEntranceRoute7Copy_h: ; 5d75d (17:575d) dw UndergroundPathEntranceRoute7CopyObject ; objects UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769) - ld a, $12 + ld a, ROUTE_7 ld [$d365], a ret @@ -95329,7 +95329,7 @@ PokemonTower7Script4: ; 60d86 (18:4d86) ld [H_DOWNARROWBLINKCNT1], a ; $ff8b ld a, $1 ld [$d42f], a - ld a, $4 + ld a, LAVENDER_TOWN ld [$d365], a ld hl, $d72d set 3, [hl] -- cgit v1.2.3 From 7eeaad6ab072898a4b69666bdbfc3f4cd041fe0f Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 16 Apr 2014 13:21:22 -0400 Subject: More move effect constants. --- constants/move_effect_constants.asm | 13 ++++- main.asm | 94 ++++++++++++++++++++++++++++++++----- 2 files changed, 95 insertions(+), 12 deletions(-) diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index 088482dc..1a6d1be6 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -13,14 +13,18 @@ DREAM_EATER_EFFECT EQU $08 MIRROR_MOVE_EFFECT EQU $09 ATTACK_UP1_EFFECT EQU $0A DEFENSE_UP1_EFFECT EQU $0B +SPEED_UP1_EFFECT EQU $0C SPECIAL_UP1_EFFECT EQU $0D +ACCURACY_UP1_EFFECT EQU $0E EVASION_UP1_EFFECT EQU $0F PAY_DAY_EFFECT EQU $10 SWIFT_EFFECT EQU $11 ATTACK_DOWN1_EFFECT EQU $12 DEFENSE_DOWN1_EFFECT EQU $13 SPEED_DOWN1_EFFECT EQU $14 +SPECIAL_DOWN1_EFFECT EQU $15 ACCURACY_DOWN1_EFFECT EQU $16 +EVASION_DOWN1_EFFECT EQU $17 CONVERSION_EFFECT EQU $18 HAZE_EFFECT EQU $19 BIDE_EFFECT EQU $1A @@ -49,9 +53,16 @@ ATTACK_UP2_EFFECT EQU $32 DEFENSE_UP2_EFFECT EQU $33 SPEED_UP2_EFFECT EQU $34 SPECIAL_UP2_EFFECT EQU $35 +ACCURACY_UP2_EFFECT EQU $36 +EVASION_UP2_EFFECT EQU $37 HEAL_EFFECT EQU $38 ; Recover, Softboiled, Rest TRANSFORM_EFFECT EQU $39 +ATTACK_DOWN2_EFFECT EQU $3A DEFENSE_DOWN2_EFFECT EQU $3B +SPEED_DOWN2_EFFECT EQU $3C +SPECIAL_DOWN2_EFFECT EQU $3D +ACCURACY_DOWN2_EFFECT EQU $3E +EVASION_DOWN2_EFFECT EQU $3F LIGHT_SCREEN_EFFECT EQU $40 REFLECT_EFFECT EQU $41 POISON_EFFECT EQU $42 @@ -73,4 +84,4 @@ DISABLE_EFFECT EQU $56 ; fixed damage constants SONICBOOM_DAMAGE EQU 20 -DRAGON_RAGE_DAMAGE EQU 40 \ No newline at end of file +DRAGON_RAGE_DAMAGE EQU 40 diff --git a/main.asm b/main.asm index 2bcf7b40..bb62d989 100755 --- a/main.asm +++ b/main.asm @@ -56224,22 +56224,94 @@ BattleCore: ; These are move effects (second value from the Moves table in bank $E). EffectsArray1: ; 3c000 (f:4000) - db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF + db CONVERSION_EFFECT + db HAZE_EFFECT + db SWITCH_AND_TELEPORT_EFFECT + db MIST_EFFECT + db FOCUS_ENERGY_EFFECT + db CONFUSION_EFFECT + db HEAL_EFFECT + db TRANSFORM_EFFECT + db LIGHT_SCREEN_EFFECT + db REFLECT_EFFECT + db POISON_EFFECT + db PARALYZE_EFFECT + db SUBSTITUTE_EFFECT + db MIMIC_EFFECT + db LEECH_SEED_EFFECT + db SPLASH_EFFECT + db -1 EffectsArray2: ; 3c011 (f:4011) ; moves that do damage but not through normal calculations ; e.g., Super Fang, Psywave - db $28,$29,$FF + db SUPER_FANG_EFFECT + db SPECIAL_DAMAGE_EFFECT + db -1 EffectsArray3: ; 3c014 (f:4014) ; non-damaging, stat‐affecting or status‐causing moves? ; e.g., Meditate, Bide, Hypnosis - db $01,$0A,$0B,$0C,$0D,$0E,$0F,$12,$13,$14,$15,$16,$17,$1A,$20,$32,$33,$34,$35,$36,$37,$3A,$3B,$3C,$3D,$3E,$3F,$FF + db $01 + db ATTACK_UP1_EFFECT + db DEFENSE_UP1_EFFECT + db SPEED_UP1_EFFECT + db SPECIAL_UP1_EFFECT + db ACCURACY_UP1_EFFECT + db EVASION_UP1_EFFECT + db ATTACK_DOWN1_EFFECT + db DEFENSE_DOWN1_EFFECT + db SPEED_DOWN1_EFFECT + db SPECIAL_DOWN1_EFFECT + db ACCURACY_DOWN1_EFFECT + db EVASION_DOWN1_EFFECT + db BIDE_EFFECT + db SLEEP_EFFECT + db ATTACK_UP2_EFFECT + db DEFENSE_UP2_EFFECT + db SPEED_UP2_EFFECT + db SPECIAL_UP2_EFFECT + db ACCURACY_UP2_EFFECT + db EVASION_UP2_EFFECT + db ATTACK_DOWN2_EFFECT + db DEFENSE_DOWN2_EFFECT + db SPEED_DOWN2_EFFECT + db SPECIAL_DOWN2_EFFECT + db ACCURACY_DOWN2_EFFECT + db EVASION_DOWN2_EFFECT + db -1 EffectsArray4: ; 3c030 (f:4030) - db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF +; Attacks that aren't finished after they faint the opponent. + db DRAIN_HP_EFFECT + db EXPLODE_EFFECT + db DREAM_EATER_EFFECT + db PAY_DAY_EFFECT + db TWO_TO_FIVE_ATTACKS_EFFECT + db $1E + db ATTACK_TWICE_EFFECT + db RECOIL_EFFECT + db TWINEEDLE_EFFECT + db RAGE_EFFECT + db -1 EffectsArray5: ; 3c03b (f:403b) - db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru + db DRAIN_HP_EFFECT + db EXPLODE_EFFECT + db DREAM_EATER_EFFECT + db PAY_DAY_EFFECT + db SWIFT_EFFECT + db TWO_TO_FIVE_ATTACKS_EFFECT + db $1E + db CHARGE_EFFECT + db SUPER_FANG_EFFECT + db SPECIAL_DAMAGE_EFFECT + db FLY_EFFECT + db ATTACK_TWICE_EFFECT + db JUMP_KICK_EFFECT + db RECOIL_EFFECT + ; fallthrough EffectsArray5B: ; 3c049 (f:4049) ; moves that prevent the player from switching moves? - db $1B,$2A,$FF + db THRASH_PETAL_DANCE_EFFECT + db TRAPPING_EFFECT + db -1 Func_3c04c: ; 3c04c (f:404c) call Func_3ec92 @@ -59361,9 +59433,9 @@ asm_3d74b ld c,$1E call DelayFrames ld a,[W_PLAYERMOVEEFFECT] - cp a,$2B + cp a,FLY_EFFECT jr z,.next5 - cp a,$27 ; XXX SLP | FRZ ? + cp a,CHARGE_EFFECT jr z,.next5 jr asm_3d766 .next5 @@ -59373,7 +59445,7 @@ asm_3d74b call PlayMoveAnimation asm_3d766 ld a,[W_PLAYERMOVEEFFECT] - cp a,9 + cp a,MIRROR_MOVE_EFFECT jr nz,.next6 ; 577A call MirrorMoveCopyMove jp z,Func_3d80a @@ -59381,7 +59453,7 @@ asm_3d766 ld [$CCED],a jp Func_3d69a .next6 - cp a,$53 + cp a,METRONOME_EFFECT jr nz,.next7 ; 5784 call MetronomePickMove jp Func_3d69a @@ -59396,7 +59468,7 @@ asm_3d766 jr z,.next8 ; 57A6 call Func_3dbe2 ld a,[W_PLAYERMOVEEFFECT] - cp a,7 + cp a,EXPLODE_EFFECT jr z,.next9 ; 57B9 jp Func_3d80a .next8 -- cgit v1.2.3 From fc8195cb82127b2d781f3ddcd8a9b343c2a34ae9 Mon Sep 17 00:00:00 2001 From: yenatch Date: Mon, 21 Apr 2014 15:43:26 -0400 Subject: Clean up rst vectors and interrupt labels. --- main.asm | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/main.asm b/main.asm index bb62d989..6635ccb5 100755 --- a/main.asm +++ b/main.asm @@ -1,32 +1,32 @@ INCLUDE "constants.asm" -; the rst vectors are unused -SECTION "rst00",ROM0[0] - db $FF -SECTION "rst08",ROM0[8] - db $FF +; The rst vectors are unused. +SECTION "rst00",ROM0[$00] + rst $38 +SECTION "rst08",ROM0[$08] + rst $38 SECTION "rst10",ROM0[$10] - db $FF + rst $38 SECTION "rst18",ROM0[$18] - db $FF + rst $38 SECTION "rst20",ROM0[$20] - db $FF + rst $38 SECTION "rst28",ROM0[$28] - db $FF + rst $38 SECTION "rst30",ROM0[$30] - db $FF + rst $38 SECTION "rst38",ROM0[$38] - db $FF + rst $38 ; interrupts SECTION "vblank",ROM0[$40] - jp VBlankHandler + jp VBlank SECTION "lcdc",ROM0[$48] db $FF SECTION "timer",ROM0[$50] - jp TimerHandler + jp Timer SECTION "serial",ROM0[$58] - jp SerialInterruptHandler + jp Serial SECTION "joypad",ROM0[$60] reti @@ -103,8 +103,8 @@ CopyData:: ; 00b5 (0:00b5) ret SECTION "romheader",ROM0[$100] -nop -jp Start + nop + jp Start SECTION "start",ROM0[$150] Start:: ; 0150 (0:0150) @@ -5281,7 +5281,7 @@ StopAllSounds:: ; 200e (0:200e) dec a jp PlaySound -VBlankHandler:: ; 2024 (0:2024) +VBlank:: ; 2024 (0:2024) push af push bc push de @@ -5468,7 +5468,7 @@ DecGradGBPalTable_02:: ; 2121 (0:2121) db %00000000 db %00000000 -SerialInterruptHandler:: ; 2125 (0:2125) +Serial:: ; 2125 (0:2125) push af push bc push de @@ -5776,7 +5776,7 @@ Func_22fa:: ; 22fa (0:22fa) ret ; timer interrupt is apparently not invoked anyway -TimerHandler:: ; 2306 (0:2306) +Timer:: ; 2306 (0:2306) reti Func_2307:: ; 2307 (0:2307) -- cgit v1.2.3 From d0e2fc78c0c25e1b6508f7173d4e85c4b6949b2d Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 22 Apr 2014 13:35:55 -0400 Subject: More move and effect constants. Use a constant for total move count. --- constants/move_constants.asm | 5 ++- main.asm | 78 ++++++++++++++++++++++---------------------- 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 524e7814..9fdb1ce7 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,3 +1,5 @@ +NUM_MOVES EQU $A4 + POUND EQU $01 KARATE_CHOP EQU $02 DOUBLESLAP EQU $03 @@ -163,6 +165,7 @@ SUPER_FANG EQU $A2 SLASH EQU $A3 SUBSTITUTE EQU $A4 STRUGGLE EQU $A5 + ; these do double duty as animation identifiers SHOWPIC_ANIM EQU $A6 ; redraw monster pic STATUS_AFFECTED_ANIM EQU $A7 ; effect when monster receives a status aliment @@ -178,4 +181,4 @@ GREATTOSS_ANIM EQU $C5 ; toss Great Ball ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball HIDEPIC_ANIM EQU $C8 ; monster disappears ROCK_ANIM EQU $C9 ; throw rock -BAIT_ANIM EQU $CA ; throw bait \ No newline at end of file +BAIT_ANIM EQU $CA ; throw bait diff --git a/main.asm b/main.asm index 6635ccb5..2f84cd85 100755 --- a/main.asm +++ b/main.asm @@ -31865,12 +31865,12 @@ Func_1392c: ; 1392c (4:792c) ld d, a ld a, [W_DAMAGE] ; $d0d7 ld b, a - ld a, [$d0d8] + ld a, [W_DAMAGE + 1] ld c, a srl b rr c ld a, d - cp $a5 + cp STRUGGLE jr z, .asm_13953 srl b rr c @@ -55932,7 +55932,7 @@ Func_3b9ec: ; 3b9ec (e:79ec) sbc [hl] jp z, Func_3ba97 ld a, b - cp $9c + cp REST jr nz, .asm_3ba37 push hl push de @@ -55947,7 +55947,7 @@ Func_3b9ec: ; 3b9ec (e:79ec) .asm_3ba25 ld a, [hl] and a - ld [hl], $2 + ld [hl], 2 ; Number of turns from Rest ld hl, UnnamedText_3baa2 ; $7aa2 jr z, .asm_3ba31 ld hl, UnnamedText_3baa7 ; $7aa7 @@ -59672,7 +59672,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2) jr c,.next3 ld hl,W_PLAYERBATTSTATUS1 ld a,[hl] - and a,$80 + and a,$80 ; confused ld [hl],a call Func_3daad jr .next5 ; 5952 @@ -59688,7 +59688,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2) jp Func_3da37 .ParalysisCheck ld hl,W_PLAYERMONSTATUS - bit 6,[hl] + bit PAR,[hl] jr z,.next7 ; 5975 call GenRandomInBattle ; random number cp a,$3F @@ -59701,9 +59701,9 @@ HyperBeamCheck: ; 3d8c2 (f:58c2) and a,$CC ld [hl],a ld a,[W_PLAYERMOVEEFFECT] - cp a,$2B + cp a,FLY_EFFECT jr z,.next8 ; 5966 - cp a,$27 + cp a,CHARGE_EFFECT jr z,.next8 jr .next9 ; 596F .next8 @@ -59759,14 +59759,14 @@ HyperBeamCheck: ; 3d8c2 (f:58c2) xor a ld [hli],a ld [hl],a - ld a,$75 + ld a,BIDE ld [W_PLAYERMOVENUM],a ld hl,asm_3d705 ; $5705 jp Func_3da37 .next10 bit 1,[hl] jr z,.next13 ; 59FF - ld a,$25 + ld a,THRASH ld [W_PLAYERMOVENUM],a ld hl,ThrashingAboutText call PrintText @@ -59801,7 +59801,7 @@ Func_3da1a: ; 3da1a (f:5a1a) ld a, [W_PLAYERBATTSTATUS2] ; $d063 bit 6, a jp z, Func_3da39 - ld a, $63 + ld a, RAGE ld [$d11e], a call GetMoveName call CopyStringToCF4B @@ -59967,7 +59967,7 @@ UnnamedText_3dafb: ; 3dafb (f:5afb) ld hl, UnnamedText_3db34 ; $5b34 ret nz ld a, [$d11e] - cp $3 + cp DOUBLESLAP ld hl, UnnamedText_3db34 ; $5b34 ret c ld hl, UnnamedText_3db2d ; $5b2d @@ -61344,7 +61344,7 @@ MetronomePickMove: ; 3e348 (f:6348) call GenRandomInBattle ; random number and a jr z,.pickMoveLoop - cp a,$a5 ; max normal move number + 1 (this is Struggle's move number) + cp a,NUM_MOVES + 1 ; max normal move number + 1 (this is Struggle's move number) jr nc,.pickMoveLoop cp a,METRONOME jr z,.pickMoveLoop @@ -62294,7 +62294,7 @@ asm_3e9f6: ; 3e9f6 (f:69f6) xor a ld [hli], a ld [hl], a - ld a, $75 + ld a, BIDE ld [W_ENEMYMOVENUM], a ; $cfcc call Func_3ec81 ld hl, asm_3e782 ; $6782 @@ -62302,7 +62302,7 @@ asm_3e9f6: ; 3e9f6 (f:69f6) .asm_3ea54 bit 1, [hl] jr z, .asm_3ea83 - ld a, $25 + ld a, THRASH ld [W_ENEMYMOVENUM], a ; $cfcc ld hl, ThrashingAboutText ; $5a79 call PrintText @@ -62336,7 +62336,7 @@ Func_3ea9b: ; 3ea9b (f:6a9b) ld a, [W_ENEMYBATTSTATUS2] ; $d068 bit 6, a jp z, Func_3eaba - ld a, $63 + ld a, RAGE ld [$d11e], a call GetMoveName call CopyStringToCF4B @@ -62978,24 +62978,24 @@ Func_3eed3: ; 3eed3 (f:6ed3) ld de, W_ENEMYBATTSTATUS1 ; $d067 ld a, [W_ENEMYMOVENUM] ; $cfcc .asm_3eeea - cp $78 + cp SELFDESTRUCT jr z, .asm_3eef1 - cp $99 + cp EXPLOSION ret nz .asm_3eef1 ld a, [de] - bit 6, a + bit 6, a ; fly/dig ret nz ld a, [hli] - cp $8 + cp GHOST ret z ld a, [hl] - cp $8 + cp GHOST ret z ld a, [W_MOVEMISSED] ; $d05f and a ret nz - ld a, $5 + ld a, MEGA_PUNCH ld [$cc5b], a PlayMoveAnimation: ; 3ef07 (f:6f07) @@ -63851,7 +63851,7 @@ asm_3f4ca: ; 3f4ca (f:74ca) ld bc, $ccf3 .asm_3f4e6 ld a, [de] - cp $6b + cp MINIMIZE jr nz, .asm_3f4f9 bit 4, [hl] push af @@ -63864,7 +63864,7 @@ asm_3f4ca: ; 3f4ca (f:74ca) .asm_3f4f9 call Func_3fba8 ld a, [de] - cp $6b + cp MINIMIZE jr nz, .asm_3f50e pop bc ld a, $1 @@ -63900,7 +63900,7 @@ UnnamedText_3f528: ; 3f528 (f:7528) jr z, .asm_3f53b ld a, [W_ENEMYMOVEEFFECT] ; $cfcd .asm_3f53b - cp $12 + cp ATTACK_DOWN1_EFFECT ret nc ld hl, UnnamedText_3f547 ; $7547 ret @@ -64264,7 +64264,7 @@ Func_3f739: ; 3f739 (f:7739) ld c, $32 call DelayFrames ld a, [W_ENEMYMOVENUM] ; $cfcc - cp $64 + cp TELEPORT jp nz, Func_3fb5e jp Func_3fb53 .asm_3f7c1 @@ -64280,7 +64280,7 @@ Func_3f739: ; 3f739 (f:7739) call DelayFrames ld hl, UnnamedText_3fb69 ; $7b69 ld a, [W_ENEMYMOVENUM] ; $cfcc - cp $64 + cp TELEPORT jp nz, PrintText jp Func_3fb4e .asm_3f7e4 @@ -64290,10 +64290,10 @@ Func_3f739: ; 3f739 (f:7739) call DelayFrames pop af ld hl, UnnamedText_3f802 ; $7802 - cp $64 + cp TELEPORT jr z, .asm_3f7ff ld hl, UnnamedText_3f807 ; $7807 - cp $2e + cp ROAR jr z, .asm_3f7ff ld hl, UnnamedText_3f80c ; $780c .asm_3f7ff @@ -64332,9 +64332,9 @@ Func_3f811: ; 3f811 (f:7811) ld hl, W_ENEMYMOVEEFFECT ; $cfcd .asm_3f838 ld a, [hl] - cp $4d + cp TWINEEDLE_EFFECT jr z, .asm_3f856 - cp $2c + cp ATTACK_TWICE_EFFECT ld a, $2 jr z, .asm_3f853 call GenRandomInBattle @@ -64422,22 +64422,22 @@ UnnamedText_3f8c8: ; 3f8c8 (f:78c8) TX_FAR _UnnamedText_3f8c8 db $08 ; asm ld a, [wWhichTrade] ; $cd3d - cp $d + cp RAZOR_WIND ld hl, UnnamedText_3f8f9 ; $78f9 jr z, .asm_3f8f8 - cp $4c + cp SOLARBEAM ld hl, UnnamedText_3f8fe ; $78fe jr z, .asm_3f8f8 - cp $82 + cp SKULL_BASH ld hl, UnnamedText_3f903 ; $7903 jr z, .asm_3f8f8 - cp $8f + cp SKY_ATTACK ld hl, UnnamedText_3f908 ; $7908 jr z, .asm_3f8f8 - cp $13 + cp FLY ld hl, UnnamedText_3f90d ; $790d jr z, .asm_3f8f8 - cp $5b + cp DIG ld hl, UnnamedText_3f912 ; $7912 .asm_3f8f8 ret @@ -64540,7 +64540,7 @@ Func_3f96f: ; 3f96f (f:796f) inc a ld [bc], a pop af - cp $4c + cp CONFUSION_SIDE_EFFECT call nz, Func_3fb89 ld hl, UnnamedText_3f9a1 ; $79a1 jp PrintText @@ -64550,7 +64550,7 @@ UnnamedText_3f9a1: ; 3f9a1 (f:79a1) db "@" Func_3f9a6: ; 3f9a6 (f:79a6) - cp $4c + cp CONFUSION_SIDE_EFFECT ret z ld c, $32 call DelayFrames -- cgit v1.2.3 From b73ed53ab77844d8e6fcf1d1c8f5dbb780e3cd06 Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 22 Apr 2014 13:37:07 -0400 Subject: Comment in-game trade evolution. --- constants/wram_constants.asm | 3 +++ main.asm | 43 +++++++++++++++++++++++++++++++++---------- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 111ae584..51c5c604 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -5,3 +5,6 @@ SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) W_WATERRATE EQU $d8a4 W_WATERMONS EQU $d8a5 +; Overload enemy stat modifiers +wTradeMonNick EQU $cd1e + diff --git a/main.asm b/main.asm index 2f84cd85..e990ccd4 100755 --- a/main.asm +++ b/main.asm @@ -33232,16 +33232,39 @@ EmotionBubblesOAM: ; 17cb5 (5:7cb5) EmotionBubbles: ; 17cbd (5:7cbd) INCBIN "gfx/emotion_bubbles.w16.2bpp" -Func_17d7d: ; 17d7d (5:7d7d) - ld a, [wPlayerMonAccuracyMod] ; $cd1e - cp $86 - jr z, .asm_17d8d - cp $92 +EvolveTradeMon: ; 17d7d (5:7d7d) +; Verify the TradeMon's species name before +; attempting to initiate a trade evolution. + +; The names of the trade evolutions in Blue (JP) +; are checked. In that version, TradeMons that +; can evolve are Graveler and Haunter. + +; In localization, this check was translated +; before monster names were finalized. +; Then, Haunter's name was "Spectre". +; Since its name no longer starts with +; "SP", it is prevented from evolving. + +; This may have been why Red/Green's trades +; were used instead, where none can evolve. + +; This was fixed in Yellow. + + ld a, [wTradeMonNick] + + ; GRAVELER + cp "G" + jr z, .ok + + ; "SPECTRE" (HAUNTER) + cp "S" ret nz - ld a, [wPlayerMonEvasionMod] ; $cd1f - cp $8f + ld a, [wTradeMonNick + 1] + cp "P" ret nz -.asm_17d8d + +.ok ld a, [W_NUMINPARTY] ; $d163 dec a ld [wWhichPokemon], a ; $cf92 @@ -101816,8 +101839,8 @@ Func_71c07: ; 71c07 (1c:5c07) ld [$cc49],a call AddPokemonToParty call Func_71d19 - ld hl, Func_17d7d - ld b, BANK(Func_17d7d) + ld hl, EvolveTradeMon + ld b, BANK(EvolveTradeMon) call Bankswitch call ClearScreen call Func_71ca2 -- cgit v1.2.3 From 55b992916719834a6a932829699a4e9250527f5a Mon Sep 17 00:00:00 2001 From: yenatch Date: Tue, 22 Apr 2014 17:14:11 -0400 Subject: Use callba/callab macros for cross-bank calls. --- macros.asm | 12 + main.asm | 768 +++++++++++++++--------------------------------------------- menu/pc.asm | 4 +- 3 files changed, 205 insertions(+), 579 deletions(-) diff --git a/macros.asm b/macros.asm index b5d0ff7c..a0732705 100644 --- a/macros.asm +++ b/macros.asm @@ -11,6 +11,18 @@ page EQUS "db $49," ; Start a new Pokedex page. dex EQUS "db $5f, $50" ; End a Pokedex entry. +callba: MACRO + ld b, BANK(\1) + ld hl, \1 + call Bankswitch + ENDM + +callab: MACRO + ld hl, \1 + ld b, BANK(\1) + call Bankswitch + ENDM + ;\1 = X ;\2 = Y FuncCoord: MACRO diff --git a/main.asm b/main.asm index e990ccd4..2462c546 100755 --- a/main.asm +++ b/main.asm @@ -446,9 +446,7 @@ EnterMap:: ; 03a6 (0:03a6) ld a,$ff ld [wJoypadForbiddenButtonsMask],a call LoadMapData ; load map data - ld b,BANK(Func_c335) - ld hl,Func_c335 - call Bankswitch ; initialize some variables + callba Func_c335 ; initialize some variables ld hl,$d72c bit 0,[hl] jr z,.doNotCountSteps @@ -465,14 +463,10 @@ EnterMap:: ; 03a6 (0:03a6) and a,$18 jr z,.didNotFlyOrTeleportIn res 3,[hl] - ld b,BANK(Func_70510) - ld hl,Func_70510 - call Bankswitch ; display fly/teleport in graphical effect + callba Func_70510 ; display fly/teleport in graphical effect call UpdateSprites ; move sprites .didNotFlyOrTeleportIn - ld b,BANK(CheckForceBikeOrSurf) - ld hl,CheckForceBikeOrSurf - call Bankswitch ; handle currents in SF islands and forced bike riding in cycling road + callba CheckForceBikeOrSurf ; handle currents in SF islands and forced bike riding in cycling road ld hl,$d72d res 5,[hl] call UpdateSprites ; move sprites @@ -494,9 +488,7 @@ OverworldLoopLessDelay:: ; 0402 (0:0402) and a jp nz,.moveAhead ; if the player sprite has not yet completed the walking animation call GetJoypadStateOverworld ; get joypad state (which is possibly simulated) - ld b, BANK(Func_1e988) - ld hl, Func_1e988 - call Bankswitch + callba Func_1e988 ld a,[$da46] and a jp nz,WarpFound2 @@ -700,9 +692,7 @@ OverworldLoopLessDelay:: ; 0402 (0:0402) ld a,[$d736] bit 7,a jr z,.noSpinning - ld b, BANK(Func_44fd7) - ld hl, Func_44fd7 - call Bankswitch ; spin while moving + callba Func_44fd7 ; spin while moving .noSpinning call UpdateSprites ; move sprites .moveAhead2 @@ -739,9 +729,7 @@ OverworldLoopLessDelay:: ; 0402 (0:0402) ld a,[$d790] bit 7,a ; in the safari zone? jr z,.notSafariZone - ld b, BANK(Func_1e997) - ld hl, Func_1e997 - call Bankswitch + callba Func_1e997 ld a,[$da46] and a jp nz,WarpFound2 @@ -780,9 +768,7 @@ OverworldLoopLessDelay:: ; 0402 (0:0402) ld a,[W_CURMAP] cp a,OAKS_LAB jp z,.noFaintCheck - ld hl, AnyPokemonAliveCheck - ld b, BANK(AnyPokemonAliveCheck) - call Bankswitch ; check if all the player's pokemon fainted + callab AnyPokemonAliveCheck ; check if all the player's pokemon fainted ld a,d and a jr z,.allPokemonFainted @@ -853,9 +839,7 @@ CheckWarpsNoCollisionLoop:: ; 06cc (0:06cc) push bc ld hl,$d736 set 2,[hl] - ld b, BANK(Func_c49d) - ld hl, Func_c49d - call Bankswitch ; check if the player sprite is standing on a "door" tile + callba Func_c49d ; check if the player sprite is standing on a "door" tile pop bc pop hl jr c,WarpFound1 ; if it is, go to 0735 @@ -952,9 +936,7 @@ WarpFound2:: ; 073c (0:073c) jr z,.goBackOutside ; if not going back to the previous map ld [W_CURMAP],a ; current map number - ld b, BANK(Func_70787) - ld hl, Func_70787 - call Bankswitch ; check if the warp was a Silph Co. teleporter + callba Func_70787 ; check if the warp was a Silph Co. teleporter ld a,[$cd5b] dec a jr nz,.notTeleporter @@ -1119,9 +1101,7 @@ CheckMapConnections:: ; 07ba (0:07ba) call GoPAL_SET ; Since the sprite set shouldn't change, this will just update VRAM slots at ; $C2XE without loading any tile patterns. - ld b,BANK(InitMapSprites) - ld hl,InitMapSprites - call Bankswitch + callba InitMapSprites call LoadTileBlockMap jp OverworldLoopLessDelay .didNotEnterConnectedMap @@ -1189,9 +1169,7 @@ ExtraWarpCheck:: ; 08e9 (0:08e9) jp Bankswitch MapEntryAfterBattle:: ; 091f (0:091f) - ld b, BANK(Func_c35f) - ld hl, Func_c35f - call Bankswitch ; function that appears to disable warp testing after collisions if the player is standing on a warp + callba Func_c35f ; function that appears to disable warp testing after collisions if the player is standing on a warp ld a,[$d35d] and a jp z,GBFadeIn2 @@ -1719,9 +1697,7 @@ CheckForJumpingAndTilePairCollisions:: ; 0c2a (0:0c2a) call Predef ; get the tile in front of the player push de push bc - ld b, BANK(Func_1a672) - ld hl, Func_1a672 - call Bankswitch ; check if the player is trying to jump a ledge + callba Func_1a672 ; check if the player is trying to jump a ledge pop bc pop de pop hl @@ -2418,15 +2394,11 @@ RunMapScript:: ; 101b (0:101b) push hl push de push bc - ld b, BANK(Func_f225) - ld hl, Func_f225 - call Bankswitch ; check if the player is pushing a boulder + callba Func_f225 ; check if the player is pushing a boulder ld a,[wFlags_0xcd60] bit 1,a ; is the player pushing a boulder? jr z,.afterBoulderEffect - ld b, BANK(Func_f2b5) - ld hl, Func_f2b5 - call Bankswitch ; displays dust effect when pushing a boulder + callba Func_f2b5 ; displays dust effect when pushing a boulder .afterBoulderEffect pop bc pop de @@ -2477,9 +2449,7 @@ LoadPlayerSpriteGraphicsCommon:: ; 1063 (0:1063) ; function to load data from the map header LoadMapHeader:: ; 107c (0:107c) - ld b, BANK(Func_f113) - ld hl, Func_f113 - call Bankswitch + callba Func_f113 ld a,[W_CURMAPTILESET] ld [$d119],a ld a,[W_CURMAP] @@ -2728,9 +2698,7 @@ LoadMapHeader:: ; 107c (0:107c) .finishUp ld a,$19 call Predef ; load tileset data - ld hl, LoadWildData - ld b, BANK(LoadWildData) - call Bankswitch ; load wild pokemon data + callab LoadWildData ; load wild pokemon data pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose) ld a,[W_CURMAPHEIGHT] ; map height in 4x4 tile blocks add a ; double it @@ -2787,9 +2755,7 @@ LoadMapData:: ; 1241 (0:1241) ld [$d3a8],a call LoadTextBoxTilePatterns call LoadMapHeader - ld b,BANK(InitMapSprites) - ld hl,InitMapSprites - call Bankswitch ; load tile pattern data for sprites + callba InitMapSprites ; load tile pattern data for sprites call LoadTileBlockMap call LoadTilesetTilePatternData call LoadCurrentMapView @@ -3195,9 +3161,7 @@ HandlePartyMenuInput:: ; 145a (0:145a) bit 1,b ; was the B button pressed? jr z,.handleSwap ; if not, handle swapping the pokemon .cancelSwap ; if the B button was pressed - ld b,BANK(ErasePartyMenuCursors) - ld hl,ErasePartyMenuCursors - call Bankswitch + callba ErasePartyMenuCursors xor a ld [$cc35],a ld [$d07d],a @@ -3206,9 +3170,7 @@ HandlePartyMenuInput:: ; 145a (0:145a) .handleSwap ld a,[wCurrentMenuItem] ld [wWhichPokemon],a - ld b, BANK(Func_13613) - ld hl, Func_13613 - call Bankswitch + callba Func_13613 jr HandlePartyMenuInput DrawPartyMenu:: ; 14d4 (0:14d4) @@ -5341,9 +5303,7 @@ VBlank:: ; 2024 (0:2024) .bank1F call Func_7d177 .afterMusic - ld b, BANK(Func_18dee) - ld hl, Func_18dee - call Bankswitch ; keep track of time played + callba Func_18dee ; keep track of time played ld a,[$fff9] and a call z,ReadJoypadRegister @@ -5687,9 +5647,7 @@ Func_2247:: ; 2247 (0:2247) Func_226e:: ; 226e (0:226e) call SaveScreenTilesToBuffer1 - ld hl, Func_4c05 - ld b, BANK(Func_4c05) - call Bankswitch + callab Func_4c05 call Func_227f jp LoadScreenTilesFromBuffer1 @@ -6754,9 +6712,7 @@ Func_28cb:: ; 28cb (0:28cb) DisplayTextID:: ; 2920 (0:2920) ld a,[H_LOADEDROMBANK] push af - ld b,BANK(DisplayTextIDInit) - ld hl,DisplayTextIDInit ; initialization - call Bankswitch + callba DisplayTextIDInit ; initialization ld hl,$cf11 bit 0,[hl] res 0,[hl] @@ -6794,9 +6750,7 @@ DisplayTextID:: ; 2920 (0:2920) push hl push de push bc - ld b, BANK(Func_13074) - ld hl, Func_13074 - call Bankswitch ; update the graphics of the sprite the player is talking to (to face the right direction) + callba Func_13074 ; update the graphics of the sprite the player is talking to (to face the right direction) pop bc pop de ld hl,W_MAPSPRITEDATA ; NPC text entries @@ -6834,18 +6788,14 @@ DisplayTextID:: ; 2920 (0:2920) jp z,FuncTX_PokemonCenterPC cp a,$f5 ; Vending Machine jr nz,.notVendingMachine - ld b,BANK(VendingMachineMenu) - ld hl,VendingMachineMenu - call Bankswitch ; jump banks to vending machine routine + callba VendingMachineMenu ; jump banks to vending machine routine jr AfterDisplayingTextID .notVendingMachine cp a,$f7 ; slot machine jp z,FuncTX_SlotMachine cp a,$f6 ; cable connection NPC in Pokemon Center jr nz,.notSpecialCase - ld hl, CableClubNPC - ld b, BANK(CableClubNPC) - call Bankswitch + callab CableClubNPC jr AfterDisplayingTextID .notSpecialCase call Func_3c59 ; display the text @@ -6960,9 +6910,7 @@ DisplayPokemonCenterDialogue:: ; 2a72 (0:2a72) jp AfterDisplayingTextID DisplaySafariGameOverText:: ; 2a90 (0:2a90) - ld hl, Func_1e9ed - ld b, BANK(Func_1e9ed) - call Bankswitch + callab Func_1e9ed jp AfterDisplayingTextID DisplayPokemonFaintedText:: ; 2a9b (0:2a9b) @@ -7005,12 +6953,8 @@ DisplayStartMenu:: ; 2acd (0:2acd) call PlaySound RedisplayStartMenu:: ; 2adf (0:2adf) - ld b,BANK(DrawStartMenu) - ld hl,DrawStartMenu - call Bankswitch - ld b, BANK(Func_c52f) - ld hl, Func_c52f - call Bankswitch ; print Safari Zone info, if in Safari Zone + callba DrawStartMenu + callba Func_c52f ; print Safari Zone info, if in Safari Zone call UpdateSprites ; move sprites .loop call HandleMenuInput @@ -7942,9 +7886,7 @@ IsKeyItem:: ; 30d9 (0:30d9) push hl push de push bc - ld b,BANK(IsKeyItem_) - ld hl,IsKeyItem_ - call Bankswitch + callba IsKeyItem_ pop bc pop de pop hl @@ -8371,18 +8313,14 @@ Func_3381:: ; 3381 (0:3381) ld [H_LOADEDROMBANK], a ld [$2000], a push hl - ld b, BANK(SaveTrainerName) - ld hl, SaveTrainerName - call Bankswitch + callba SaveTrainerName ld hl, UnnamedText_33cf call PrintText pop hl pop af ld [H_LOADEDROMBANK], a ld [$2000], a - ld b, BANK(Func_1a5e7) - ld hl, Func_1a5e7 - call Bankswitch + callba Func_1a5e7 jp WaitForSoundToFinish Func_33b7:: ; 33b7 (0:33b7) @@ -9330,9 +9268,7 @@ ManualTextScroll:: ; 3898 (0:3898) Multiply:: ; 38ac (0:38ac) push hl push bc - ld hl, _Multiply - ld b, BANK(_Multiply) - call Bankswitch + callab _Multiply pop bc pop hl ret @@ -9438,9 +9374,7 @@ AddPokemonToParty:: ; 3927 (0:3927) push hl push de push bc - ld b, BANK(_AddPokemonToParty) - ld hl, _AddPokemonToParty - call Bankswitch + callba _AddPokemonToParty pop bc pop de pop hl @@ -9766,9 +9700,7 @@ HandleMenuInputPokemonSelection:: ; 3ac2 (0:3ac2) ld a,[$d09b] and a ; is it a pokemon selection menu? jr z,.getJoypadState - ld b, BANK(Func_716ff) - ld hl, Func_716ff ; shake mini sprite of selected pokemon - call Bankswitch + callba Func_716ff ; shake mini sprite of selected pokemon .getJoypadState pop hl call GetJoypadStateLowSensitivity @@ -10391,9 +10323,7 @@ Func_3e08:: ; 3e08 (0:3e08) xor a ld [W_SPRITESETID], a ; $d3a8 call DisableLCD - ld b, BANK(InitMapSprites) - ld hl, InitMapSprites - call Bankswitch + callba InitMapSprites call EnableLCD pop hl pop af @@ -10434,9 +10364,7 @@ GenRandom:: ; 3e5c (0:3e5c) push hl push de push bc - ld b,BANK(GenRandom_) - ld hl,GenRandom_ - call Bankswitch + callba GenRandom_ ld a,[H_RAND1] pop bc pop de @@ -10519,9 +10447,7 @@ Func_3eb5:: ; 3eb5 (0:3eb5) xor a jr .asm_3eec .asm_3edd - ld b, BANK(Func_fb50) - ld hl, Func_fb50 - call Bankswitch + callba Func_fb50 ld a, [$ffdb] and a jr z, .asm_3eec @@ -11031,9 +10957,7 @@ ENDC ld c, $1 call CheckForUserInterruption jr c, .asm_4459 - ld b, BANK(Func_372ac) - ld hl, Func_372ac - call Bankswitch + callba Func_372ac call Func_4496 jr .asm_443b .asm_4459 @@ -11090,16 +11014,12 @@ Func_4496: ; 4496 (1:4496) ld a, $90 ld [$ffb0], a ld d, 1 ; scroll out - ld b, BANK(TitleScroll) - ld hl, TitleScroll - call Bankswitch ; indirect jump to TitleScroll (37258 (d:7258)) + callba TitleScroll ; indirect jump to TitleScroll (37258 (d:7258)) ret Func_44c1: ; 44c1 (1:44c1) ld d, 0 ; scroll in - ld b, BANK(TitleScroll) - ld hl, TitleScroll - call Bankswitch ; indirect jump to TitleScroll (37258 (d:7258)) + callba TitleScroll ; indirect jump to TitleScroll (37258 (d:7258)) xor a ld [$ffb0], a ret @@ -11296,9 +11216,7 @@ LoadMonData_: ; 45b6 (1:45b6) jr z,.GetMonHeader ld a,[wWhichPokemon] ld e,a - ld hl, Func_39c37 - ld b, BANK(Func_39c37) - call Bankswitch ; get pokemon ID + callab Func_39c37 ; get pokemon ID .GetMonHeader ld a,[$cf91] ld [$d0b5],a ; input for GetMonHeader @@ -13291,9 +13209,7 @@ Func_5530 .asm_559a ld a, $1 ld [$d11b], a - ld hl, Func_39bd5 - ld b, BANK(Func_39bd5) - call Bankswitch + callab Func_39bd5 ld hl, wEnemyMons call Func_57d6 jp .asm_565b @@ -13350,9 +13266,7 @@ Func_5530 jp .asm_5665 ld a, $4 ld [$d11b], a - ld hl, Func_39bd5 - ld b, BANK(Func_39bd5) - call Bankswitch + callab Func_39bd5 call Func_57d6 jp .asm_565b .asm_562e @@ -13445,9 +13359,7 @@ Func_5530 ld [$cc26], a ld a, $4 ld [$d11b], a - ld hl, Func_39bd5 - ld b, BANK(Func_39bd5) - call Bankswitch + callab Func_39bd5 call Func_57d6 call LoadScreenTilesFromBuffer1 jp .asm_55dc @@ -13520,9 +13432,7 @@ Func_577d: ; 577d (1:577d) dec a ld [$d42f], a call LoadMapData - ld b, BANK(Func_c335) - ld hl, Func_c335 - call Bankswitch + callba Func_c335 pop hl pop af ld [hl], a @@ -13780,9 +13690,7 @@ Func_5849: ld a, $2f call Predef .asm_59de - ld hl, Func_3ad0e - ld b, Bank(Func_3ad0e) - call Bankswitch ; Indirect jump to Func_3ad0e + callab Func_3ad0e call ClearScreen call Func_5ae6 call Func_226e @@ -15270,9 +15178,7 @@ Func_6596: ; 6596 (1:6596) call GoPAL_SET call LoadHpBarAndStatusTilePatterns call Func_675b - ld b, BANK(Func_7176c) - ld hl, Func_7176c - call Bankswitch + callba Func_7176c FuncCoord 0, 4 ; $c3f0 ld hl, Coord ld b, $9 @@ -15309,9 +15215,7 @@ Func_6596: ; 6596 (1:6596) .asm_65ff ld a, [wCurrentMenuItem] ; $cc26 push af - ld b, BANK(Func_716f7) - ld hl, Func_716f7 - call Bankswitch + callba Func_716f7 pop af ld [wCurrentMenuItem], a ; $cc26 call GetJoypadStateLowSensitivity @@ -15660,9 +15564,7 @@ Func_68f8: ; 68f8 (1:68f8) ld a, [$cf91] ld [$cd5d], a push af - ld b, BANK(Func_71882) - ld hl, Func_71882 - call Bankswitch + callba Func_71882 pop af ld [$d11e], a call GetMonName @@ -16159,9 +16061,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) ld [$cf93],a ld a,$02 ld [$d11b],a - ld hl, Func_39bd5 - ld b, BANK(Func_39bd5) - call Bankswitch + callab Func_39bd5 ld a,[wNumBagItems] and a jp z,.bagEmpty @@ -16239,9 +16139,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) ld [$cf93],a ld a,$03 ld [$d11b],a - ld hl, Func_39bd5 - ld b, BANK(Func_39bd5) - call Bankswitch + callab Func_39bd5 ld hl,PokemartBuyingGreetingText call PrintText call SaveScreenTilesToBuffer1 ; save screen @@ -16500,9 +16398,7 @@ Func_6f07: ; 6f07 (1:6f07) ld de, $d0dc ld bc, $4 call CopyData - ld hl, Func_39b87 - ld b, BANK(Func_39b87) - call Bankswitch + callab Func_39b87 pop hl .asm_6f39 push hl @@ -16637,9 +16533,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6) ld [$c112], a ; make the nurse turn to face the machine call Delay3 PREDEF HealPartyPredef - ld b, BANK(Func_70433) - ld hl, Func_70433 - call Bankswitch ; do the healing machine animation + callba Func_70433 ; do the healing machine animation xor a ld [wMusicHeaderPointer], a ld a, [$c0f0] @@ -16944,9 +16838,7 @@ Func_71e1: ; 71e1 (1:71e1) ld a, [$cc26] and a jr nz, .asm_728f ; 0x723e $4f - ld hl, SaveSAVtoSRAM - ld b, BANK(SaveSAVtoSRAM) - call Bankswitch + callab SaveSAVtoSRAM call WaitForSoundToFinish ld a, (SFX_02_5d - SFX_Headers_02) / 3 call PlaySoundWaitForCurrent @@ -17866,9 +17758,7 @@ Func_7861: ; 7861 (1:7861) call Predef ; indirect jump to Func_3cd60 (3cd60 (f:4d60)) ld a, $49 call Predef ; indirect jump to Func_3cdec (3cdec (f:4dec)) - ld hl, ReadPlayerMonCurHPAndStatus - ld b, BANK(ReadPlayerMonCurHPAndStatus) - call Bankswitch + callab ReadPlayerMonCurHPAndStatus ld hl, UnnamedText_78dc ; $78dc ld a, [H_WHOSETURN] ; $fff3 and a @@ -19107,9 +18997,7 @@ Func_c49d: ; c49d (3:449d) push hl push de push bc - ld b, BANK(Func_1a609) - ld hl, Func_1a609 - call Bankswitch + callba Func_1a609 jr c, .asm_c4c8 ld a, [W_CURMAPTILESET] ; $d367 add a @@ -24433,9 +24321,7 @@ ItemUseBall: ; d687 (3:5687) call LoadScreenTilesFromBuffer1 ;restore screenBuffer from Backup ld hl,ItemUseText00 call PrintText - ld hl, Func_3d83a - ld b, BANK(Func_3d83a) - call Bankswitch + callab Func_3d83a ld b,$10 jp z,.next12 ld a,[W_BATTLETYPE] @@ -24679,9 +24565,7 @@ ItemUseBall: ; d687 (3:5687) ld [$cf91],a ld a,[$cff3] ld [$d127],a - ld hl, Func_3eb01 - ld b, BANK(Func_3eb01) - call Bankswitch + callab Func_3eb01 pop af ld [$cf91],a pop hl @@ -24957,9 +24841,7 @@ ItemUseEvoStone: ; da5b (3:5a5b) ld a,(SFX_02_3e - SFX_Headers_02) / 3 call PlaySoundWaitForCurrent ; play sound call WaitForSoundToFinish ; wait for sound to end - ld hl, Func_3ad0e - ld b, BANK(Func_3ad0e) - call Bankswitch ; try to evolve pokemon + callab Func_3ad0e ; try to evolve pokemon ld a,[$d121] and a jr z,.noEffect @@ -25528,9 +25410,7 @@ ItemUseMedicine: ; dabb (3:5abb) push hl push de ld d,a - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch ; calculate experience for next level and store it at $ff96 + callab CalcExperience ; calculate experience for next level and store it at $ff96 pop de pop hl ld bc,-19 @@ -25589,9 +25469,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld [$cc49],a ; load from player's party call LoadMonData ld d,$01 - ld hl, PrintStatsBox - ld b, BANK(PrintStatsBox) - call Bankswitch ; display new stats text box + callab PrintStatsBox ; display new stats text box call WaitForTextScrollButtonPress ; wait for button press xor a ld [$cc49],a @@ -25599,9 +25477,7 @@ ItemUseMedicine: ; dabb (3:5abb) call Predef ; learn level up move, if any xor a ld [$ccd4],a - ld hl, Func_3ad0e - ld b, BANK(Func_3ad0e) - call Bankswitch ; evolve pokemon, if appropriate + callab Func_3ad0e ; evolve pokemon, if appropriate ld a,$01 ld [$cfcb],a pop af @@ -25895,9 +25771,7 @@ ItemUseXStat: ; e104 (3:6104) call Delay3 xor a ld [H_WHOSETURN],a ; set turn to player's turn - ld b, BANK(Func_3f428) - ld hl, Func_3f428 - call Bankswitch ; do stat increase move + callba Func_3f428 ; do stat increase move pop hl pop af ld [hld],a ; restore [W_PLAYERMOVEEFFECT] @@ -25977,9 +25851,7 @@ ItemUsePokeflute: ; e140 (3:6140) and a,$80 jr nz,.skipMusic call WaitForSoundToFinish ; wait for sound to end - ld b, BANK(Music_PokeFluteInBattle) - ld hl, Music_PokeFluteInBattle - call Bankswitch ; play in-battle pokeflute music + callba Music_PokeFluteInBattle ; play in-battle pokeflute music .musicWaitLoop ; wait for music to finish playing ld a,[$c02c] and a ; music off? @@ -26133,9 +26005,7 @@ RodResponse: ; e28d (3:628d) push af push hl ld [hl], 0 - ld b, BANK(Func_707b6) - ld hl, Func_707b6 - call Bankswitch + callba Func_707b6 pop hl pop af ld [hl], a @@ -26176,9 +26046,7 @@ ItemUseItemfinder: ; e2e1 (3:62e1) and a jp nz,ItemUseNotTime call ItemUseReloadOverworldData - ld b,BANK(HiddenItemNear) - ld hl,HiddenItemNear - call Bankswitch ; check for hidden items + callba HiddenItemNear ; check for hidden items ld hl,ItemfinderFoundNothingText jr nc,.printText ; if no hidden items ld c,4 @@ -26234,9 +26102,7 @@ ItemUsePPRestore: ; e31e (3:631e) call PrintText xor a ld [$cc2e],a - ld hl, MoveSelectionMenu - ld b, BANK(MoveSelectionMenu) - call Bankswitch ; move selection menu + callab MoveSelectionMenu ; move selection menu ld a,0 ld [$cc2e],a jr nz,.chooseMon @@ -26493,9 +26359,7 @@ ItemUseTMHM: ; e479 (3:6479) call PrintText jr .chooseMon .checkIfAlreadyLearnedMove - ld hl, Func_2fe18 - ld b, BANK(Func_2fe18) - call Bankswitch ; check if the pokemon already knows the move + callab Func_2fe18 ; check if the pokemon already knows the move jr c,.chooseMon ld a,$1b call Predef ; teach move @@ -27059,9 +26923,7 @@ Func_e7a4: ; e7a4 (3:67a4) push de ld a, [W_CURENEMYLVL] ; $d127 ld d, a - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch + callab CalcExperience pop de ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND) ld [de], a @@ -27631,9 +27493,7 @@ asm_ef82: ; ef82 (3:6f82) ld de, CutTreeBlockSwaps ; $7100 call Func_f09f call Func_eedc - ld b, BANK(Func_79e96) - ld hl, Func_79e96 - call Bankswitch + callba Func_79e96 ld a, $1 ld [$cfcb], a ld a, (SFX_02_56 - SFX_Headers_02) / 3 @@ -28129,9 +27989,7 @@ Func_f2b5: ; f2b5 (3:72b5) ld a, [$d730] bit 0, a ret nz - ld hl, Func_79f54 - ld b, BANK(Func_79f54) - call Bankswitch + callab Func_79f54 call DiscardButtonPresses ld [wJoypadForbiddenButtonsMask], a call Func_f2dd @@ -28344,9 +28202,7 @@ _AddPokemonToParty: ; f2e5 (3:72e5) push de ld a, [W_CURENEMYLVL] ld d, a - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch + callab CalcExperience pop de inc de ld a, [H_MULTIPLICAND] ; write experience @@ -28640,9 +28496,7 @@ Func_f51e: ; f51e (3:751e) add $2 ld [$cc49], a call LoadMonData - ld b, BANK(Func_58f43) - ld hl, Func_58f43 - call Bankswitch + callba Func_58f43 ld a, d ld [W_CURENEMYLVL], a ; $d127 pop hl @@ -29662,9 +29516,7 @@ TownMapText: ; fc12 (3:7c12) inc a ld [H_AUTOBGTRANSFERENABLED], a call LoadFontTilePatterns - ld b, BANK(DisplayTownMap) - ld hl, DisplayTownMap - call Bankswitch + callba DisplayTownMap ld hl, $d730 res 6, [hl] ld de, TextScriptEnd @@ -30113,9 +29965,7 @@ StatusScreen2: ; 12b57 (4:6b57) ld de, $d0dc ld bc, $0004 call CopyData - ld hl, Func_39b87 - ld b, BANK(Func_39b87) - call Bankswitch + callab Func_39b87 FuncCoord 9,2 ld hl, Coord ld bc, $050a @@ -30167,9 +30017,7 @@ StatusScreen2: ; 12b57 (4:6b57) ld a, b ld [hl], a push hl - ld hl, GetMaxPP - ld b, BANK(GetMaxPP) - call Bankswitch + callab GetMaxPP pop hl pop af ld [hl], a @@ -30264,9 +30112,7 @@ StatusScreen2: ; 12b57 (4:6b57) jr z, .asm_12ca7 ; 0x12c8b $1a ; If 100 inc a ld d, a - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch + callab CalcExperience ld hl, $cfa8 ld a, [$ff98] sub [hl] @@ -30329,18 +30175,14 @@ DrawPartyMenu_: ; 12cd2 (4:6cd2) ld [H_AUTOBGTRANSFERENABLED],a call ClearScreen call UpdateSprites ; move sprites - ld b, BANK(Func_71791) - ld hl, Func_71791 - call Bankswitch ; load pokemon icon graphics + callba Func_71791 ; load pokemon icon graphics RedrawPartyMenu_: ; 12ce3 (4:6ce3) ld a,[$D07D] cp a,$04 jp z,.printMessage call ErasePartyMenuCursors - ld b, BANK(Func_71fb6) - ld hl, Func_71fb6 - call Bankswitch ; loads some data to $cf2e + callba Func_71fb6 ; loads some data to $cf2e FuncCoord 3,0 ld hl,Coord ld de,W_PARTYMON1 @@ -30361,9 +30203,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3) call GetPartyMonName pop hl call PlaceString ; print the pokemon's name - ld b, BANK(Func_71868) - ld hl, Func_71868 - call Bankswitch ; place the appropriate pokemon icon + callba Func_71868 ; place the appropriate pokemon icon ld a,[$FF8C] ; loop counter ld [wWhichPokemon],a inc a @@ -30839,9 +30679,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) .surf bit 4,a ; does the player have the Soul Badge? jp z,.newBadgeRequired - ld b, BANK(Func_cdc0) - ld hl, Func_cdc0 - call Bankswitch + callba Func_cdc0 ld hl,$d728 bit 1,[hl] res 1,[hl] @@ -31398,9 +31236,7 @@ StartMenu_Option: ; 135f6 (4:75f6) ld [H_AUTOBGTRANSFERENABLED],a call ClearScreen call UpdateSprites - ld hl,DisplayOptionMenu - ld b,BANK(DisplayOptionMenu) - call Bankswitch + callab DisplayOptionMenu call LoadScreenTilesFromBuffer2 ; restore saved screen call LoadTextBoxTilePatterns call UpdateSprites @@ -31657,9 +31493,7 @@ Func_137aa: ; 137aa (4:77aa) ld a, [W_ENEMYMONSTATUS] ; $cfe9 ld [hl], a call ClearScreen - ld hl, Func_372d6 - ld b, BANK(Func_372d6) - call Bankswitch + callab Func_372d6 ld a, [$cf0b] cp $1 ld de, YouWinText ; $7853 @@ -31746,18 +31580,14 @@ Func_13870: ; 13870 (4:7870) ld a, [$d736] and a ret nz - ld hl, Func_c49d - ld b, BANK(Func_c49d) - call Bankswitch + callab Func_c49d jr nc, .asm_13888 .asm_13884 ld a, $1 and a ret .asm_13888 - ld hl, Func_128d8 - ld b, BANK(Func_128d8) - call Bankswitch + callab Func_128d8 jr z, .asm_13884 ld a, [$d0db] and a @@ -33272,9 +33102,7 @@ EvolveTradeMon: ; 17d7d (5:7d7d) ld [$ccd4], a ld a, $32 ld [W_ISLINKBATTLE], a ; $d12b - ld hl, Func_3ad0e - ld b, BANK(Func_3ad0e) - call Bankswitch + callab Func_3ad0e xor a ld [W_ISLINKBATTLE], a ; $d12b jp Func_2307 @@ -33369,9 +33197,7 @@ ActivatePC: ; 17e2c (5:7e2c) call LoadScreenTilesFromBuffer2 ;XXX: restore saved screen call Delay3 PCMainMenu: ; 17e48 (5:7e48) - ld b, BANK(Func_213c8) - ld hl, Func_213c8 - call Bankswitch + callba Func_213c8 ld hl, wFlags_0xcd60 set 5, [hl] call HandleMenuInput @@ -33417,25 +33243,19 @@ PCMainMenu: ; 17e48 (5:7e48) call WaitForSoundToFinish ;XXX: wait for sound to be done ld hl, UnnamedText_17f32 ;accessed players pc call PrintText - ld b, BANK(Func_78e6) - ld hl, Func_78e6 - call Bankswitch + callba Func_78e6 jr ReloadMainMenu OaksPC: ; 17ec0 (5:7ec0) ld a, (SFX_02_47 - SFX_Headers_02) / 3 call PlaySound ;XXX: play sound or stop music call WaitForSoundToFinish ;XXX: wait for sound to be done - ld b, BANK(Func_1e915) - ld hl, Func_1e915 - call Bankswitch + callba Func_1e915 jr ReloadMainMenu PKMNLeague: ; 17ed2 (5:7ed2) ld a, (SFX_02_47 - SFX_Headers_02) / 3 call PlaySound ;XXX: play sound or stop music call WaitForSoundToFinish ;XXX: wait for sound to be done - ld b, BANK(Func_7657e) - ld hl, Func_7657e - call Bankswitch + callba Func_7657e jr ReloadMainMenu BillsPC: ; 17ee4 (5:7ee4) ld a, (SFX_02_47 - SFX_Headers_02) / 3 @@ -33450,9 +33270,7 @@ BillsPC: ; 17ee4 (5:7ee4) ld hl, UnnamedText_17f28 ;accessed bill's pc .printText call PrintText - ld b, BANK(BillsPC_) - ld hl, BillsPC_ - call Bankswitch + callba BillsPC_ ReloadMainMenu: ; 17f06 (5:7f06) xor a ld [$CC3C], a @@ -35021,9 +34839,7 @@ CeruleanCityScript2: ; 195b1 (6:55b1) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, $1 ld [$ff8c], a call SetSpriteMovementBytesToFF @@ -35148,9 +34964,7 @@ CeruleanCityText2: ; 1967c (6:567c) ld [$cc3c], a ld hl, ReceivedTM28Text call PrintText - ld b, BANK(Func_74872) - ld hl, Func_74872 - call Bankswitch + callba Func_74872 .Done jp TextScriptEnd @@ -37656,9 +37470,7 @@ Func_1c98a: ; 1c98a (7:498a) ld a, [wCurrentMenuItem] ; $cc26 and a jp z, InitGame - ld b, BANK(Func_73b6a) - ld hl, Func_73b6a - call Bankswitch + callba Func_73b6a jp InitGame UnnamedText_1c9c1: ; 1c9c1 (7:49c1) @@ -38290,9 +38102,7 @@ OaksLabScript13: ; 1ce32 (7:4e32) ld a, $10 ld [$ff8c], a call DisplayTextID - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, $1 ld [$ff8c], a ld de, .RivalExitMovement @@ -38358,9 +38168,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, $15 ld [$ff8c], a call DisplayTextID @@ -38468,9 +38276,7 @@ OaksLabScript16: ; 1cf12 (7:4f12) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, $1 ld [$ff8c], a ld de, $cc97 @@ -39592,9 +39398,7 @@ BikeShopText1: ; 1d745 (7:5745) jr nc, .BagFull ld a, BIKE_VOUCHER ldh [$db], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch + callba RemoveItemByID ld hl, $d75f set 0, [hl] ld hl, UnnamedText_1d824 @@ -40023,9 +39827,7 @@ NameRaterText1: ; 1da56 (7:5a56) jr nz, .asm_1daae ; 0x1da93 $19 ld hl, UnnamedText_1dac2 call PrintText - ld b, BANK(Func_655c) - ld hl, Func_655c - call Bankswitch + callba Func_655c jr c, .asm_1daae ; 0x1daa3 $9 ld hl, UnnamedText_1dac7 .asm_1daa8 @@ -40184,9 +39986,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b) ld c, BANK(Music_Surfing) ld a, MUSIC_SURFING call PlayMusic - ld b, BANK(Func_79fc0) - ld hl, Func_79fc0 - call Bankswitch + callba Func_79fc0 xor a ld [$c102], a ld c, $78 @@ -40695,9 +40495,7 @@ Route5GateScript0: ; 1df50 (7:5f50) ld [$d528], a xor a ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch + callba RemoveGuardDrink ld a, [$ffdb] and a jr nz, .asm_1df82 ; 0x1df70 $10 @@ -40744,9 +40542,7 @@ Route5GateText1: ; 1dfaa (7:5faa) ld a, [$d728] bit 6, a jr nz, .asm_88856 ; 0x1dfb0 $2c - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch + callba RemoveGuardDrink ld a, [$ffdb] and a jr nz, .asm_768a2 ; 0x1dfbd $11 @@ -40841,9 +40637,7 @@ Route6GateScript0: ; 1e04e (7:604e) ld [$d528], a xor a ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch + callba RemoveGuardDrink ld a, [$ffdb] and a jr nz, .asm_1e080 ; 0x1e06e $10 @@ -40956,9 +40750,7 @@ Route7GateScript0: ; 1e128 (7:6128) ld [$d528], a xor a ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch + callba RemoveGuardDrink ld a, [$ffdb] and a jr nz, .asm_1e15a ; 0x1e148 $10 @@ -41061,9 +40853,7 @@ Route8GateScript0: ; 1e1ee (7:61ee) ld [$d528], a xor a ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch + callba RemoveGuardDrink ld a, [$ffdb] and a jr nz, .asm_1e220 ; 0x1e20e $10 @@ -42710,9 +42500,7 @@ Func_27f86: ; 27f86 (9:7f86) bit 2, [hl] jr nz, .asm_27fa5 set 2, [hl] - ld hl, Func_3fba8 - ld b, BANK(Func_3fba8) - call Bankswitch + callab Func_3fba8 ld hl, UnnamedText_27fb3 ; $7fb2 jp PrintText .asm_27fa5 @@ -42858,9 +42646,7 @@ MoltresPicBack: ; 2be02 (a:7e02) INCBIN "pic/monback/moltresb.pic" Func_2bea9: ; 2bea9 (a:7ea9) - ld hl, MoveHitTest - ld b, BANK(MoveHitTest) - call Bankswitch + callab MoveHitTest ld a, [W_MOVEMISSED] ; $d05f and a jr nz, .asm_2bee7 @@ -42882,9 +42668,7 @@ Func_2bea9: ; 2bea9 (a:7ea9) bit 7, [hl] jr nz, .asm_2bee7 set 7, [hl] - ld hl, Func_3fba8 - ld b, BANK(Func_3fba8) - call Bankswitch + callab Func_3fba8 ld hl, UnnamedText_2bef2 ; $7ef2 jp PrintText .asm_2bee7 @@ -43394,9 +43178,7 @@ Func_33f2b: ; 33f2b (c:7f2b) bit 1, [hl] jr nz, .asm_33f4a set 1, [hl] - ld hl, Func_3fba8 - ld b, BANK(Func_3fba8) - call Bankswitch + callab Func_3fba8 ld hl, UnnamedText_33f52 jp PrintText .asm_33f4a @@ -43699,9 +43481,7 @@ Func_372d6: ; 372d6 (d:72d6) ld [hl], $6a xor a ld [$cfcb], a - ld hl, Func_3a948 - ld b, BANK(Func_3a948) - call Bankswitch + callab Func_3a948 ld c, $96 jp DelayFrames @@ -44891,9 +44671,7 @@ Func_37e2d: ; 37e2d (d:7e2d) jr z, .asm_37e6a cp $ff jr z, .asm_37e6e - ld b, BANK(Func_2ff09) - ld hl, Func_2ff09 - call Bankswitch + callba Func_2ff09 ld a, [wTrainerSpriteOffset] and a ret z @@ -50922,9 +50700,7 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3) ld [W_ENEMYMONID], a ld b, $1 call GoPAL_SET - ld hl, _LoadTrainerPic - ld b, BANK(_LoadTrainerPic) - call Bankswitch + callab _LoadTrainerPic FuncCoord 19, 0 ; $c3b3 ld hl, Coord ld c, $0 @@ -51170,9 +50946,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817) push hl push bc push de - ld hl, AIGetTypeEffectiveness - ld b, BANK(AIGetTypeEffectiveness) - call Bankswitch + callab AIGetTypeEffectiveness pop de pop bc pop hl @@ -52921,9 +52695,7 @@ Func_3a74b: ; 3a74b (e:674b) ld a,1 ld [$D11D],a - ld hl,EnemySendOut - ld b,BANK(EnemySendOut) - call Bankswitch + callab EnemySendOut xor a ld [$D11D],a @@ -53036,9 +52808,7 @@ AIIncreaseStat: ; 3a808 (e:6808) ld a,$AF ld [hli],a ld [hl],b - ld hl, Func_3f428 - ld b, BANK(Func_3f428) - call Bankswitch + callab Func_3f428 pop hl pop af ld [hli],a @@ -53393,9 +53163,7 @@ Func_3ad71: ; 3ad71 (e:6d71) ld a, $ff ld [$cfcb], a call CleanLCD_OAM - ld hl, Func_7bde9 - ld b, BANK(Func_7bde9) - call Bankswitch + callab Func_7bde9 jp c, Func_3af2e ld hl, UnnamedText_3af3e ; $6f3e call PrintText @@ -56507,9 +56275,7 @@ Func_3c11e: ; 3c11e (f:411e) ld hl, UnnamedText_3c1a8 ; $41a8 jp PrintText .asm_3c17a - ld hl, Func_4277 - ld b, BANK(Func_4277) - call Bankswitch + callab Func_4277 ld a, [$cffb] add a ld b, a @@ -56686,9 +56452,7 @@ MainInBattleLoop: ; 3c233 (f:4233) jr nz, .asm_3c2dd ; 0x3c2d8 $3 ld [wPlayerSelectedMove], a .asm_3c2dd - ld hl, Func_3a74b - ld b, BANK(Func_3a74b) - call Bankswitch + callab Func_3a74b .noLinkBattle ld a, [wPlayerSelectedMove] cp QUICK_ATTACK @@ -56736,9 +56500,7 @@ MainInBattleLoop: ; 3c233 (f:4233) .enemyMovesFirst ld a, $1 ld [H_WHOSETURN], a - ld hl, TrainerAI - ld b, BANK(TrainerAI) - call Bankswitch + callab TrainerAI jr c, .AIActionUsedEnemyFirst call Func_3e6bc ; execute enemy move ld a, [$d078] @@ -56776,9 +56538,7 @@ MainInBattleLoop: ; 3c233 (f:4233) call Func_3cd5a ld a, $1 ld [H_WHOSETURN], a - ld hl, TrainerAI - ld b, BANK(TrainerAI) - call Bankswitch + callab TrainerAI jr c, .AIActionUsedPlayerFirst call Func_3e6bc ; execute enemy move ld a, [$d078] @@ -57147,9 +56907,7 @@ FaintEnemyPokemon ; 0x3c567 .no_exp_all xor a ld [$cc5b], a - ld hl, Func_5524f - ld b, BANK(Func_5524f) - call Bankswitch + callab Func_5524f pop af ret z ld a, $1 @@ -57200,9 +56958,7 @@ Func_3c664: ; 3c664 (f:4664) ld hl, $cf1e ld e, $30 call Func_3ce90 - ld hl, DrawEnemyPokeballs - ld b, BANK(DrawEnemyPokeballs) - call Bankswitch + callab DrawEnemyPokeballs ld a, [W_ISLINKBATTLE] ; $d12b cp $4 jr nz, .asm_3c687 @@ -58007,9 +57763,7 @@ Func_3cc13: ; 3cc13 (f:4c13) ret Func_3cc91: ; 3cc91 (f:4c91) - ld hl, Func_58e59 - ld b, BANK(Func_58e59) - call Bankswitch + callab Func_58e59 ld hl, W_ENEMYMONCURHP ; $cfe6 ld a, [hli] or [hl] @@ -58117,9 +57871,7 @@ Func_3cd60: ; 3cd60 (f:4d60) ld hl, Coord ld bc, $50b call ClearScreenArea - ld hl, Func_3a902 - ld b, BANK(Func_3a902) - call Bankswitch + callab Func_3a902 FuncCoord 18, 9 ; $c466 ld hl, Coord ld [hl], $73 @@ -58185,9 +57937,7 @@ Func_3cdec: ; 3cdec (f:4dec) ld hl, wTileMap ld bc, $40c call ClearScreenArea - ld hl, Func_3a919 - ld b, BANK(Func_3a919) - call Bankswitch + callab Func_3a919 ld de, W_ENEMYMONNAME FuncCoord 1, 0 ; $c3a1 ld hl, Coord @@ -58693,9 +58443,7 @@ Func_3d119: ; 3d119 (f:5119) call GBPalNormal Func_3d1ba: ; 3d1ba (f:51ba) - ld hl, Func_58ed1 - ld b, BANK(Func_58ed1) - call Bankswitch + callab Func_58ed1 ld c, $32 call DelayFrames call Func_3ccfa @@ -58750,9 +58498,7 @@ MoveSelectionMenu: ; 3d219 (f:5219) ld de, $d0dc ld bc, $4 call CopyData - ld hl, Func_39b87 - ld b, BANK(Func_39b87) - call Bankswitch + callab Func_39b87 ret .writemoves @@ -59156,9 +58902,7 @@ Func_3d4b6: ; 3d4b6 (f:54b6) ld [wWhichPokemon], a ; $cf92 ld a, $4 ld [$cc49], a - ld hl, GetMaxPP - ld b, BANK(GetMaxPP) - call Bankswitch + callab GetMaxPP ld hl, wCurrentMenuItem ; $cc26 ld c, [hl] inc [hl] @@ -59258,9 +59002,7 @@ SelectEnemyMove: ; 3d564 (f:5564) ld a, [W_ISINBATTLE] dec a jr z, .chooseRandomMove ; wild encounter - ld hl, AIEnemyTrainerChooseMoves - ld b, BANK(AIEnemyTrainerChooseMoves) - call Bankswitch + callab AIEnemyTrainerChooseMoves .chooseRandomMove push hl call GenRandomInBattle ; get random @@ -59323,9 +59065,7 @@ Func_3d605: ; 3d605 (f:5605) ld a, b .asm_3d630 ld [$cc42], a - ld hl, Func_4c05 - ld b, BANK(Func_4c05) - call Bankswitch + callab Func_4c05 .asm_3d63b call Func_22c3 call DelayFrame @@ -59497,9 +59237,7 @@ asm_3d766 .next8 call ApplyAttackToEnemyPokemon call Func_3dc5c - ld hl, DisplayEffectiveness ; MyFunction - ld b, BANK(DisplayEffectiveness) ; BANK(MyFunction) - call Bankswitch + callab DisplayEffectiveness ld a,1 ld [$CCF4],a .next9 @@ -61228,9 +60966,7 @@ AttackSubstitute: ; 3e25e (f:625e) ld a,[H_WHOSETURN] xor a,$01 ld [H_WHOSETURN],a - ld hl, Func_79747 - ld b, BANK(Func_79747) ; animate the substitute breaking - call Bankswitch ; substitute + callab Func_79747 ; animate the substitute breaking ; flip the turn back to the way it was ld a,[H_WHOSETURN] xor a,$01 @@ -62044,9 +61780,7 @@ asm_3e7ef: ; 3e7ef (f:67ef) .asm_3e82b call ApplyAttackToPlayerPokemon call Func_3dc5c - ld hl, DisplayEffectiveness - ld b, BANK(DisplayEffectiveness) - call Bankswitch + callab DisplayEffectiveness ld a, $1 ld [$ccf4], a .asm_3e83e @@ -62570,9 +62304,7 @@ Func_3ec32: ; 3ec32 (f:6c32) jr nz, .asm_3ec4d xor a ld [wMenuJoypadPollCount], a ; $cc34 - ld hl, Func_372d6 - ld b, BANK(Func_372d6) - call Bankswitch + callab Func_372d6 ld a, $1 ld [$cfcb], a call ClearScreen @@ -62580,9 +62312,7 @@ Func_3ec32: ; 3ec32 (f:6c32) call DelayFrame ld a, $30 call Predef ; indirect jump to Func_7096d (7096d (1c:496d)) - ld hl, Func_3ee58 - ld b, BANK(Func_3ee58) - call Bankswitch + callab Func_3ee58 ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld a, $ff @@ -62678,9 +62408,7 @@ Func_3ec92: ; 3ec92 (f:6c92) jp Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6)) Func_3ed02: ; 3ed02 (f:6d02) - ld hl, Func_39680 - ld b, BANK(Func_39680) - call Bankswitch + callab Func_39680 ld hl, Func_396a7 ld b, BANK(Func_396a7) jp Bankswitch @@ -63047,9 +62775,7 @@ asm_3ef23: ; 3ef23 (f:6f23) ld a, [$d13c] and a ret nz - ld hl, Func_13870 - ld b, BANK(Func_13870) - call Bankswitch + callab Func_13870 ret nz asm_3ef3d: ; 3ef3d (f:6f3d) ld a, [$d35d] @@ -63058,17 +62784,13 @@ asm_3ef3d: ; 3ef3d (f:6f3d) ld a, [hl] push af res 1, [hl] - ld hl, Func_525af - ld b, BANK(Func_525af) - call Bankswitch + callab Func_525af ld a, [W_ENEMYMONID] sub $c8 jp c, Func_3ef8b ld [W_TRAINERCLASS], a ; $d031 call Func_3566 - ld hl, ReadTrainer - ld b, BANK(ReadTrainer) - call Bankswitch + callab ReadTrainer call Func_3ec32 call _LoadTrainerPic xor a @@ -63168,9 +62890,7 @@ Func_3efeb: ; 3efeb (f:6feb) dec a call z, Func_3cdec call Func_3c11e - ld hl, Func_137aa - ld b, BANK(Func_137aa) - call Bankswitch + callab Func_137aa pop af ld [$d358], a pop af @@ -64942,9 +64662,7 @@ DisplayPokedexMenu_: ; 40000 (10:4000) .setUpGraphics ld b,$08 call GoPAL_SET - ld hl,LoadPokedexTilePatterns - ld b,BANK(LoadPokedexTilePatterns) - call Bankswitch + callab LoadPokedexTilePatterns .doPokemonListMenu ld hl,wTopMenuItemY ld a,3 @@ -65333,9 +65051,7 @@ ShowPokedexData: ; 402d1 (10:42d1) call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites - ld hl, LoadPokedexTilePatterns - ld b, BANK(LoadPokedexTilePatterns) - call Bankswitch ; load pokedex tiles + callab LoadPokedexTilePatterns ; load pokedex tiles ; function to display pokedex data from inside the pokedex ShowPokedexDataInternal: ; 402e2 (10:42e2) @@ -67604,9 +67320,7 @@ Func_414e8: ; 414e8 (10:54e8) ret Func_41505: ; 41505 (10:5505) - ld b, BANK(Func_71882) - ld hl, Func_71882 - call Bankswitch + callba Func_71882 call Func_41558 Func_41510: ; 41510 (10:5510) @@ -68128,9 +67842,7 @@ Func_41852: ; 41852 (10:5852) Func_4188a: ; 4188a (10:588a) ld b, $c call GoPAL_SET - ld b, BANK(Func_4538) - ld hl, Func_4538 - call Bankswitch + callba Func_4538 ld a, $e4 ld [rBGP], a ; $ff47 ld c, $b4 @@ -68147,9 +67859,7 @@ Func_4188a: ; 4188a (10:588a) set 3, [hl] ld c, $40 call DelayFrames - ld b, BANK(Func_70044) - ld hl, Func_70044 - call Bankswitch + callba Func_70044 push af pop af jr c, .asm_418d0 @@ -68499,9 +68209,7 @@ DisplayDexRating: ; 44169 (11:4169) call PrintText pop hl call PrintText - ld b, BANK(Func_7d13b) - ld hl, Func_7d13b - call Bankswitch + callba Func_7d13b jp WaitForTextScrollButtonPress ; wait for button press .label3 ld de, $CC5B @@ -70831,9 +70539,7 @@ RocketHideoutElevatorWarpMaps: ; 45759 (11:5759) Func_4575f: ; 4575f (11:575f) call Delay3 - ld b, BANK(Func_7bf15) - ld hl, Func_7bf15 - call Bankswitch + callba Func_7bf15 ret RocketHideoutElevatorTextPointers: ; 4576b (11:576b) @@ -70950,9 +70656,7 @@ SilphCoElevatorWarpMaps: ; 45811 (11:45811) Func_45827: ; 45827 (11:5827) call Delay3 - ld b, BANK(Func_7bf15) - ld hl, Func_7bf15 - call Bankswitch + callba Func_7bf15 ret SilphCoElevatorTextPointers: ; 45833 (11:5833) @@ -74238,9 +73942,7 @@ DirectorText: ; 487b2 (12:47b2) TX_FAR _CompletedDexText ; 0x9d0ad db $6 db $8 ; asm - ld hl, DisplayDiploma - ld b, BANK(DisplayDiploma) - call Bankswitch + callab DisplayDiploma ld a, $1 ld [$cc3c], a jp TextScriptEnd @@ -77708,13 +77410,9 @@ Func_4fda5: ; 4fda5 (13:7da5) ld [W_ENEMYBATTSTATUS3], a ; $d069 ld a, [$cf91] ld [W_ENEMYMONID], a - ld hl, Func_3eb01 - ld b, BANK(Func_3eb01) - call Bankswitch + callab Func_3eb01 call Func_4fe11 - ld hl, Func_e7a4 - ld b, BANK(Func_e7a4) - call Bankswitch + callab Func_e7a4 ld hl, $cf4b ld a, [$d5a0] and $7f @@ -78876,9 +78574,7 @@ Route22Script2: ; 50fb5 (14:4fb5) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, [$cf0d] cp $1 jr nz, .asm_50fff ; 0x50ff8 $5 @@ -78943,9 +78639,7 @@ Func_5104e: ; 5104e (14:504e) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateTempo) - ld hl, Music_RivalAlternateTempo - call Bankswitch + callba Music_RivalAlternateTempo ld a, $2 ld [H_DOWNARROWBLINKCNT2], a ; $ff8c call Func_50ee6 @@ -79027,9 +78721,7 @@ Route22Script5: ; 510df (14:50df) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStartAndTempo) - ld hl, Music_RivalAlternateStartAndTempo - call Bankswitch + callba Music_RivalAlternateStartAndTempo ld a, [$cf0d] cp $1 jr nz, .asm_51134 @@ -80604,9 +80296,7 @@ SilphCo7Script4: ; 51cc8 (14:5cc8) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld de, MovementData_51d1d ld a, [$cf0d] cp $1 @@ -81541,22 +81231,16 @@ Func_52613: ; 52613 (14:6613) jr z, .asm_52666 .asm_5262a push hl - ld hl, MoveHitTest - ld b, BANK(MoveHitTest) - call Bankswitch + callab MoveHitTest pop hl ld a, [W_MOVEMISSED] ; $d05f and a jr nz, .asm_52659 set 6, [hl] - ld hl, Func_3ed27 - ld b, BANK(Func_3ed27) - call Bankswitch + callab Func_3ed27 ld c, $1e call DelayFrames - ld hl, Func_3fba8 - ld b, BANK(Func_3fba8) - call Bankswitch + callab Func_3fba8 ld hl, Func_3fb6e ld b, BANK(Func_3fb6e) jp Bankswitch @@ -82661,9 +82345,7 @@ Func_5525f: ; 5525f (15:525f) ld [$d0b5], a call GetMonHeader ld d, $64 - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch + callab CalcExperience ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND) ld b, a ld a, [$ff97] @@ -82699,9 +82381,7 @@ Func_5525f: ; 5525f (15:525f) ld bc, $13 add hl, bc push hl - ld b, BANK(Func_58f43) - ld hl, Func_58f43 - call Bankswitch + callba Func_58f43 pop hl ld a, [hl] cp d @@ -82774,21 +82454,11 @@ Func_5525f: ; 5525f (15:525f) .asm_553c8 xor a ld [$d11e], a - ld hl, Func_3ed99 - ld b, BANK(Func_3ed99) - call Bankswitch - ld hl, Func_3ed1a - ld b, BANK(Func_3ed1a) - call Bankswitch - ld hl, Func_3ee19 - ld b, BANK(Func_3ee19) - call Bankswitch - ld hl, Func_3cd60 - ld b, BANK(Func_3cd60) - call Bankswitch - ld hl, Func_3ee94 - ld b, BANK(Func_3ee94) - call Bankswitch + callab Func_3ed99 + callab Func_3ed1a + callab Func_3ee19 + callab Func_3cd60 + callab Func_3ee94 call SaveScreenTilesToBuffer1 .asm_553f7 ld hl, UnnamedText_554dd ; $54dd @@ -82797,9 +82467,7 @@ Func_5525f: ; 5525f (15:525f) ld [$cc49], a call LoadMonData ld d, $1 - ld hl, PrintStatsBox - ld b, BANK(PrintStatsBox) - call Bankswitch + callab PrintStatsBox call WaitForTextScrollButtonPress call LoadScreenTilesFromBuffer1 xor a @@ -85342,9 +85010,7 @@ DayCareMText1: ; 56254 (15:6254) pop af ld hl, UnnamedText_56437 jp c, Func_56409 - ld hl, Func_2171b - ld b, BANK(Func_2171b) - call Bankswitch + callab Func_2171b ld hl, UnnamedText_5644a jp c, Func_56409 xor a @@ -85374,16 +85040,12 @@ Func_562e1: ; 562e1 (15:62e1) ld a, $3 ld [$cc49], a call LoadMonData - ld hl, Func_58f43 - ld b, BANK(Func_58f43) - call Bankswitch + callab Func_58f43 ld a, d cp $64 jr c, .asm_56315 ld d, $64 - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch + callab CalcExperience ld hl, $da6d ld a, [H_NUMTOPRINT] ld [hli], a @@ -85944,9 +85606,7 @@ DisplayDiploma: ; 566e2 (15:66e2) ld hl, Coord ld de, W_PLAYERNAME call PlaceString - ld b, BANK(Func_44dd) - ld hl, Func_44dd - call Bankswitch + callba Func_44dd ld hl, $c301 ld bc, $8028 .asm_5673e @@ -85960,9 +85620,7 @@ DisplayDiploma: ; 566e2 (15:66e2) dec c jr nz, .asm_5673e ; 0x56747 $f5 call EnableLCD - ld b, BANK(Func_5ae6) - ld hl, Func_5ae6 - call Bankswitch + callba Func_5ae6 ld b, $8 call GoPAL_SET call Delay3 @@ -86735,9 +86393,7 @@ Func_58d99: ; 58d99 (16:4d99) ld hl, UnnamedText_58e4a ; $4e4a .asm_58dc9 push hl - ld hl, Func_3a849 - ld b, BANK(Func_3a849) - call Bankswitch + callab Func_3a849 pop hl call PrintText jr asm_58e3a @@ -86751,9 +86407,7 @@ Func_58d99: ; 58d99 (16:4d99) ld a, b and a jr z, .asm_58df5 - ld hl, Func_3eb01 - ld b, BANK(Func_3eb01) - call Bankswitch + callab Func_3eb01 jr .asm_58daa .asm_58df5 ld hl, UnnamedText_58e45 ; $4e45 @@ -86769,12 +86423,8 @@ Func_58d99: ; 58d99 (16:4d99) call PrintText ld hl, UnnamedText_58e4f ; $4e4f call PrintText - ld hl, Func_3eb01 - ld b, BANK(Func_3eb01) - call Bankswitch - ld hl, Func_708ca - ld b, BANK(Func_708ca) - call Bankswitch + callab Func_3eb01 + callab Func_708ca ld hl, UnnamedText_58e3b ; $4e3b call PrintText @@ -90220,9 +89870,7 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb) ld [W_HALLOFFAMEROOMCURSCRIPT], a ld a, PALLET_TOWN ld [$d719], a - ld b, BANK(SaveSAVtoSRAM) - ld hl, SaveSAVtoSRAM - call Bankswitch + callba SaveSAVtoSRAM ld b, 5 .asm_5a4ff ld c, 600 / 5 @@ -92018,9 +91666,7 @@ CopycatsHouse2FText1: ; 5cc82 (17:4c82) call PrintText ld a, $33 ldh [$db], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch + callba RemoveItemByID ld hl, $d7af set 0, [hl] jr .asm_62ecd ; 0x5ccc1 @@ -94492,9 +94138,7 @@ PokemonTower2Script1: ; 60563 (18:4563) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, $2 ld [W_POKEMONTOWER2CURSCRIPT], a ld [W_CURMAPSCRIPT], a @@ -95768,9 +95412,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) call PrintText ld a, [W_FOSSILITEM] ld [$ffdb], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch + callba RemoveItemByID ld hl, UnnamedText_610b8 call PrintText ld hl, $d7a3 @@ -96236,9 +95878,7 @@ SSAnne2Script2: ; 6146d (18:546d) ld a, $ff ld [$c0ee], a call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch + callba Music_RivalAlternateStart ld a, $3 ld [W_SSANNE2CURSCRIPT], a ret @@ -99450,9 +99090,7 @@ Func_708ca: ; 708ca (1c:48ca) ld [$cee9], a ld a, $1 ld [H_WHOSETURN], a ; $fff3 - ld hl, Func_79793 - ld b, BANK(Func_79793) - call Bankswitch + callab Func_79793 ld d, $80 call Func_704f3 .asm_708f6 @@ -100772,9 +100410,7 @@ Func_711c4: ; 711c4 (1c:51c4) jp CopyData Func_711ef: ; 711ef (1c:51ef) - ld b, BANK(Func_e9cb) - ld hl, Func_e9cb - call Bankswitch + callba Func_e9cb call Func_712d9 ld hl, wOAMBuffer ld de, $cee9 @@ -101839,14 +101475,10 @@ Func_71c07: ; 71c07 (1c:5c07) ld [$cc49],a call AddPokemonToParty call Func_71d19 - ld hl, EvolveTradeMon - ld b, BANK(EvolveTradeMon) - call Bankswitch + callab EvolveTradeMon call ClearScreen call Func_71ca2 - ld b, BANK(Func_eedc) - ld hl, Func_eedc - call Bankswitch + callba Func_eedc and a ld a,$3 jr .asm_ee803 ; 0x71c9b $1 @@ -103312,9 +102944,7 @@ Func_73701: ; 0x73701 jp LoadSAVCheckSum2 SaveSAV: ;$770a - ld b,1 - ld hl,Func_5def ; LoadGameMenuInGame - call Bankswitch + callba Func_5def ; LoadGameMenuInGame ld hl,WouldYouLikeToSaveText call SaveSAVConfirm and a ;|0 = Yes|1 = No| @@ -103896,9 +103526,7 @@ CeruleanHouse2Blocks: ; 7404c (1d:404c) INCBIN "maps/ceruleanhouse2.blk" Func_7405c: ; 7405c (1d:405c) - ld b, BANK(Func_701a0) - ld hl, Func_701a0 - call Bankswitch + callba Func_701a0 call ClearScreen ld c, $64 call DelayFrames @@ -104142,9 +103770,7 @@ Func_7418e: ; 7418e (1d:418e) jr .asm_74192 .asm_741f4 push de - ld b, BANK(Func_4541) - ld hl, Func_4541 - call Bankswitch + callba Func_4541 pop de pop de jr .asm_7419b @@ -105602,9 +105228,7 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) call PrintText ld a, $40 ldh [$db], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch + callba RemoveItemByID ld hl, $d78e set 1, [hl] .asm_60cba ; 0x75109 @@ -107249,9 +106873,7 @@ Lab4Text1: ; 75d6c (1d:5d6c) ld a, [$cd37] and a jr z, .asm_75d8d ; 0x75d81 $a - ld b, BANK(GiveFossilToCinnabarLab) - ld hl, GiveFossilToCinnabarLab - call Bankswitch + callba GiveFossilToCinnabarLab jr .asm_75d93 ; 0x75d8b $6 .asm_75d8d ld hl, UnnamedText_75dcb @@ -107589,9 +107211,7 @@ GaryScript3: ; 75fbb (1d:5fbb) ret GaryScript4: ; 75fe4 (1d:5fe4) - ld b, BANK(Music_Cities1AlternateTempo) - ld hl, Music_Cities1AlternateTempo - call Bankswitch + callba Music_Cities1AlternateTempo ld a, $2 ld [$ff8c], a call GaryScript_760c8 @@ -108386,9 +108006,7 @@ Func_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; 0x7 push bc ld a, [$CD41] ld [$CD3D], a - ld b, BANK(Func_73b3f) - ld hl, Func_73b3f - call Bankswitch + callba Func_73b3f call Func_765e5 pop bc jr c, .second @@ -111733,9 +111351,7 @@ Func_79f54: ; 79f54 (1e:5f54) ld a, $e4 ld [rOBP1], a ; $ff49 call Func_79fc0 - ld b, BANK(asm_f055) - ld hl, asm_f055 - call Bankswitch + callba asm_f055 ld c, $8 .asm_79f73 push bc diff --git a/menu/pc.asm b/menu/pc.asm index 497241d3..41de601e 100644 --- a/menu/pc.asm +++ b/menu/pc.asm @@ -346,9 +346,7 @@ Func_21673: ; 21673 (8:5673) jp Func_214e8 Func_216b3: ; 216b3 (8:56b3) - ld b, BANK(Func_738a1) - ld hl, Func_738a1 - call Bankswitch ; indirect jump to Func_738a1 (738a1 (1c:78a1)) + callba Func_738a1 jp Func_214e8 Func_216be: ; 216be (8:56be) -- cgit v1.2.3 From 3b9740cb828c33729a89f6181928fd9415d6c342 Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 27 Apr 2014 02:44:29 -0400 Subject: Comments and labels for saving the last blackout map. --- main.asm | 63 ++++++++++++++++++++++++++++++++++----------------------------- wram.asm | 14 ++++++++++++-- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/main.asm b/main.asm index 2462c546..3fe3920f 100755 --- a/main.asm +++ b/main.asm @@ -916,7 +916,7 @@ WarpFound2:: ; 073c (0:073c) jr nz,.indoorMaps ; this is for handling "outside" maps that can't have the 0xFF destination map ld a,[W_CURMAP] - ld [$d365],a ; save current map as previous map + ld [wLastMap],a ld a,[W_CURMAPWIDTH] ld [$d366],a ld a,[$ff8b] ; destination map number @@ -953,7 +953,7 @@ WarpFound2:: ; 073c (0:073c) res 1,[hl] jr .done .goBackOutside - ld a,[$d365] ; previous map + ld a,[wLastMap] ld [W_CURMAP],a call PlayMapChangeSound xor a @@ -2997,7 +2997,7 @@ LoadFrontSpriteByMonIndex:: ; 1389 (0:1389) and a pop hl jr z, .invalidDexNumber ; dex #0 invalid - cp $98 + cp 151 + 1 jr c, .validDexNumber ; dex >#151 invalid .invalidDexNumber ld a, RHYDON ; $1 @@ -14856,14 +14856,14 @@ Func_62ff: ; 62ff (1:62ff) xor a jr .asm_63b3 .asm_6346 - ld a, [$d365] + ld a, [wLastMap] ld hl, $d732 bit 4, [hl] jr nz, .asm_635b bit 6, [hl] res 6, [hl] jr z, .asm_638e - ld a, [$d719] + ld a, [wLastBlackoutMap] jr .asm_6391 .asm_635b ld hl, $d72d @@ -16525,7 +16525,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6) ld a, [wCurrentMenuItem] and a jr nz, .declinedHealing ; if the player chose No - call Func_7078 + call SetLastBlackoutMap call LoadScreenTilesFromBuffer1 ; restore screen ld hl, NeedYourPokemonText call PrintText @@ -16578,30 +16578,35 @@ PokemonCenterFarewellText: ; 7072 (1:7072) TX_FAR _PokemonCenterFarewellText db "@" -Func_7078: ; 7078 (1:7078) +SetLastBlackoutMap: +; Set the map to return to when +; blacking out or using Teleport or Dig. +; Safari rest houses don't count. + push hl ld hl, SafariZoneRestHouses ld a, [W_CURMAP] ld b, a -.asm_7080 +.loop ld a, [hli] - cp $ff - jr z, .asm_708a ; 0x7083 $5 + cp -1 + jr z, .notresthouse cp b - jr nz, .asm_7080 ; 0x7086 $f8 - jr .asm_7090 ; 0x7088 $6 -.asm_708a - ld a, [$d365] - ld [$d719], a -.asm_7090 + jr nz, .loop + jr .done + +.notresthouse + ld a, [wLastMap] + ld [wLastBlackoutMap], a +.done pop hl ret -SafariZoneRestHouses: ; 7092 (1:7092) +SafariZoneRestHouses: db SAFARI_ZONE_REST_HOUSE_2 db SAFARI_ZONE_REST_HOUSE_3 db SAFARI_ZONE_REST_HOUSE_4 - db $ff ; terminator + db -1 ; function that performs initialization for DisplayTextID DisplayTextIDInit: ; 7096 (1:7096) @@ -40389,7 +40394,7 @@ DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46) DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0) ld a, ROUTE_2 - ld [$d365], a + ld [wLastMap], a jp EnableAutoTextBoxDrawing DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8) @@ -40923,7 +40928,7 @@ UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80 UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289) ld a, ROUTE_8 - ld [$d365], a + ld [wLastMap], a jp EnableAutoTextBoxDrawing UndergroundPathEntranceRoute8TextPointers: ; 1e291 (7:6291) @@ -41179,7 +41184,7 @@ DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85) DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) call EnableAutoTextBoxDrawing ld a, ROUTE_11 - ld [$d365], a + ld [wLastMap], a ret DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3) @@ -41306,7 +41311,7 @@ Route22GateScript: ; 1e683 (7:6683) jr c, .asm_1e69a ; 0x1e696 $2 ld a, ROUTE_22 .asm_1e69a - ld [$d365], a + ld [wLastMap], a ret Route22GateScriptPointers: ; 1e69e (7:669e) @@ -89869,7 +89874,7 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb) xor a ld [W_HALLOFFAMEROOMCURSCRIPT], a ld a, PALLET_TOWN - ld [$d719], a + ld [wLastBlackoutMap], a callba SaveSAVtoSRAM ld b, 5 .asm_5a4ff @@ -92895,7 +92900,7 @@ UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71) UndergroundTunnelEntranceRoute5Script: ; 5d6a9 (17:56a9) ld a, ROUTE_5 - ld [$d365], a + ld [wLastMap], a ret UndergroundTunnelEntranceRoute5_5d6af: ; 5d6af (17:56af) @@ -92940,7 +92945,7 @@ UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74) UndergroundTunnelEntranceRoute6Script: ; 5d6ef (17:56ef) ld a, ROUTE_6 - ld [$d365], a + ld [wLastMap], a jp EnableAutoTextBoxDrawing UndergroundTunnelEntranceRoute6TextPointers: ; 5d6f7 (17:56f7) @@ -92977,7 +92982,7 @@ UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77) UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c) ld a, ROUTE_7 - ld [$d365], a + ld [wLastMap], a jp EnableAutoTextBoxDrawing UndergroundPathEntranceRoute7TextPointers: ; 5d734 (17:5734) @@ -93014,7 +93019,7 @@ UndergroundPathEntranceRoute7Copy_h: ; 5d75d (17:575d) UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769) ld a, ROUTE_7 - ld [$d365], a + ld [wLastMap], a ret UndergroundPathEntranceRoute7CopyTextPointers: ; 5d76f (17:576f) @@ -95069,7 +95074,7 @@ PokemonTower7Script4: ; 60d86 (18:4d86) ld a, $1 ld [$d42f], a ld a, LAVENDER_TOWN - ld [$d365], a + ld [wLastMap], a ld hl, $d72d set 3, [hl] ld a, $0 @@ -101819,7 +101824,7 @@ GetMapPaletteID: ; 71ec7 (1c:5ec7) cp BRUNOS_ROOM jr z, .caveOrBruno .normalDungeonOrBuilding - ld a, [$d365] ; town or route that current dungeon or building is located + ld a, [wLastMap] ; town or route that current dungeon or building is located .townOrRoute cp SAFFRON_CITY + 1 jr c, .town diff --git a/wram.asm b/wram.asm index 0ea63121..4999b7e3 100755 --- a/wram.asm +++ b/wram.asm @@ -964,7 +964,12 @@ W_YBLOCKCOORD:: ; d363 ds 1 W_XBLOCKCOORD:: ; d364 - ds 3 + ds 1 + +wLastMap:: ; d365 + ds 1 + + ds 1 W_CURMAPTILESET:: ; d367 ds 1 @@ -1323,7 +1328,12 @@ W_RIVALSTARTER:: ; d715 W_PLAYERSTARTER:: ; d717 ds 1 - ds 27 + ds 1 + +wLastBlackoutMap:: ; d719 + ds 1 + + ds 25 W_FLAGS_D733:: ; d733 -- cgit v1.2.3 From 271b5a8aaf7811b7248e34a1264beea0487b7dd0 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 12 May 2014 00:04:00 -0500 Subject: Documented reflect/light screen effect function. Labeled some related text. --- main.asm | 84 ++++++++++++++++++++++++++++++++-------------------------------- text.asm | 6 ++--- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/main.asm b/main.asm index 1453c21d..d8bede24 100755 --- a/main.asm +++ b/main.asm @@ -31940,7 +31940,7 @@ Func_139a3: ; 139a3 (4:79a3) .asm_139b8 bit 6, a - jr nz, Func_139d2 + jr nz, PrintButItFailedText ld a, [hli] ld [de], a inc de @@ -31955,10 +31955,10 @@ UnnamedText_139cd: ; 139cd (4:79cd) TX_FAR _UnnamedText_139cd db "@" -Func_139d2: ; 139d2 (4:79d2) - ld hl, Func_3fb53 +PrintButItFailedText: ; 139d2 (4:79d2) + ld hl, PrintButItFailedText_ Func_139d5: ; 139d5 (4:79d5) - ld b, BANK(Func_3fb53) + ld b, BANK(PrintButItFailedText_) jp Bankswitch Func_139da: ; 139da (4:79da) @@ -42695,8 +42695,8 @@ Func_27f86: ; 27f86 (9:7f86) .asm_27fa5 ld c, $32 call DelayFrames - ld hl, Func_3fb53 - ld b, BANK(Func_3fb53) + ld hl, PrintButItFailedText_ + ld b, BANK(PrintButItFailedText_) jp Bankswitch UnnamedText_27fb3: ; 27fb3 (9:7fb3) @@ -43377,8 +43377,8 @@ Func_33f2b: ; 33f2b (c:7f2b) ld hl, UnnamedText_33f52 jp PrintText .asm_33f4a - ld hl, Func_3fb53 - ld b, BANK(Func_3fb53) + ld hl, PrintButItFailedText_ + ld b, BANK(PrintButItFailedText_) jp Bankswitch UnnamedText_33f52: ; 33f52 (c:7f52) @@ -56018,7 +56018,7 @@ Func_3b9ec: ; 3b9ec (e:79ec) Func_3ba97: ; 3ba97 (e:7a97) ld c, $32 call DelayFrames - ld hl, Func_3fb53 + ld hl, PrintButItFailedText_ jp BankswitchEtoF UnnamedText_3baa2: ; 3baa2 (e:7aa2) @@ -56165,14 +56165,14 @@ Func_3bb7d: ; 3bb7d (e:7b7d) jp CopyData Func_3bb8c: ; 3bb8c (e:7b8c) - ld hl, Func_3fb53 ; $7b53 + ld hl, PrintButItFailedText_ ; $7b53 jp BankswitchEtoF UnnamedText_3bb92: ; 3bb92 (e:7b92) TX_FAR _UnnamedText_3bb92 db "@" -Func_3bb97: ; 3bb97 (e:7b97) +ReflectLightScreenEffect_: ; 3bb97 (e:7b97) ld hl, W_PLAYERBATTSTATUS3 ; $d064 ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $fff3 @@ -56182,36 +56182,36 @@ Func_3bb97: ; 3bb97 (e:7b97) ld de, W_ENEMYMOVEEFFECT ; $cfcd .asm_3bba8 ld a, [de] - cp $40 - jr nz, .asm_3bbb8 - bit 1, [hl] - jr nz, .asm_3bbcc - set 1, [hl] - ld hl, UnnamedText_3bbd7 ; $7bd7 + cp LIGHT_SCREEN_EFFECT + jr nz, .reflect + bit 1, [hl] ; is mon already protected by light screen? + jr nz, .moveFailed + set 1, [hl] ; mon is now protected by light screen + ld hl, LightScreenProtectedText ; $7bd7 jr .asm_3bbc1 -.asm_3bbb8 - bit 2, [hl] - jr nz, .asm_3bbcc - set 2, [hl] - ld hl, UnnamedText_3bbdc ; $7bdc +.reflect + bit 2, [hl] ; is mon already protected by reflect? + jr nz, .moveFailed + set 2, [hl] ; mon is now protected by reflect + ld hl, ReflectGainedArmorText ; $7bdc .asm_3bbc1 push hl ld hl, Func_3fba8 ; $7ba8 call BankswitchEtoF pop hl jp PrintText -.asm_3bbcc +.moveFailed ld c, $32 call DelayFrames - ld hl, Func_3fb53 ; $7b53 + ld hl, PrintButItFailedText_ ; $7b53 jp BankswitchEtoF -UnnamedText_3bbd7: ; 3bbd7 (e:7bd7) - TX_FAR _UnnamedText_3bbd7 +LightScreenProtectedText: ; 3bbd7 (e:7bd7) + TX_FAR _LightScreenProtectedText db "@" -UnnamedText_3bbdc: ; 3bbdc (e:7bdc) - TX_FAR _UnnamedText_3bbdc +ReflectGainedArmorText: ; 3bbdc (e:7bdc) + TX_FAR _ReflectGainedArmorText db "@" BankswitchEtoF: ; 3bbe1 (e:7be1) @@ -63317,8 +63317,8 @@ MoveEffectPointerTable: ; 3f150 (f:7150) dw Func_3f54c dw Func_3f54c dw Func_3f54c - dw Func_3fb36 - dw Func_3fb36 + dw ReflectLightScreenEffect + dw ReflectLightScreenEffect dw Func_3f24f dw Func_3f9b1 dw Func_3f54c @@ -64153,7 +64153,7 @@ Func_3f739: ; 3f739 (f:7739) ld a, [W_PLAYERMOVENUM] ; $cfd2 cp $64 jp nz, Func_3fb5e - jp Func_3fb53 + jp PrintButItFailedText_ .asm_3f76e call ReadPlayerMonCurHPAndStatus xor a @@ -64169,7 +64169,7 @@ Func_3f739: ; 3f739 (f:7739) ld a, [W_PLAYERMOVENUM] ; $cfd2 cp $64 jp nz, PrintText - jp Func_3fb53 + jp PrintButItFailedText_ .asm_3f791 ld a, [W_ISINBATTLE] ; $d057 dec a @@ -64195,7 +64195,7 @@ Func_3f739: ; 3f739 (f:7739) ld a, [W_ENEMYMOVENUM] ; $cfcc cp $64 jp nz, Func_3fb5e - jp Func_3fb53 + jp PrintButItFailedText_ .asm_3f7c1 call ReadPlayerMonCurHPAndStatus xor a @@ -64597,7 +64597,7 @@ Func_3f9ed: ; 3f9ed (f:79ed) ld hl, UnnamedText_3fa77 jp PrintText .asm_3fa74 - jp Func_3fb53 + jp PrintButItFailedText_ UnnamedText_3fa77: ; 3fa77 (f:7a77) TX_FAR _UnnamedText_3fa77 @@ -64690,7 +64690,7 @@ Func_3fa8a: ; 3fa8a (f:7a8a) .asm_3fb05 pop hl .asm_3fb06 - jp Func_3fb53 + jp PrintButItFailedText_ UnnamedText_3fb09: ; 3fb09 (f:7b09) TX_FAR _UnnamedText_3fb09 @@ -64721,9 +64721,9 @@ Func_3fb2e: ; 3fb2e (f:7b2e) ld b, BANK(Func_3bab1) jp Bankswitch -Func_3fb36: ; 3fb36 (f:7b36) - ld hl, Func_3bb97 - ld b, BANK(Func_3bb97) +ReflectLightScreenEffect: ; 3fb36 (f:7b36) + ld hl, ReflectLightScreenEffect_ + ld b, BANK(ReflectLightScreenEffect_) jp Bankswitch UnnamedText_3fb3e: ; 3fb3e (f:7b3e) @@ -64743,12 +64743,12 @@ Func_3fb4e: ; 3fb4e (f:7b4e) and a ret nz -Func_3fb53: ; 3fb53 (f:7b53) - ld hl, UnnamedText_3fb59 ; $7b59 +PrintButItFailedText_: ; 3fb53 (f:7b53) + ld hl, ButItFailedText ; $7b59 jp PrintText -UnnamedText_3fb59: ; 3fb59 (f:7b59) - TX_FAR _UnnamedText_3fb59 +ButItFailedText: ; 3fb59 (f:7b59) + TX_FAR _ButItFailedText db "@" Func_3fb5e: ; 3fb5e (f:7b5e) diff --git a/text.asm b/text.asm index 5ae15d39..7f533d50 100644 --- a/text.asm +++ b/text.asm @@ -2207,7 +2207,7 @@ _UnnamedText_3fb49:: ; 948c9 (25:48c9) text "No effect!" prompt -_UnnamedText_3fb59:: ; 948d5 (25:48d5) +_ButItFailedText:: ; 948d5 (25:48d5) text "But, it failed! " prompt @@ -2301,13 +2301,13 @@ _UnnamedText_3bb92:: ; 94a6c (25:4a6c) text "!" prompt -_UnnamedText_3bbd7:: ; 94a87 (25:4a87) +_LightScreenProtectedText:: ; 94a87 (25:4a87) text $5a, "'s" line "protected against" cont "special attacks!" prompt -_UnnamedText_3bbdc:: ; 94aae (25:4aae) +_ReflectGainedArmorText:: ; 94aae (25:4aae) text $5a line "gained armor!" prompt -- cgit v1.2.3 From 13e496cc90a3027b792a5330b404c3a8555e82a5 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 12 May 2014 15:00:46 -0500 Subject: Documented/labeled lots of move-effect-related stuff. --- main.asm | 269 ++++++++++++++++++++++++++++++++++++++++----------------------- text.asm | 14 ++-- 2 files changed, 180 insertions(+), 103 deletions(-) diff --git a/main.asm b/main.asm index d8bede24..f49e888f 100755 --- a/main.asm +++ b/main.asm @@ -17782,10 +17782,10 @@ FieldMoveDisplayData: ; 7823 (1:7823) db $ff ; list terminator -Func_783f: ; 783f (1:783f) +DrainHPEffect_: ; 783f (1:783f) ld hl, W_DAMAGE ; $d0d7 ld a, [hl] - srl a + srl a ; divide damage by 2 ld [hli], a ld a, [hl] rr a @@ -17869,25 +17869,25 @@ Func_7861: ; 7861 (1:7861) ld hl, ReadPlayerMonCurHPAndStatus ld b, BANK(ReadPlayerMonCurHPAndStatus) call Bankswitch - ld hl, UnnamedText_78dc ; $78dc + ld hl, SuckedHealthText ; $78dc ld a, [H_WHOSETURN] ; $fff3 and a ld a, [W_PLAYERMOVEEFFECT] ; $cfd3 jr z, .asm_78d2 ld a, [W_ENEMYMOVEEFFECT] ; $cfcd .asm_78d2 - cp $8 + cp DREAM_EATER_EFFECT jr nz, .asm_78d9 - ld hl, UnnamedText_78e1 ; $78e1 + ld hl, DreamEatenText ; $78e1 .asm_78d9 jp PrintText -UnnamedText_78dc: ; 78dc (1:78dc) - TX_FAR _UnnamedText_78dc +SuckedHealthText: ; 78dc (1:78dc) + TX_FAR _SuckedHealthText db "@" -UnnamedText_78e1: ; 78e1 (1:78e1) - TX_FAR _UnnamedText_78e1 +DreamEatenText: ; 78e1 (1:78e1) + TX_FAR _DreamEatenText db "@" Func_78e6: ; 78e6 (1:78e6) @@ -56224,22 +56224,97 @@ BattleCore: ; These are move effects (second value from the Moves table in bank $E). EffectsArray1: ; 3c000 (f:4000) - db $18,$19,$1C,$2E,$2F,$31,$38,$39,$40,$41,$42,$43,$4F,$52,$54,$55,$FF + db CONVERSION_EFFECT + db HAZE_EFFECT + db SWITCH_AND_TELEPORT_EFFECT + db MIST_EFFECT + db FOCUS_ENERGY_EFFECT + db CONFUSION_EFFECT + db HEAL_EFFECT + db TRANSFORM_EFFECT + db LIGHT_SCREEN_EFFECT + db REFLECT_EFFECT + db POISON_EFFECT + db PARALYZE_EFFECT + db SUBSTITUTE_EFFECT + db MIMIC_EFFECT + db LEECH_SEED_EFFECT + db SPLASH_EFFECT + db $FF + EffectsArray2: ; 3c011 (f:4011) ; moves that do damage but not through normal calculations ; e.g., Super Fang, Psywave - db $28,$29,$FF + db SUPER_FANG_EFFECT + db SPECIAL_DAMAGE_EFFECT + db $FF + EffectsArray3: ; 3c014 (f:4014) ; non-damaging, stat‐affecting or status‐causing moves? ; e.g., Meditate, Bide, Hypnosis - db $01,$0A,$0B,$0C,$0D,$0E,$0F,$12,$13,$14,$15,$16,$17,$1A,$20,$32,$33,$34,$35,$36,$37,$3A,$3B,$3C,$3D,$3E,$3F,$FF + db $01 ; unused move effect? + db ATTACK_UP1_EFFECT + db DEFENSE_UP1_EFFECT + db $0C ; unused move effect? + db SPECIAL_UP1_EFFECT + db $0E ; unused move effect? + db EVASION_UP1_EFFECT + db ATTACK_DOWN1_EFFECT + db DEFENSE_DOWN1_EFFECT + db SPEED_DOWN1_EFFECT + db $15 ; unused move effect? + db ACCURACY_DOWN1_EFFECT + db $17 ; unused move effect? + db BIDE_EFFECT + db SLEEP_EFFECT + db ATTACK_UP2_EFFECT + db DEFENSE_UP2_EFFECT + db SPEED_UP2_EFFECT + db SPECIAL_UP2_EFFECT + db $36 ; unused move effect? + db $37 ; unused move effect? + db $3A ; unused move effect? + db DEFENSE_DOWN2_EFFECT + db $3C ; unused move effect? + db $3D ; unused move effect? + db $3E ; unused move effect? + db $3F ; unused move effect? + db $FF + EffectsArray4: ; 3c030 (f:4030) - db $03,$07,$08,$10,$1D,$1E,$2C,$30,$4D,$51,$FF + db DRAIN_HP_EFFECT + db EXPLODE_EFFECT + db DREAM_EATER_EFFECT + db PAY_DAY_EFFECT + db TWO_TO_FIVE_ATTACKS_EFFECT + db $1E + db ATTACK_TWICE_EFFECT + db RECOIL_EFFECT + db TWINEEDLE_EFFECT + db RAGE_EFFECT + db $FF + EffectsArray5: ; 3c03b (f:403b) - db $03,$07,$08,$10,$11,$1D,$1E,$27,$28,$29,$2B,$2C,$2D,$30 ; fallthru + db DRAIN_HP_EFFECT + db EXPLODE_EFFECT + db DREAM_EATER_EFFECT + db PAY_DAY_EFFECT + db SWIFT_EFFECT + db TWO_TO_FIVE_ATTACKS_EFFECT + db $1E + db CHARGE_EFFECT + db SUPER_FANG_EFFECT + db SPECIAL_DAMAGE_EFFECT + db FLY_EFFECT + db ATTACK_TWICE_EFFECT + db JUMP_KICK_EFFECT + db RECOIL_EFFECT + ; fallthru to Next EffectsArray EffectsArray5B: ; 3c049 (f:4049) ; moves that prevent the player from switching moves? - db $1B,$2A,$FF + db THRASH_PETAL_DANCE_EFFECT + db TRAPPING_EFFECT + db $FF Func_3c04c: ; 3c04c (f:404c) call Func_3ec92 @@ -59281,9 +59356,9 @@ Func_3d65e: ; 3d65e (f:565e) Func_3d69a: ; 3d69a (f:569a) ld a, [W_PLAYERMOVEEFFECT] ; $cfd3 - cp $27 + cp CHARGE_EFFECT jp z, Func_3f132 - cp $2b + cp FLY_EFFECT jp z, Func_3f132 jr asm_3d6b0 @@ -59361,9 +59436,9 @@ asm_3d74b ld c,$1E call DelayFrames ld a,[W_PLAYERMOVEEFFECT] - cp a,$2B + cp a,FLY_EFFECT jr z,.next5 - cp a,$27 ; XXX SLP | FRZ ? + cp a,CHARGE_EFFECT jr z,.next5 jr asm_3d766 .next5 @@ -59373,7 +59448,7 @@ asm_3d74b call PlayMoveAnimation asm_3d766 ld a,[W_PLAYERMOVEEFFECT] - cp a,9 + cp a,MIRROR_MOVE_EFFECT jr nz,.next6 ; 577A call MirrorMoveCopyMove jp z,Func_3d80a @@ -59381,7 +59456,7 @@ asm_3d766 ld [$CCED],a jp Func_3d69a .next6 - cp a,$53 + cp a,METRONOME_EFFECT jr nz,.next7 ; 5784 call MetronomePickMove jp Func_3d69a @@ -59396,7 +59471,7 @@ asm_3d766 jr z,.next8 ; 57A6 call Func_3dbe2 ld a,[W_PLAYERMOVEEFFECT] - cp a,7 + cp a,EXPLODE_EFFECT jr z,.next9 ; 57B9 jp Func_3d80a .next8 @@ -59629,9 +59704,9 @@ HyperBeamCheck: ; 3d8c2 (f:58c2) and a,$CC ld [hl],a ld a,[W_PLAYERMOVEEFFECT] - cp a,$2B + cp a,FLY_EFFECT jr z,.next8 ; 5966 - cp a,$27 + cp a,CHARGE_EFFECT jr z,.next8 jr .next9 ; 596F .next8 @@ -60012,15 +60087,15 @@ Func_3dbe2: ; 3dbe2 (f:5be2) jr z, .asm_3dbed ld de, W_ENEMYMOVEEFFECT ; $cfcd .asm_3dbed - ld hl, UnnamedText_3dc57 ; $5c57 + ld hl, DoesntAffectMonText ; $5c57 ld a, [$d05b] and $7f jr z, .asm_3dc04 - ld hl, UnnamedText_3dc42 ; $5c42 + ld hl, AttackMissedText ; $5c42 ld a, [$d05e] cp $ff jr nz, .asm_3dc04 - ld hl, UnnamedText_3dc4c ; $5c4c + ld hl, UnaffectedText ; $5c4c .asm_3dc04 push de call PrintText @@ -60028,8 +60103,10 @@ Func_3dbe2: ; 3dbe2 (f:5be2) ld [$d05e], a pop de ld a, [de] - cp $2d + cp JUMP_KICK_EFFECT ret nz + + ; if you get here, the mon used hi jump kick and missed ld hl, W_DAMAGE ; $d0d7 ld a, [hli] ld b, [hl] @@ -60047,7 +60124,7 @@ Func_3dbe2: ; 3dbe2 (f:5be2) inc a ld [hl], a .asm_3dc2a - ld hl, UnnamedText_3dc47 ; $5c47 + ld hl, KeptGoingAndCrashedText ; $5c47 call PrintText ld b, $4 ld a, $24 @@ -60059,24 +60136,24 @@ Func_3dbe2: ; 3dbe2 (f:5be2) .asm_3dc3f jp ApplyDamageToEnemyPokemon -UnnamedText_3dc42: ; 3dc42 (f:5c42) - TX_FAR _UnnamedText_3dc42 +AttackMissedText: ; 3dc42 (f:5c42) + TX_FAR _AttackMissedText db "@" -UnnamedText_3dc47: ; 3dc47 (f:5c47) - TX_FAR _UnnamedText_3dc47 +KeptGoingAndCrashedText: ; 3dc47 (f:5c47) + TX_FAR _KeptGoingAndCrashedText db "@" -UnnamedText_3dc4c: ; 3dc4c (f:5c4c) - TX_FAR _UnnamedText_3dc4c +UnaffectedText: ; 3dc4c (f:5c4c) + TX_FAR _UnaffectedText db "@" Func_3dc51: ; 3dc51 (f:5c51) - ld hl, UnnamedText_3dc57 ; $5c57 + ld hl, DoesntAffectMonText ; $5c57 jp PrintText -UnnamedText_3dc57: ; 3dc57 (f:5c57) - TX_FAR _UnnamedText_3dc57 +DoesntAffectMonText: ; 3dc57 (f:5c57) + TX_FAR _DoesntAffectMonText db "@" Func_3dc5c: ; 3dc5c (f:5c5c) @@ -61596,13 +61673,13 @@ MoveHitTest: ; 3e56b (f:656b) .playerTurn ; this checks if the move effect is disallowed by mist ld a,[W_PLAYERMOVEEFFECT] - cp a,$12 + cp a,ATTACK_DOWN1_EFFECT jr c,.skipEnemyMistCheck - cp a,$1a + cp a,BIDE_EFFECT jr c,.enemyMistCheck cp a,$3a jr c,.skipEnemyMistCheck - cp a,$42 + cp a,POISON_EFFECT jr c,.enemyMistCheck jr .skipEnemyMistCheck .enemyMistCheck @@ -61614,7 +61691,7 @@ MoveHitTest: ; 3e56b (f:656b) ; function is not called when those moves are used ; XXX are there are any others like those three? ld a,[W_ENEMYBATTSTATUS2] - bit 1,a + bit 1,a ; is mon protected by mist? jp nz,.moveMissed .skipEnemyMistCheck ld a,[W_PLAYERBATTSTATUS2] @@ -61623,19 +61700,19 @@ MoveHitTest: ; 3e56b (f:656b) jr .calcHitChance .enemyTurn ld a,[W_ENEMYMOVEEFFECT] - cp a,$12 + cp a,ATTACK_DOWN1_EFFECT jr c,.skipPlayerMistCheck - cp a,$1a + cp a,BIDE_EFFECT jr c,.playerMistCheck cp a,$3a jr c,.skipPlayerMistCheck - cp a,$42 + cp a,POISON_EFFECT jr c,.playerMistCheck jr .skipPlayerMistCheck .playerMistCheck ; similar to enemy mist check ld a,[W_PLAYERBATTSTATUS2] - bit 1,a + bit 1,a ; is mon protected by mist? jp nz,.moveMissed .skipPlayerMistCheck ld a,[W_ENEMYBATTSTATUS2] @@ -61813,15 +61890,15 @@ Func_3e6bc: ; 3e6bc (f:66bc) Func_3e6fc: ; 3e6fc (f:66fc) ld a, [W_ENEMYMOVEEFFECT] ; $cfcd - cp $27 + cp CHARGE_EFFECT jp z, Func_3f132 - cp $2b + cp FLY_EFFECT jp z, Func_3f132 jr asm_3e72b asm_3e70b: ; 3e70b (f:670b) ld hl, W_ENEMYBATTSTATUS1 ; $d067 - res 4, [hl] - res 6, [hl] + res 4, [hl] ; no longer charging up for attack + res 6, [hl] ; no longer invulnerable to typcial attacks ld a, [W_ENEMYMOVENUM] ; $cfcc ld [$d0b5], a ld a, $2c @@ -61870,7 +61947,7 @@ asm_3e782: ; 3e782 (f:6782) and a jr z, .asm_3e791 ld a, [W_ENEMYMOVEEFFECT] ; $cfcd - cp $7 + cp EXPLODE_EFFECT jr z, asm_3e7a0 jr Func_3e7d1 .asm_3e791 @@ -61889,7 +61966,7 @@ asm_3e7a0: ; 3e7a0 (f:67a0) asm_3e7a4: ; 3e7a4 (f:67a4) push af ld a, [W_ENEMYBATTSTATUS2] ; $d068 - bit 4, a + bit 4, a ; does mon have a substitute? ld hl, Func_79747 ld b, BANK(Func_79747) call nz, Bankswitch @@ -61900,10 +61977,10 @@ asm_3e7a4: ; 3e7a4 (f:67a4) call Func_3eed3 call Func_3cdec ld a, [W_ENEMYBATTSTATUS2] ; $d068 - bit 4, a + bit 4, a ; does mon have a substitute? ld hl, Func_79771 ld b, BANK(Func_79771) - call nz, Bankswitch + call nz, Bankswitch ; slide the substitute's sprite out jr asm_3e7ef Func_3e7d1: ; 3e7d1 (f:67d1) @@ -61911,9 +61988,9 @@ Func_3e7d1: ; 3e7d1 (f:67d1) ld c, $1e call DelayFrames ld a, [W_ENEMYMOVEEFFECT] ; $cfcd - cp $2b + cp FLY_EFFECT jr z, .asm_3e7e6 - cp $27 + cp CHARGE_EFFECT jr z, .asm_3e7e6 jr asm_3e7ef .asm_3e7e6 @@ -61923,17 +62000,17 @@ Func_3e7d1: ; 3e7d1 (f:67d1) call PlayMoveAnimation asm_3e7ef: ; 3e7ef (f:67ef) ld a, [W_ENEMYMOVEEFFECT] ; $cfcd - cp $9 - jr nz, .asm_3e7ff + cp MIRROR_MOVE_EFFECT + jr nz, .notMirrorMoveEffect call MirrorMoveCopyMove jp z, Func_3e88c jp Func_3e6fc -.asm_3e7ff - cp $53 - jr nz, .asm_3e809 +.notMirrorMoveEffect + cp METRONOME_EFFECT + jr nz, .notMetronomeEffect call MetronomePickMove jp Func_3e6fc -.asm_3e809 +.notMetronomeEffect ld a, [W_ENEMYMOVEEFFECT] ; $cfcd ld hl, EffectsArray3 ; $4014 ld de, $1 @@ -61944,7 +62021,7 @@ asm_3e7ef: ; 3e7ef (f:67ef) jr z, .asm_3e82b call Func_3dbe2 ld a, [W_ENEMYMOVEEFFECT] ; $cfcd - cp $7 + cp EXPLODE_EFFECT jr z, .asm_3e83e jp Func_3e88c .asm_3e82b @@ -61968,15 +62045,15 @@ asm_3e7ef: ; 3e7ef (f:67ef) ret z call HandleBuildingRage ld hl, W_ENEMYBATTSTATUS1 ; $d067 - bit 2, [hl] + bit 2, [hl] ; is mon hitting multiple times? (example: double kick) jr z, .asm_3e873 push hl ld hl, $d06f dec [hl] pop hl jp nz, Func_3e794 - res 2, [hl] - ld hl, UnnamedText_3e887 ; $6887 + res 2, [hl] ; mon is no longer hitting multiple times + ld hl, HitXTimesText ; $6887 call PrintText xor a ld [$cd05], a @@ -61990,8 +62067,8 @@ asm_3e7ef: ; 3e7ef (f:67ef) call nc, Func_3f132 jr Func_3e88c -UnnamedText_3e887: ; 3e887 (f:6887) - TX_FAR _UnnamedText_3e887 +HitXTimesText: ; 3e887 (f:6887) + TX_FAR _HitXTimesText db "@" Func_3e88c: ; 3e88c (f:688c) @@ -62165,9 +62242,9 @@ asm_3e9d3: ; 3e9d3 (f:69d3) and $cc ld [hl], a ld a, [W_ENEMYMOVEEFFECT] ; $cfcd - cp $2b + cp FLY_EFFECT jr z, .asm_3e9e7 - cp $27 + cp CHARGE_EFFECT jr z, .asm_3e9e7 jr .asm_3e9f0 .asm_3e9e7 @@ -62180,7 +62257,7 @@ asm_3e9d3: ; 3e9d3 (f:69d3) jp Func_3eab8 asm_3e9f6: ; 3e9f6 (f:69f6) ld hl, W_ENEMYBATTSTATUS1 ; $d067 - bit 0, [hl] + bit 0, [hl] ; is mon using bide? jr z, .asm_3ea54 xor a ld [W_ENEMYMOVENUM], a ; $cfcc @@ -62223,15 +62300,15 @@ asm_3e9f6: ; 3e9f6 (f:69f6) xor a ld [hli], a ld [hl], a - ld a, $75 + ld a, BIDE ld [W_ENEMYMOVENUM], a ; $cfcc call Func_3ec81 ld hl, asm_3e782 ; $6782 jp Func_3eab8 .asm_3ea54 - bit 1, [hl] + bit 1, [hl] ; is mon using thrash or petal dance? jr z, .asm_3ea83 - ld a, $25 + ld a, THRASH ld [W_ENEMYMOVENUM], a ; $cfcc ld hl, ThrashingAboutText ; $5a79 call PrintText @@ -62241,8 +62318,8 @@ asm_3e9f6: ; 3e9f6 (f:69f6) jp nz, Func_3eab8 push hl ld hl, W_ENEMYBATTSTATUS1 ; $d067 - res 1, [hl] - set 7, [hl] + res 1, [hl] ; mon is no longer using thrash or petal dance + set 7, [hl] ; mon is now confused call GenRandomInBattle and $3 inc a @@ -62251,7 +62328,7 @@ asm_3e9f6: ; 3e9f6 (f:69f6) pop hl jp Func_3eab8 .asm_3ea83 - bit 5, [hl] + bit 5, [hl] ; is mon using multi-turn move? jp z, Func_3ea9b ld hl, AttackContinuesText ; $5a7e call PrintText @@ -62263,9 +62340,9 @@ asm_3e9f6: ; 3e9f6 (f:69f6) Func_3ea9b: ; 3ea9b (f:6a9b) ld a, [W_ENEMYBATTSTATUS2] ; $d068 - bit 6, a + bit 6, a ; is mon using rage? jp z, Func_3eaba - ld a, $63 + ld a, RAGE ld [$d11e], a call GetMoveName call CopyStringToCF4B @@ -63254,14 +63331,14 @@ JumpMoveEffect: ; 3f138 (f:7138) jp [hl] ;jump to special effect handler MoveEffectPointerTable: ; 3f150 (f:7150) - dw Func_3f1fc + dw Func_3f1fc ; dw Func_3f24f - dw Func_3f2e9 + dw DrainHPEffect dw FreezeBurnParalyzeEffect dw FreezeBurnParalyzeEffect dw FreezeBurnParalyzeEffect - dw Func_3f2f1 - dw Func_3f2e9 + dw ExplodeEffect + dw DrainHPEffect dw $0000 dw Func_3f428 dw Func_3f428 @@ -63352,8 +63429,8 @@ Func_3f1fc: ; 3f1fc (f:71fc) Func_3f20e: ; 3f20e (f:720e) ld a, [bc] - bit 5, a - res 5, a + bit 5, a ; does the mon need to recharge? (hyper beam) + res 5, a ; mon no longer needs to recharge ld [bc], a jr nz, .asm_3f231 ld a, [de] @@ -63485,12 +63562,12 @@ UnnamedText_3f2e4: ; 3f2e4 (f:72e4) TX_FAR _UnnamedText_3f2e4 db "@" -Func_3f2e9: ; 3f2e9 (f:72e9) - ld hl, Func_783f - ld b, BANK(Func_783f) +DrainHPEffect: ; 3f2e9 (f:72e9) + ld hl, DrainHPEffect_ + ld b, BANK(DrainHPEffect_) jp Bankswitch -Func_3f2f1: ; 3f2f1 (f:72f1) +ExplodeEffect: ; 3f2f1 (f:72f1) ld hl, W_PLAYERMONCURHP ; $d015 ld de, W_PLAYERBATTSTATUS2 ; $d063 ld a, [H_WHOSETURN] ; $fff3 @@ -63500,12 +63577,12 @@ Func_3f2f1: ; 3f2f1 (f:72f1) ld de, W_ENEMYBATTSTATUS2 ; $d068 .asm_3f302 xor a - ld [hli], a + ld [hli], a ; set the mon's HP to 0 ld [hli], a inc hl - ld [hl], a + ld [hl], a ; set mon's status to 0 ld a, [de] - res 7, a + res 7, a ; clear mon's leech seed status ld [de], a ret @@ -63862,13 +63939,13 @@ Func_3f54c: ; 3f54c (f:754c) call CheckTargetSubstitute jp nz, Func_3f65a ld a, [de] - cp $44 + cp ATTACK_DOWN_SIDE_EFFECT jr c, .asm_3f58a call GenRandomInBattle - cp $55 + cp SPLASH_EFFECT jp nc, Func_3f650 ld a, [de] - sub $44 + sub ATTACK_DOWN_SIDE_EFFECT jr .asm_3f5a9 .asm_3f58a push hl @@ -64003,7 +64080,7 @@ Func_3f64d: ; 3f64d (f:764d) Func_3f650: ; 3f650 (f:7650) ld a, [de] - cp $44 + cp ATTACK_DOWN_SIDE_EFFECT ret nc ld hl, UnnamedText_3fb3e ; $7b3e jp PrintText diff --git a/text.asm b/text.asm index 7f533d50..8cf6e3f4 100644 --- a/text.asm +++ b/text.asm @@ -1340,23 +1340,23 @@ _UnnamedText_3db80:: ; 89a73 (22:5a73) text "!" done -_UnnamedText_3dc42:: ; 89a76 (22:5a76) +_AttackMissedText:: ; 89a76 (22:5a76) text $5a, "'s" line "attack missed!" prompt -_UnnamedText_3dc47:: ; 89a89 (22:5a89) +_KeptGoingAndCrashedText:: ; 89a89 (22:5a89) text $5a line "kept going and" cont "crashed!" prompt -_UnnamedText_3dc4c:: ; 89aa4 (22:5aa4) +_UnaffectedText:: ; 89aa4 (22:5aa4) text $59, "'s" line "unaffected!" prompt -_UnnamedText_3dc57:: ; 89ab4 (22:5ab4) +_DoesntAffectMonText:: ; 89ab4 (22:5ab4) text "It doesn't affect" line $59, "!" prompt @@ -1420,7 +1420,7 @@ _MirrorMoveFailedText:: ; 89b96 (22:5b96) next "failed!" prompt -_UnnamedText_3e887:: ; 89baf (22:5baf) +_HitXTimesText:: ; 89baf (22:5baf) text "Hit @" TX_NUM $cd05, 1, 1 text " times!" @@ -2317,12 +2317,12 @@ _UnnamedText_33f52:: ; 94abf (25:4abf) line "shrouded in mist!" prompt -_UnnamedText_78dc:: ; 94ad5 (25:4ad5) +_SuckedHealthText:: ; 94ad5 (25:4ad5) text "Sucked health from" line $59, "!" prompt -_UnnamedText_78e1:: ; 94aec (25:4aec) +_DreamEatenText:: ; 94aec (25:4aec) text $59, "'s" line "dream was eaten!" prompt -- cgit v1.2.3 From ebecf8f7b540e670afa974104a3aa9317f696316 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 12 May 2014 23:22:14 -0500 Subject: Finished documenting/labeling functions in the MoveEffectPointerTable. --- constants/move_effect_constants.asm | 7 + main.asm | 579 ++++++++++++++++++------------------ text.asm | 66 ++-- 3 files changed, 329 insertions(+), 323 deletions(-) diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index 1a6d1be6..ff7ddc12 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -31,10 +31,12 @@ BIDE_EFFECT EQU $1A THRASH_PETAL_DANCE_EFFECT EQU $1B SWITCH_AND_TELEPORT_EFFECT EQU $1C TWO_TO_FIVE_ATTACKS_EFFECT EQU $1D +; unused effect EQU $1E FLINCH_SIDE_EFFECT1 EQU $1F SLEEP_EFFECT EQU $20 POISON_SIDE_EFFECT2 EQU $21 BURN_SIDE_EFFECT2 EQU $22 +; unused effect EQU $23 PARALYZE_SIDE_EFFECT2 EQU $24 FLINCH_SIDE_EFFECT2 EQU $25 OHKO_EFFECT EQU $26 ; moves like Horn Drill @@ -71,8 +73,13 @@ ATTACK_DOWN_SIDE_EFFECT EQU $44 DEFENSE_DOWN_SIDE_EFFECT EQU $45 SPEED_DOWN_SIDE_EFFECT EQU $46 SPECIAL_DOWN_SIDE_EFFECT EQU $47 +; unused effect EQU $48 +; unused effect EQU $49 +; unused effect EQU $4A +; unused effect EQU $4B CONFUSION_SIDE_EFFECT EQU $4C TWINEEDLE_EFFECT EQU $4D +; unused effect EQU $4E SUBSTITUTE_EFFECT EQU $4F HYPER_BEAM_EFFECT EQU $50 RAGE_EFFECT EQU $51 diff --git a/main.asm b/main.asm index 47f921e1..2c54666d 100755 --- a/main.asm +++ b/main.asm @@ -25776,7 +25776,7 @@ ItemUseXStat: ; e104 (3:6104) call Delay3 xor a ld [H_WHOSETURN],a ; set turn to player's turn - callba Func_3f428 ; do stat increase move + callba StatModifierUpEffect ; do stat increase move pop hl pop af ld [hld],a ; restore [W_PLAYERMOVEEFFECT] @@ -31688,7 +31688,7 @@ WildMonEncounterSlotChances: ; 13918 (4:7918) db $FC, $10 ; 11/256 = 4.3% chance of slot 8 db $FF, $12 ; 3/256 = 1.2% chance of slot 9 -Func_1392c: ; 1392c (4:792c) +RecoilEffect_: ; 1392c (4:792c) ld a, [H_WHOSETURN] ; $fff3 and a ld a, [W_PLAYERMOVENUM] ; $cfd2 @@ -31754,13 +31754,13 @@ Func_1392c: ; 1392c (4:792c) ld [wListMenuID], a ; $cf94 ld a, $48 call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d)) - ld hl, UnnamedText_1399e ; $799e + ld hl, HitWithRecoilText ; $799e jp PrintText -UnnamedText_1399e: ; 1399e (4:799e) - TX_FAR _UnnamedText_1399e +HitWithRecoilText: ; 1399e (4:799e) + TX_FAR _HitWithRecoilText db "@" -Func_139a3: ; 139a3 (4:79a3) +ConversionEffect_: ; 139a3 (4:79a3) ld hl, W_ENEMYMONTYPE1 ld de, W_PLAYERMONTYPE1 ld a, [H_WHOSETURN] @@ -31772,9 +31772,8 @@ Func_139a3: ; 139a3 (4:79a3) ld l, e pop de ld a, [W_PLAYERBATTSTATUS1] - .asm_139b8 - bit 6, a + bit 6, a ; is mon immune to typical attacks (dig/fly) jr nz, PrintButItFailedText ld a, [hli] ld [de], a @@ -31783,11 +31782,11 @@ Func_139a3: ; 139a3 (4:79a3) ld [de], a ld hl, Func_3fba8 call Func_139d5 - ld hl, UnnamedText_139cd + ld hl, ConvertedTypeText jp PrintText -UnnamedText_139cd: ; 139cd (4:79cd) - TX_FAR _UnnamedText_139cd +ConvertedTypeText: ; 139cd (4:79cd) + TX_FAR _ConvertedTypeText db "@" PrintButItFailedText: ; 139d2 (4:79d2) @@ -31796,7 +31795,7 @@ Func_139d5: ; 139d5 (4:79d5) ld b, BANK(PrintButItFailedText_) jp Bankswitch -Func_139da: ; 139da (4:79da) +HazeEffect_: ; 139da (4:79da) ld a, $7 ld hl, wPlayerMonAttackMod call Func_13a43 @@ -31837,7 +31836,7 @@ Func_139da: ; 139da (4:79da) call Func_13a37 ld hl, Func_3fba8 call Func_139d5 - ld hl, UnnamedText_13a53 + ld hl, StatusChangesEliminatedText jp PrintText Func_13a37: ; 13a37 (4:7a37) @@ -31869,8 +31868,8 @@ Func_13a4a: ; 13a4a (4:7a4a) jr nz, .loop ret -UnnamedText_13a53: ; 13a53 (4:7a53) - TX_FAR _UnnamedText_13a53 +StatusChangesEliminatedText: ; 13a53 (4:7a53) + TX_FAR _StatusChangesEliminatedText db "@" Func_13a58: ; 13a58 (4:7a58) @@ -42495,18 +42494,18 @@ CooltrainerMName: ; 27f6c (9:7f6c) CooltrainerFName: ; 27f79 (9:7f79) db "COOLTRAINER♀@" -Func_27f86: ; 27f86 (9:7f86) +FocusEnergyEffect_: ; 27f86 (9:7f86) ld hl, W_PLAYERBATTSTATUS2 ; $d063 ld a, [H_WHOSETURN] ; $fff3 and a jr z, .asm_27f91 ld hl, W_ENEMYBATTSTATUS2 ; $d068 .asm_27f91 - bit 2, [hl] + bit 2, [hl] ; is mon already using focus energy? jr nz, .asm_27fa5 - set 2, [hl] + set 2, [hl] ; mon is now using focus energy callab Func_3fba8 - ld hl, UnnamedText_27fb3 ; $7fb2 + ld hl, GettingPumpedText ; $7fb2 jp PrintText .asm_27fa5 ld c, $32 @@ -42515,9 +42514,9 @@ Func_27f86: ; 27f86 (9:7f86) ld b, BANK(PrintButItFailedText_) jp Bankswitch -UnnamedText_27fb3: ; 27fb3 (9:7fb3) +GettingPumpedText: ; 27fb3 (9:7fb3) db $0a - TX_FAR _UnnamedText_27fb3 + TX_FAR _GettingPumpedText db "@" SECTION "bankA",ROMX,BANK[$A] @@ -42650,7 +42649,7 @@ MoltresPicFront: ; 2bbac (a:7bac) MoltresPicBack: ; 2be02 (a:7e02) INCBIN "pic/monback/moltresb.pic" -Func_2bea9: ; 2bea9 (a:7ea9) +LeechSeedEffect_: ; 2bea9 (a:7ea9) callab MoveHitTest ld a, [W_MOVEMISSED] ; $d05f and a @@ -42674,20 +42673,20 @@ Func_2bea9: ; 2bea9 (a:7ea9) jr nz, .asm_2bee7 set 7, [hl] callab Func_3fba8 - ld hl, UnnamedText_2bef2 ; $7ef2 + ld hl, WasSeededText ; $7ef2 jp PrintText .asm_2bee7 ld c, $32 call DelayFrames - ld hl, UnnamedText_2bef7 ; $7ef7 + ld hl, EvadedAttackText ; $7ef7 jp PrintText -UnnamedText_2bef2: ; 2bef2 (a:7ef2) - TX_FAR _UnnamedText_2bef2 +WasSeededText: ; 2bef2 (a:7ef2) + TX_FAR _WasSeededText db "@" -UnnamedText_2bef7: ; 2bef7 (a:7ef7) - TX_FAR _UnnamedText_2bef7 +EvadedAttackText: ; 2bef7 (a:7ef7) + TX_FAR _EvadedAttackText db "@" SECTION "bankB",ROMX,BANK[$B] @@ -42973,7 +42972,7 @@ DuplicateBitsTable: ; 2fea8 (b:7ea8) db $c0, $c3, $cc, $cf db $f0, $f3, $fc, $ff -Func_2feb8 ; 2feb8 (b:7eb8) +PayDayEffect_ ; 2feb8 (b:7eb8) xor a ld hl, $cd6d ld [hli], a @@ -43011,11 +43010,11 @@ Func_2feb8 ; 2feb8 (b:7eb8) ld c, $3 ld a, $b call Predef - ld hl, UnnamedText_2ff04 ; $7f04 + ld hl, CoinsScatteredText ; $7f04 jp PrintText -UnnamedText_2ff04: ; 2ff04 (b:7f04) - TX_FAR _UnnamedText_2ff04 +CoinsScatteredText: ; 2ff04 (b:7f04) + TX_FAR _CoinsScatteredText db "@" Func_2ff09 ; 2ff09 (b:7f09) @@ -43173,33 +43172,33 @@ RedPicBack: ; 33e0a (c:7e0a) OldManPic: ; 33e9a (c:7e9a) INCBIN "pic/trainer/oldman.pic" -Func_33f2b: ; 33f2b (c:7f2b) - ld hl, $d063 +MistEffect_: ; 33f2b (c:7f2b) + ld hl, W_PLAYERBATTSTATUS2 ld a, [$fff3] and a jr z, .asm_33f36 - ld hl, $d068 + ld hl, W_ENEMYBATTSTATUS2 .asm_33f36 - bit 1, [hl] + bit 1, [hl] ; is mon protected by mist? jr nz, .asm_33f4a - set 1, [hl] + set 1, [hl] ; mon is now protected by mist callab Func_3fba8 - ld hl, UnnamedText_33f52 + ld hl, ShroudedInMistText jp PrintText .asm_33f4a ld hl, PrintButItFailedText_ ld b, BANK(PrintButItFailedText_) jp Bankswitch -UnnamedText_33f52: ; 33f52 (c:7f52) - TX_FAR _UnnamedText_33f52 +ShroudedInMistText: ; 33f52 (c:7f52) + TX_FAR _ShroudedInMistText db "@" -Func_33f57: ; 33f57 (c:7f57) +OneHitKOEffect_: ; 33f57 (c:7f57) ld hl, W_DAMAGE ; $d0d7 xor a ld [hli], a - ld [hl], a + ld [hl], a ; set the damage output to zero dec a ld [$d05e], a ld hl, $d02a @@ -52813,7 +52812,7 @@ AIIncreaseStat: ; 3a808 (e:6808) ld a,$AF ld [hli],a ld [hl],b - callab Func_3f428 + callab StatModifierUpEffect pop hl pop af ld [hli],a @@ -55708,7 +55707,7 @@ Mon071_EvosMoves: ; 3b9e4 (e:79e4) db 18,SLEEP_POWDER db 0 -Func_3b9ec: ; 3b9ec (e:79ec) +HealEffect_: ; 3b9ec (e:79ec) ld a, [H_WHOSETURN] ; $fff3 and a ld de, W_PLAYERMONCURHP ; $d015 @@ -55744,9 +55743,9 @@ Func_3b9ec: ; 3b9ec (e:79ec) ld a, [hl] and a ld [hl], 2 ; Number of turns from Rest - ld hl, UnnamedText_3baa2 ; $7aa2 + ld hl, StartedSleepingEffect ; $7aa2 jr z, .asm_3ba31 - ld hl, UnnamedText_3baa7 ; $7aa7 + ld hl, FellAsleepBecameHealthyText ; $7aa7 .asm_3ba31 call PrintText pop af @@ -55808,7 +55807,7 @@ Func_3b9ec: ; 3b9ec (e:79ec) call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d)) ld hl, Func_3cd5a ; $4d5a call BankswitchEtoF - ld hl, UnnamedText_3baac ; $7aac + ld hl, RegainedHealthText ; $7aac jp PrintText Func_3ba97: ; 3ba97 (e:7a97) @@ -55817,19 +55816,19 @@ Func_3ba97: ; 3ba97 (e:7a97) ld hl, PrintButItFailedText_ jp BankswitchEtoF -UnnamedText_3baa2: ; 3baa2 (e:7aa2) - TX_FAR _UnnamedText_3baa2 +StartedSleepingEffect: ; 3baa2 (e:7aa2) + TX_FAR _StartedSleepingEffect db "@" -UnnamedText_3baa7: ; 3baa7 (e:7aa7) - TX_FAR _UnnamedText_3baa7 +FellAsleepBecameHealthyText: ; 3baa7 (e:7aa7) + TX_FAR _FellAsleepBecameHealthyText db "@" -UnnamedText_3baac: ; 3baac (e:7aac) - TX_FAR _UnnamedText_3baac +RegainedHealthText: ; 3baac (e:7aac) + TX_FAR _RegainedHealthText db "@" -Func_3bab1: ; 3bab1 (e:7ab1) +TransformEffect_: ; 3bab1 (e:7ab1) ld hl, W_PLAYERMONID ld de, $cfe5 ld bc, W_ENEMYBATTSTATUS3 ; $d069 @@ -55843,7 +55842,7 @@ Func_3bab1: ; 3bab1 (e:7ab1) ld [wPlayerMoveListIndex], a ; $cc2e ld a, [W_PLAYERBATTSTATUS1] ; $d062 .asm_3bad1 - bit 6, a + bit 6, a ; is mon invulnerable to typical attacks? (fly/dig) jp nz, Func_3bb8c push hl push de @@ -55945,7 +55944,7 @@ Func_3bab1: ; 3bab1 (e:7ab1) ld hl, wEnemyMonStatMods ; $cd2e ld de, wPlayerMonStatMods ; $cd1a call Func_3bb7d - ld hl, UnnamedText_3bb92 ; $7b92 + ld hl, TransformedText ; $7b92 jp PrintText Func_3bb7d: ; 3bb7d (e:7b7d) @@ -55964,8 +55963,8 @@ Func_3bb8c: ; 3bb8c (e:7b8c) ld hl, PrintButItFailedText_ ; $7b53 jp BankswitchEtoF -UnnamedText_3bb92: ; 3bb92 (e:7b92) - TX_FAR _UnnamedText_3bb92 +TransformedText: ; 3bb92 (e:7b92) + TX_FAR _TransformedText db "@" ReflectLightScreenEffect_: ; 3bb97 (e:7b97) @@ -61028,7 +61027,7 @@ HandleBuildingRage: ; 3e2b6 (f:62b6) push hl ld hl,BuildingRageText call PrintText - call Func_3f428 ; stat modifier raising function + call StatModifierUpEffect ; stat modifier raising function pop hl xor a ldd [hl],a ; null move effect @@ -63076,94 +63075,94 @@ JumpMoveEffect: ; 3f138 (f:7138) jp [hl] ;jump to special effect handler MoveEffectPointerTable: ; 3f150 (f:7150) - dw Func_3f1fc ; - dw Func_3f24f - dw DrainHPEffect - dw FreezeBurnParalyzeEffect - dw FreezeBurnParalyzeEffect - dw FreezeBurnParalyzeEffect - dw ExplodeEffect - dw DrainHPEffect - dw $0000 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3fb0e - dw $0000 - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3fb16 - dw Func_3fb1e - dw Func_3f6e5 - dw Func_3f717 - dw Func_3f739 - dw Func_3f811 - dw Func_3f811 - dw Func_3f85b - dw Func_3f1fc - dw Func_3f24f - dw FreezeBurnParalyzeEffect - dw FreezeBurnParalyzeEffect - dw FreezeBurnParalyzeEffect - dw Func_3f85b - dw Func_3f884 - dw Func_3f88c - dw $0000 - dw $0000 - dw Func_3f917 - dw Func_3f88c - dw Func_3f811 - dw $0000 - dw Func_3f941 - dw Func_3f949 - dw Func_3f951 - dw Func_3f961 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3f428 - dw Func_3fb26 - dw Func_3fb2e - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw ReflectLightScreenEffect - dw ReflectLightScreenEffect - dw Func_3f24f - dw Func_3f9b1 - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f54c - dw Func_3f959 - dw Func_3f811 - dw $0000 - dw Func_3f9b9 - dw Func_3f9c1 - dw Func_3f9df - dw Func_3f9ed - dw $0000 - dw Func_3fa7c - dw Func_3fa84 - dw Func_3fa8a - -Func_3f1fc: ; 3f1fc (f:71fc) + dw SleepEffect ; unused effect + dw PoisonEffect ; POISON_SIDE_EFFECT1 + dw DrainHPEffect ; DRAIN_HP_EFFECT + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 + dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 + dw ExplodeEffect ; EXPLODE_EFFECT + dw DrainHPEffect ; DREAM_EATER_EFFECT + dw $0000 ; MIRROR_MOVE_EFFECT + dw StatModifierUpEffect ; ATTACK_UP1_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT + dw StatModifierUpEffect ; SPEED_UP1_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT + dw StatModifierUpEffect ; EVASION_UP1_EFFECT + dw PayDayEffect ; PAY_DAY_EFFECT + dw $0000 ; SWIFT_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT + dw ConversionEffect ; CONVERSION_EFFECT + dw HazeEffect ; HAZE_EFFECT + dw BideEffect ; BIDE_EFFECT + dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT + dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT + dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT + dw TwoToFiveAttacksEffect ; unused effect + dw FlichSideEffect ; FLINCH_SIDE_EFFECT1 + dw SleepEffect ; SLEEP_EFFECT + dw PoisonEffect ; POISON_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; unused effect + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 + dw FlichSideEffect ; FLINCH_SIDE_EFFECT2 + dw OneHitKOEffect ; OHKO_EFFECT + dw ChargeEffect ; CHARGE_EFFECT + dw $0000 ; SUPER_FANG_EFFECT + dw $0000 ; SPECIAL_DAMAGE_EFFECT + dw TrappingEffect ; TRAPPING_EFFECT + dw ChargeEffect ; FLY_EFFECT + dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT + dw $0000 ; JUMP_KICK_EFFECT + dw MistEffect ; MIST_EFFECT + dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT + dw RecoilEffect ; RECOIL_EFFECT + dw ConfusionEffect ; CONFUSION_EFFECT + dw StatModifierUpEffect ; ATTACK_UP2_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT + dw StatModifierUpEffect ; SPEED_UP2_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT + dw StatModifierUpEffect ; EVASION_UP2_EFFECT + dw HealEffect ; HEAL_EFFECT + dw TransformEffect ; TRANSFORM_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT + dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT + dw ReflectLightScreenEffect ; REFLECT_EFFECT + dw PoisonEffect ; POISON_EFFECT + dw ParalyzeEffect ; PARALYZE_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT + dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT + dw $0000 ; unused effect + dw SubstituteEffect ; SUBSTITUTE_EFFECT + dw HyperBeamEffect ; HYPER_BEAM_EFFECT + dw RageEffect ; RAGE_EFFECT + dw MimicEffect ; MIMIC_EFFECT + dw $0000 ; METRONOME_EFFECT + dw LeechSeedEffect ; LEECH_SEED_EFFECT + dw SplashEffect ; SPLASH_EFFECT + dw DisableEffect ; DISABLE_EFFECT + +SleepEffect: ; 3f1fc (f:71fc) ld de, W_ENEMYMONSTATUS ; $cfe9 ld bc, W_ENEMYBATTSTATUS2 ; $d068 ld a, [H_WHOSETURN] ; $fff3 @@ -63182,7 +63181,7 @@ Func_3f20e: ; 3f20e (f:720e) ld b, a and $7 jr z, .asm_3f222 - ld hl, UnnamedText_3f24a ; $724a + ld hl, AlreadyAsleepText ; $724a jp PrintText .asm_3f222 ld a, b @@ -63200,20 +63199,20 @@ Func_3f20e: ; 3f20e (f:720e) jr z, .asm_3f231 ld [de], a call Func_3fb89 - ld hl, UnnamedText_3f245 ; $7245 + ld hl, FellAsleepText ; $7245 jp PrintText .asm_3f242 jp Func_3fb5e -UnnamedText_3f245: ; 3f245 (f:7245) - TX_FAR _UnnamedText_3f245 +FellAsleepText: ; 3f245 (f:7245) + TX_FAR _FellAsleepText db "@" -UnnamedText_3f24a: ; 3f24a (f:724a) - TX_FAR _UnnamedText_3f24a +AlreadyAsleepText: ; 3f24a (f:724a) + TX_FAR _AlreadyAsleepText db "@" -Func_3f24f: ; 3f24f (f:724f) +PoisonEffect: ; 3f24f (f:724f) ld hl, W_ENEMYMONSTATUS ; $cfe9 ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $fff3 @@ -63235,11 +63234,11 @@ Func_3f24f: ; 3f24f (f:724f) cp $3 jr z, .asm_3f2d3 ld a, [de] - cp $2 - ld b, $34 + cp POISON_SIDE_EFFECT1 + ld b, $34 ; ~20% chance of poisoning jr z, .asm_3f290 - cp $21 - ld b, $67 + cp POISON_SIDE_EFFECT2 + ld b, $67 ; ~40% chance of poisoning jr z, .asm_3f290 push hl push de @@ -63275,14 +63274,14 @@ Func_3f24f: ; 3f24f (f:724f) set 0, [hl] xor a ld [de], a - ld hl, UnnamedText_3f2e4 ; $72e4 + ld hl, BadlyPoisonedText ; $72e4 jr .asm_3f2c0 .asm_3f2bd - ld hl, UnnamedText_3f2df ; $72df + ld hl, PoisonedText ; $72df .asm_3f2c0 pop de ld a, [de] - cp $42 + cp POISON_EFFECT jr z, .asm_3f2cd ld a, b call Func_3fb96 @@ -63292,19 +63291,19 @@ Func_3f24f: ; 3f24f (f:724f) jp PrintText .asm_3f2d3 ld a, [de] - cp $42 + cp POISON_EFFECT ret nz .asm_3f2d7 ld c, $32 call DelayFrames jp Func_3fb5e -UnnamedText_3f2df: ; 3f2df (f:72df) - TX_FAR _UnnamedText_3f2df +PoisonedText: ; 3f2df (f:72df) + TX_FAR _PoisonedText db "@" -UnnamedText_3f2e4: ; 3f2e4 (f:72e4) - TX_FAR _UnnamedText_3f2e4 +BadlyPoisonedText: ; 3f2e4 (f:72e4) + TX_FAR _BadlyPoisonedText db "@" DrainHPEffect: ; 3f2e9 (f:72e9) @@ -63484,7 +63483,7 @@ UnnamedText_3f423: ; 3f423 (f:7423) TX_FAR _UnnamedText_3f423 db "@" -Func_3f428: ; 3f428 (f:7428) +StatModifierUpEffect: ; 3f428 (f:7428) ld hl, wPlayerMonStatMods ; $cd1a ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $fff3 @@ -63664,7 +63663,7 @@ UnnamedText_3f547: ; 3f547 (f:7547) TX_FAR _UnnamedText_3f547 db "@" -Func_3f54c: ; 3f54c (f:754c) +StatModifierDownEffect: ; 3f54c (f:754c) ld hl, wEnemyMonStatMods ; $cd2e ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld bc, W_ENEMYBATTSTATUS1 ; $d067 @@ -63901,7 +63900,7 @@ StatModifierRatios: ; 3f6cb (f:76cb) db 35, 10 ; 3.50 db 4, 1 ; 4.00 -Func_3f6e5: ; 3f6e5 (f:76e5) +BideEffect: ; 3f6e5 (f:76e5) ld hl, W_PLAYERBATTSTATUS1 ld de, W_NUMHITS ld bc, $d06a @@ -63912,7 +63911,7 @@ Func_3f6e5: ; 3f6e5 (f:76e5) ld de, $cd05 ld bc, $d06f .asm_3f6fc - set 0, [hl] + set 0, [hl] ; mon is now using bide xor a ld [de], a inc de @@ -63928,7 +63927,7 @@ Func_3f6e5: ; 3f6e5 (f:76e5) add $ae jp Func_3fb96 -Func_3f717: ; 3f717 (f:7717) +ThrashPetalDanceEffect: ; 3f717 (f:7717) ld hl, W_PLAYERBATTSTATUS1 ; $d062 ld de, $d06a ld a, [H_WHOSETURN] ; $fff3 @@ -63937,7 +63936,7 @@ Func_3f717: ; 3f717 (f:7717) ld hl, W_ENEMYBATTSTATUS1 ; $d067 ld de, $d06f .asm_3f728 - set 1, [hl] + set 1, [hl] ; mon is now using thrash/petal dance call GenRandomInBattle and $1 inc a @@ -63947,7 +63946,7 @@ Func_3f717: ; 3f717 (f:7717) add $b0 jp Func_3fb96 -Func_3f739: ; 3f739 (f:7739) +SwitchAndTeleportEffect: ; 3f739 (f:7739) ld a, [H_WHOSETURN] ; $fff3 and a jr nz, .asm_3f791 @@ -63973,7 +63972,7 @@ Func_3f739: ; 3f739 (f:7739) ld c, $32 call DelayFrames ld a, [W_PLAYERMOVENUM] ; $cfd2 - cp $64 + cp TELEPORT jp nz, Func_3fb5e jp PrintButItFailedText_ .asm_3f76e @@ -63987,9 +63986,9 @@ Func_3f739: ; 3f739 (f:7739) .asm_3f77e ld c, $32 call DelayFrames - ld hl, UnnamedText_3fb69 ; $7b69 + ld hl, IsUnaffectedText ; $7b69 ld a, [W_PLAYERMOVENUM] ; $cfd2 - cp $64 + cp TELEPORT jp nz, PrintText jp PrintButItFailedText_ .asm_3f791 @@ -64029,7 +64028,7 @@ Func_3f739: ; 3f739 (f:7739) .asm_3f7d1 ld c, $32 call DelayFrames - ld hl, UnnamedText_3fb69 ; $7b69 + ld hl, IsUnaffectedText ; $7b69 ld a, [W_ENEMYMOVENUM] ; $cfcc cp TELEPORT jp nz, PrintText @@ -64040,29 +64039,29 @@ Func_3f739: ; 3f739 (f:7739) ld c, $14 call DelayFrames pop af - ld hl, UnnamedText_3f802 ; $7802 + ld hl, RanFromBattleText ; $7802 cp TELEPORT jr z, .asm_3f7ff - ld hl, UnnamedText_3f807 ; $7807 + ld hl, RanAwayScaredText ; $7807 cp ROAR jr z, .asm_3f7ff - ld hl, UnnamedText_3f80c ; $780c + ld hl, WasBlownAwayText ; $780c .asm_3f7ff jp PrintText -UnnamedText_3f802: ; 3f802 (f:7802) - TX_FAR _UnnamedText_3f802 +RanFromBattleText: ; 3f802 (f:7802) + TX_FAR _RanFromBattleText db "@" -UnnamedText_3f807: ; 3f807 (f:7807) - TX_FAR _UnnamedText_3f807 +RanAwayScaredText: ; 3f807 (f:7807) + TX_FAR _RanAwayScaredText db "@" -UnnamedText_3f80c: ; 3f80c (f:780c) - TX_FAR _UnnamedText_3f80c +WasBlownAwayText: ; 3f80c (f:780c) + TX_FAR _WasBlownAwayText db "@" -Func_3f811: ; 3f811 (f:7811) +TwoToFiveAttacksEffect: ; 3f811 (f:7811) ld hl, W_PLAYERBATTSTATUS1 ; $d062 ld de, $d06a ld bc, W_NUMHITS ; $d074 @@ -64073,9 +64072,9 @@ Func_3f811: ; 3f811 (f:7811) ld de, $d06f ld bc, $cd05 .asm_3f828 - bit 2, [hl] + bit 2, [hl] ; is mon attacking multiple times? ret nz - set 2, [hl] + set 2, [hl] ; mon is now attacking multiple times ld hl, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $fff3 and a @@ -64106,7 +64105,7 @@ Func_3f811: ; 3f811 (f:7811) ld [hl], a jr .asm_3f853 -Func_3f85b: ; 3f85b (f:785b) +FlichSideEffect: ; 3f85b (f:785b) call CheckTargetSubstitute ret nz ld hl, W_ENEMYBATTSTATUS1 ; $d067 @@ -64118,24 +64117,24 @@ Func_3f85b: ; 3f85b (f:785b) ld de, W_ENEMYMOVEEFFECT ; $cfcd .asm_3f870 ld a, [de] - cp $1f - ld b, $1a + cp FLINCH_SIDE_EFFECT1 + ld b, $1a ; ~10% chance of flinch jr z, .asm_3f879 - ld b, $4d + ld b, $4d ; ~30% chance of flinch .asm_3f879 call GenRandomInBattle cp b ret nc - set 3, [hl] + set 3, [hl] ; set mon's status to flinching call Func_3f9cf ret -Func_3f884: ; 3f884 (f:7884) - ld hl, Func_33f57 - ld b, BANK(Func_33f57) +OneHitKOEffect: ; 3f884 (f:7884) + ld hl, OneHitKOEffect_ + ld b, BANK(OneHitKOEffect_) jp Bankswitch -Func_3f88c: ; 3f88c (f:788c) +ChargeEffect: ; 3f88c (f:788c) ld hl, W_PLAYERBATTSTATUS1 ; $d062 ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $fff3 @@ -64148,16 +64147,16 @@ Func_3f88c: ; 3f88c (f:788c) .asm_3f8a1 set 4, [hl] ld a, [de] - dec de - cp $2b + dec de ; de contains enemy or player MOVENUM + cp FLY_EFFECT jr nz, .asm_3f8ad - set 6, [hl] + set 6, [hl] ; mon is now invulnerable to typical attacks (fly/dig) ld b, $64 .asm_3f8ad ld a, [de] - cp $5b + cp DIG jr nz, .asm_3f8b6 - set 6, [hl] + set 6, [hl] ; mon is now invulnerable to typical attacks (fly/dig) ld b, $c0 .asm_3f8b6 xor a @@ -64166,58 +64165,58 @@ Func_3f88c: ; 3f88c (f:788c) call Func_3fbb9 ld a, [de] ld [wWhichTrade], a ; $cd3d - ld hl, UnnamedText_3f8c8 ; $78c8 + ld hl, ChargeMoveEffectText ; $78c8 jp PrintText -UnnamedText_3f8c8: ; 3f8c8 (f:78c8) - TX_FAR _UnnamedText_3f8c8 +ChargeMoveEffectText: ; 3f8c8 (f:78c8) + TX_FAR _ChargeMoveEffectText db $08 ; asm ld a, [wWhichTrade] ; $cd3d cp RAZOR_WIND - ld hl, UnnamedText_3f8f9 ; $78f9 + ld hl, MadeWhirlwindText ; $78f9 jr z, .asm_3f8f8 cp SOLARBEAM - ld hl, UnnamedText_3f8fe ; $78fe + ld hl, TookInSunlightText ; $78fe jr z, .asm_3f8f8 cp SKULL_BASH - ld hl, UnnamedText_3f903 ; $7903 + ld hl, LoweredItsHeadText ; $7903 jr z, .asm_3f8f8 cp SKY_ATTACK - ld hl, UnnamedText_3f908 ; $7908 + ld hl, SkyAttackGlowingText ; $7908 jr z, .asm_3f8f8 cp FLY - ld hl, UnnamedText_3f90d ; $790d + ld hl, FlewUpHighText ; $790d jr z, .asm_3f8f8 cp DIG - ld hl, UnnamedText_3f912 ; $7912 + ld hl, DugAHoleText ; $7912 .asm_3f8f8 ret -UnnamedText_3f8f9: ; 3f8f9 (f:78f9) - TX_FAR _UnnamedText_3f8f9 +MadeWhirlwindText: ; 3f8f9 (f:78f9) + TX_FAR _MadeWhirlwindText db "@" -UnnamedText_3f8fe: ; 3f8fe (f:78fe) - TX_FAR _UnnamedText_3f8fe +TookInSunlightText: ; 3f8fe (f:78fe) + TX_FAR _TookInSunlightText db "@" -UnnamedText_3f903: ; 3f903 (f:7903) - TX_FAR _UnnamedText_3f903 +LoweredItsHeadText: ; 3f903 (f:7903) + TX_FAR _LoweredItsHeadText db "@" -UnnamedText_3f908: ; 3f908 (f:7908) - TX_FAR _UnnamedText_3f908 +SkyAttackGlowingText: ; 3f908 (f:7908) + TX_FAR _SkyAttackGlowingText db "@" -UnnamedText_3f90d: ; 3f90d (f:790d) - TX_FAR _UnnamedText_3f90d +FlewUpHighText: ; 3f90d (f:790d) + TX_FAR _FlewUpHighText db "@" -UnnamedText_3f912: ; 3f912 (f:7912) - TX_FAR _UnnamedText_3f912 +DugAHoleText: ; 3f912 (f:7912) + TX_FAR _DugAHoleText db "@" -Func_3f917: ; 3f917 (f:7917) +TrappingEffect: ; 3f917 (f:7917) ld hl, W_PLAYERBATTSTATUS1 ; $d062 ld de, $d06a ld a, [H_WHOSETURN] ; $fff3 @@ -64241,28 +64240,28 @@ Func_3f917: ; 3f917 (f:7917) ld [de], a ret -Func_3f941: ; 3f941 (f:7941) - ld hl, Func_33f2b - ld b, BANK(Func_33f2b) +MistEffect: ; 3f941 (f:7941) + ld hl, MistEffect_ + ld b, BANK(MistEffect_) jp Bankswitch -Func_3f949: ; 3f949 (f:7949) - ld hl, Func_27f86 - ld b, BANK(Func_27f86) +FocusEnergyEffect: ; 3f949 (f:7949) + ld hl, FocusEnergyEffect_ + ld b, BANK(FocusEnergyEffect_) jp Bankswitch -Func_3f951: ; 3f951 (f:7951) - ld hl, Func_1392c - ld b, BANK(Func_1392c) +RecoilEffect: ; 3f951 (f:7951) + ld hl, RecoilEffect_ + ld b, BANK(RecoilEffect_) jp Bankswitch -Func_3f959: ; 3f959 (f:7959) +ConfusionSideEffect: ; 3f959 (f:7959) call GenRandomInBattle cp $19 ret nc jr Func_3f96f -Func_3f961: ; 3f961 (f:7961) +ConfusionEffect: ; 3f961 (f:7961) call CheckTargetSubstitute jr nz, Func_3f9a6 call MoveHitTest @@ -64281,9 +64280,9 @@ Func_3f96f: ; 3f96f (f:796f) ld bc, $d06b ld a, [W_ENEMYMOVEEFFECT] ; $cfcd .asm_3f986 - bit 7, [hl] + bit 7, [hl] ; is mon confused? jr nz, Func_3f9a6 - set 7, [hl] + set 7, [hl] ; mon is now confused push af call GenRandomInBattle and $3 @@ -64293,11 +64292,11 @@ Func_3f96f: ; 3f96f (f:796f) pop af cp CONFUSION_SIDE_EFFECT call nz, Func_3fb89 - ld hl, UnnamedText_3f9a1 ; $79a1 + ld hl, BecameConfusedText ; $79a1 jp PrintText -UnnamedText_3f9a1: ; 3f9a1 (f:79a1) - TX_FAR _UnnamedText_3f9a1 +BecameConfusedText: ; 3f9a1 (f:79a1) + TX_FAR _BecameConfusedText db "@" Func_3f9a6: ; 3f9a6 (f:79a6) @@ -64307,24 +64306,24 @@ Func_3f9a6: ; 3f9a6 (f:79a6) call DelayFrames jp Func_3fb4e -Func_3f9b1: ; 3f9b1 (f:79b1) - ld hl, Func_52601 - ld b, BANK(Func_52601) +ParalyzeEffect: ; 3f9b1 (f:79b1) + ld hl, ParalyzeEffect_ + ld b, BANK(ParalyzeEffect_) jp Bankswitch -Func_3f9b9: ; 3f9b9 (f:79b9) +SubstituteEffect: ; 3f9b9 (f:79b9) ld hl, SubstituteEffectHandler ld b, BANK(SubstituteEffectHandler) jp Bankswitch -Func_3f9c1: ; 3f9c1 (f:79c1) +HyperBeamEffect: ; 3f9c1 (f:79c1) ld hl, W_PLAYERBATTSTATUS2 ; $d063 ld a, [H_WHOSETURN] ; $fff3 and a jr z, .asm_3f9cc ld hl, W_ENEMYBATTSTATUS2 ; $d068 .asm_3f9cc - set 5, [hl] + set 5, [hl] ; mon now needs to recharge ret Func_3f9cf: ; 3f9cf (f:79cf) @@ -64335,21 +64334,21 @@ Func_3f9cf: ; 3f9cf (f:79cf) jr z, .asm_3f9db ld hl, W_PLAYERBATTSTATUS2 ; $d063 .asm_3f9db - res 5, [hl] + res 5, [hl] ; mon no longer needs to recharge pop hl ret -Func_3f9df: ; 3f9df (f:79df) +RageEffect: ; 3f9df (f:79df) ld hl, W_PLAYERBATTSTATUS2 ld a, [H_WHOSETURN] and a jr z, .player ld hl, W_ENEMYBATTSTATUS2 .player - set 6, [hl] + set 6, [hl] ; mon is now in "rage" mode ret -Func_3f9ed: ; 3f9ed (f:79ed) +MimicEffect: ; 3f9ed (f:79ed) ld c, $32 call DelayFrames call MoveHitTest @@ -64416,25 +64415,25 @@ Func_3f9ed: ; 3f9ed (f:79ed) ld [$d11e], a call GetMoveName call Func_3fba8 - ld hl, UnnamedText_3fa77 + ld hl, MimicLearnedMoveText jp PrintText .asm_3fa74 jp PrintButItFailedText_ -UnnamedText_3fa77: ; 3fa77 (f:7a77) - TX_FAR _UnnamedText_3fa77 +MimicLearnedMoveText: ; 3fa77 (f:7a77) + TX_FAR _MimicLearnedMoveText db "@" -Func_3fa7c: ; 3fa7c (f:7a7c) - ld hl, Func_2bea9 - ld b, BANK(Func_2bea9) +LeechSeedEffect: ; 3fa7c (f:7a7c) + ld hl, LeechSeedEffect_ + ld b, BANK(LeechSeedEffect_) jp Bankswitch -Func_3fa84: ; 3fa84 (f:7a84) +SplashEffect: ; 3fa84 (f:7a84) call Func_3fba8 jp Func_3fb43 -Func_3fa8a: ; 3fa8a (f:7a8a) +DisableEffect: ; 3fa8a (f:7a8a) call MoveHitTest ld a, [W_MOVEMISSED] ; $d05f and a @@ -64507,40 +64506,40 @@ Func_3fa8a: ; 3fa8a (f:7a8a) ld a, [$d11e] ld [hl], a call GetMoveName - ld hl, UnnamedText_3fb09 ; $7b09 + ld hl, MoveWasDisabledText ; $7b09 jp PrintText .asm_3fb05 pop hl .asm_3fb06 jp PrintButItFailedText_ -UnnamedText_3fb09: ; 3fb09 (f:7b09) - TX_FAR _UnnamedText_3fb09 +MoveWasDisabledText: ; 3fb09 (f:7b09) + TX_FAR _MoveWasDisabledText db "@" -Func_3fb0e: ; 3fb0e (f:7b0e) - ld hl, Func_2feb8 - ld b, BANK(Func_2feb8) +PayDayEffect: ; 3fb0e (f:7b0e) + ld hl, PayDayEffect_ + ld b, BANK(PayDayEffect_) jp Bankswitch -Func_3fb16: ; 3fb16 (f:7b16) - ld hl, Func_139a3 - ld b, BANK(Func_139a3) +ConversionEffect: ; 3fb16 (f:7b16) + ld hl, ConversionEffect_ + ld b, BANK(ConversionEffect_) jp Bankswitch -Func_3fb1e: ; 3fb1e (f:7b1e) - ld hl, Func_139da - ld b, BANK(Func_139da) +HazeEffect: ; 3fb1e (f:7b1e) + ld hl, HazeEffect_ + ld b, BANK(HazeEffect_) jp Bankswitch -Func_3fb26: ; 3fb26 (f:7b26) - ld hl, Func_3b9ec - ld b, BANK(Func_3b9ec) +HealEffect: ; 3fb26 (f:7b26) + ld hl, HealEffect_ + ld b, BANK(HealEffect_) jp Bankswitch -Func_3fb2e: ; 3fb2e (f:7b2e) - ld hl, Func_3bab1 - ld b, BANK(Func_3bab1) +TransformEffect: ; 3fb2e (f:7b2e) + ld hl, TransformEffect_ + ld b, BANK(TransformEffect_) jp Bankswitch ReflectLightScreenEffect: ; 3fb36 (f:7b36) @@ -64553,11 +64552,11 @@ UnnamedText_3fb3e: ; 3fb3e (f:7b3e) db "@" Func_3fb43: ; 3fb43 (f:7b43) - ld hl, UnnamedText_3fb49 + ld hl, NoEffectText jp PrintText -UnnamedText_3fb49: ; 3fb49 (f:7b49) - TX_FAR _UnnamedText_3fb49 +NoEffectText: ; 3fb49 (f:7b49) + TX_FAR _NoEffectText db "@" Func_3fb4e: ; 3fb4e (f:7b4e) @@ -64574,23 +64573,23 @@ ButItFailedText: ; 3fb59 (f:7b59) db "@" Func_3fb5e: ; 3fb5e (f:7b5e) - ld hl, UnnamedText_3fb64 ; $7b64 + ld hl, DidntAffectText ; $7b64 jp PrintText -UnnamedText_3fb64: ; 3fb64 (f:7b64) - TX_FAR _UnnamedText_3fb64 +DidntAffectText: ; 3fb64 (f:7b64) + TX_FAR _DidntAffectText db "@" -UnnamedText_3fb69: ; 3fb69 (f:7b69) - TX_FAR _UnnamedText_3fb69 +IsUnaffectedText: ; 3fb69 (f:7b69) + TX_FAR _IsUnaffectedText db "@" Func_3fb6e: ; 3fb6e (f:7b6e) - ld hl, UnnamedText_3fb74 ; $7b74 + ld hl, ParalyzedMayNotAttackText ; $7b74 jp PrintText -UnnamedText_3fb74: ; 3fb74 (f:7b74) - TX_FAR _UnnamedText_3fb74 +ParalyzedMayNotAttackText: ; 3fb74 (f:7b74) + TX_FAR _ParalyzedMayNotAttackText db "@" CheckTargetSubstitute: ; 3fb79 (f:7b79) @@ -81215,7 +81214,7 @@ Func_525af: ; 525af (14:65af) ld b, BANK(PlayBattleMusic) jp Bankswitch -Func_52601: ; 52601 (14:6601) +ParalyzeEffect_: ; 52601 (14:6601) ld hl, W_ENEMYMONSTATUS ; $cfe9 ld de, W_PLAYERMOVETYPE ; $cfd5 ld a, [H_WHOSETURN] ; $fff3 @@ -81229,7 +81228,7 @@ Func_52613: ; 52613 (14:6613) and a jr nz, .asm_52659 ld a, [de] - cp $17 + cp EVASION_DOWN1_EFFECT jr nz, .asm_5262a ld b, h ld c, l diff --git a/text.asm b/text.asm index 8cf6e3f4..af0509ed 100644 --- a/text.asm +++ b/text.asm @@ -2069,22 +2069,22 @@ _UnnamedText_3af4d:: ; 946fb (25:46fb) line "is evolving!" done -_UnnamedText_3f245:: ; 94715 (25:4715) +_FellAsleepText:: ; 94715 (25:4715) text $59 line "fell asleep!" prompt -_UnnamedText_3f24a:: ; 94725 (25:4725) +_AlreadyAsleepText:: ; 94725 (25:4725) text $59, "'s" line "already asleep!" prompt -_UnnamedText_3f2df:: ; 94739 (25:4739) +_PoisonedText:: ; 94739 (25:4739) text $59 line "was poisoned!" prompt -_UnnamedText_3f2e4:: ; 9474a (25:474a) +_BadlyPoisonedText:: ; 9474a (25:474a) text $59, "'s" line "badly poisoned!" prompt @@ -2130,60 +2130,60 @@ _UnnamedText_3f683:: ; 947c9 (25:47c9) text " fell!" prompt -_UnnamedText_3f802:: ; 947d1 (25:47d1) +_RanFromBattleText:: ; 947d1 (25:47d1) text $5a line "ran from battle!" prompt -_UnnamedText_3f807:: ; 947e5 (25:47e5) +_RanAwayScaredText:: ; 947e5 (25:47e5) text $59 line "ran away scared!" prompt -_UnnamedText_3f80c:: ; 947f9 (25:47f9) +_WasBlownAwayText:: ; 947f9 (25:47f9) text $59 line "was blown away!" prompt -_UnnamedText_3f8c8:: ; 9480c (25:480c) +_ChargeMoveEffectText:: ; 9480c (25:480c) text $5a, "@@" -_UnnamedText_3f8f9:: ; 94810 (25:4810) +_MadeWhirlwindText:: ; 94810 (25:4810) db $0 line "made a whirlwind!" prompt -_UnnamedText_3f8fe:: ; 94824 (25:4824) +_TookInSunlightText:: ; 94824 (25:4824) db $0 line "took in sunlight!" prompt -_UnnamedText_3f903:: ; 94838 (25:4838) +_LoweredItsHeadText:: ; 94838 (25:4838) db $0 line "lowered its head!" prompt -_UnnamedText_3f908:: ; 9484c (25:484c) +_SkyAttackGlowingText:: ; 9484c (25:484c) db $0 line "is glowing!" prompt -_UnnamedText_3f90d:: ; 9485a (25:485a) +_FlewUpHighText:: ; 9485a (25:485a) db $0 line "flew up high!" prompt -_UnnamedText_3f912:: ; 9486a (25:486a) +_DugAHoleText:: ; 9486a (25:486a) db $0 line "dug a hole!" prompt -_UnnamedText_3f9a1:: ; 94878 (25:4878) +_BecameConfusedText:: ; 94878 (25:4878) text $59 line "became confused!" prompt -_UnnamedText_3fa77:: ; 9488c (25:488c) +_MimicLearnedMoveText:: ; 9488c (25:488c) text $5a line "learned" cont "@" @@ -2191,7 +2191,7 @@ _UnnamedText_3fa77:: ; 9488c (25:488c) text "!" prompt -_UnnamedText_3fb09:: ; 9489e (25:489e) +_MoveWasDisabledText:: ; 9489e (25:489e) text $59, "'s" line "@" TX_RAM $cd6d @@ -2203,7 +2203,7 @@ _UnnamedText_3fb3e:: ; 948b6 (25:48b6) text "Nothing happened!" prompt -_UnnamedText_3fb49:: ; 948c9 (25:48c9) +_NoEffectText:: ; 948c9 (25:48c9) text "No effect!" prompt @@ -2211,17 +2211,17 @@ _ButItFailedText:: ; 948d5 (25:48d5) text "But, it failed! " prompt -_UnnamedText_3fb64:: ; 948e7 (25:48e7) +_DidntAffectText:: ; 948e7 (25:48e7) text "It didn't affect" line $59, "!" prompt -_UnnamedText_3fb69:: ; 948fb (25:48fb) +_IsUnaffectedText:: ; 948fb (25:48fb) text $59 line "is unaffected!" prompt -_UnnamedText_3fb74:: ; 9490d (25:490d) +_ParalyzedMayNotAttackText:: ; 9490d (25:490d) text $59, "'s" line "paralyzed! It may" cont "not attack!" @@ -2242,58 +2242,58 @@ _UnnamedText_17e27:: ; 9495e (25:495e) line "a SUBSTITUTE!" prompt -_UnnamedText_2ff04:: ; 9497e (25:497e) +_CoinsScatteredText:: ; 9497e (25:497e) text "Coins scattered" line "everywhere!" prompt -_UnnamedText_27fb3:: ; 9499b (25:499b) +_GettingPumpedText:: ; 9499b (25:499b) text $5a, "'s" line "getting pumped!" prompt -_UnnamedText_2bef2:: ; 949af (25:49af) +_WasSeededText:: ; 949af (25:49af) text $59 line "was seeded!" prompt -_UnnamedText_2bef7:: ; 949be (25:49be) +_EvadedAttackText:: ; 949be (25:49be) text $59 line "evaded attack!" prompt -_UnnamedText_1399e:: ; 949d0 (25:49d0) +_HitWithRecoilText:: ; 949d0 (25:49d0) text $5a, "'s" line "hit with recoil!" prompt -_UnnamedText_139cd:: ; 949e5 (25:49e5) +_ConvertedTypeText:: ; 949e5 (25:49e5) text "Converted type to" line $59, "'s!" prompt -_UnnamedText_13a53:: ; 949fc (25:49fc) +_StatusChangesEliminatedText:: ; 949fc (25:49fc) text "All STATUS changes" line "are eliminated!" prompt -_UnnamedText_3baa2:: ; 94a20 (25:4a20) +_StartedSleepingEffect:: ; 94a20 (25:4a20) text $5a line "started sleeping!" done -_UnnamedText_3baa7:: ; 94a35 (25:4a35) +_FellAsleepBecameHealthyText:: ; 94a35 (25:4a35) text $5a line "fell asleep and" cont "became healthy!" done -_UnnamedText_3baac:: ; 94a58 (25:4a58) +_RegainedHealthText:: ; 94a58 (25:4a58) text $5a line "regained health!" prompt -_UnnamedText_3bb92:: ; 94a6c (25:4a6c) +_TransformedText:: ; 94a6c (25:4a6c) text $5a line "transformed into" cont "@" @@ -2312,7 +2312,7 @@ _ReflectGainedArmorText:: ; 94aae (25:4aae) line "gained armor!" prompt -_UnnamedText_33f52:: ; 94abf (25:4abf) +_ShroudedInMistText:: ; 94abf (25:4abf) text $5a, "'s" line "shrouded in mist!" prompt -- cgit v1.2.3 From d218d1972a9be5b9d0025a17842239e1fbf5b622 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 13 May 2014 10:43:09 -0500 Subject: Documented/Labeled Route 22 scripts. --- main.asm | 87 +++++++++++++++++++++++++------------------------- text/maps/route_22.asm | 14 ++++---- 2 files changed, 51 insertions(+), 50 deletions(-) diff --git a/main.asm b/main.asm index 2c54666d..986a2ef5 100755 --- a/main.asm +++ b/main.asm @@ -77684,7 +77684,7 @@ Route22Object: ; 0x50022 (size=27) db $5, $8, $0, ROUTE_22_GATE db $1 ; signs - db $b, $7, $3 ; Route22Text3 + db $b, $7, $3 ; Route22FrontGateText db $2 ; people db SPRITE_BLUE, $5 + 4, $19 + 4, $ff, $ff, $1 ; person @@ -78450,8 +78450,8 @@ Func_50ed6: ; 50ed6 (14:4ed6) ld [W_TRAINERNO], a ; $d05d ret -Func_50ee6: ; 50ee6 (14:4ee6) - ld de, MovementData_50efb ; $4efb +Route22MoveRivalSprite: ; 50ee6 (14:4ee6) + ld de, Route22RivalMovementData ; $4efb ld a, [$cf0d] cp $1 jr z, .asm_50ef1 @@ -78462,14 +78462,14 @@ Func_50ee6: ; 50ee6 (14:4ee6) ld [$ff8d], a jp Func_34a6 -MovementData_50efb: ; 50efb (14:4efb) - db $C0,$C0,$C0,$C0,$FF +Route22RivalMovementData: ; 50efb (14:4efb) + db $C0,$C0,$C0,$C0,$FF ; move right 4 times Route22Script0: ; 50f00 (14:4f00) ld a, [$d7eb] bit 7, a ret z - ld hl, .CoordsData_50f2d ; $4f2d + ld hl, .Route22RivalBattleCoords ; $4f2d call ArePlayerCoordsInArray ret nc ld a, [$cd3d] @@ -78481,18 +78481,18 @@ Route22Script0: ; 50f00 (14:4f00) ld a, $2 ld [$d528], a ld a, [$d7eb] - bit 0, a - jr nz, .asm_50f32 ; 0x50f25 $b - bit 1, a + bit 0, a ; is this the rival battle at the beginning of the game? + jr nz, .firstRivalBattle ; 0x50f25 $b + bit 1, a ; is this the rival at the end of the game? jp nz, Func_5104e ret -.CoordsData_50f2d +.Route22RivalBattleCoords db $04, $1D db $05, $1D db $FF -.asm_50f32 +.firstRivalBattle ld a, $1 ld [$cd4f], a xor a @@ -78511,7 +78511,7 @@ Route22Script0: ; 50f00 (14:4f00) call PlayMusic ld a, $1 ld [$ff8c], a - call Func_50ee6 + call Route22MoveRivalSprite ld a, $1 ld [W_ROUTE22CURSCRIPT], a ret @@ -78542,10 +78542,10 @@ Route22Script1: ; 50f62 (14:4f62) ld hl, $d72d set 6, [hl] set 7, [hl] - ld hl, UnnamedText_511b7 + ld hl, Route22RivalDefeatedText1 ld de, UnnamedText_511bc call PreBattleSaveRegisters - ld a, $e1 + ld a, SONY1 + $C8 ld [$d059], a ld hl, StarterMons_50faf ; $4faf call Func_50ed6 @@ -78554,6 +78554,7 @@ Route22Script1: ; 50f62 (14:4f62) ret StarterMons_50faf: ; 50faf (14:4faf) +; starter the rival picked, rival trainer number db SQUIRTLE,$04 db BULBASAUR,$05 db CHARMANDER,$06 @@ -78598,21 +78599,21 @@ Route22Script2: ; 50fb5 (14:4fb5) ret Func_51008: ; 51008 (14:5008) - ld de, MovementData_51017 ; $5017 + ld de, Route22RivalExitMovementData1 ; $5017 jr asm_51010 Func_5100d: ; 5100d (14:500d) - ld de, MovementData_5101f ; $501f + ld de, Route22RivalExitMovementData2 ; $501f asm_51010 ld a, $1 ld [H_SPRITEHEIGHT], a jp MoveSprite -MovementData_51017: ; 51017 (14:5017) - db $C0,$C0,$00,$00,$00,$00,$00,$FF +Route22RivalExitMovementData1: ; 51017 (14:5017) + db $C0,$C0,$00,$00,$00,$00,$00,$FF ; right x2, down x5 -MovementData_5101f: ; 5101f (14:501f) - db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF +Route22RivalExitMovementData2: ; 5101f (14:501f) + db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF ; up x1, right x3, down x6 Route22Script3: ; 5102a (14:502a) ld a, [$d730] @@ -78652,7 +78653,7 @@ Func_5104e: ; 5104e (14:504e) callba Music_RivalAlternateTempo ld a, $2 ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call Func_50ee6 + call Route22MoveRivalSprite ld a, $4 ld [W_ROUTE22CURSCRIPT], a ret @@ -78685,7 +78686,7 @@ Route22Script4: ; 51087 (14:5087) ld hl, $d72d set 6, [hl] set 7, [hl] - ld hl, UnnamedText_511cb ; $51cb + ld hl, Route22RivalDefeatedText2 ; $51cb ld de, UnnamedText_511d0 ; $51d0 call PreBattleSaveRegisters ld a, $f2 @@ -78756,10 +78757,10 @@ asm_51145: ; 51145 (14:5145) jp MoveSprite MovementData_5114c: ; 5114c (14:514c) - db $80 + db $80 ; left MovementData_5114d: ; 5114d (14:514d) - db $80,$80,$80,$FF + db $80,$80,$80,$FF ; left x3 Route22Script6: ; 51151 (14:5151) ld a, [$d730] @@ -78782,18 +78783,18 @@ Route22Script6: ; 51151 (14:5151) Route22TextPointers: ; 51175 (14:5175) dw Route22Text1 dw Route22Text2 - dw Route22Text3 + dw Route22FrontGateText Route22Text1: ; 5117b (14:517b) db $08 ; asm ld a, [$d7eb] bit 5, a jr z, .asm_a88cf ; 0x51181 - ld hl, UnnamedText_511b2 + ld hl, Route22RivalAfterBattleText1 call PrintText jr .asm_48088 ; 0x51189 .asm_a88cf ; 0x5118b - ld hl, UnnamedText_511ad + ld hl, Route22RivalBeforeBattleText1 call PrintText .asm_48088 ; 0x51191 jp TextScriptEnd @@ -78803,49 +78804,49 @@ Route22Text2: ; 51194 (14:5194) ld a, [$d7eb] bit 6, a jr z, .asm_58c0a ; 0x5119a - ld hl, UnnamedText_511c6 + ld hl, Route22RivalAfterBattleText2 call PrintText jr .asm_673ee ; 0x511a2 .asm_58c0a ; 0x511a4 - ld hl, UnnamedText_511c1 + ld hl, Route22RivalBeforeBattleText2 call PrintText .asm_673ee ; 0x511aa jp TextScriptEnd -UnnamedText_511ad: ; 511ad (14:51ad) - TX_FAR _UnnamedText_511ad +Route22RivalBeforeBattleText1: ; 511ad (14:51ad) + TX_FAR _Route22RivalBeforeBattleText1 db "@" -UnnamedText_511b2: ; 511b2 (14:51b2) - TX_FAR _UnnamedText_511b2 +Route22RivalAfterBattleText1: ; 511b2 (14:51b2) + TX_FAR _Route22RivalAfterBattleText1 db "@" -UnnamedText_511b7: ; 511b7 (14:51b7) - TX_FAR _UnnamedText_511b7 +Route22RivalDefeatedText1: ; 511b7 (14:51b7) + TX_FAR _Route22RivalDefeatedText1 db "@" UnnamedText_511bc: ; 511bc (14:51bc) TX_FAR _UnnamedText_511bc db "@" -UnnamedText_511c1: ; 511c1 (14:51c1) - TX_FAR _UnnamedText_511c1 +Route22RivalBeforeBattleText2: ; 511c1 (14:51c1) + TX_FAR _Route22RivalBeforeBattleText2 db "@" -UnnamedText_511c6: ; 511c6 (14:51c6) - TX_FAR _UnnamedText_511c6 +Route22RivalAfterBattleText2: ; 511c6 (14:51c6) + TX_FAR _Route22RivalAfterBattleText2 db "@" -UnnamedText_511cb: ; 511cb (14:51cb) - TX_FAR _UnnamedText_511cb +Route22RivalDefeatedText2: ; 511cb (14:51cb) + TX_FAR _Route22RivalDefeatedText2 db "@" UnnamedText_511d0: ; 511d0 (14:51d0) TX_FAR _UnnamedText_511d0 db "@" -Route22Text3: ; 511d5 (14:51d5) - TX_FAR _Route22Text3 +Route22FrontGateText: ; 511d5 (14:51d5) + TX_FAR _Route22FrontGateText db "@" Route23Script: ; 511da (14:51da) diff --git a/text/maps/route_22.asm b/text/maps/route_22.asm index 7222bc5e..b68e32f0 100644 --- a/text/maps/route_22.asm +++ b/text/maps/route_22.asm @@ -1,4 +1,4 @@ -_UnnamedText_511ad:: ; 922cd (24:62cd) +_Route22RivalBeforeBattleText1:: ; 922cd (24:62cd) text $53, ": Hey!" line $52, "!" @@ -17,7 +17,7 @@ _UnnamedText_511ad:: ; 922cd (24:62cd) cont "get any stronger?" done -_UnnamedText_511b2:: ; 9236f (24:636f) +_Route22RivalAfterBattleText1:: ; 9236f (24:636f) text "I heard #MON" line "LEAGUE has many" cont "tough trainers!" @@ -31,7 +31,7 @@ _UnnamedText_511b2:: ; 9236f (24:636f) cont "a move on!" done -_UnnamedText_511b7:: ; 923f4 (24:63f4) +_Route22RivalDefeatedText1:: ; 923f4 (24:63f4) text "Awww!" line "You just lucked" cont "out!" @@ -46,7 +46,7 @@ _UnnamedText_511bc:: ; 92410 (24:6410) cont "some more too!" prompt -_UnnamedText_511c1:: ; 92450 (24:6450) +_Route22RivalBeforeBattleText2:: ; 92450 (24:6450) text $53, ": What?" line $52, "! What a" cont "surprise to see" @@ -67,7 +67,7 @@ _UnnamedText_511c1:: ; 92450 (24:6450) para "Come on!" done -_UnnamedText_511c6:: ; 92506 (24:6506) +_Route22RivalAfterBattleText2:: ; 92506 (24:6506) text "That loosened me" line "up! I'm ready for" cont "#MON LEAGUE!" @@ -80,7 +80,7 @@ _UnnamedText_511c6:: ; 92506 (24:6506) cont "here. Smell ya!" done -_UnnamedText_511cb:: ; 92583 (24:6583) +_Route22RivalDefeatedText2:: ; 92583 (24:6583) text "What!?" para "I was just" @@ -98,7 +98,7 @@ _UnnamedText_511d0:: ; 925a0 (24:65a0) line "more! You loser!" prompt -_Route22Text3:: ; 92606 (24:6606) +_Route22FrontGateText:: ; 92606 (24:6606) text "#MON LEAGUE" line "Front Gate" done -- cgit v1.2.3