diff options
Diffstat (limited to 'items/item_effects.asm')
-rw-r--r-- | items/item_effects.asm | 576 |
1 files changed, 285 insertions, 291 deletions
diff --git a/items/item_effects.asm b/items/item_effects.asm index 2b12b587e..9fc3c844f 100644 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -228,7 +228,7 @@ ParkBall: ; e8a2 ld [wWildMon], a ld a, [CurItem] cp PARK_BALL - call nz, Functionedfa + call nz, ReturnToBattle_UseBall ld hl, Options res NO_TEXT_SCROLL, [hl] @@ -421,16 +421,16 @@ endr jr nz, .caught ld a, [Buffer2] cp $1 - ld hl, UnknownText_0xedb5 + ld hl, Text_NoShake jp z, .shake_and_break_free cp $2 - ld hl, UnknownText_0xedba + ld hl, Text_OneShake jp z, .shake_and_break_free cp $3 - ld hl, UnknownText_0xedbf + ld hl, Text_TwoShakes jp z, .shake_and_break_free cp $4 - ld hl, UnknownText_0xedc4 + ld hl, Text_ThreeShakes jp z, .shake_and_break_free .caught @@ -535,14 +535,14 @@ endr call CheckReceivedDex jr z, .skip_pokedex - ld hl, UnknownText_0xedf0 + ld hl, Text_AddedToPokedex call PrintText call ClearSprites ld a, [EnemyMonSpecies] ld [wd265], a - predef Functionfb877 + predef NewPokedexEntry .skip_pokedex ld a, [BattleType] @@ -564,7 +564,7 @@ endr predef TryAddMonToParty - callba Function4db49 + callba SetCaughtData ld a, [CurItem] cp FRIEND_BALL @@ -580,7 +580,7 @@ endr ld [hl], a .SkipPartyMonFriendBall - ld hl, UnknownText_0xedf5 + ld hl, Text_AskNicknameNewlyCaughtMon call PrintText ld a, [CurPartySpecies] @@ -620,7 +620,7 @@ endr predef SentPkmnIntoBox - callba Function4db83 + callba SetBoxMonCaughtData ld a, BANK(sBoxCount) call GetSRAMBank @@ -640,7 +640,7 @@ endr .SkipBoxMonFriendBall call CloseSRAM - ld hl, UnknownText_0xedf5 + ld hl, Text_AskNicknameNewlyCaughtMon call PrintText ld a, [CurPartySpecies] @@ -683,7 +683,7 @@ endr call CloseSRAM - ld hl, UnknownText_0xedeb + ld hl, Text_SentToBillsPC call PrintText call FadeToWhite @@ -1092,37 +1092,40 @@ LevelBallMultiplier: ld b, $ff ret -UnknownText_0xedab: ; 0xedab +; These two texts were carried over from gen 1. +; They are not used in gen 2, and are dummied out. + +Text_RBY_CatchMarowak: ; 0xedab ; It dodged the thrown BALL! This #MON can't be caught! text_jump UnknownText_0x1c5a5a db "@" ; 0xedb0 -UnknownText_0xedb0: ; 0xedb0 +Text_RBY_NoShake: ; 0xedb0 ; You missed the #MON! text_jump UnknownText_0x1c5a90 db "@" ; 0xedb5 -UnknownText_0xedb5: ; 0xedb5 +Text_NoShake: ; 0xedb5 ; Oh no! The #MON broke free! text_jump UnknownText_0x1c5aa6 db "@" ; 0xedba -UnknownText_0xedba: ; 0xedba +Text_OneShake: ; 0xedba ; Aww! It appeared to be caught! text_jump UnknownText_0x1c5ac3 db "@" ; 0xedbf -UnknownText_0xedbf: ; 0xedbf +Text_TwoShakes: ; 0xedbf ; Aargh! Almost had it! text_jump UnknownText_0x1c5ae3 db "@" ; 0xedc4 -UnknownText_0xedc4: ; 0xedc4 +Text_ThreeShakes: ; 0xedc4 ; Shoot! It was so close too! text_jump UnknownText_0x1c5afa db "@" @@ -1132,9 +1135,6 @@ Text_GotchaMonWasCaught: ; 0xedc9 ; Gotcha! @ was caught!@ @ text_jump UnknownText_0x1c5b17 start_asm -; 0xedce - -Functionedce: ; edce call WaitSFX push bc ld de, MUSIC_NONE @@ -1153,30 +1153,30 @@ TextJump_Waitbutton: ; 0xede6 db "@" ; 0xedeb -UnknownText_0xedeb: ; 0xedeb +Text_SentToBillsPC: ; 0xedeb ; was sent to BILL's PC. text_jump UnknownText_0x1c5b38 db "@" ; 0xedf0 -UnknownText_0xedf0: ; 0xedf0 +Text_AddedToPokedex: ; 0xedf0 ; 's data was newly added to the #DEX.@ @ text_jump UnknownText_0x1c5b53 db "@" ; 0xedf5 -UnknownText_0xedf5: ; 0xedf5 +Text_AskNicknameNewlyCaughtMon: ; 0xedf5 ; Give a nickname to @ ? text_jump UnknownText_0x1c5b7f db "@" ; 0xedfa -Functionedfa: ; edfa (3:6dfa) - callba Function2715c +ReturnToBattle_UseBall: ; edfa (3:6dfa) + callba _ReturnToBattle_UseBall ret TownMap: ; ee01 - callba Function91ae1 + callba PokegearMap ret ; ee08 @@ -1196,29 +1196,29 @@ SunStone: ; ee0f ld b, PARTYMENUACTION_EVO_STONE call UseItem_SelectMon - jp c, .asm_ee38 + jp c, .DecidedNotToUse ld a, MON_ITEM call GetPartyParamLocation ld a, [hl] cp EVERSTONE - jr z, .asm_ee35 + jr z, .NoEffect ld a, $1 ld [wd1e9], a - callba Function421d8 + callba EvolvePokemon ld a, [wd268] and a - jr z, .asm_ee35 + jr z, .NoEffect jp UseDisposableItem -.asm_ee35 +.NoEffect call WontHaveAnyEffectMessage -.asm_ee38 +.DecidedNotToUse xor a ld [wd0ec], a ret @@ -1233,11 +1233,11 @@ Calcium: ; ee3d ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionee9f + jp c, RareCandy_StatBooster_ExitMenu - call Functioneef5 + call RareCandy_StatBooster_GetParameters - call Functioneed9 + call GetStatExpRelativePointer ld a, MON_STAT_EXP call GetPartyParamLocation @@ -1245,15 +1245,15 @@ Calcium: ; ee3d add hl, bc ld a, [hl] cp 100 - jr nc, Functionee83 + jr nc, NoEffectMessage add 10 ld [hl], a - call Functionee8c + call UpdateStatsAfterItem - call Functioneed9 + call GetStatExpRelativePointer - ld hl, Strings_eeab + ld hl, StatStrings add hl, bc ld a, [hli] ld h, [hl] @@ -1264,7 +1264,7 @@ Calcium: ; ee3d call Play_SFX_FULL_HEAL - ld hl, UnknownText_0xeea6 + ld hl, Text_StatRose call PrintText ld c, HAPPINESS_USEDITEM @@ -1273,14 +1273,14 @@ Calcium: ; ee3d jp UseDisposableItem -Functionee83: ; ee83 +NoEffectMessage: ; ee83 ld hl, WontHaveAnyEffectText call PrintText jp ClearPalettes ; ee8c -Functionee8c: ; ee8c +UpdateStatsAfterItem: ; ee8c ld a, MON_MAXHP call GetPartyParamLocation ld d, h @@ -1291,21 +1291,21 @@ Functionee8c: ; ee8c predef_jump CalcPkmnStats ; ee9f -Functionee9f: ; ee9f +RareCandy_StatBooster_ExitMenu: ; ee9f xor a ld [wd0ec], a jp ClearPalettes ; eea6 -UnknownText_0xeea6: ; 0xeea6 +Text_StatRose: ; 0xeea6 ; 's @ rose. text_jump UnknownText_0x1c5b9a db "@" ; 0xeeab -Strings_eeab: ; eeab +StatStrings: ; eeab dw .health dw .attack dw .defense @@ -1320,17 +1320,17 @@ Strings_eeab: ; eeab ; eed9 -Functioneed9: ; eed9 +GetStatExpRelativePointer: ; eed9 ld a, [CurItem] ld hl, Table_eeeb .next cp [hl] inc hl - jr z, .asm_eee6 + jr z, .got_it inc hl jr .next -.asm_eee6 +.got_it ld a, [hl] ld c, a ld b, 0 @@ -1346,7 +1346,7 @@ Table_eeeb: ; eeeb ; eef5 -Functioneef5: ; eef5 +RareCandy_StatBooster_GetParameters: ; eef5 ld a, [CurPartySpecies] ld [CurSpecies], a ld [wd265], a @@ -1366,16 +1366,16 @@ RareCandy: ; ef14 ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionee9f + jp c, RareCandy_StatBooster_ExitMenu - call Functioneef5 + call RareCandy_StatBooster_GetParameters ld a, MON_LEVEL call GetPartyParamLocation ld a, [hl] cp MAX_LEVEL - jp nc, Functionee83 + jp nc, NoEffectMessage inc a ld [hl], a @@ -1390,9 +1390,9 @@ RareCandy: ; ef14 ld a, [hMultiplicand] ld [hli], a - ld a, [$ffb5] + ld a, [hMultiplicand + 1] ld [hli], a - ld a, [$ffb6] + ld a, [hMultiplicand + 2] ld [hl], a ld a, MON_MAXHP @@ -1401,7 +1401,7 @@ RareCandy: ; ef14 ld b, a ld c, [hl] push bc - call Functionee8c + call UpdateStatsAfterItem ld a, MON_MAXHP + 1 call GetPartyParamLocation @@ -1423,7 +1423,7 @@ RareCandy: ; ef14 callba LevelUpHappinessMod ld a, PARTYMENUTEXT_LEVEL_UP - call Functionf24a + call ItemActionText xor a ; PARTYMON ld [MonType], a @@ -1448,7 +1448,7 @@ RareCandy: ; ef14 xor a ld [wd1e9], a - callba Function421d8 + callba EvolvePokemon jp UseDisposableItem ; efad @@ -1458,9 +1458,9 @@ HealPowder: ; efad ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionf29e + jp c, StatusHealer_ExitMenu - call Functionefda + call UseStatusHealer cp $0 jr nz, .asm_efc9 @@ -1472,7 +1472,7 @@ HealPowder: ; efad ld a, $0 .asm_efc9 - jp Functionf09e + jp StatusHealer_Jumptable ; efcc @@ -1490,16 +1490,16 @@ MintBerry: Miracleberry: ; efcc ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionf29e + jp c, StatusHealer_ExitMenu -Functionefd4: ; efd4 - call Functionefda - jp Functionf09e +FullyHealStatus: ; efd4 + call UseStatusHealer + jp StatusHealer_Jumptable ; efda -Functionefda: ; efda (3:6fda) - call Functionf30d +UseStatusHealer: ; efda (3:6fda) + call IsMonFainted ld a, $1 ret z call GetItemHealingAction @@ -1508,7 +1508,7 @@ Functionefda: ; efda (3:6fda) ld a, [hl] and c jr nz, .good - call Functionf009 + call IsItemUsedOnConfusedMon ld a, $1 ret nc ld b, PARTYMENUTEXT_HEAL_CONFUSION @@ -1519,13 +1519,13 @@ Functionefda: ; efda (3:6fda) ld [PartyMenuActionText], a call HealStatus call Play_SFX_FULL_HEAL - call Functionf279 + call ItemActionTextWaitButton call UseDisposableItem ld a, $0 ret -Functionf009: ; f009 (3:7009) - call Functionf2a6 +IsItemUsedOnConfusedMon: ; f009 (3:7009) + call IsItemUsedOnBattleMon jr nc, .nope ld a, [PlayerSubStatus3] bit SUBSTATUS_CONFUSED, a @@ -1535,12 +1535,13 @@ Functionf009: ; f009 (3:7009) jr nz, .nope scf ret + .nope and a ret -Functionf01e: ; f01e (3:701e) - call Functionf2a6 +BattlemonRestoreHealth: ; f01e (3:701e) + call IsItemUsedOnBattleMon ret nc ld a, MON_HP call GetPartyParamLocation @@ -1551,7 +1552,7 @@ Functionf01e: ; f01e (3:701e) ret HealStatus: ; f030 (3:7030) - call Functionf2a6 + call IsItemUsedOnBattleMon ret nc xor a ld [BattleMonStatus], a @@ -1612,23 +1613,23 @@ GetItemHealingAction: ; f058 (3:7058) db -1, 0, 0 ; f09e -Functionf09e: ; f09e (3:709e) +StatusHealer_Jumptable: ; f09e (3:709e) ld hl, .jumptable rst JumpTable ret .jumptable: ; f0a3 (3:70a3) - dw Functionf2a2 - dw Functionf299 - dw Functionf29e + dw StatusHealer_ClearPalettes + dw StatusHealer_NoEffect + dw StatusHealer_ExitMenu RevivalHerb: ; f0a9 ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionf29e + jp c, StatusHealer_ExitMenu - call Functionf0d6 + call RevivePokemon cp 0 jr nz, .asm_f0c5 @@ -1638,7 +1639,7 @@ RevivalHerb: ; f0a9 ld a, 0 .asm_f0c5 - jp Functionf09e + jp StatusHealer_Jumptable ; f0c8 @@ -1646,20 +1647,20 @@ Revive: MaxRevive: ; f0c8 ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionf29e + jp c, StatusHealer_ExitMenu - call Functionf0d6 - jp Functionf09e + call RevivePokemon + jp StatusHealer_Jumptable ; f0d6 -Functionf0d6: ; f0d6 - call Functionf30d +RevivePokemon: ; f0d6 + call IsMonFainted ld a, 1 ret nz ld a, [wBattleMode] and a - jr z, .asm_f104 + jr z, .skip_to_revive ld a, [CurPartyMon] ld c, a @@ -1669,7 +1670,7 @@ Functionf0d6: ; f0d6 predef FlagPredef ld a, c and a - jr z, .asm_f104 + jr z, .skip_to_revive ld a, [CurPartyMon] ld c, a @@ -1677,24 +1678,24 @@ Functionf0d6: ; f0d6 ld b, SET_FLAG predef FlagPredef -.asm_f104 +.skip_to_revive xor a ld [Danger], a ld a, [CurItem] cp REVIVE - jr z, .asm_f114 + jr z, .revive_half_hp - call Functionf2c3 - jr .asm_f117 + call ReviveFullHP + jr .finish_revive -.asm_f114 - call Functionf2ba +.revive_half_hp + call ReviveHalfHP -.asm_f117 - call Functionf1db +.finish_revive + call HealHP_SFX_GFX ld a, PARTYMENUTEXT_REVIVE ld [PartyMenuActionText], a - call Functionf279 + call ItemActionTextWaitButton call UseDisposableItem ld a, 0 ret @@ -1704,37 +1705,37 @@ Functionf0d6: ; f0d6 FullRestore: ; f128 ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionf29e + jp c, StatusHealer_ExitMenu - call Functionf30d - jp z, Functionf299 + call IsMonFainted + jp z, StatusHealer_NoEffect - call Functionf31b - jr c, .asm_f13e + call IsMonAtFullHealth + jr c, .NotAtFullHealth - jp Functionefd4 + jp FullyHealStatus -.asm_f13e - call Functionf144 - jp Functionf09e +.NotAtFullHealth + call .FullRestore + jp StatusHealer_Jumptable ; f144 -Functionf144: ; f144 +.FullRestore: ; f144 xor a ld [Danger], a - call Functionf2c3 + call ReviveFullHP ld a, MON_STATUS call GetPartyParamLocation xor a ld [hli], a ld [hl], a call HealStatus - call Functionf01e - call Functionf1db + call BattlemonRestoreHealth + call HealHP_SFX_GFX ld a, PARTYMENUTEXT_HEAL_HP ld [PartyMenuActionText], a - call Functionf279 + call ItemActionTextWaitButton call UseDisposableItem ld a, 0 ret @@ -1750,7 +1751,7 @@ BitterBerry: ; f16a res SUBSTATUS_CONFUSED, [hl] xor a ld [hBattleTurn], a - call Functionf789 + call UseItemText ld hl, ConfusedNoMoreText call StdBattleTextBox @@ -1758,7 +1759,7 @@ BitterBerry: ; f16a ld a, 0 .done - jp Functionf09e + jp StatusHealer_Jumptable ; f186 @@ -1774,64 +1775,64 @@ Ragecandybar: BerryJuice: Berry: GoldBerry: ; f186 - call Functionf1a9 - jp Functionf09e + call ItemRestoreHP + jp StatusHealer_Jumptable ; f18c Energypowder: ; f18c ld c, HAPPINESS_BITTERPOWDER - jr Functionf192 + jr EnergypowderEnergyRootCommon ; f190 EnergyRoot: ; f190 ld c, HAPPINESS_ENERGYROOT ; f192 -Functionf192: ; f192 +EnergypowderEnergyRootCommon: ; f192 push bc - call Functionf1a9 + call ItemRestoreHP pop bc cp 0 - jr nz, .asm_f1a6 + jr nz, .skip_happiness callba ChangeHappiness call LooksBitterMessage ld a, 0 -.asm_f1a6 - jp Functionf09e +.skip_happiness + jp StatusHealer_Jumptable ; f1a9 -Functionf1a9: ; f1a9 (3:71a9) +ItemRestoreHP: ; f1a9 (3:71a9) ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon ld a, 2 ret c - call Functionf30d + call IsMonFainted ld a, 1 ret z - call Functionf31b + call IsMonAtFullHealth ld a, 1 ret nc xor a ld [Danger], a - call Functionf395 - call Functionf2d1 - call Functionf01e - call Functionf1db + call GetHealingItemAmount + call RestoreHealth + call BattlemonRestoreHealth + call HealHP_SFX_GFX ld a, PARTYMENUTEXT_HEAL_HP ld [PartyMenuActionText], a - call Functionf279 + call ItemActionTextWaitButton call UseDisposableItem ld a, 0 ret -Functionf1db: ; f1db (3:71db) +HealHP_SFX_GFX: ; f1db (3:71db) push de ld de, SFX_POTION call WaitPlaySFX @@ -1867,13 +1868,13 @@ UseItem_SelectMon: ; f1f9 (3:71f9) push de push bc call ClearBGPalettes - call Functionf21c + call ChoosePkmnToUseItemOn pop bc pop de pop hl ret -Functionf21c: ; f21c (3:721c) +ChoosePkmnToUseItemOn: ; f21c (3:721c) callba Function5004f callba Function50405 callba Function503e0 @@ -1885,7 +1886,7 @@ Functionf21c: ; f21c (3:721c) callba PartyMenuSelect ret -Functionf24a: ; f24a (3:724a) +ItemActionText: ; f24a (3:724a) ld [PartyMenuActionText], a ld a, [CurPartySpecies] push af @@ -1895,7 +1896,7 @@ Functionf24a: ; f24a (3:724a) push de push bc callba WritePartyMenuTilemap - callba Function50566 + callba PrintPartyMenuActionText call WaitBGMap call SetPalettes call DelayFrame @@ -1908,7 +1909,7 @@ Functionf24a: ; f24a (3:724a) ld [CurPartySpecies], a ret -Functionf279: ; f279 (3:7279) +ItemActionTextWaitButton: ; f279 (3:7279) xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -1916,26 +1917,25 @@ Functionf279: ; f279 (3:7279) ld a, " " call ByteFill ld a, [PartyMenuActionText] - call Functionf24a + call ItemActionText ld a, $1 ld [hBGMapMode], a - ld c, $32 + ld c, 50 call DelayFrames jp WaitPressAorB_BlinkCursor -Functionf299: ; f299 (3:7299) +StatusHealer_NoEffect: ; f299 (3:7299) call WontHaveAnyEffectMessage - jr Functionf2a2 + jr StatusHealer_ClearPalettes -Functionf29e: ; f29e (3:729e) +StatusHealer_ExitMenu: ; f29e (3:729e) xor a ld [wd0ec], a - -Functionf2a2: ; f2a2 (3:72a2) +StatusHealer_ClearPalettes: ; f2a2 (3:72a2) call ClearPalettes ret -Functionf2a6: ; f2a6 (3:72a6) +IsItemUsedOnBattleMon: ; f2a6 (3:72a6) ld a, [wBattleMode] and a ret z @@ -1944,30 +1944,31 @@ Functionf2a6: ; f2a6 (3:72a6) ld hl, CurBattleMon cp [hl] pop hl - jr nz, .asm_f2b8 + jr nz, .nope scf ret -.asm_f2b8 + +.nope xor a ret -Functionf2ba: ; f2ba (3:72ba) - call Functionf36f +ReviveHalfHP: ; f2ba (3:72ba) + call LoadHPFromBuffer1 srl d rr e - jr asm_f2c6 + jr ContinueRevive -Functionf2c3: ; f2c3 (3:72c3) - call Functionf36f -asm_f2c6: ; f2c6 (3:72c6) +ReviveFullHP: ; f2c3 (3:72c3) + call LoadHPFromBuffer1 +ContinueRevive: ; f2c6 (3:72c6) ld a, MON_HP call GetPartyParamLocation ld [hl], d inc hl ld [hl], e - jp Functionf328 + jp LoadCurHPIntoBuffer5 -Functionf2d1: ; f2d1 (3:72d1) +RestoreHealth: ; f2d1 (3:72d1) ld a, MON_HP + 1 call GetPartyParamLocation ld a, [hl] @@ -1976,8 +1977,8 @@ Functionf2d1: ; f2d1 (3:72d1) ld a, [hl] adc d ld [hl], a - jr c, .asm_f2f5 - call Functionf328 + jr c, .full_hp + call LoadCurHPIntoBuffer5 ld a, MON_HP + 1 call GetPartyParamLocation ld d, h @@ -1990,13 +1991,13 @@ Functionf2d1: ; f2d1 (3:72d1) dec hl ld a, [de] sbc [hl] - jr c, .asm_f2f8 -.asm_f2f5 - call Functionf2c3 -.asm_f2f8 + jr c, .finish +.full_hp + call ReviveFullHP +.finish ret -Functionf2f9: ; f2f9 (3:72f9) +RemoveHP: ; f2f9 (3:72f9) ld a, MON_HP + 1 call GetPartyParamLocation ld a, [hl] @@ -2005,78 +2006,78 @@ Functionf2f9: ; f2f9 (3:72f9) ld a, [hl] sbc d ld [hl], a - jr nc, .asm_f309 + jr nc, .okay xor a ld [hld], a ld [hl], a -.asm_f309 - call Functionf328 +.okay + call LoadCurHPIntoBuffer5 ret -Functionf30d: ; f30d (3:730d) +IsMonFainted: ; f30d (3:730d) push de - call Functionf35f - call Functionf348 - call Functionf356 + call LoadMaxHPToBuffer1 + call LoadCurHPToBuffer3 + call LoadHPFromBuffer3 ld a, d or e pop de ret -Functionf31b: ; f31b (3:731b) - call Functionf356 +IsMonAtFullHealth: ; f31b (3:731b) + call LoadHPFromBuffer3 ld h, d ld l, e - call Functionf36f + call LoadHPFromBuffer1 ld a, l sub e ld a, h sbc d ret -Functionf328: ; f328 (3:7328) +LoadCurHPIntoBuffer5: ; f328 (3:7328) ld a, MON_HP call GetPartyParamLocation ld a, [hli] - ld [wd1ef], a + ld [Buffer6], a ld a, [hl] - ld [wd1ee], a + ld [Buffer5], a ret ; f336 (3:7336) -Functionf336: ; f336 +LoadHPIntoBuffer5: ; f336 ld a, d - ld [wd1ef], a + ld [Buffer6], a ld a, e - ld [wd1ee], a + ld [Buffer5], a ret ; f33f -Functionf33f: ; f33f - ld a, [wd1ef] +LoadHPFromBuffer5: ; f33f + ld a, [Buffer6] ld d, a - ld a, [wd1ee] + ld a, [Buffer5] ld e, a ret ; f348 -Functionf348: ; f348 (3:7348) +LoadCurHPToBuffer3: ; f348 (3:7348) ld a, MON_HP call GetPartyParamLocation ld a, [hli] - ld [wd1ed], a + ld [Buffer4], a ld a, [hl] - ld [wd1ec], a + ld [Buffer3], a ret -Functionf356: ; f356 (3:7356) - ld a, [wd1ed] +LoadHPFromBuffer3: ; f356 (3:7356) + ld a, [Buffer4] ld d, a - ld a, [wd1ec] + ld a, [Buffer3] ld e, a ret -Functionf35f: ; f35f (3:735f) +LoadMaxHPToBuffer1: ; f35f (3:735f) push hl ld a, MON_MAXHP call GetPartyParamLocation @@ -2087,14 +2088,14 @@ Functionf35f: ; f35f (3:735f) pop hl ret -Functionf36f: ; f36f (3:736f) +LoadHPFromBuffer1: ; f36f (3:736f) ld a, [Buffer2] ld d, a ld a, [Buffer1] ld e, a ret -Functionf378: ; f378 (3:7378) +GetOneFifthMaxHP: ; f378 (3:7378) push bc ld a, MON_MAXHP call GetPartyParamLocation @@ -2113,15 +2114,15 @@ Functionf378: ; f378 (3:7378) pop bc ret -Functionf395: ; f395 (3:7395) +GetHealingItemAmount: ; f395 (3:7395) push hl ld a, [CurItem] - ld hl, Tablef3af + ld hl, .Healing ld d, a .next ld a, [hli] cp -1 - jr z, .asm_f3a9 + jr z, .NotFound cp d jr z, .done rept 2 @@ -2129,7 +2130,7 @@ rept 2 endr jr .next -.asm_f3a9 +.NotFound scf .done ld e, [hl] @@ -2139,7 +2140,7 @@ endr ret ; f3af (3:73af) -Tablef3af: ; f3af +.Healing: ; f3af dbw FRESH_WATER, 50 dbw SODA_POP, 60 dbw LEMONADE, 80 @@ -2158,42 +2159,42 @@ Tablef3af: ; f3af dbw -1, 0 ; f3df -Functionf3df: ; f3df (3:73df) +Softboiled_MilkDrinkFunction: ; f3df (3:73df) ; Softboiled/Milk Drink in the field ld a, [wd0d8] dec a ld b, a - call Functionf419 - jr c, .asm_f413 + call .SelectMilkDrinkRecipient ; select pokemon + jr c, .skip ld a, b ld [CurPartyMon], a - call Functionf30d - call Functionf378 - call Functionf2f9 + call IsMonFainted + call GetOneFifthMaxHP + call RemoveHP push bc - call Functionf1db + call HealHP_SFX_GFX pop bc - call Functionf378 + call GetOneFifthMaxHP ld a, c ld [CurPartyMon], a - call Functionf30d - call Functionf2d1 - call Functionf1db + call IsMonFainted + call RestoreHealth + call HealHP_SFX_GFX ld a, PARTYMENUTEXT_HEAL_HP - call Functionf24a + call ItemActionText call JoyWaitAorB -.asm_f413 +.skip ld a, b inc a ld [wd0d8], a ret -Functionf419: ; f419 (3:7419) +.SelectMilkDrinkRecipient: ; f419 (3:7419) .loop push bc ld a, PARTYMENUACTION_HEALING_ITEM ld [PartyMenuActionText], a - call Functionf21c + call ChoosePkmnToUseItemOn pop bc jr c, .set_carry ld a, [wd0d8] @@ -2201,13 +2202,13 @@ Functionf419: ; f419 (3:7419) ld c, a ld a, b cp c - jr z, .loopback + jr z, .cant_use ; chose the same mon as user ld a, c ld [CurPartyMon], a - call Functionf30d - jr z, .loopback - call Functionf31b - jr nc, .loopback + call IsMonFainted + jr z, .cant_use + call IsMonAtFullHealth + jr nc, .cant_use xor a ret @@ -2215,15 +2216,15 @@ Functionf419: ; f419 (3:7419) scf ret -.loopback +.cant_use push bc - ld hl, UnknownText_0xf44a + ld hl, .Text_CantBeUsed call MenuTextBoxBackup pop bc jr .loop ; f44a (3:744a) -UnknownText_0xf44a: ; 0xf44a +.Text_CantBeUsed: ; 0xf44a ; That can't be used on this #MON. text_jump UnknownText_0x1c5bac db "@" @@ -2244,19 +2245,19 @@ EscapeRope: ; f44f SuperRepel: ; f462 ld b, 200 - jr Function_0xf46c + jr UseRepel ; f466 MaxRepel: ; f466 ld b, 250 - jr Function_0xf46c + jr UseRepel ; f466 Repel: ; f46a ld b, 100 ; f46c -Function_0xf46c: ; f46c +UseRepel: ; f46c ld a, [wRepelEffect] and a ld hl, TextJump_RepelUsedEarlierIsStillInEffect @@ -2264,7 +2265,7 @@ Function_0xf46c: ; f46c ld a, b ld [wRepelEffect], a - jp Functionf789 + jp UseItemText TextJump_RepelUsedEarlierIsStillInEffect: ; 0xf47d @@ -2279,7 +2280,7 @@ XAccuracy: ; f482 bit SUBSTATUS_X_ACCURACY, [hl] jp nz, WontHaveAnyEffect_NotUsedMessage set SUBSTATUS_X_ACCURACY, [hl] - jp Functionf789 + jp UseItemText ; f48f @@ -2293,7 +2294,7 @@ PokeDoll: ; f48f and 3 << 6 or $2 ld [wBattleResult], a - jp Functionf789 + jp UseItemText .asm_f4a6 xor a @@ -2307,7 +2308,7 @@ GuardSpec: ; f4ab bit SUBSTATUS_MIST, [hl] jp nz, WontHaveAnyEffect_NotUsedMessage set SUBSTATUS_MIST, [hl] - jp Functionf789 + jp UseItemText ; f4b8 @@ -2316,7 +2317,7 @@ DireHit: ; f4b8 bit SUBSTATUS_FOCUS_ENERGY, [hl] jp nz, WontHaveAnyEffect_NotUsedMessage set SUBSTATUS_FOCUS_ENERGY, [hl] - jp Functionf789 + jp UseItemText ; f4c5 @@ -2324,7 +2325,7 @@ XAttack: XDefend: XSpeed: XSpecial: ; f4c5 - call Functionf789 + call UseItemText ld a, [CurItem] ld hl, .x_item_table @@ -2368,8 +2369,8 @@ endr PokeFlute: ; f50c ld a, [wBattleMode] and a - jr nz, .asm_f512 -.asm_f512 + jr nz, .dummy +.dummy xor a ld [wd002], a @@ -2377,14 +2378,14 @@ PokeFlute: ; f50c ld b, $ff ^ SLP ld hl, PartyMon1Status - call .Functionf554 + call .CureSleep ld a, [wBattleMode] cp WILD_BATTLE - jr z, .asm_f52b + jr z, .skip_otrainer ld hl, OTPartyMon1Status - call .Functionf554 -.asm_f52b + call .CureSleep +.skip_otrainer ld hl, BattleMonStatus ld a, [hl] @@ -2397,20 +2398,20 @@ PokeFlute: ; f50c ld a, [wd002] and a - ld hl, UnknownText_0xf56c + ld hl, .CatchyTune jp z, PrintText - ld hl, UnknownText_0xf576 + ld hl, .PlayedTheFlute call PrintText ld a, [Danger] and $80 - jr nz, .asm_f54e -.asm_f54e - ld hl, UnknownText_0xf571 + jr nz, .dummy2 +.dummy2 + ld hl, .AllSleepingMonWokeUp jp PrintText -.Functionf554 +.CureSleep ld de, PARTYMON_STRUCT_LENGTH ld c, PARTY_LENGTH @@ -2418,10 +2419,10 @@ PokeFlute: ; f50c ld a, [hl] push af and SLP - jr z, .asm_f564 + jr z, .not_asleep ld a, 1 ld [wd002], a -.asm_f564 +.not_asleep pop af and b ld [hl], a @@ -2432,29 +2433,25 @@ PokeFlute: ; f50c ; f56c -UnknownText_0xf56c: ; 0xf56c +.CatchyTune: ; 0xf56c ; Played the # FLUTE. Now, that's a catchy tune! text_jump UnknownText_0x1c5bf9 db "@" ; 0xf571 -UnknownText_0xf571: ; 0xf571 +.AllSleepingMonWokeUp: ; 0xf571 ; All sleeping #MON woke up. text_jump UnknownText_0x1c5c28 db "@" ; 0xf576 -UnknownText_0xf576: ; 0xf576 +.PlayedTheFlute: ; 0xf576 ; played the # FLUTE.@ @ text_jump UnknownText_0x1c5c44 start_asm -; 0xf57b - - -Function_0xf57b: ; f57b ld a, [wBattleMode] and a - jr nz, .asm_f58c + jr nz, .battle push de ld de, SFX_POKEFLUTE @@ -2462,14 +2459,14 @@ Function_0xf57b: ; f57b call WaitSFX pop de -.asm_f58c - jp Function13e0 +.battle + jp PokeFluteTerminatorCharacter ; f58f BlueCard: ; f58f ld hl, .bluecardtext - jp Function2012 + jp MenuTextBoxWaitButton .bluecardtext text_jump UnknownText_0x1c5c5e @@ -2479,7 +2476,7 @@ BlueCard: ; f58f CoinCase: ; f59a ld hl, .coincasetext - jp Function2012 + jp MenuTextBoxWaitButton .coincasetext text_jump UnknownText_0x1c5c7b @@ -2527,7 +2524,7 @@ Mysteryberry: ; f5bf ; Party Screen opens to choose on which Pkmn to use the Item ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon - jp c, Functionf6e0 + jp c, PPRestoreItem_Cancel .loop2 ld a, [wd002] @@ -2570,7 +2567,7 @@ Mysteryberry: ; f5bf ld a, [wd002] cp PP_UP - jp nz, Functionf6a7 + jp nz, Not_PP_Up ld a, [hl] cp SKETCH @@ -2594,50 +2591,50 @@ Mysteryberry: ; f5bf ld [hl], a ld a, $1 ld [wd265], a - call Functionf84c + call ApplyPPUp call Play_SFX_FULL_HEAL ld hl, TextJump_PPsIncreased call PrintText -Functionf64c: ; f64c +FinishPPRestore: ; f64c call ClearPalettes jp UseDisposableItem ; f652 -Functionf652: ; f652 +BattleRestorePP: ; f652 ld a, [wBattleMode] and a - jr z, .asm_f66c + jr z, .not_in_battle ld a, [CurPartyMon] ld b, a ld a, [CurBattleMon] cp b - jr nz, .asm_f66c + jr nz, .not_in_battle ld a, [PlayerSubStatus5] bit SUBSTATUS_TRANSFORMED, a - jr nz, .asm_f66c - call .asm_f677 + jr nz, .not_in_battle + call .UpdateBattleMonPP -.asm_f66c +.not_in_battle call Play_SFX_FULL_HEAL ld hl, UnknownText_0xf739 call PrintText - jr Functionf64c + jr FinishPPRestore -.asm_f677 +.UpdateBattleMonPP ld a, [CurPartyMon] ld hl, PartyMon1Moves ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes ld de, BattleMonMoves ld b, NUM_MOVES -.asm_f688 +.loop ld a, [de] and a - jr z, .asm_f6a6 + jr z, .done cp [hl] - jr nz, .asm_f6a1 + jr nz, .next push hl push de push bc @@ -2652,20 +2649,20 @@ Functionf652: ; f652 pop de pop hl -.asm_f6a1 +.next inc hl inc de dec b - jr nz, .asm_f688 + jr nz, .loop -.asm_f6a6 +.done ret ; f6a7 -Functionf6a7: ; f6a7 +Not_PP_Up: ; f6a7 call RestorePP - jr nz, Functionf652 - jp Functionf6dd + jr nz, BattleRestorePP + jp PPRestoreItem_NoEffect ; f6af Elixer_RestorePPofAllMoves: ; f6af @@ -2681,14 +2678,14 @@ Elixer_RestorePPofAllMoves: ; f6af call GetMthMoveOfNthPartymon ld a, [hl] and a - jr z, .cant_restore_pp + jr z, .next call RestorePP - jr z, .cant_restore_pp + jr z, .next ld hl, wcfaa inc [hl] -.cant_restore_pp +.next ld hl, MenuSelection2 inc [hl] pop bc @@ -2696,12 +2693,12 @@ Elixer_RestorePPofAllMoves: ; f6af jr nz, .moveLoop ld a, [wcfaa] and a - jp nz, Functionf652 + jp nz, BattleRestorePP -Functionf6dd: ; f6dd +PPRestoreItem_NoEffect: ; f6dd call WontHaveAnyEffectMessage -Functionf6e0: ; f6e0 +PPRestoreItem_Cancel: ; f6e0 call ClearPalettes xor a ld [wd0ec], a @@ -2939,14 +2936,11 @@ Play_SFX_FULL_HEAL: ; f780 ret ; f789 -Functionf789: ; f789 +UseItemText ; f789 ld hl, UsedItemText call PrintText call Play_SFX_FULL_HEAL call WaitPressAorB_BlinkCursor - ; fallthrough -; f795 - UseDisposableItem: ; f795 ld hl, NumItems ld a, 1 @@ -2955,7 +2949,7 @@ UseDisposableItem: ; f795 ; f7a0 UseBallInTrainerBattle: ; f7a0 - call Functionedfa + call ReturnToBattle_UseBall ld de, ANIM_THROW_POKE_BALL ld a, e ld [FXAnimIDLo], a @@ -3107,7 +3101,7 @@ GotOffTheItemText: ; 0xf847 ; 0xf84c -Functionf84c: ; f84c +ApplyPPUp: ; f84c ld a, MON_MOVES call GetPartyParamLocation push hl @@ -3118,29 +3112,29 @@ Functionf84c: ; f84c add hl, bc ld de, Buffer1 ld b, 0 -.asm_f864 +.loop inc b ld a, b cp NUM_MOVES + 1 ret z ld a, [wd265] dec a - jr nz, .asm_f876 + jr nz, .use ld a, [MenuSelection2] inc a cp b - jr nz, .asm_f87d + jr nz, .skip -.asm_f876 +.use ld a, [hl] and 3 << 6 ld a, [de] ; wasted cycle call nz, ComputeMaxPP -.asm_f87d +.skip inc hl inc de - jr .asm_f864 + jr .loop ; f881 @@ -3195,7 +3189,7 @@ ComputeMaxPP: ; f881 ret ; f8b9 -Functionf8b9: ; f8b9 +RestoreAllPP: ; f8b9 ld a, MON_PP call GetPartyParamLocation push hl |