mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Merge pull request #312 from JimB16/master
Added comments and changed labels (mainly for BattleTower)
This commit is contained in:
commit
cc0d5d4c8b
@ -1,4 +1,4 @@
|
||||
Function38000: ; 38000
|
||||
AI_SwitchOrTryItem: ; 38000
|
||||
and a
|
||||
|
||||
ld a, [IsInBattle]
|
||||
@ -21,7 +21,7 @@ Function38000: ; 38000
|
||||
jr nz, DontSwitch
|
||||
|
||||
ld hl, TrainerClassAttributes + 5
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle] ; Load always the first TrainerClass for BattleTower-Trainers
|
||||
and a
|
||||
jr nz, .ok
|
||||
ld a, [TrainerClass]
|
||||
@ -73,6 +73,7 @@ SwitchOften: ; 38045
|
||||
ld a, [wc717]
|
||||
and $f
|
||||
inc a
|
||||
; In register 'a' is the number (1-6) of the Pkmn to switch to
|
||||
ld [wc718], a
|
||||
jp AI_TrySwitch
|
||||
; 38083
|
||||
@ -148,7 +149,7 @@ SwitchSometimes: ; 380c1
|
||||
; 380ff
|
||||
|
||||
|
||||
Function380ff: ; 380ff
|
||||
CheckSubstatusCantRun: ; 380ff
|
||||
ld a, [EnemySubStatus5]
|
||||
bit SUBSTATUS_CANT_RUN, a
|
||||
ret
|
||||
@ -156,7 +157,8 @@ Function380ff: ; 380ff
|
||||
|
||||
|
||||
AI_TryItem: ; 38105
|
||||
ld a, [wcfc0]
|
||||
; items are not allowed in the BattleTower
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -565,7 +567,7 @@ Function383a3: ; 383a3 (e:43a3)
|
||||
call AIUsedItemSound
|
||||
call AI_HealStatus
|
||||
ld a, FULL_HEAL
|
||||
jp Function38568
|
||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||
|
||||
Function383ae: ; 383ae (e:43ae)
|
||||
ld a, MAX_POTION
|
||||
@ -658,7 +660,7 @@ Function383f8: ; 383f8
|
||||
.asm_38436
|
||||
|
||||
Function38436: ; 38436
|
||||
call Function38571
|
||||
call PrintText_UsedItemOn
|
||||
hlcoord 2, 2
|
||||
xor a
|
||||
ld [wd10a], a
|
||||
@ -715,7 +717,7 @@ AI_Switch: ; 3846c
|
||||
call CopyBytes
|
||||
pop af
|
||||
jr c, .asm_384a3
|
||||
ld hl, UnknownText_0x384d0
|
||||
ld hl, TextJump_EnemyWithdrew
|
||||
call PrintText
|
||||
.asm_384a3
|
||||
ld a, $1
|
||||
@ -735,8 +737,8 @@ AI_Switch: ; 3846c
|
||||
ret
|
||||
; 384d0
|
||||
|
||||
UnknownText_0x384d0: ; 384d0
|
||||
text_jump UnknownText_0x1bcf9c
|
||||
TextJump_EnemyWithdrew: ; 384d0
|
||||
text_jump Text_EnemyWithdrew
|
||||
db "@"
|
||||
; 384d5
|
||||
|
||||
@ -744,7 +746,7 @@ Function384d5: ; 384d5
|
||||
call AIUsedItemSound
|
||||
call AI_HealStatus
|
||||
ld a, FULL_HEAL_RED
|
||||
jp Function38568
|
||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||
; 384e0
|
||||
|
||||
AI_HealStatus: ; 384e0
|
||||
@ -765,7 +767,7 @@ Function384f7: ; 384f7
|
||||
ld hl, EnemySubStatus4
|
||||
set SUBSTATUS_X_ACCURACY, [hl]
|
||||
ld a, X_ACCURACY
|
||||
jp Function38568
|
||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||
; 38504
|
||||
|
||||
Function38504: ; 38504
|
||||
@ -773,7 +775,7 @@ Function38504: ; 38504
|
||||
ld hl, EnemySubStatus4
|
||||
set SUBSTATUS_MIST, [hl]
|
||||
ld a, GUARD_SPEC
|
||||
jp Function38568
|
||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||
; 38511
|
||||
|
||||
Function38511: ; 38511
|
||||
@ -781,7 +783,7 @@ Function38511: ; 38511
|
||||
ld hl, EnemySubStatus4
|
||||
set SUBSTATUS_FOCUS_ENERGY, [hl]
|
||||
ld a, DIRE_HIT
|
||||
jp Function38568
|
||||
jp PrintText_UsedItemOn_AND_AIUpdateHUD
|
||||
; 3851e
|
||||
|
||||
Function3851e: ; 3851e
|
||||
@ -832,23 +834,29 @@ Function38553: ; 38553
|
||||
ld b, SP_ATTACK
|
||||
ld a, X_SPECIAL
|
||||
|
||||
|
||||
; Parameter
|
||||
; a = ITEM_CONSTANT
|
||||
; b = BATTLE_CONSTANT (ATTACK, DEFENSE, SPEED, SP_ATTACK, SP_DEFENSE, ACCURACY, EVASION)
|
||||
Function38557:
|
||||
ld [wd1f1], a
|
||||
push bc
|
||||
call Function38571
|
||||
call PrintText_UsedItemOn
|
||||
pop bc
|
||||
callba Function361ef
|
||||
jp AIUpdateHUD
|
||||
; 38568
|
||||
|
||||
|
||||
Function38568: ; 38568
|
||||
; Parameter
|
||||
; a = ITEM_CONSTANT
|
||||
PrintText_UsedItemOn_AND_AIUpdateHUD: ; 38568
|
||||
ld [wd1f1], a
|
||||
call Function38571
|
||||
call PrintText_UsedItemOn
|
||||
jp AIUpdateHUD
|
||||
; 38571
|
||||
|
||||
Function38571: ; 38571
|
||||
PrintText_UsedItemOn: ; 38571
|
||||
ld a, [wd1f1]
|
||||
ld [wd265], a
|
||||
call GetItemName
|
||||
@ -856,11 +864,11 @@ Function38571: ; 38571
|
||||
ld de, wd050
|
||||
ld bc, ITEM_NAME_LENGTH
|
||||
call CopyBytes
|
||||
ld hl, UnknownText_0x3858c
|
||||
ld hl, TextJump_EnemyUsedOn
|
||||
jp PrintText
|
||||
; 3858c
|
||||
|
||||
UnknownText_0x3858c: ; 3858c
|
||||
text_jump UnknownText_0x1bcfaf
|
||||
TextJump_EnemyUsedOn: ; 3858c
|
||||
text_jump Text_EnemyUsedOn
|
||||
db "@"
|
||||
; 38591
|
||||
|
310
battle/core.asm
310
battle/core.asm
@ -63,7 +63,7 @@ Function3c000: ; 3c000
|
||||
xor a
|
||||
ld [CurPartyMon], a
|
||||
.asm_3c06b
|
||||
call Function3d887
|
||||
call CheckIfPartyHasPkmnToBattleWith
|
||||
jr nz, .asm_3c076
|
||||
ld hl, CurPartyMon
|
||||
inc [hl]
|
||||
@ -71,7 +71,7 @@ Function3c000: ; 3c000
|
||||
|
||||
.asm_3c076
|
||||
ld a, [CurBattleMon]
|
||||
ld [wc71a], a
|
||||
ld [LastPlayerMon], a
|
||||
ld a, [CurPartyMon]
|
||||
ld [CurBattleMon], a
|
||||
inc a
|
||||
@ -89,7 +89,7 @@ Function3c000: ; 3c000
|
||||
call Function3d57a
|
||||
call Function3da0d
|
||||
call ResetPlayerStatLevels
|
||||
call Function3f26d
|
||||
call SendOutPkmnText
|
||||
call NewBattleMonStatus
|
||||
call BreakAttraction
|
||||
call Function3db5f
|
||||
@ -121,7 +121,7 @@ Function3c000: ; 3c000
|
||||
|
||||
|
||||
|
||||
Function3c0e5: ; 3c0e5
|
||||
WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
|
||||
call Function30b4
|
||||
ld a, [wd0ee]
|
||||
and $c0
|
||||
@ -129,18 +129,21 @@ Function3c0e5: ; 3c0e5
|
||||
ld [wd0ee], a
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
ld hl, BattleText_0x807bd
|
||||
ld hl, BattleText_WildFled
|
||||
jr z, .asm_3c115
|
||||
|
||||
ld a, [wd0ee]
|
||||
and $c0
|
||||
ld [wd0ee], a
|
||||
ld hl, BattleText_0x807cf
|
||||
ld hl, BattleText_EnemyFled
|
||||
call Function3d2e0
|
||||
jr nc, .asm_3c115
|
||||
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr nz, .asm_3c118
|
||||
ld hl, BattleText_0x81863
|
||||
|
||||
ld hl, BattleText_LinkErrorBattleCanceled
|
||||
|
||||
.asm_3c115
|
||||
call StdBattleTextBox
|
||||
@ -160,6 +163,7 @@ Function3c0e5: ; 3c0e5
|
||||
ret
|
||||
; 3c12f
|
||||
|
||||
|
||||
Function3c12f: ; 3c12f
|
||||
.loop
|
||||
call Function3c1bf
|
||||
@ -296,9 +300,9 @@ Function3c1d6: ; 3c1d6
|
||||
.asm_3c21e
|
||||
call Function3c8eb
|
||||
call Function3c93c
|
||||
call Function3ca8f
|
||||
call Function3cafb
|
||||
call Function3cb36
|
||||
call HanleDefrost
|
||||
call HandleSafeguard
|
||||
call HandleScreens
|
||||
call Function3de97
|
||||
call Function3dcf9
|
||||
call UpdateBattleMonInParty
|
||||
@ -446,7 +450,7 @@ Function3c300: ; 3c300
|
||||
ret
|
||||
|
||||
.asm_3c30f
|
||||
call Function3c0e5
|
||||
call WildFled_EnemyFled_LinkBattleCanceled
|
||||
scf
|
||||
ret
|
||||
; 3c314
|
||||
@ -935,11 +939,11 @@ GetMoveEffect: ; 3c5ec
|
||||
Function3c5fe: ; 3c5fe
|
||||
call Function309d
|
||||
call Function3c543
|
||||
jp c, Function3c0e5
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
call SetEnemyTurn
|
||||
ld a, $1
|
||||
ld [wc70f], a
|
||||
callab Function38000
|
||||
callab AI_SwitchOrTryItem
|
||||
jr c, .asm_3c62f
|
||||
call Function3c6de
|
||||
call Function3d2e0
|
||||
@ -980,7 +984,7 @@ Function3c664: ; 3c664
|
||||
xor a
|
||||
ld [wc70f], a
|
||||
call SetEnemyTurn
|
||||
callab Function38000
|
||||
callab AI_SwitchOrTryItem
|
||||
push af
|
||||
call Function3c6cf
|
||||
pop bc
|
||||
@ -1004,7 +1008,7 @@ Function3c664: ; 3c664
|
||||
jr c, .asm_3c6be
|
||||
call Function309d
|
||||
call Function3c543
|
||||
jp c, Function3c0e5
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
call Function3c6de
|
||||
call Function3d2e0
|
||||
ret c
|
||||
@ -1528,7 +1532,7 @@ Function3c93c: ; 3c93c
|
||||
call SwitchTurnCore
|
||||
call Function3ddc8
|
||||
call SwitchTurnCore
|
||||
ld hl, BattleText_0x80899
|
||||
ld hl, BattleText_UserRecoveredPPUsing
|
||||
jp StdBattleTextBox
|
||||
; 3ca26
|
||||
|
||||
@ -1590,7 +1594,7 @@ Function3ca26: ; 3ca26
|
||||
jp UpdateEnemyMonInParty
|
||||
; 3ca8f
|
||||
|
||||
Function3ca8f: ; 3ca8f
|
||||
HanleDefrost: ; 3ca8f
|
||||
ld a, [$ffcb]
|
||||
cp $1
|
||||
jr z, .asm_3ca9a
|
||||
@ -1648,7 +1652,7 @@ Function3ca8f: ; 3ca8f
|
||||
jp StdBattleTextBox
|
||||
; 3cafb
|
||||
|
||||
Function3cafb: ; 3cafb
|
||||
HandleSafeguard: ; 3cafb
|
||||
ld a, [$ffcb]
|
||||
cp $1
|
||||
jr z, .asm_3cb06
|
||||
@ -1682,12 +1686,11 @@ Function3cafb: ; 3cafb
|
||||
|
||||
.asm_3cb2e
|
||||
ld [hBattleTurn], a
|
||||
ld hl, BattleText_0x808d2
|
||||
ld hl, BattleText_SafeguardFaded
|
||||
jp StdBattleTextBox
|
||||
; 3cb36
|
||||
|
||||
|
||||
Function3cb36: ; 3cb36
|
||||
HandleScreens: ; 3cb36
|
||||
ld a, [$ffcb]
|
||||
cp 1
|
||||
jr z, .Both
|
||||
@ -1739,7 +1742,7 @@ FadeLightScreen: ; 3cb80
|
||||
res SCREENS_LIGHT_SCREEN, [hl]
|
||||
push hl
|
||||
push de
|
||||
ld hl, BattleText_0x808e7
|
||||
ld hl, BattleText_PkmnnLightScreenFell
|
||||
call StdBattleTextBox
|
||||
pop de
|
||||
pop hl
|
||||
@ -1850,13 +1853,13 @@ endr
|
||||
; 3cc2d
|
||||
|
||||
.WeatherMessages
|
||||
dw BattleText_0x8091f
|
||||
dw BattleText_0x80938
|
||||
dw BattleText_0x80951
|
||||
dw BattleText_RainContinuesToFall
|
||||
dw BattleText_TheSunlightIsStrong
|
||||
dw BattleText_TheSandstormRages
|
||||
.WeatherEndedMessages
|
||||
dw BattleText_0x80967
|
||||
dw BattleText_0x8097a
|
||||
dw BattleText_0x8098f
|
||||
dw BattleText_TheRainStopped
|
||||
dw BattleText_TheSunlightFaded
|
||||
dw BattleText_TheSandstormSubsided
|
||||
; 3cc39
|
||||
|
||||
Function3cc39: ; 3cc39
|
||||
@ -2143,19 +2146,19 @@ Function3cd55: ; 3cd55
|
||||
.asm_3cda4
|
||||
call Function3d227
|
||||
call Function3d2e0
|
||||
jp c, Function3c0e5
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
|
||||
ld a, $1
|
||||
ld [wd0ec], a
|
||||
call Function3cf4a
|
||||
jp z, Function3c0e5
|
||||
jp z, WildFled_EnemyFled_LinkBattleCanceled
|
||||
jr Function3cdca
|
||||
|
||||
.asm_3cdba
|
||||
ld a, $1
|
||||
ld [wd0ec], a
|
||||
call Function3cf4a
|
||||
jp z, Function3c0e5
|
||||
jp z, WildFled_EnemyFled_LinkBattleCanceled
|
||||
xor a
|
||||
ld [wd0ec], a
|
||||
ret
|
||||
@ -2356,7 +2359,7 @@ Function3cef1: ; 3cef1
|
||||
hlcoord 9, 7
|
||||
lb bc, 5, 11
|
||||
call ClearBox
|
||||
ld hl, BattleText_0x80a75
|
||||
ld hl, BattleText_PkmnFainted
|
||||
jp StdBattleTextBox
|
||||
; 3cf14
|
||||
|
||||
@ -2370,7 +2373,7 @@ Function3cf14: ; 3cf14
|
||||
hlcoord 1, 0
|
||||
lb bc, 4, 10
|
||||
call ClearBox
|
||||
ld hl, BattleText_0x809a8
|
||||
ld hl, BattleText_EnemyPkmnFainted
|
||||
jp StdBattleTextBox
|
||||
; 3cf35
|
||||
|
||||
@ -2454,16 +2457,18 @@ Function3cfa4: ; 3cfa4
|
||||
ld a, b
|
||||
call z, Function3d0ea
|
||||
callab Battle_GetTrainerName
|
||||
ld hl, BattleText_0x809da
|
||||
ld hl, BattleText_EnemyWasDefeated
|
||||
call StdBattleTextBox
|
||||
call IsMobileBattle
|
||||
jr z, .asm_3cff5
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
ret nz
|
||||
ld a, [wcfc0]
|
||||
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
jr nz, .asm_3d006
|
||||
|
||||
call Function3ebd8
|
||||
ld c, $28
|
||||
call DelayFrames
|
||||
@ -2784,14 +2789,14 @@ Function3d14e: ; 3d14e
|
||||
.asm_3d190
|
||||
call Function3d227
|
||||
call Function3d2e0
|
||||
jp c, Function3c0e5
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
ld a, c
|
||||
and a
|
||||
ret nz
|
||||
ld a, $1
|
||||
ld [wd0ec], a
|
||||
call Function3cf4a
|
||||
jp z, Function3c0e5
|
||||
jp z, WildFled_EnemyFled_LinkBattleCanceled
|
||||
jp Function3cdca
|
||||
; 3d1aa
|
||||
|
||||
@ -2840,7 +2845,7 @@ Function3d1f8: ; 3d1f8
|
||||
and a
|
||||
dec a
|
||||
ret nz
|
||||
ld hl, BattleText_0x80a83
|
||||
ld hl, BattleText_UseNextMon
|
||||
call StdBattleTextBox
|
||||
.asm_3d20a
|
||||
lb bc, 1, 7
|
||||
@ -2897,7 +2902,7 @@ Function3d227: ; 3d227
|
||||
.asm_3d26c
|
||||
call ClearSprites
|
||||
ld a, [CurBattleMon]
|
||||
ld [wc71a], a
|
||||
ld [LastPlayerMon], a
|
||||
ld a, [CurPartyMon]
|
||||
ld [CurBattleMon], a
|
||||
call Function3d581
|
||||
@ -2909,7 +2914,7 @@ Function3d227: ; 3d227
|
||||
call WriteBackup
|
||||
call ClearSGB
|
||||
call Function32f9
|
||||
call Function3f26d
|
||||
call SendOutPkmnText
|
||||
call NewBattleMonStatus
|
||||
call BreakAttraction
|
||||
call Function3db5f
|
||||
@ -2925,13 +2930,13 @@ Function3d227: ; 3d227
|
||||
|
||||
Function3d2b3: ; 3d2b3
|
||||
ld a, [CurBattleMon]
|
||||
ld [wc71a], a
|
||||
ld [LastPlayerMon], a
|
||||
ld a, [CurPartyMon]
|
||||
ld [CurBattleMon], a
|
||||
call Function3d581
|
||||
call Function3da0d
|
||||
call ResetPlayerStatLevels
|
||||
call Function3f26d
|
||||
call SendOutPkmnText
|
||||
call NewBattleMonStatus
|
||||
call BreakAttraction
|
||||
call Function3db5f
|
||||
@ -2945,10 +2950,13 @@ Function3d2b3: ; 3d2b3
|
||||
Function3d2e0: ; 3d2e0
|
||||
ld a, [InLinkBattle]
|
||||
cp $4
|
||||
jr nz, .asm_3d2ef
|
||||
jr nz, .asm_3d2ef ; It's not a mobile battle
|
||||
|
||||
ld a, [wcd2b]
|
||||
and a
|
||||
jr z, .asm_3d2ef
|
||||
|
||||
; We have a mobile battle and something else happened
|
||||
scf
|
||||
ret
|
||||
|
||||
@ -3000,7 +3008,7 @@ PickPartyMonInBattle: ; 3d33c
|
||||
call Function3d313
|
||||
call Function3d329
|
||||
ret c
|
||||
call Function3d887
|
||||
call CheckIfPartyHasPkmnToBattleWith
|
||||
jr z, .loop
|
||||
xor a
|
||||
ret
|
||||
@ -3067,7 +3075,7 @@ LostBattle: ; 3d38e
|
||||
ld a, 1
|
||||
ld [BattleEnded], a
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
jr nz, .asm_3d3bd
|
||||
|
||||
@ -3280,7 +3288,7 @@ Function3d4c3: ; 3d4c3
|
||||
call Function3d7a0
|
||||
call NewEnemyMonStatus
|
||||
call ResetEnemyStatLevels
|
||||
call Function3d7c7
|
||||
call Function_SetEnemyPkmnAndSendOutAnimation
|
||||
call BreakAttraction
|
||||
call Function3d57a
|
||||
ret
|
||||
@ -3299,8 +3307,8 @@ Function3d4e1: ; 3d4e1
|
||||
call Function3d74b
|
||||
push af
|
||||
call Function3d7a0
|
||||
call Function3d7b8
|
||||
call Function3d7c7
|
||||
call Function_BattleTextEnemySentOut
|
||||
call Function_SetEnemyPkmnAndSendOutAnimation
|
||||
pop af
|
||||
ret c
|
||||
xor a
|
||||
@ -3323,8 +3331,8 @@ Function3d517: ; 3d517
|
||||
ld a, 1
|
||||
ld [wEnemyIsSwitching], a
|
||||
call Function3d7a0
|
||||
call Function3d7b8
|
||||
jp Function3d7c7
|
||||
call Function_BattleTextEnemySentOut
|
||||
jp Function_SetEnemyPkmnAndSendOutAnimation
|
||||
; 3d533
|
||||
|
||||
Function3d533: ; 3d533
|
||||
@ -3648,7 +3656,7 @@ Function3d74b: ; 3d74b
|
||||
ld a, [CurPartyMon]
|
||||
push af
|
||||
callab Battle_GetTrainerName
|
||||
ld hl, BattleText_0x80aca
|
||||
ld hl, BattleText_EnemyIsAboutToUseWillPlayerChangePkmn
|
||||
call StdBattleTextBox
|
||||
lb bc, 1, 7
|
||||
call PlaceYesNoBox
|
||||
@ -3659,7 +3667,7 @@ Function3d74b: ; 3d74b
|
||||
call PickSwitchMonInBattle
|
||||
jr c, .asm_3d791
|
||||
ld a, [CurBattleMon]
|
||||
ld [wc71a], a
|
||||
ld [LastPlayerMon], a
|
||||
ld a, [CurPartyMon]
|
||||
ld [CurBattleMon], a
|
||||
call ClearPalettes
|
||||
@ -3697,14 +3705,14 @@ Function3d7a0: ; 3d7a0
|
||||
jp Function3ee27
|
||||
; 3d7b8
|
||||
|
||||
Function3d7b8: ; 3d7b8
|
||||
Function_BattleTextEnemySentOut: ; 3d7b8
|
||||
callab Battle_GetTrainerName
|
||||
ld hl, BattleText_0x80af8
|
||||
ld hl, BattleText_EnemySentOut
|
||||
call StdBattleTextBox
|
||||
jp WaitBGMap
|
||||
; 3d7c7
|
||||
|
||||
Function3d7c7: ; 3d7c7
|
||||
Function_SetEnemyPkmnAndSendOutAnimation: ; 3d7c7
|
||||
ld a, [TempEnemyMonSpecies]
|
||||
ld [CurPartySpecies], a
|
||||
ld [CurSpecies], a
|
||||
@ -3806,13 +3814,14 @@ Function3d873: ; 3d873
|
||||
; 3d887
|
||||
|
||||
|
||||
Function3d887: ; 3d887
|
||||
CheckIfPartyHasPkmnToBattleWith: ; 3d887
|
||||
ld a, [CurPartyMon]
|
||||
ld hl, PartyMon1HP
|
||||
call GetPartyLocation
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
ret nz
|
||||
|
||||
ld a, [wd264]
|
||||
and a
|
||||
jr nz, .asm_3d8b1
|
||||
@ -3823,9 +3832,10 @@ Function3d887: ; 3d887
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp EGG
|
||||
ld hl, BattleText_0x80b26
|
||||
ld hl, BattleText_AnEGGCantBattle
|
||||
jr z, .asm_3d8ae
|
||||
ld hl, BattleText_0x80b0b
|
||||
|
||||
ld hl, BattleText_TheresNoWillToBattle
|
||||
|
||||
.asm_3d8ae
|
||||
call StdBattleTextBox
|
||||
@ -3890,29 +3900,30 @@ Function3d8b3: ; 3d8b3
|
||||
inc a
|
||||
ld [wd267], a
|
||||
ld a, [hli]
|
||||
ld [$ffb5], a
|
||||
ld [hStringCmpString2 + 0], a
|
||||
ld a, [hl]
|
||||
ld [$ffb6], a
|
||||
ld [hStringCmpString2 + 1], a
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [$ffb1], a
|
||||
ld [hStringCmpString1 + 0], a
|
||||
ld a, [de]
|
||||
ld [$ffb2], a
|
||||
ld [hStringCmpString1 + 1], a
|
||||
call Function30b4
|
||||
ld de, $ffb5
|
||||
ld hl, $ffb1
|
||||
ld de, hStringCmpString2
|
||||
ld hl, hStringCmpString1
|
||||
ld c, $2
|
||||
call StringCmp
|
||||
jr nc, .asm_3d9a2
|
||||
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld a, $20
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, [$ffb5]
|
||||
ld [hProduct], a
|
||||
ld a, [$ffb6]
|
||||
ld [hMultiplicand], a
|
||||
ld a, [hProduct + 2]
|
||||
ld [hDividend + 0], a
|
||||
ld a, [hProduct + 3]
|
||||
ld [hDividend + 1], a
|
||||
ld a, [$ffb1]
|
||||
ld b, a
|
||||
ld a, [$ffb2]
|
||||
@ -3922,10 +3933,10 @@ Function3d8b3: ; 3d8b3
|
||||
rr a
|
||||
and a
|
||||
jr z, .asm_3d9a2
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld b, $2
|
||||
call Divide
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
and a
|
||||
jr nz, .asm_3d9a2
|
||||
ld a, [wd267]
|
||||
@ -3934,7 +3945,7 @@ Function3d8b3: ; 3d8b3
|
||||
dec c
|
||||
jr z, .asm_3d97a
|
||||
ld b, $1e
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
add b
|
||||
ld [$ffb6], a
|
||||
jr c, .asm_3d9a2
|
||||
@ -3948,15 +3959,15 @@ Function3d8b3: ; 3d8b3
|
||||
jr nc, .asm_3d9a2
|
||||
ld a, $1
|
||||
ld [wd0ec], a
|
||||
ld hl, BattleText_0x80b3b
|
||||
ld hl, BattleText_CantEscape2
|
||||
jr .asm_3d995
|
||||
|
||||
.asm_3d98d
|
||||
ld hl, BattleText_0x80ba0
|
||||
ld hl, BattleText_CantEscape
|
||||
jr .asm_3d995
|
||||
|
||||
.asm_3d992
|
||||
ld hl, BattleText_0x80b49
|
||||
ld hl, BattleText_TheresNoEscapeFromTrainerBattle
|
||||
|
||||
.asm_3d995
|
||||
call StdBattleTextBox
|
||||
@ -4001,7 +4012,7 @@ Function3d8b3: ; 3d8b3
|
||||
call WaitPlaySFX
|
||||
pop de
|
||||
call WaitSFX
|
||||
ld hl, BattleText_0x80b77
|
||||
ld hl, BattleText_GotAwaySafely
|
||||
call StdBattleTextBox
|
||||
call WaitSFX
|
||||
call Function309d
|
||||
@ -4013,7 +4024,7 @@ Function3d8b3: ; 3d8b3
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr nz, .asm_3da05
|
||||
ld hl, BattleText_0x81863
|
||||
ld hl, BattleText_LinkErrorBattleCanceled
|
||||
call StdBattleTextBox
|
||||
|
||||
.asm_3da05
|
||||
@ -4172,7 +4183,7 @@ endr
|
||||
Function3db32: ; 3db32
|
||||
call ClearSprites
|
||||
ld a, [CurBattleMon]
|
||||
ld [wc71a], a
|
||||
ld [LastPlayerMon], a
|
||||
ld a, [CurPartyMon]
|
||||
ld [CurBattleMon], a
|
||||
call Function3d581
|
||||
@ -4341,7 +4352,7 @@ Function3dc5b: ; 3dc5b
|
||||
and a
|
||||
jr z, .asm_3dc7e
|
||||
ld hl, DoEnemyTurn
|
||||
ld a, [wc71a]
|
||||
ld a, [LastPlayerMon]
|
||||
ld [CurBattleMon], a
|
||||
.asm_3dc7e
|
||||
ld a, BANK(DoPlayerTurn)
|
||||
@ -4359,7 +4370,7 @@ Function3dc5b: ; 3dc5b
|
||||
and a
|
||||
jr z, .asm_3dcc0
|
||||
|
||||
ld a, [wc71a]
|
||||
ld a, [LastPlayerMon]
|
||||
call UpdateBattleMon
|
||||
ld hl, BattleMonHP
|
||||
ld a, [hli]
|
||||
@ -4376,7 +4387,7 @@ Function3dc5b: ; 3dc5b
|
||||
ld b, $0
|
||||
predef FlagPredef
|
||||
call Function3d43b
|
||||
ld hl, BattleText_0x80a75
|
||||
ld hl, BattleText_PkmnFainted
|
||||
jr .asm_3dcdf
|
||||
|
||||
.asm_3dcc0
|
||||
@ -4392,7 +4403,7 @@ Function3dc5b: ; 3dc5b
|
||||
call PlaySFX
|
||||
call WaitSFX
|
||||
call Function3d432
|
||||
ld hl, BattleText_0x809a8
|
||||
ld hl, BattleText_EnemyPkmnFainted
|
||||
|
||||
.asm_3dcdf
|
||||
call StdBattleTextBox
|
||||
@ -5003,17 +5014,18 @@ DrawEnemyHUD: ; 3e043
|
||||
|
||||
ld hl, EnemyMonHP
|
||||
ld a, [hli]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hld]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
or [hl]
|
||||
jr nz, .asm_3e0d1
|
||||
|
||||
ld c, a
|
||||
ld e, a
|
||||
ld d, HP_BAR_LENGTH
|
||||
jp .asm_3e11a
|
||||
.asm_3e0d1
|
||||
|
||||
.asm_3e0d1
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld a, HP_BAR_LENGTH_PX
|
||||
@ -5032,11 +5044,11 @@ DrawEnemyHUD: ; 3e043
|
||||
rr a
|
||||
srl b
|
||||
rr a
|
||||
ld [hMultiplier], a
|
||||
ld a, [$ffb5]
|
||||
ld [hDivisor], a
|
||||
ld a, [hProduct + 2]
|
||||
ld b, a
|
||||
srl b
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
rr a
|
||||
srl b
|
||||
rr a
|
||||
@ -5046,13 +5058,13 @@ DrawEnemyHUD: ; 3e043
|
||||
|
||||
.asm_3e105
|
||||
ld a, [$ffb5]
|
||||
ld [hProduct], a
|
||||
ld [hDividend + 0], a
|
||||
ld a, [$ffb6]
|
||||
ld [hMultiplicand], a
|
||||
ld [hDividend + 1], a
|
||||
ld a, $2
|
||||
ld b, a
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld e, a
|
||||
ld a, HP_BAR_LENGTH
|
||||
ld d, a
|
||||
@ -5160,7 +5172,7 @@ LoadBattleMenu2: ; 3e19b
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr nz, .error
|
||||
ld hl, BattleText_0x81863
|
||||
ld hl, BattleText_LinkErrorBattleCanceled
|
||||
call StdBattleTextBox
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
@ -5174,7 +5186,7 @@ BattleMenu_Pack: ; 3e1c7
|
||||
and a
|
||||
jp nz, ItemsCantBeUsed
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jp nz, ItemsCantBeUsed
|
||||
|
||||
@ -5388,10 +5400,10 @@ Function3e358: ; 3e358
|
||||
jp Function3e299
|
||||
|
||||
.asm_3e381
|
||||
call Function3d887
|
||||
call CheckIfPartyHasPkmnToBattleWith
|
||||
jp z, Function3e299
|
||||
ld a, [CurBattleMon]
|
||||
ld [wc71a], a
|
||||
ld [LastPlayerMon], a
|
||||
ld a, $2
|
||||
ld [wd0ec], a
|
||||
call ClearPalettes
|
||||
@ -5437,7 +5449,7 @@ Function3e3ad: ; 3e3ad
|
||||
jp c, .asm_3e3ca
|
||||
cp $f
|
||||
jr nz, .asm_3e3e9
|
||||
call Function3c0e5
|
||||
call WildFled_EnemyFled_LinkBattleCanceled
|
||||
ret
|
||||
|
||||
.asm_3e3e9
|
||||
@ -5486,7 +5498,7 @@ BattleMonEntrance: ; 3e40b
|
||||
call Function3d581
|
||||
call Function3da0d
|
||||
call ResetPlayerStatLevels
|
||||
call Function3f26d
|
||||
call SendOutPkmnText
|
||||
call NewBattleMonStatus
|
||||
call BreakAttraction
|
||||
call Function3db5f
|
||||
@ -6213,7 +6225,8 @@ LoadEnemyMon: ; 3e8eb
|
||||
and a
|
||||
jp nz, Function3dabd
|
||||
|
||||
ld a, [wcfc0] ; ????
|
||||
; and also not in a BattleTower-Battle
|
||||
ld a, [InBattleTowerBattle] ; ????
|
||||
bit 0, a
|
||||
jp nz, Function3dabd
|
||||
|
||||
@ -7027,25 +7040,25 @@ Function3ecb7: ; 3ecb7
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, [de]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, [hli]
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, [hl]
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
pop hl
|
||||
|
||||
; Cap at 999.
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
sub 999 % $100
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
sbc 999 / $100
|
||||
jp c, .asm_3ed1e
|
||||
|
||||
@ -7106,7 +7119,7 @@ BadgeStatBoosts: ; 3ed45
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -7327,9 +7340,11 @@ Function3ee3b: ; 3ee3b
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
ret nz
|
||||
ld a, [wcfc0]
|
||||
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
ret nz
|
||||
|
||||
call Function3f0d4
|
||||
xor a
|
||||
ld [CurPartyMon], a
|
||||
@ -7407,15 +7422,15 @@ endr
|
||||
dec c
|
||||
jr nz, .asm_3ee7c
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [EnemyMonBaseExp]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, [EnemyMonLevel]
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, $7
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
pop bc
|
||||
@ -7957,36 +7972,37 @@ Function3f22c: ; 3f22c
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
; 3f26d
|
||||
|
||||
|
||||
|
||||
Function3f26d: ; 3f26d
|
||||
; SendOutMonText?
|
||||
|
||||
SendOutPkmnText: ; 3f26d
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
jr z, .asm_3f27c
|
||||
ld hl, UnknownText_0x3f2d1
|
||||
ld a, [wd264]
|
||||
|
||||
ld hl, JumpText_GoPkmn ; If we're in a LinkBattle print just "Go <PlayerMon>"
|
||||
|
||||
ld a, [wd264] ; besides this variable is set. which stands for ???
|
||||
and a
|
||||
jr nz, .asm_3f2ce
|
||||
|
||||
.asm_3f27c
|
||||
; Depending on the HP of the enemy Pkmn, the game prints a different text
|
||||
ld hl, EnemyMonHP
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
ld hl, UnknownText_0x3f2d1
|
||||
ld hl, JumpText_GoPkmn
|
||||
jr z, .asm_3f2ce
|
||||
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld hl, EnemyMonHP
|
||||
ld a, [hli]
|
||||
ld [wc6ea], a
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hl]
|
||||
ld [wc6eb], a
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, $19
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
@ -7999,55 +8015,55 @@ Function3f26d: ; 3f26d
|
||||
rr b
|
||||
ld a, b
|
||||
ld b, $4
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld hl, UnknownText_0x3f2d1
|
||||
ld a, [hQuotient + 2]
|
||||
ld hl, JumpText_GoPkmn
|
||||
cp $46
|
||||
jr nc, .asm_3f2ce
|
||||
ld hl, UnknownText_0x3f2d8
|
||||
ld hl, JumpText_DoItPkmn
|
||||
cp $28
|
||||
jr nc, .asm_3f2ce
|
||||
ld hl, UnknownText_0x3f2df
|
||||
ld hl, JumpText_GoForItPkmn
|
||||
cp $a
|
||||
jr nc, .asm_3f2ce
|
||||
ld hl, UnknownText_0x3f2e6
|
||||
ld hl, JumpText_YourFoesWeakGetmPkmn
|
||||
|
||||
.asm_3f2ce
|
||||
jp BattleTextBox
|
||||
; 3f2d1
|
||||
|
||||
|
||||
UnknownText_0x3f2d1: ; 3f2d1
|
||||
text_jump UnknownText_0x1c02df
|
||||
JumpText_GoPkmn: ; 3f2d1
|
||||
text_jump Text_GoPkmn
|
||||
start_asm
|
||||
jr Function3f2eb
|
||||
jr Function_TextJump_BattleMonNick01
|
||||
; 3f2d6
|
||||
|
||||
UnknownText_0x3f2d8: ; 3f2d8
|
||||
text_jump UnknownText_0x1c02e6
|
||||
JumpText_DoItPkmn: ; 3f2d8
|
||||
text_jump Text_DoItPkmn
|
||||
start_asm
|
||||
jr Function3f2eb
|
||||
jr Function_TextJump_BattleMonNick01
|
||||
; 3f2dd
|
||||
|
||||
UnknownText_0x3f2df: ; 3f2df
|
||||
text_jump UnknownText_0x1c02f0
|
||||
JumpText_GoForItPkmn: ; 3f2df
|
||||
text_jump Text_GoForItPkmn
|
||||
start_asm
|
||||
jr Function3f2eb
|
||||
jr Function_TextJump_BattleMonNick01
|
||||
; 3f2e4
|
||||
|
||||
UnknownText_0x3f2e6: ; 3f2e6
|
||||
text_jump UnknownText_0x1c02fe
|
||||
JumpText_YourFoesWeakGetmPkmn: ; 3f2e6
|
||||
text_jump Text_YourFoesWeakGetmPkmn
|
||||
start_asm
|
||||
; 3f2eb
|
||||
|
||||
Function3f2eb: ; 3f2eb
|
||||
ld hl, UnknownText_0x3f2ef
|
||||
Function_TextJump_BattleMonNick01: ; 3f2eb
|
||||
ld hl, TextJump_BattleMonNick01
|
||||
ret
|
||||
; 3f2ef
|
||||
|
||||
UnknownText_0x3f2ef: ; 3f2ef
|
||||
text_jump UnknownText_0x1c0317
|
||||
TextJump_BattleMonNick01: ; 3f2ef
|
||||
text_jump Text_BattleMonNick01
|
||||
db "@"
|
||||
; 3f2f4
|
||||
|
||||
@ -8071,12 +8087,12 @@ Function3f2ff: ; 3f2ff
|
||||
dec hl
|
||||
ld a, [de]
|
||||
sub b
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
dec de
|
||||
ld b, [hl]
|
||||
ld a, [de]
|
||||
sbc b
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, $19
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
@ -8089,11 +8105,11 @@ Function3f2ff: ; 3f2ff
|
||||
rr b
|
||||
ld a, b
|
||||
ld b, $4
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
call Divide
|
||||
pop bc
|
||||
pop de
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld hl, UnknownText_0x3f348
|
||||
and a
|
||||
ret z
|
||||
@ -8256,10 +8272,10 @@ Function3f39c: ; 3f39c
|
||||
|
||||
.asm_3f40c
|
||||
ld a, c
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld b, a
|
||||
ld a, $40
|
||||
sub b
|
||||
@ -8713,7 +8729,7 @@ endr
|
||||
call Function3d0be
|
||||
ld hl, BattleText_0x80730
|
||||
call StdBattleTextBox
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
ret z
|
||||
call ClearTileMap
|
||||
|
@ -700,7 +700,7 @@ BattleCommand02: ; 343db
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -1458,37 +1458,37 @@ BattleCommand07: ; 346d2
|
||||
ld [AttackMissed], a
|
||||
xor a
|
||||
.asm_34775
|
||||
ld [$ffb7], a
|
||||
ld [hMultiplier], a
|
||||
add b
|
||||
ld [TypeModifier], a
|
||||
|
||||
xor a
|
||||
ld [$ffb4], a
|
||||
ld [hMultiplicand + 0], a
|
||||
|
||||
ld hl, CurDamage
|
||||
ld a, [hli]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hld]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
|
||||
call Multiply
|
||||
|
||||
ld a, [$ffb4]
|
||||
ld a, [hProduct + 1]
|
||||
ld b, a
|
||||
ld a, [$ffb5]
|
||||
ld a, [hProduct + 2]
|
||||
or b
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
or b
|
||||
jr z, .asm_347ab
|
||||
|
||||
ld a, $a
|
||||
ld [$ffb7], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
or b
|
||||
jr nz, .asm_347ab
|
||||
|
||||
@ -1572,11 +1572,11 @@ Function347d3: ; 347d3
|
||||
jr .asm_347e7
|
||||
.asm_3480b
|
||||
xor a
|
||||
ld [$ffb3], a
|
||||
ld [$ffb4], a
|
||||
ld [$ffb5], a
|
||||
ld [hDividend + 0], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hli]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, [wd265]
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
@ -1586,7 +1586,7 @@ Function347d3: ; 347d3
|
||||
ld b, 4
|
||||
call Divide
|
||||
pop bc
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld [wd265], a
|
||||
jr .asm_347e7
|
||||
|
||||
@ -2305,12 +2305,12 @@ BattleCommand08: ; 34cfd
|
||||
.go
|
||||
; Start with the maximum damage.
|
||||
xor a
|
||||
ld [$ffb4], a
|
||||
ld [hMultiplicand + 0], a
|
||||
dec hl
|
||||
ld a, [hli]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hl]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
|
||||
; Multiply by 85-100%...
|
||||
.loop
|
||||
@ -2319,20 +2319,20 @@ BattleCommand08: ; 34cfd
|
||||
cp $d9 ; 85%
|
||||
jr c, .loop
|
||||
|
||||
ld [$ffb7], a
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
|
||||
; ...divide by 100%...
|
||||
ld a, $ff ; 100%
|
||||
ld [$ffb7], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
|
||||
; ...to get .85-1.00x damage.
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
ld hl, CurDamage
|
||||
ld [hli], a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld [hl], a
|
||||
ret
|
||||
; 34d32
|
||||
@ -2594,10 +2594,10 @@ BattleCommand09: ; 34d32
|
||||
sub c
|
||||
ld c, a
|
||||
xor a
|
||||
ld [$ffb4], a
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hl]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
push hl
|
||||
ld d, $2
|
||||
|
||||
@ -2611,15 +2611,15 @@ BattleCommand09: ; 34d32
|
||||
add hl, bc
|
||||
pop bc
|
||||
ld a, [hli]
|
||||
ld [$ffb7], a
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, [hl]
|
||||
ld [$ffb7], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld b, a
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
or b
|
||||
jr nz, .asm_34ea2
|
||||
ld [$ffb5], a
|
||||
@ -3841,7 +3841,7 @@ BattleCommanda1: ; 35461
|
||||
and a
|
||||
jr nz, .asm_35532
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jr nz, .asm_35532
|
||||
|
||||
@ -4344,18 +4344,18 @@ BattleCommand3f: ; 35726
|
||||
.asm_3579d
|
||||
xor a
|
||||
ld [$ffb3], a
|
||||
ld [$ffb4], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, [hli]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hli]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, $30
|
||||
ld [$ffb7], a
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
ld [$ffb7], a
|
||||
ld [hDivisor], a
|
||||
ld a, b
|
||||
and a
|
||||
jr z, .asm_357d6
|
||||
@ -4365,22 +4365,22 @@ BattleCommand3f: ; 35726
|
||||
rr a
|
||||
srl b
|
||||
rr a
|
||||
ld [$ffb7], a
|
||||
ld a, [$ffb5]
|
||||
ld [hDivisor], a
|
||||
ld a, [hProduct + 2]
|
||||
ld b, a
|
||||
srl b
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
rr a
|
||||
srl b
|
||||
rr a
|
||||
ld [$ffb6], a
|
||||
ld [hDividend + 3], a
|
||||
ld a, b
|
||||
ld [$ffb5], a
|
||||
ld [hDividend + 2], a
|
||||
|
||||
.asm_357d6
|
||||
ld b, $4
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld b, a
|
||||
ld hl, .FlailPower
|
||||
|
||||
@ -5544,7 +5544,7 @@ BattleCommand14: ; 35e5c
|
||||
|
||||
call AnimateCurrentMove
|
||||
ld b, $7
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jr z, .asm_35ea4
|
||||
ld b, $3
|
||||
@ -5587,7 +5587,7 @@ Function35ece: ; 35ece
|
||||
and a
|
||||
jr nz, .asm_35eec
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jr nz, .asm_35eec
|
||||
|
||||
@ -5676,18 +5676,23 @@ BattleCommand2f: ; 35f2c
|
||||
call GetBattleVar
|
||||
and a
|
||||
jr nz, .asm_35fb8
|
||||
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .asm_35f89
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
jr nz, .asm_35f89
|
||||
ld a, [wcfc0]
|
||||
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jr nz, .asm_35f89
|
||||
|
||||
ld a, [PlayerSubStatus5]
|
||||
bit SUBSTATUS_LOCK_ON, a
|
||||
jr nz, .asm_35f89
|
||||
|
||||
call BattleRandom
|
||||
cp $40
|
||||
jr c, .asm_35fb8
|
||||
@ -6323,11 +6328,12 @@ BattleCommand1d: ; 362e3
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .DidntMiss
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
jr nz, .DidntMiss
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jr nz, .DidntMiss
|
||||
|
||||
@ -6868,7 +6874,7 @@ rept 2
|
||||
endr
|
||||
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, [de]
|
||||
ld [hMultiplicand + 1], a
|
||||
inc de
|
||||
@ -8168,18 +8174,23 @@ BattleCommand30: ; 36dc7
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .asm_36e0e
|
||||
|
||||
ld a, [InLinkBattle]
|
||||
and a
|
||||
jr nz, .asm_36e0e
|
||||
ld a, [wcfc0]
|
||||
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
jr nz, .asm_36e0e
|
||||
|
||||
ld a, [PlayerSubStatus5]
|
||||
bit SUBSTATUS_LOCK_ON, a
|
||||
jr nz, .asm_36e0e
|
||||
|
||||
call BattleRandom
|
||||
cp $40
|
||||
jr c, .asm_36e52
|
||||
|
||||
.asm_36e0e
|
||||
ld a, BATTLE_VARS_STATUS_OPP
|
||||
call GetBattleVarAddr
|
||||
@ -9459,7 +9470,7 @@ BattleCommand60: ; 3784b
|
||||
ld hl, EnemyMonHappiness
|
||||
.ok
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hl]
|
||||
ld [hMultiplicand + 2], a
|
||||
@ -9584,18 +9595,18 @@ BattleCommand63: ; 3790e
|
||||
.asm_3791a
|
||||
ld a, $ff
|
||||
sub [hl]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
xor a
|
||||
ld [$ffb4], a
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, 10
|
||||
ld [$ffb7], a
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, 25
|
||||
ld [$ffb7], a
|
||||
ld [hDivisor], a
|
||||
ld b, 4
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld d, a
|
||||
pop bc
|
||||
ret
|
||||
|
@ -108,3 +108,8 @@ const_value = 1
|
||||
const MOM_ITEM
|
||||
const MOM_DOLL
|
||||
|
||||
BATTLETOWER_PKMNSTRUCTLENGTH EQU $30
|
||||
BATTLETOWER_NROFPKMNS EQU 3
|
||||
BATTLETOWER_TRAINERDATALENGTH EQU $24
|
||||
BATTLETOWER_NROFTRAINERS EQU 7
|
||||
|
||||
|
@ -1,24 +1,31 @@
|
||||
Function1f8000: ; 1f8000
|
||||
Function_LoadOpponentTrainerAndPokemons: ; 1f8000
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $3
|
||||
ld [rSVBK], a
|
||||
|
||||
; Fill BT_OTrainer with zeros
|
||||
xor a
|
||||
ld hl, w3_d100
|
||||
ld bc, $00e0
|
||||
ld hl, BT_OTrainer
|
||||
ld bc, BT_OTrainerEnd - BT_OTrainer
|
||||
call ByteFill
|
||||
|
||||
; Write $ff into the Item-Slots
|
||||
ld a, $ff
|
||||
ld [w3_d100 + $0c], a
|
||||
ld [w3_d100 + $47], a
|
||||
ld [w3_d100 + $82], a
|
||||
ld de, w3_d100
|
||||
ld [BT_OTPkmn1Item], a
|
||||
ld [BT_OTPkmn2Item], a
|
||||
ld [BT_OTPkmn3Item], a
|
||||
|
||||
; Set BT_OTTrainer as start address to write the following data to
|
||||
ld de, BT_OTrainer
|
||||
|
||||
ld a, [hRandomAdd]
|
||||
ld b, a
|
||||
.asm_1f8022
|
||||
.asm_1f8022 ; loop to find a random trainer
|
||||
call Random
|
||||
ld a, [hRandomAdd]
|
||||
add b
|
||||
ld b, a
|
||||
ld b, a ; b contains the nr of the trainer
|
||||
IF DEF(CRYSTAL11)
|
||||
and $7f
|
||||
cp $46
|
||||
@ -28,38 +35,46 @@ ELSE
|
||||
ENDC
|
||||
jr nc, .asm_1f8022
|
||||
ld b, a
|
||||
ld a, BANK(sbe46)
|
||||
|
||||
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
|
||||
call GetSRAMBank
|
||||
ld c, $7
|
||||
ld hl, sbe48
|
||||
|
||||
ld c, BATTLETOWER_NROFTRAINERS
|
||||
ld hl, sBTTrainers
|
||||
.asm_1f803a
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr z, .asm_1f8022
|
||||
dec c
|
||||
jr nz, .asm_1f803a
|
||||
ld hl, sbe48
|
||||
ld a, [sbe46]
|
||||
jr nz, .asm_1f803a ; c <= 7 initialise all 7 trainers?
|
||||
|
||||
ld hl, sBTTrainers
|
||||
ld a, [sNrOfBeatenBattleTowerTrainers]
|
||||
ld c, a
|
||||
ld a, b
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
|
||||
call CloseSRAM
|
||||
|
||||
push af
|
||||
; Copy name (10 bytes) and class (1 byte) of trainer
|
||||
ld hl, BattleTowerTrainers
|
||||
ld bc, 11
|
||||
call AddNTimes
|
||||
ld bc, 11
|
||||
call CopyBytes
|
||||
call Function1f8081
|
||||
|
||||
call Function_LoadRandomBattleTowerPkmn
|
||||
pop af
|
||||
ld hl, Unknown_1f0000
|
||||
ld bc, $0024
|
||||
|
||||
ld hl, BattleTowerTrainerData
|
||||
ld bc, BATTLETOWER_TRAINERDATALENGTH
|
||||
call AddNTimes
|
||||
ld bc, $0024
|
||||
ld bc, BATTLETOWER_TRAINERDATALENGTH
|
||||
.asm_1f8070
|
||||
ld a, BANK(Unknown_1f0000)
|
||||
ld a, BANK(BattleTowerTrainerData)
|
||||
call GetFarByte
|
||||
ld [de], a
|
||||
inc hl
|
||||
@ -68,20 +83,24 @@ ENDC
|
||||
ld a, b
|
||||
or c
|
||||
jr nz, .asm_1f8070
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
; 1f8081
|
||||
|
||||
Function1f8081: ; 1f8081
|
||||
ld c, $3
|
||||
ret
|
||||
|
||||
|
||||
Function_LoadRandomBattleTowerPkmn: ; 1f8081
|
||||
ld c, BATTLETOWER_NROFPKMNS
|
||||
.loop
|
||||
push bc
|
||||
ld a, BANK(sbe51)
|
||||
ld a, BANK(sBTPkmnPrevTrainer1)
|
||||
call GetSRAMBank
|
||||
|
||||
.asm_1f8089
|
||||
ld a, [$d800]
|
||||
.FindARandomBattleTowerPkmn
|
||||
; From Which LevelGroup are the Pkmn loaded
|
||||
; a = 1..10
|
||||
ld a, [wBTChoiceOfLvlGroup] ; [$d800]
|
||||
dec a
|
||||
ld hl, BattleTowerMons
|
||||
ld bc, BattleTowerMons2 - BattleTowerMons1
|
||||
@ -97,60 +116,65 @@ Function1f8081: ; 1f8081
|
||||
and $1f
|
||||
cp (BattleTowerMons2 - BattleTowerMons1) / ($3b)
|
||||
jr nc, .asm_1f8099
|
||||
; in register 'a' is the chosen Pkmn of the LevelGroup
|
||||
|
||||
ld bc, $3b
|
||||
; Check if Pkmn was already loaded before
|
||||
; Check current and the 2 previous teams
|
||||
; includes check if item is double at the current team
|
||||
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH + $b
|
||||
call AddNTimes
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hld]
|
||||
ld c, a
|
||||
ld a, [w3_d100 + $0b]
|
||||
ld a, [BT_OTPkmn1]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [w3_d100 + $0c]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [BT_OTPkmn1Item]
|
||||
cp c
|
||||
jr z, .asm_1f8089
|
||||
ld a, [w3_d100 + $46]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [BT_OTPkmn2]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [w3_d100 + $47]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [BT_OTPkmn2Item]
|
||||
cp c
|
||||
jr z, .asm_1f8089
|
||||
ld a, [w3_d100 + $81]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [BT_OTPkmn3]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [w3_d100 + $82]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [BT_OTPkmn3Item]
|
||||
cp c
|
||||
jr z, .asm_1f8089
|
||||
ld a, [sbe51]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [sBTPkmnPrevTrainer1]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [sbe52]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [sBTPkmnPrevTrainer2]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [sbe53]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [sBTPkmnPrevTrainer3]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [sbe54]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [sBTPkmnPrevPrevTrainer1]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [sbe55]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [sBTPkmnPrevPrevTrainer2]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
ld a, [sbe56]
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
ld a, [sBTPkmnPrevPrevTrainer3]
|
||||
cp b
|
||||
jr z, .asm_1f8089
|
||||
jr z, .FindARandomBattleTowerPkmn
|
||||
|
||||
ld bc, $3b
|
||||
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH + $b
|
||||
call CopyBytes
|
||||
|
||||
ld a, [wd265]
|
||||
push af
|
||||
push de
|
||||
ld hl, -$3b
|
||||
ld hl, - (BATTLETOWER_PKMNSTRUCTLENGTH + $b)
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [wd265], a
|
||||
ld bc, $0030
|
||||
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH
|
||||
add hl, bc
|
||||
push hl
|
||||
call GetPokemonName
|
||||
@ -159,6 +183,7 @@ Function1f8081: ; 1f8081
|
||||
pop de
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
pop de
|
||||
pop af
|
||||
ld [wd265], a
|
||||
@ -166,18 +191,18 @@ Function1f8081: ; 1f8081
|
||||
dec c
|
||||
jp nz, .loop
|
||||
|
||||
ld a, [sbe51]
|
||||
ld [sbe54], a
|
||||
ld a, [sbe52]
|
||||
ld [sbe55], a
|
||||
ld a, [sbe53]
|
||||
ld [sbe56], a
|
||||
ld a, [w3_d100 + $0b]
|
||||
ld [sbe51], a
|
||||
ld a, [w3_d100 + $46]
|
||||
ld [sbe52], a
|
||||
ld a, [w3_d100 + $81]
|
||||
ld [sbe53], a
|
||||
ld a, [sBTPkmnPrevTrainer1]
|
||||
ld [sBTPkmnPrevPrevTrainer1], a
|
||||
ld a, [sBTPkmnPrevTrainer2]
|
||||
ld [sBTPkmnPrevPrevTrainer2], a
|
||||
ld a, [sBTPkmnPrevTrainer3]
|
||||
ld [sBTPkmnPrevPrevTrainer3], a
|
||||
ld a, [BT_OTPkmn1]
|
||||
ld [sBTPkmnPrevTrainer1], a
|
||||
ld a, [BT_OTPkmn2]
|
||||
ld [sBTPkmnPrevTrainer2], a
|
||||
ld a, [BT_OTPkmn3]
|
||||
ld [sBTPkmnPrevTrainer3], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
; 1f814e
|
||||
|
@ -39,7 +39,7 @@ PredefPointers:: ; 856b
|
||||
add_predef Functiond88c
|
||||
add_predef Functionda96
|
||||
add_predef Functiondb3f ; $8
|
||||
add_predef Functionde6e
|
||||
add_predef SentPkmnIntoBox
|
||||
add_predef GiveEgg
|
||||
add_predef Functionc6e0
|
||||
add_predef Functione167
|
||||
|
@ -142,9 +142,9 @@ SpecialsPointers:: ; c029
|
||||
add_special Function170215
|
||||
add_special Function1704e1
|
||||
add_special Function17021d
|
||||
add_special Function170b44
|
||||
add_special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
|
||||
add_special Function11ba38
|
||||
add_special Function170bd3
|
||||
add_special SpecialCheckForBattleTowerRules
|
||||
add_special Function117656
|
||||
add_special Reset
|
||||
add_special Function1011f1
|
||||
@ -156,7 +156,7 @@ SpecialsPointers:: ; c029
|
||||
add_special Function11c1ab
|
||||
add_special Function170687
|
||||
add_special Special_DisplayUnownWords
|
||||
add_special Function17d224
|
||||
add_special Special_Menu_ChallengeExplanationCancel
|
||||
add_special Function17d2b6
|
||||
add_special Function17d2ce
|
||||
add_special Function17f53d
|
||||
|
15
hram.asm
15
hram.asm
@ -31,13 +31,16 @@ hConnectedMapWidth EQU $ffb0
|
||||
|
||||
hPastLeadingZeroes EQU $ffb3
|
||||
|
||||
hDividend EQU $ffb3
|
||||
hDivisor EQU $ffb7
|
||||
hQuotient EQU $ffb4
|
||||
hStringCmpString1 EQU $ffb1
|
||||
hStringCmpString2 EQU $ffb5
|
||||
|
||||
hMultiplicand EQU $ffb4
|
||||
hMultiplier EQU $ffb7
|
||||
hProduct EQU $ffb3
|
||||
hDividend EQU $ffb3 ; length in b register, before 'call Divide' (max 4 bytes)
|
||||
hDivisor EQU $ffb7 ; 1 byte long
|
||||
hQuotient EQU $ffb4 ; result (3 bytes long)
|
||||
|
||||
hMultiplicand EQU $ffb4 ; 3 bytes long
|
||||
hMultiplier EQU $ffb7 ; 1 byte long
|
||||
hProduct EQU $ffb3 ; result (4 bytes long)
|
||||
|
||||
hMathBuffer EQU $ffb8
|
||||
|
||||
|
@ -273,7 +273,7 @@ endr
|
||||
jp z, .asm_e98e
|
||||
|
||||
ld a, b
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
|
||||
ld hl, EnemyMonHP
|
||||
ld b, [hl]
|
||||
@ -318,9 +318,9 @@ endr
|
||||
sub c
|
||||
ld [hMultiplier], a
|
||||
xor a
|
||||
ld [hProduct], a
|
||||
ld [hMultiplicand], a
|
||||
ld [$ffb5], a
|
||||
ld [hDividend + 0], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
call Multiply
|
||||
pop bc
|
||||
|
||||
@ -329,7 +329,7 @@ endr
|
||||
ld b, $4
|
||||
call Divide
|
||||
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
and a
|
||||
jr nz, .statuscheck
|
||||
ld a, 1
|
||||
@ -618,7 +618,7 @@ endr
|
||||
.asm_eb3c
|
||||
call ClearSprites
|
||||
|
||||
predef Functionde6e
|
||||
predef SentPkmnIntoBox
|
||||
|
||||
callba Function4db83
|
||||
|
||||
|
263
main.asm
263
main.asm
@ -2938,7 +2938,7 @@ SpecialGiveShuckle: ; 7305
|
||||
|
||||
; Caught data.
|
||||
ld b, 0
|
||||
callba Function4dba3
|
||||
callba SetPkmnCaughtData
|
||||
|
||||
; Holding a Berry.
|
||||
ld bc, PartyMon2 - PartyMon1
|
||||
@ -4464,11 +4464,11 @@ Functionc699: ; c699
|
||||
jr z, .zero
|
||||
push hl
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, b
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, c
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, $30
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
@ -4479,23 +4479,23 @@ Functionc699: ; c699
|
||||
rr e
|
||||
srl d
|
||||
rr e
|
||||
ld a, [$ffb5]
|
||||
ld a, [hProduct + 2]
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
srl b
|
||||
rr a
|
||||
srl b
|
||||
rr a
|
||||
ld [$ffb6], a
|
||||
ld [hDividend + 3], a
|
||||
ld a, b
|
||||
ld [$ffb5], a
|
||||
ld [hDividend + 2], a
|
||||
|
||||
.divide
|
||||
ld a, e
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld e, a
|
||||
pop hl
|
||||
and a
|
||||
@ -8340,7 +8340,7 @@ Functionda96: ; da96
|
||||
; db3f
|
||||
|
||||
Functiondb3f: ; db3f
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld a, [wd10b]
|
||||
and a
|
||||
@ -8799,11 +8799,12 @@ Functionde44: ; de44
|
||||
call AddNTimes
|
||||
ld bc, sBoxMon1End - sBoxMon1
|
||||
jp CopyBytes
|
||||
; de6e
|
||||
|
||||
|
||||
Functionde6e: ; de6e
|
||||
ld a, 1 ; BANK(sBoxCount)
|
||||
SentPkmnIntoBox: ; de6e
|
||||
; Sents the Pkmn into one of Bills Boxes
|
||||
; the data comes mainly from 'EnemyMon:'
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld de, sBoxCount
|
||||
ld a, [de]
|
||||
@ -8811,6 +8812,7 @@ Functionde6e: ; de6e
|
||||
jp nc, Functiondf42
|
||||
inc a
|
||||
ld [de], a
|
||||
|
||||
ld a, [CurPartySpecies]
|
||||
ld [CurSpecies], a
|
||||
ld c, a
|
||||
@ -8823,23 +8825,29 @@ Functionde6e: ; de6e
|
||||
ld [de], a
|
||||
inc a
|
||||
jr nz, .asm_de85
|
||||
|
||||
call GetBaseData
|
||||
call ShiftBoxMon
|
||||
|
||||
ld hl, PlayerName
|
||||
ld de, sBoxMonOT
|
||||
ld bc, NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
ld a, [CurPartySpecies]
|
||||
ld [wd265], a
|
||||
call GetPokemonName
|
||||
|
||||
ld de, sBoxMonNicknames
|
||||
ld hl, StringBuffer1
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
ld hl, EnemyMon
|
||||
ld de, sBoxMon1
|
||||
ld bc, 1 + 1 + NUM_MOVES ; species + item + moves
|
||||
call CopyBytes
|
||||
|
||||
ld hl, PlayerID
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
@ -8861,6 +8869,7 @@ Functionde6e: ; de6e
|
||||
ld a, [$ffb6]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
||||
xor a
|
||||
ld b, $a
|
||||
.asm_dee5
|
||||
@ -8868,6 +8877,7 @@ Functionde6e: ; de6e
|
||||
inc de
|
||||
dec b
|
||||
jr nz, .asm_dee5
|
||||
|
||||
ld hl, EnemyMonDVs
|
||||
ld b, 2 + NUM_MOVES ; DVs and PP ; EnemyMonHappiness - EnemyMonDVs
|
||||
.asm_deef
|
||||
@ -8876,6 +8886,7 @@ Functionde6e: ; de6e
|
||||
inc de
|
||||
dec b
|
||||
jr nz, .asm_deef
|
||||
|
||||
ld a, BASE_HAPPINESS
|
||||
ld [de], a
|
||||
inc de
|
||||
@ -8909,6 +8920,7 @@ Functionde6e: ; de6e
|
||||
call CopyBytes
|
||||
ld b, 0
|
||||
call Functiondcb6
|
||||
|
||||
call CloseSRAM
|
||||
scf
|
||||
ret
|
||||
@ -9067,7 +9079,7 @@ Functione039: ; e039
|
||||
and a
|
||||
jr z, .asm_e04a
|
||||
|
||||
ld a, 1 ; BANK(sBoxCount)
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxCount
|
||||
|
||||
@ -9378,22 +9390,22 @@ endr
|
||||
inc d
|
||||
|
||||
.asm_e20f
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, d
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, [CurPartyLevel]
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, [hMultiplicand]
|
||||
ld [hProduct], a
|
||||
ld a, [$ffb5]
|
||||
ld [hMultiplicand], a
|
||||
ld a, [$ffb6]
|
||||
ld [$ffb5], a
|
||||
ld a, [hProduct + 1]
|
||||
ld [hDividend + 0], a
|
||||
ld a, [hProduct + 2]
|
||||
ld [hDividend + 1], a
|
||||
ld a, [hProduct + 3]
|
||||
ld [hDividend + 2], a
|
||||
ld a, $64
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld a, $3
|
||||
ld b, a
|
||||
call Divide
|
||||
@ -9403,11 +9415,11 @@ endr
|
||||
jr nz, .asm_e24e
|
||||
ld a, [CurPartyLevel]
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
add b
|
||||
ld [$ffb6], a
|
||||
jr nc, .asm_e24c
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
inc a
|
||||
ld [$ffb5], a
|
||||
|
||||
@ -9482,7 +9494,7 @@ GivePoke:: ; e277
|
||||
ld a, [CurPartySpecies]
|
||||
ld [TempEnemyMonSpecies], a
|
||||
callab LoadEnemyMon
|
||||
call Functionde6e
|
||||
call SentPkmnIntoBox
|
||||
jp nc, Functione3d4
|
||||
ld a, $2
|
||||
ld [MonType], a
|
||||
@ -9562,11 +9574,11 @@ endr
|
||||
ld [hli], a
|
||||
ld [hl], $e9
|
||||
pop bc
|
||||
callba Function4dba3
|
||||
callba SetPkmnCaughtData
|
||||
jr .asm_e3b2
|
||||
|
||||
.asm_e35e
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMonOT)
|
||||
call GetSRAMBank
|
||||
ld de, sBoxMonOT
|
||||
.asm_e366
|
||||
@ -9604,7 +9616,7 @@ endr
|
||||
callba Function4db49
|
||||
|
||||
.asm_e3a6
|
||||
callba Function4db3b
|
||||
callba GiveANickname_YesNo
|
||||
pop de
|
||||
jr c, .asm_e3b2
|
||||
call Functione3de
|
||||
@ -9615,9 +9627,9 @@ endr
|
||||
ld a, b
|
||||
and a
|
||||
ret z
|
||||
ld hl, UnknownText_0xe3d9
|
||||
ld hl, TextJump_WasSentToBillsPC
|
||||
call PrintText
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMonNicknames)
|
||||
call GetSRAMBank
|
||||
ld hl, wd050
|
||||
ld de, sBoxMonNicknames
|
||||
@ -9635,9 +9647,9 @@ Functione3d4: ; e3d4
|
||||
ret
|
||||
; e3d9
|
||||
|
||||
UnknownText_0xe3d9: ; 0xe3d9
|
||||
TextJump_WasSentToBillsPC: ; 0xe3d9
|
||||
; was sent to BILL's PC.
|
||||
text_jump UnknownText_0x1c0feb
|
||||
text_jump Text_WasSentToBillsPC
|
||||
db "@"
|
||||
; 0xe3de
|
||||
|
||||
@ -9945,7 +9957,7 @@ Functione5bb: ; e5bb
|
||||
call AddNTimes
|
||||
ld de, TempMonSpecies
|
||||
ld bc, $0020
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMon1Species)
|
||||
call GetSRAMBank
|
||||
call CopyBytes
|
||||
call CloseSRAM
|
||||
@ -9969,7 +9981,7 @@ Functione5d9: ; e5d9
|
||||
jr .asm_e5f6
|
||||
|
||||
.asm_e5f1
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxCount)
|
||||
ld hl, sBoxCount
|
||||
|
||||
.asm_e5f6
|
||||
@ -25865,11 +25877,11 @@ Function2509f: ; 2509f
|
||||
|
||||
Function250a9: ; 250a9
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, [Buffer1]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [Buffer2]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, [wd10c]
|
||||
ld [hMultiplier], a
|
||||
push hl
|
||||
@ -35563,7 +35575,7 @@ INCLUDE "trainers/attributes.asm"
|
||||
|
||||
|
||||
ReadTrainerParty: ; 39771
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
ret nz
|
||||
|
||||
@ -35873,7 +35885,7 @@ TrainerType4: ; 3989d
|
||||
; 3991b
|
||||
|
||||
Function3991b: ; 3991b (e:591b)
|
||||
ld hl, $ffb3
|
||||
ld hl, hMultiplicand - 1
|
||||
xor a
|
||||
rept 3
|
||||
ld [hli], a
|
||||
@ -35886,15 +35898,15 @@ endr
|
||||
ld hl, wc686
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [$ffb5]
|
||||
ld a, [hProduct + 2]
|
||||
ld [hli], a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
|
||||
Battle_GetTrainerName:: ; 39939
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
ld hl, wd26b
|
||||
jp nz, CopyTrainerName
|
||||
@ -36806,7 +36818,9 @@ endr
|
||||
.ApplyLayers
|
||||
ld hl, TrainerClassAttributes + 3
|
||||
|
||||
ld a, [wcfc0]
|
||||
; If we have a battle in BattleTower just load the Attributes of the first TrainerClass (Falkner)
|
||||
; so we have always the same AI, regardless of the loaded cass of trainer
|
||||
ld a, [InBattleTowerBattle]
|
||||
bit 0, a
|
||||
jr nz, .asm_4412f
|
||||
|
||||
@ -39624,8 +39638,8 @@ Function48d4a: ; 48d4a (12:4d4a)
|
||||
add c
|
||||
ld [hld], a
|
||||
xor a
|
||||
ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hl]
|
||||
srl a
|
||||
srl a
|
||||
@ -39637,13 +39651,13 @@ Function48d4a: ; 48d4a (12:4d4a)
|
||||
ld a, [hli]
|
||||
and $f
|
||||
add b
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, 100
|
||||
ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier)
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
ld a, [$ffb5]
|
||||
ld a, [hProduct + 2]
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
ld c, a
|
||||
ld e, [hl]
|
||||
add e
|
||||
@ -39658,10 +39672,10 @@ Function48d4a: ; 48d4a (12:4d4a)
|
||||
|
||||
Function48d94: ; 48d94 (12:4d94)
|
||||
xor a
|
||||
ld [$ffb3], a
|
||||
ld [hDividend + 0], a
|
||||
ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
|
||||
ld a, [hli]
|
||||
ld [$ffb3], a
|
||||
ld [hDividend + 0], a
|
||||
ld a, [hl]
|
||||
ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand)
|
||||
ld a, 100
|
||||
@ -39677,7 +39691,7 @@ Function48d94: ; 48d94 (12:4d94)
|
||||
sla b
|
||||
or b
|
||||
ld [hld], a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld c, 10
|
||||
call SimpleDivide
|
||||
sla b
|
||||
@ -42221,7 +42235,7 @@ CheckOwnMonAnywhere: ; 0x4a721
|
||||
jr nz, .partymon
|
||||
|
||||
; Run CheckOwnMon on each Pokémon in the PC.
|
||||
ld a, 1
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld a, [sBoxCount]
|
||||
and a
|
||||
@ -42443,7 +42457,7 @@ MobileCheckOwnMonAnywhere: ; 4a843
|
||||
call Function4a91e
|
||||
dec d
|
||||
jr nz, .asm_4a851
|
||||
ld a, 1
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld a, [sBoxCount]
|
||||
and a
|
||||
@ -44546,7 +44560,7 @@ Function4d87a: ; 4d87a
|
||||
pop bc
|
||||
dec d
|
||||
jr nz, .asm_4d88d
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMon1ID)
|
||||
call GetSRAMBank
|
||||
ld a, [sBoxCount]
|
||||
and a
|
||||
@ -44804,7 +44818,7 @@ CheckPartyFullAfterContest: ; 4d9e5
|
||||
ld de, wd050
|
||||
ld bc, $000b
|
||||
call CopyBytes
|
||||
call Function4db3b
|
||||
call GiveANickname_YesNo
|
||||
jr c, .asm_4da66
|
||||
ld a, [PartyCount]
|
||||
dec a
|
||||
@ -44847,7 +44861,7 @@ CheckPartyFullAfterContest: ; 4d9e5
|
||||
; 4daa3
|
||||
|
||||
Function4daa3: ; 4daa3
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxCount
|
||||
ld a, [hl]
|
||||
@ -44868,7 +44882,7 @@ Function4daa3: ; 4daa3
|
||||
ld a, [CurPartySpecies]
|
||||
ld [wd265], a
|
||||
call GetPokemonName
|
||||
call Function4db3b
|
||||
call GiveANickname_YesNo
|
||||
ld hl, StringBuffer1
|
||||
jr c, .asm_4daf7
|
||||
ld a, BOXMON
|
||||
@ -44878,7 +44892,7 @@ Function4daa3: ; 4daa3
|
||||
ld hl, wd050
|
||||
|
||||
.asm_4daf7
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMonNicknames)
|
||||
call GetSRAMBank
|
||||
ld de, sBoxMonNicknames
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
@ -44886,13 +44900,13 @@ Function4daa3: ; 4daa3
|
||||
call CloseSRAM
|
||||
|
||||
.asm_4db08
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMon1Level)
|
||||
call GetSRAMBank
|
||||
ld a, [sBoxMon1Level]
|
||||
ld [CurPartyLevel], a
|
||||
call CloseSRAM
|
||||
call Function4db83
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMon1CaughtLocation)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxMon1CaughtLocation
|
||||
ld a, [hl]
|
||||
@ -44915,13 +44929,13 @@ Function4db35: ; 4db35
|
||||
; 4db3b
|
||||
|
||||
|
||||
Function4db3b: ; 4db3b
|
||||
ld hl, UnknownText_0x4db44
|
||||
GiveANickname_YesNo: ; 4db3b
|
||||
ld hl, TextJump_GiveANickname
|
||||
call PrintText
|
||||
jp YesNoBox
|
||||
; 4db44
|
||||
|
||||
UnknownText_0x4db44: ; 0x4db44
|
||||
TextJump_GiveANickname: ; 0x4db44
|
||||
; Give a nickname to the @ you received?
|
||||
text_jump UnknownText_0x1c12fc
|
||||
db "@"
|
||||
@ -44968,7 +44982,7 @@ Function4db53: ; 4db53
|
||||
; 4db83
|
||||
|
||||
Function4db83: ; 4db83
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMon1CaughtLevel)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxMon1CaughtLevel
|
||||
call Function4db53
|
||||
@ -44978,7 +44992,7 @@ Function4db83: ; 4db83
|
||||
|
||||
Function4db92: ; 4db92
|
||||
push bc
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMon1CaughtLevel)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxMon1CaughtLevel
|
||||
pop bc
|
||||
@ -44987,7 +45001,7 @@ Function4db92: ; 4db92
|
||||
ret
|
||||
; 4dba3
|
||||
|
||||
Function4dba3: ; 4dba3
|
||||
SetPkmnCaughtData: ; 4dba3
|
||||
ld a, [PartyCount]
|
||||
dec a
|
||||
ld hl, PartyMon1CaughtLevel
|
||||
@ -48623,7 +48637,7 @@ Function508d5: ; 508d5
|
||||
jr .done
|
||||
|
||||
.boxmon
|
||||
ld a, 1 ; BANK(sBoxSpecies)
|
||||
ld a, BANK(sBoxSpecies)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxSpecies
|
||||
call .done
|
||||
@ -49375,11 +49389,11 @@ endr
|
||||
ld b, $4
|
||||
call Divide
|
||||
|
||||
ld a, [hMultiplicand]
|
||||
ld a, [hMultiplicand + 0]
|
||||
push af
|
||||
ld a, [$ffb5]
|
||||
ld a, [hMultiplicand + 1]
|
||||
push af
|
||||
ld a, [$ffb6]
|
||||
ld a, [hMultiplicand + 2]
|
||||
push af
|
||||
|
||||
call Function50eed
|
||||
@ -49388,33 +49402,33 @@ endr
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
|
||||
ld a, [hMultiplicand]
|
||||
ld a, [hProduct + 1]
|
||||
push af
|
||||
ld a, [$ffb5]
|
||||
ld a, [hProduct + 2]
|
||||
push af
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
push af
|
||||
ld a, [hli]
|
||||
push af
|
||||
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, d
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, [hli]
|
||||
ld [hMultiplier], a
|
||||
call Multiply
|
||||
|
||||
ld b, [hl]
|
||||
ld a, [$ffb6]
|
||||
ld a, [hProduct + 3]
|
||||
sub b
|
||||
ld [$ffb6], a
|
||||
ld b, $0
|
||||
ld a, [$ffb5]
|
||||
ld a, [hProduct + 2]
|
||||
sbc b
|
||||
ld [$ffb5], a
|
||||
ld a, [hMultiplicand]
|
||||
ld a, [hProduct + 1]
|
||||
sbc b
|
||||
ld [hMultiplicand], a
|
||||
|
||||
@ -49468,10 +49482,10 @@ endr
|
||||
|
||||
Function50eed: ; 50eed
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, d
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
ld [hMultiplier], a
|
||||
jp Multiply
|
||||
; 50efa
|
||||
@ -50156,7 +50170,7 @@ Function512f2: ; 512f2
|
||||
; 51322
|
||||
|
||||
Function51322: ; 51322
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxCount
|
||||
call Function513cb
|
||||
@ -51399,7 +51413,7 @@ Function806ff: ; 806ff
|
||||
|
||||
Function80715: ; 80715
|
||||
; Remaining slots in the current box.
|
||||
ld a, 1 ; BANK(sBoxCount)
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld hl, sBoxCount
|
||||
ld a, MONS_PER_BOX
|
||||
@ -60873,12 +60887,12 @@ UnknownText_0x8b1fc: ; 0x8b1fc
|
||||
db "@"
|
||||
; 0x8b201
|
||||
|
||||
Function8b201: ; 8b201
|
||||
CheckForBattleTowerRules: ; 8b201
|
||||
ld hl, StringBuffer2
|
||||
ld [hl], "3"
|
||||
inc hl
|
||||
ld [hl], "@"
|
||||
ld de, Unknown_8b215
|
||||
ld de, CheckForBattleTowerRules_FunctionsText
|
||||
call Function8b25b
|
||||
ret z
|
||||
call Function8b231
|
||||
@ -60886,29 +60900,29 @@ Function8b201: ; 8b201
|
||||
ret
|
||||
; 8b215
|
||||
|
||||
Unknown_8b215: ; 8b215
|
||||
CheckForBattleTowerRules_FunctionsText: ; 8b215
|
||||
db 4
|
||||
dw Unknown_8b21a
|
||||
dw Unknown_8b222
|
||||
dw CheckForBattleTowerRules_Functions
|
||||
dw CheckForBattleTowerRules_Text
|
||||
|
||||
Unknown_8b21a: ; 8b21a
|
||||
dw Function8b2da
|
||||
CheckForBattleTowerRules_Functions: ; 8b21a
|
||||
dw Function_PartyCountEq3
|
||||
dw Function8b2e2
|
||||
dw Function8b32a
|
||||
dw Function8b331
|
||||
dw Function_HasPartyAnEgg
|
||||
; 8b222
|
||||
|
||||
Unknown_8b222: ; 8b222
|
||||
dw UnknownText_0x8b22c
|
||||
dw UnknownText_0x8b247
|
||||
dw UnknownText_0x8b24c
|
||||
dw UnknownText_0x8b251
|
||||
dw UnknownText_0x8b256
|
||||
CheckForBattleTowerRules_Text: ; 8b222
|
||||
dw JumpText_ExcuseMeYoureNotReady
|
||||
dw JumbText_OnlyThreePkmnMayBeEntered
|
||||
dw JumpText_ThePkmnMustAllBeDifferentKinds
|
||||
dw JumpText_ThePkmnMustNotHoldTheSameItems
|
||||
dw JumpText_YouCantTakeAnEgg
|
||||
; 8b22c
|
||||
|
||||
UnknownText_0x8b22c: ; 0x8b22c
|
||||
JumpText_ExcuseMeYoureNotReady: ; 0x8b22c
|
||||
; Excuse me. You're not ready.
|
||||
text_jump UnknownText_0x1c5944
|
||||
text_jump Text_ExcuseMeYoureNotReady
|
||||
db "@"
|
||||
; 0x8b231
|
||||
|
||||
@ -60936,27 +60950,27 @@ UnknownText_0x8b242: ; 0x8b242
|
||||
db "@"
|
||||
; 0x8b247
|
||||
|
||||
UnknownText_0x8b247: ; 0x8b247
|
||||
JumbText_OnlyThreePkmnMayBeEntered: ; 0x8b247
|
||||
; Only three #MON may be entered.
|
||||
text_jump UnknownText_0x1c59c3
|
||||
text_jump Text_OnlyThreePkmnMayBeEntered
|
||||
db "@"
|
||||
; 0x8b24c
|
||||
|
||||
UnknownText_0x8b24c: ; 0x8b24c
|
||||
JumpText_ThePkmnMustAllBeDifferentKinds: ; 0x8b24c
|
||||
; The @ #MON must all be different kinds.
|
||||
text_jump UnknownText_0x1c59e5
|
||||
text_jump Text_ThePkmnMustAllBeDifferentKinds
|
||||
db "@"
|
||||
; 0x8b251
|
||||
|
||||
UnknownText_0x8b251: ; 0x8b251
|
||||
JumpText_ThePkmnMustNotHoldTheSameItems: ; 0x8b251
|
||||
; The @ #MON must not hold the same items.
|
||||
text_jump UnknownText_0x1c5a13
|
||||
text_jump Text_ThePkmnMustNotHoldTheSameItems
|
||||
db "@"
|
||||
; 0x8b256
|
||||
|
||||
UnknownText_0x8b256: ; 0x8b256
|
||||
JumpText_YouCantTakeAnEgg: ; 0x8b256
|
||||
; You can't take an EGG!
|
||||
text_jump UnknownText_0x1c5a42
|
||||
text_jump Text_YouCantTakeAnEgg
|
||||
db "@"
|
||||
; 0x8b25b
|
||||
|
||||
@ -61085,7 +61099,7 @@ Function8b2c1: ; 8b2c1
|
||||
ret
|
||||
; 8b2da
|
||||
|
||||
Function8b2da: ; 8b2da
|
||||
Function_PartyCountEq3: ; 8b2da
|
||||
ld a, [PartyCount]
|
||||
cp 3
|
||||
ret z
|
||||
@ -61169,7 +61183,7 @@ Function8b32a: ; 8b32a
|
||||
ret
|
||||
; 8b331
|
||||
|
||||
Function8b331: ; 8b331
|
||||
Function_HasPartyAnEgg: ; 8b331
|
||||
ld hl, PartyCount
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
@ -87382,12 +87396,12 @@ endr
|
||||
|
||||
.ApplyModifier
|
||||
xor a
|
||||
ld [hMultiplicand], a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld hl, CurDamage
|
||||
ld a, [hli]
|
||||
ld [$ffb5], a
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [hl]
|
||||
ld [$ffb6], a
|
||||
ld [hMultiplicand + 2], a
|
||||
|
||||
inc de
|
||||
ld a, [de]
|
||||
@ -87396,18 +87410,18 @@ endr
|
||||
call Multiply
|
||||
|
||||
ld a, 10
|
||||
ld [hMultiplier], a
|
||||
ld [hDivisor], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
|
||||
ld a, [hMultiplicand]
|
||||
ld a, [hQuotient + 0]
|
||||
and a
|
||||
ld bc, $ffff
|
||||
jr nz, .Update
|
||||
|
||||
ld a, [$ffb5]
|
||||
ld a, [hQuotient + 1]
|
||||
ld b, a
|
||||
ld a, [$ffb6]
|
||||
ld a, [hQuotient + 2]
|
||||
ld c, a
|
||||
or b
|
||||
jr nz, .Update
|
||||
@ -87441,7 +87455,7 @@ DoBadgeTypeBoosts: ; fbe24
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
@ -87759,7 +87773,7 @@ Functionfcc63: ; fcc63
|
||||
jr c, .asm_fcd1c
|
||||
ld b, 1
|
||||
.asm_fcd1c
|
||||
callba Function4dba3
|
||||
callba SetPkmnCaughtData
|
||||
|
||||
ld e, TRADE_NICK
|
||||
call GetTradeAttribute
|
||||
@ -93532,7 +93546,8 @@ INCLUDE "text/battle_tower.asm"
|
||||
|
||||
SECTION "bank7C", ROMX, BANK[$7C]
|
||||
|
||||
Unknown_1f0000::
|
||||
BattleTowerTrainerData:: ; What exactly it is, I don't know
|
||||
; Size is 70 (Nr of Trainers in BattleTower) * 0x24 (Nr of Bytes that are copied)
|
||||
INCBIN "unknown/1f0000.bin"
|
||||
|
||||
|
||||
|
@ -41,10 +41,10 @@ UnknownScript_0x9e3d3:
|
||||
|
||||
MapBattleTower1FSignpost0Script:
|
||||
loadfont
|
||||
writetext UnknownText_0x9ed3c
|
||||
writetext Text_ReadBattleTowerRules
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e3e0
|
||||
writetext UnknownText_0x9ed72
|
||||
writetext Text_BattleTowerRules
|
||||
closetext
|
||||
UnknownScript_0x9e3e0:
|
||||
loadmovesprites
|
||||
@ -55,41 +55,41 @@ ReceptionistScript_0x9e3e2:
|
||||
special Function170687
|
||||
if_equal $3, BattleTowerBattleRoomScript_0x9f4e4
|
||||
loadfont
|
||||
writetext UnknownText_0x9e5ab
|
||||
writetext Text_BattleTowerWelcomesYou
|
||||
keeptextopen
|
||||
writebyte $0
|
||||
special Function170687
|
||||
if_not_equal $0, UnknownScript_0x9e3fc
|
||||
jump UnknownScript_0x9e49e
|
||||
if_not_equal $0, Script_Menu_ChallengeExplanationCancel
|
||||
jump Script_BattleTowerIntroductionYesNo
|
||||
|
||||
UnknownScript_0x9e3fc:
|
||||
writetext UnknownText_0x9e5ea
|
||||
Script_Menu_ChallengeExplanationCancel: ; 0x9e3fc
|
||||
writetext Text_WantToGoIntoABattleRoom
|
||||
writebyte $1
|
||||
special Function17d224
|
||||
if_equal $1, UnknownScript_0x9e40f
|
||||
if_equal $2, UnknownScript_0x9e4a5
|
||||
special Special_Menu_ChallengeExplanationCancel
|
||||
if_equal $1, Script_ChoseChallenge
|
||||
if_equal $2, Script_BattleTowerExplanation
|
||||
jump UnknownScript_0x9e4b0
|
||||
|
||||
UnknownScript_0x9e40f:
|
||||
Script_ChoseChallenge: ; 0x9e40f
|
||||
writebyte $1a
|
||||
special Function170687
|
||||
special Function170bd3
|
||||
if_not_equal $0, UnknownScript_0x9e4bb
|
||||
writetext UnknownText_0x9ef1f
|
||||
special SpecialCheckForBattleTowerRules
|
||||
if_not_equal $0, Script_CloseText
|
||||
writetext Text_SaveBeforeEnteringBattleRoom
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
dotrigger $0
|
||||
special Special_TryQuickSave
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
dotrigger $1
|
||||
writebyte $1
|
||||
special Function170687
|
||||
special Function1700b0
|
||||
if_equal $a, UnknownScript_0x9e3fc
|
||||
if_equal $a, Script_Menu_ChallengeExplanationCancel
|
||||
if_not_equal $0, UnknownScript_0x9e550
|
||||
writebyte $11
|
||||
special Function170687
|
||||
writetext UnknownText_0x9e60a
|
||||
writetext Text_RightThisWayToYourBattleRoom
|
||||
closetext
|
||||
loadmovesprites
|
||||
writebyte $1e
|
||||
@ -116,39 +116,39 @@ UnknownScript_0x9e454:
|
||||
warpcheck
|
||||
end
|
||||
|
||||
UnknownScript_0x9e47a:
|
||||
Script_GivePlayerHisPrize: ; 0x9e47a
|
||||
writebyte $1c
|
||||
special Function170687
|
||||
writebyte $1b
|
||||
special Function170687
|
||||
if_equal $12, UnknownScript_0x9e498
|
||||
if_equal $12, Script_YourPackIsStuffedFull
|
||||
itemtotext $0, $1
|
||||
giveitem $ff, $5
|
||||
writetext UnknownText_0x9eb7e
|
||||
writetext Text_PlayerGotFive
|
||||
writebyte $1d
|
||||
special Function170687
|
||||
loadmovesprites
|
||||
end
|
||||
|
||||
UnknownScript_0x9e498:
|
||||
writetext UnknownText_0x9eb94
|
||||
Script_YourPackIsStuffedFull: ; 0x9e498
|
||||
writetext Text_YourPackIsStuffedFull
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
|
||||
UnknownScript_0x9e49e:
|
||||
writetext UnknownText_0x9ec3d
|
||||
Script_BattleTowerIntroductionYesNo: ; 0x9e49e
|
||||
writetext Text_WouldYouLikeToHearAboutTheBattleTower
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e4a8
|
||||
UnknownScript_0x9e4a5:
|
||||
writetext UnknownText_0x9e886
|
||||
Script_BattleTowerExplanation: ; 0x9e4a5
|
||||
writetext Text_BattleTowerIntroduction_2
|
||||
UnknownScript_0x9e4a8:
|
||||
writebyte $1
|
||||
special Function170687
|
||||
jump UnknownScript_0x9e3fc
|
||||
jump Script_Menu_ChallengeExplanationCancel
|
||||
|
||||
UnknownScript_0x9e4b0:
|
||||
writetext UnknownText_0x9ec09
|
||||
writetext Text_WeHopeToServeYouAgain
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
@ -158,26 +158,26 @@ UnknownScript_0x9e4b6:
|
||||
loadmovesprites
|
||||
end
|
||||
|
||||
UnknownScript_0x9e4bb:
|
||||
Script_CloseText: ; 0x9e4bb
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
|
||||
|
||||
UnknownScript_0x9e4be:
|
||||
writetext UnknownText_0x9ef1f
|
||||
writetext Text_SaveBeforeEnteringBattleRoom
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
special Special_TryQuickSave
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
writebyte $1
|
||||
special Function170687
|
||||
special Function1700ba
|
||||
if_equal $a, UnknownScript_0x9e3fc
|
||||
if_equal $a, Script_Menu_ChallengeExplanationCancel
|
||||
if_not_equal $0, UnknownScript_0x9e550
|
||||
writetext UnknownText_0x9e9eb
|
||||
writetext Text_ReceivedAListOfLeadersOnTheHonorRoll
|
||||
spriteface $2, LEFT
|
||||
writetext UnknownText_0x9ea1b
|
||||
writetext Text_PleaseConfirmOnThisMonitor
|
||||
closetext
|
||||
spriteface $2, DOWN
|
||||
loadmovesprites
|
||||
@ -186,12 +186,12 @@ UnknownScript_0x9e4be:
|
||||
UnknownScript_0x9e4ea:
|
||||
writebyte $18
|
||||
special Function170687
|
||||
if_not_equal $0, UnknownScript_0x9e542
|
||||
if_not_equal $0, Script_APkmnLevelExceeds
|
||||
writebyte $19
|
||||
special Function170687
|
||||
if_not_equal $0, UnknownScript_0x9e549
|
||||
special Function170bd3
|
||||
if_not_equal $0, UnknownScript_0x9e4bb
|
||||
if_not_equal $0, Script_MayNotEnterABattleRoomUnderL70
|
||||
special SpecialCheckForBattleTowerRules
|
||||
if_not_equal $0, Script_CloseText
|
||||
writebyte $5
|
||||
special Function170687
|
||||
if_equal $0, UnknownScript_0x9e512
|
||||
@ -202,19 +202,19 @@ UnknownScript_0x9e512:
|
||||
writetext UnknownText_0x9ec6d
|
||||
UnknownScript_0x9e515:
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
writetext UnknownText_0x9ef79
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
dotrigger $0
|
||||
special Special_TryQuickSave
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
iffalse Script_Menu_ChallengeExplanationCancel
|
||||
dotrigger $1
|
||||
writebyte $6
|
||||
special Function170687
|
||||
writebyte $12
|
||||
special Function170687
|
||||
writetext UnknownText_0x9e60a
|
||||
writetext Text_RightThisWayToYourBattleRoom
|
||||
closetext
|
||||
jump UnknownScript_0x9e44e
|
||||
|
||||
@ -223,15 +223,15 @@ UnknownScript_0x9e53b:
|
||||
closetext
|
||||
jump UnknownScript_0x9e4b0
|
||||
|
||||
UnknownScript_0x9e542:
|
||||
writetext UnknownText_0x9f1e5
|
||||
Script_APkmnLevelExceeds: ; 0x9e542
|
||||
writetext Text_APkmnLevelExceeds
|
||||
closetext
|
||||
jump UnknownScript_0x9e3fc
|
||||
jump Script_Menu_ChallengeExplanationCancel
|
||||
|
||||
UnknownScript_0x9e549:
|
||||
writetext UnknownText_0x9f217
|
||||
Script_MayNotEnterABattleRoomUnderL70: ; 0x9e549
|
||||
writetext Text_MayNotEnterABattleRoomUnderL70
|
||||
closetext
|
||||
jump UnknownScript_0x9e3fc
|
||||
jump Script_Menu_ChallengeExplanationCancel
|
||||
|
||||
UnknownScript_0x9e550:
|
||||
special Function17f53d
|
||||
@ -247,20 +247,20 @@ UnknownScript_0x9e555:
|
||||
YoungsterScript_0x9e55d:
|
||||
faceplayer
|
||||
loadfont
|
||||
writetext UnknownText_0x9f264
|
||||
writetext Text_BattleTowerYoungster
|
||||
closetext
|
||||
loadmovesprites
|
||||
spriteface $3, RIGHT
|
||||
end
|
||||
|
||||
CooltrainerFScript_0x9e568:
|
||||
jumptextfaceplayer UnknownText_0x9f2a4
|
||||
jumptextfaceplayer Text_BattleTowerCooltrainerF
|
||||
|
||||
BugCatcherScript_0x9e56b:
|
||||
jumptextfaceplayer UnknownText_0x9f35b
|
||||
jumptextfaceplayer Text_BattleTowerBugCatcher
|
||||
|
||||
GrannyScript_0x9e56e:
|
||||
jumptextfaceplayer UnknownText_0x9f2e3
|
||||
jumptextfaceplayer Text_BattleTowerGranny
|
||||
|
||||
MovementData_0x9e571:
|
||||
step_up
|
||||
@ -346,7 +346,7 @@ MovementData_0x9e5a9:
|
||||
turn_head_right
|
||||
step_end
|
||||
|
||||
UnknownText_0x9e5ab:
|
||||
Text_BattleTowerWelcomesYou: ; 0x9e5ab
|
||||
text "BATTLE TOWER"
|
||||
line "welcomes you!"
|
||||
|
||||
@ -354,17 +354,17 @@ UnknownText_0x9e5ab:
|
||||
line "to a BATTLE ROOM."
|
||||
done
|
||||
|
||||
UnknownText_0x9e5ea:
|
||||
Text_WantToGoIntoABattleRoom: ; 0x9e5ea
|
||||
text "Want to go into a"
|
||||
line "BATTLE ROOM?"
|
||||
done
|
||||
|
||||
UnknownText_0x9e60a:
|
||||
Text_RightThisWayToYourBattleRoom: ; 0x9e60a
|
||||
text "Right this way to"
|
||||
line "your BATTLE ROOM."
|
||||
done
|
||||
|
||||
UnknownText_0x9e62f:
|
||||
Text_BattleTowerIntroduction_1: ; 0x9e62f
|
||||
text "BATTLE TOWER is a"
|
||||
line "facility made for"
|
||||
cont "#MON battles."
|
||||
@ -424,7 +424,7 @@ UnknownText_0x9e62f:
|
||||
para ""
|
||||
done
|
||||
|
||||
UnknownText_0x9e886:
|
||||
Text_BattleTowerIntroduction_2: ; 0x9e886
|
||||
text "BATTLE TOWER is a"
|
||||
line "facility made for"
|
||||
cont "#MON battles."
|
||||
@ -460,7 +460,7 @@ UnknownText_0x9e886:
|
||||
para ""
|
||||
done
|
||||
|
||||
UnknownText_0x9e9eb:
|
||||
Text_ReceivedAListOfLeadersOnTheHonorRoll: ; 0x9e9eb
|
||||
text "Received a list of"
|
||||
line "LEADERS on the"
|
||||
cont "HONOR ROLL."
|
||||
@ -468,18 +468,18 @@ UnknownText_0x9e9eb:
|
||||
para ""
|
||||
done
|
||||
|
||||
UnknownText_0x9ea1b:
|
||||
Text_PleaseConfirmOnThisMonitor: ; 0x9ea1b
|
||||
text "Please confirm on"
|
||||
line "this monitor."
|
||||
done
|
||||
|
||||
UnknownText_0x9ea3c:
|
||||
Text_ThankYou: ; 0x9ea3c
|
||||
text "Thank you!"
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
UnknownText_0x9ea49:
|
||||
Text_ThanksForVisiting: ; 0x9ea49
|
||||
text "Thanks for"
|
||||
line "visiting!"
|
||||
done
|
||||
@ -502,7 +502,7 @@ UnknownText_0x9ea5f:
|
||||
para ""
|
||||
done
|
||||
|
||||
UnknownText_0x9eaef:
|
||||
Text_CongratulationsYouveBeatenAllTheTrainers: ; 0x9eaef
|
||||
text "Congratulations!"
|
||||
|
||||
para "You've beaten all"
|
||||
@ -522,7 +522,7 @@ UnknownText_0x9eb45:
|
||||
line "CENTER?"
|
||||
done
|
||||
|
||||
UnknownText_0x9eb7e:
|
||||
Text_PlayerGotFive: ; 0x9eb7e
|
||||
text "<PLAYER> got five"
|
||||
line "@"
|
||||
text_from_ram StringBuffer4
|
||||
@ -531,7 +531,7 @@ UnknownText_0x9eb7e:
|
||||
text_waitbutton
|
||||
db "@"
|
||||
|
||||
UnknownText_0x9eb94:
|
||||
Text_YourPackIsStuffedFull: ; 0x9eb94
|
||||
text "Oops, your PACK is"
|
||||
line "stuffed full."
|
||||
|
||||
@ -539,24 +539,24 @@ UnknownText_0x9eb94:
|
||||
line "and come back."
|
||||
done
|
||||
|
||||
UnknownText_0x9ebd6:
|
||||
Text_YourRegistrationIsComplete: ; 0x9ebd6
|
||||
text "Your registration"
|
||||
line "is complete."
|
||||
|
||||
para "Please come again!"
|
||||
done
|
||||
|
||||
UnknownText_0x9ec09:
|
||||
Text_WeHopeToServeYouAgain: ; 0x9ec09
|
||||
text "We hope to serve"
|
||||
line "you again."
|
||||
done
|
||||
|
||||
UnknownText_0x9ec26:
|
||||
Text_PleaseStepThisWay: ; 0x9ec26
|
||||
text "Please step this"
|
||||
line "way."
|
||||
done
|
||||
|
||||
UnknownText_0x9ec3d:
|
||||
Text_WouldYouLikeToHearAboutTheBattleTower: ; 0x9ec3d
|
||||
text "Would you like to"
|
||||
line "hear about the"
|
||||
cont "BATTLE TOWER?"
|
||||
@ -582,19 +582,19 @@ UnknownText_0x9ecb0:
|
||||
cont "deleted. OK?"
|
||||
done
|
||||
|
||||
UnknownText_0x9ed1e:
|
||||
Text_CheckTheLeaderHonorRoll: ; 0x9ed1e
|
||||
text "Check the LEADER"
|
||||
line "HONOR ROLL?"
|
||||
done
|
||||
|
||||
UnknownText_0x9ed3c:
|
||||
Text_ReadBattleTowerRules: ; 0x9ed3c
|
||||
text "BATTLE TOWER rules"
|
||||
line "are written here."
|
||||
|
||||
para "Read the rules?"
|
||||
done
|
||||
|
||||
UnknownText_0x9ed72:
|
||||
Text_BattleTowerRules: ; 0x9ed72
|
||||
text "Three #MON may"
|
||||
line "enter battles."
|
||||
|
||||
@ -626,13 +626,13 @@ UnknownText_0x9ee18:
|
||||
line "invalid."
|
||||
done
|
||||
|
||||
UnknownText_0x9ee92:
|
||||
Text_YourPkmnWillBeHealedToFullHealth: ; 0x9ee92
|
||||
text "Your #MON will"
|
||||
line "be healed to full"
|
||||
cont "health."
|
||||
done
|
||||
|
||||
UnknownText_0x9eebc:
|
||||
Text_NextUpOpponentNo: ; 0x9eebc
|
||||
text "Next up, opponent"
|
||||
line "no.@"
|
||||
text_from_ram StringBuffer3
|
||||
@ -647,7 +647,7 @@ UnknownText_0x9eee0:
|
||||
line "the CENTER."
|
||||
done
|
||||
|
||||
UnknownText_0x9ef1f:
|
||||
Text_SaveBeforeEnteringBattleRoom: ; 0x9ef1f
|
||||
text "Before entering"
|
||||
line "the BATTLE ROOM,"
|
||||
|
||||
@ -655,7 +655,7 @@ UnknownText_0x9ef1f:
|
||||
line "be saved."
|
||||
done
|
||||
|
||||
UnknownText_0x9ef5e:
|
||||
Text_SaveAndEndTheSession: ; 0x9ef5e
|
||||
text "SAVE and end the"
|
||||
line "session?"
|
||||
done
|
||||
@ -668,7 +668,7 @@ UnknownText_0x9ef79:
|
||||
line "the previous ROOM."
|
||||
done
|
||||
|
||||
UnknownText_0x9efbf:
|
||||
Text_CancelYourBattleRoomChallenge: ; 0x9efbf
|
||||
text "Cancel your BATTLE"
|
||||
line "ROOM challenge?"
|
||||
done
|
||||
@ -699,7 +699,7 @@ UnknownText_0x9f076:
|
||||
line "tomorrow."
|
||||
done
|
||||
|
||||
UnknownText_0x9f0c1:
|
||||
Text_TooMuchTimeElapsedNoRegister: ; 0x9f0c1
|
||||
text "Sorry, but it's"
|
||||
line "not possible to"
|
||||
|
||||
@ -730,7 +730,7 @@ UnknownText_0x9f151:
|
||||
cont "challenge."
|
||||
done
|
||||
|
||||
UnknownText_0x9f1e5:
|
||||
Text_APkmnLevelExceeds: ; 0x9f1e5
|
||||
text "One or more of"
|
||||
line "your #MON's"
|
||||
cont "levels exceeds @"
|
||||
@ -738,7 +738,7 @@ UnknownText_0x9f1e5:
|
||||
text "."
|
||||
done
|
||||
|
||||
UnknownText_0x9f217:
|
||||
Text_MayNotEnterABattleRoomUnderL70: ; 0x9f217
|
||||
text_from_ram wcd49
|
||||
text " may not"
|
||||
line "enter a BATTLE"
|
||||
@ -750,7 +750,7 @@ UnknownText_0x9f217:
|
||||
text "."
|
||||
done
|
||||
|
||||
UnknownText_0x9f264:
|
||||
Text_BattleTowerYoungster: ; 0x9f264
|
||||
text "Destroyed by the"
|
||||
line "first opponent in"
|
||||
|
||||
@ -758,7 +758,7 @@ UnknownText_0x9f264:
|
||||
line "I'm no good…"
|
||||
done
|
||||
|
||||
UnknownText_0x9f2a4:
|
||||
Text_BattleTowerCooltrainerF: ; 0x9f2a4
|
||||
text "There are lots of"
|
||||
line "BATTLE ROOMS, but"
|
||||
|
||||
@ -766,7 +766,7 @@ UnknownText_0x9f2a4:
|
||||
line "them all!"
|
||||
done
|
||||
|
||||
UnknownText_0x9f2e3:
|
||||
Text_BattleTowerGranny: ; 0x9f2e3
|
||||
text "It's a grueling"
|
||||
line "task, not being"
|
||||
|
||||
@ -780,7 +780,7 @@ UnknownText_0x9f2e3:
|
||||
line "winning battles."
|
||||
done
|
||||
|
||||
UnknownText_0x9f35b:
|
||||
Text_BattleTowerBugCatcher: ; 0x9f35b
|
||||
text "I'm trying to see"
|
||||
line "how far I can go"
|
||||
|
||||
|
@ -3,25 +3,25 @@ BattleTowerBattleRoom_MapScriptHeader:
|
||||
db 2
|
||||
|
||||
; triggers
|
||||
dw UnknownScript_0x9f419, $0000
|
||||
dw Script_EnterBattleRoom, $0000
|
||||
dw UnknownScript_0x9f420, $0000
|
||||
|
||||
.MapCallbacks:
|
||||
db 0
|
||||
|
||||
UnknownScript_0x9f419:
|
||||
Script_EnterBattleRoom: ; 0x9f419
|
||||
disappear $2
|
||||
priorityjump UnknownScript_0x9f421
|
||||
priorityjump Script_BattleRoom
|
||||
dotrigger $1
|
||||
|
||||
UnknownScript_0x9f420:
|
||||
end
|
||||
|
||||
UnknownScript_0x9f421:
|
||||
Script_BattleRoom: ; 0x9f421
|
||||
applymovement PLAYER, MovementData_0x9e58c
|
||||
UnknownScript_0x9f425:
|
||||
; beat all 7 opponents in a row
|
||||
Script_BattleRoomLoop: ; 0x9f425
|
||||
writebyte $2
|
||||
special Function170b44
|
||||
special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
|
||||
appear $2
|
||||
warpsound
|
||||
waitbutton
|
||||
@ -30,19 +30,19 @@ UnknownScript_0x9f425:
|
||||
storetext 1
|
||||
keeptextopen
|
||||
loadmovesprites
|
||||
special Function170215
|
||||
special Function170215 ; calls predef startbattle
|
||||
special FadeBlackBGMap
|
||||
reloadmap
|
||||
if_not_equal $0, UnknownScript_0x9f4c2
|
||||
copybytetovar wcf64
|
||||
if_equal $7, UnknownScript_0x9f4d9
|
||||
copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
|
||||
if_equal BATTLETOWER_NROFTRAINERS, Script_BeatenAllTrainers
|
||||
applymovement $2, MovementData_0x9e597
|
||||
warpsound
|
||||
disappear $2
|
||||
applymovement $3, MovementData_0x9e59c
|
||||
applymovement PLAYER, MovementData_0x9e5a7
|
||||
loadfont
|
||||
writetext UnknownText_0x9ee92
|
||||
writetext Text_YourPkmnWillBeHealedToFullHealth
|
||||
closetext
|
||||
loadmovesprites
|
||||
playmusic MUSIC_HEAL
|
||||
@ -52,19 +52,19 @@ UnknownScript_0x9f425:
|
||||
special FadeInBGMap
|
||||
special RestartMapMusic
|
||||
loadfont
|
||||
writetext UnknownText_0x9eebc
|
||||
writetext Text_NextUpOpponentNo
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9f483
|
||||
UnknownScript_0x9f477:
|
||||
iffalse Script_DontBattleNextOpponent
|
||||
Script_ContinueAndBattleNextOpponent: ; 0x9f477
|
||||
loadmovesprites
|
||||
applymovement PLAYER, MovementData_0x9e5a9
|
||||
applymovement $3, MovementData_0x9e5a1
|
||||
jump UnknownScript_0x9f425
|
||||
jump Script_BattleRoomLoop
|
||||
|
||||
UnknownScript_0x9f483:
|
||||
writetext UnknownText_0x9ef5e
|
||||
Script_DontBattleNextOpponent: ; 0x9f483
|
||||
writetext Text_SaveAndEndTheSession
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9f4a3
|
||||
iffalse Script_DontSaveAndEndTheSession
|
||||
writebyte $7
|
||||
special Function170687
|
||||
writebyte $1f
|
||||
@ -75,10 +75,10 @@ UnknownScript_0x9f483:
|
||||
waitbutton
|
||||
special FadeBlackBGMap
|
||||
special Reset
|
||||
UnknownScript_0x9f4a3:
|
||||
writetext UnknownText_0x9efbf
|
||||
Script_DontSaveAndEndTheSession: ; 0x9f4a3
|
||||
writetext Text_CancelYourBattleRoomChallenge
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9f477
|
||||
iffalse Script_ContinueAndBattleNextOpponent
|
||||
writebyte $4
|
||||
special Function170687
|
||||
writebyte $6
|
||||
@ -96,25 +96,25 @@ UnknownScript_0x9f4c2:
|
||||
writebyte $4
|
||||
special Function170687
|
||||
loadfont
|
||||
writetext UnknownText_0x9ea49
|
||||
writetext Text_ThanksForVisiting
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
|
||||
UnknownScript_0x9f4d9:
|
||||
Script_BeatenAllTrainers: ; 0x9f4d9
|
||||
pause 60
|
||||
special Special_BattleTowerFade
|
||||
warpfacing $1, BATTLE_TOWER_1F, $7, $7
|
||||
BattleTowerBattleRoomScript_0x9f4e4:
|
||||
loadfont
|
||||
writetext UnknownText_0x9eaef
|
||||
jump UnknownScript_0x9e47a
|
||||
writetext Text_CongratulationsYouveBeatenAllTheTrainers
|
||||
jump Script_GivePlayerHisPrize
|
||||
|
||||
UnknownScript_0x9f4eb:
|
||||
writebyte $4
|
||||
special Function170687
|
||||
loadfont
|
||||
writetext UnknownText_0x9f0c1
|
||||
writetext Text_TooMuchTimeElapsedNoRegister
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
@ -125,8 +125,8 @@ UnknownScript_0x9f4f7:
|
||||
writebyte $6
|
||||
special Function170687
|
||||
loadfont
|
||||
writetext UnknownText_0x9ea49
|
||||
writetext UnknownText_0x9ec09
|
||||
writetext Text_ThanksForVisiting
|
||||
writetext Text_WeHopeToServeYouAgain
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
|
@ -12,14 +12,13 @@ BattleTowerHallway_MapScriptHeader:
|
||||
UnknownScript_0x9f5bb:
|
||||
priorityjump UnknownScript_0x9f5c1
|
||||
dotrigger $1
|
||||
|
||||
UnknownScript_0x9f5c0:
|
||||
end
|
||||
|
||||
UnknownScript_0x9f5c1:
|
||||
follow $2, PLAYER
|
||||
callasm Function_0x9f5cb
|
||||
jump UnknownScript_0x9f5dc
|
||||
jump Script_WalkToChosenBattleRoom
|
||||
|
||||
|
||||
Function_0x9f5cb:
|
||||
@ -28,7 +27,7 @@ Function_0x9f5cb:
|
||||
|
||||
ld a, 3
|
||||
ld [rSVBK], a
|
||||
ld a, [w3_d800]
|
||||
ld a, [wBTChoiceOfLvlGroup]
|
||||
ld [ScriptVar], a
|
||||
|
||||
pop af
|
||||
@ -36,38 +35,41 @@ Function_0x9f5cb:
|
||||
ret
|
||||
|
||||
|
||||
UnknownScript_0x9f5dc:
|
||||
if_equal $3, UnknownScript_0x9f603
|
||||
if_equal $4, UnknownScript_0x9f603
|
||||
if_equal $5, UnknownScript_0x9f60a
|
||||
if_equal $6, UnknownScript_0x9f60a
|
||||
if_equal $7, UnknownScript_0x9f611
|
||||
if_equal $8, UnknownScript_0x9f611
|
||||
if_equal $9, UnknownScript_0x9f618
|
||||
if_equal $a, UnknownScript_0x9f618
|
||||
; enter different rooms for different levels to battle against
|
||||
; at least it should look like that
|
||||
; because all warps lead to the same room
|
||||
Script_WalkToChosenBattleRoom: ; 0x9f5dc
|
||||
if_equal 3, Script_WalkToBattleRoomL30L40
|
||||
if_equal 4, Script_WalkToBattleRoomL30L40
|
||||
if_equal 5, Script_WalkToBattleRoomL50L60
|
||||
if_equal 6, Script_WalkToBattleRoomL50L60
|
||||
if_equal 7, Script_WalkToBattleRoomL70L80
|
||||
if_equal 8, Script_WalkToBattleRoomL70L80
|
||||
if_equal 9, Script_WalkToBattleRoomL90L100
|
||||
if_equal 10, Script_WalkToBattleRoomL90L100
|
||||
applymovement $2, MovementData_0x9e57a
|
||||
jump UnknownScript_0x9f61f
|
||||
jump Script_PlayerEntersBattleRoom
|
||||
|
||||
UnknownScript_0x9f603:
|
||||
Script_WalkToBattleRoomL30L40: ; 0x9f603
|
||||
applymovement $2, MovementData_0x9e57c
|
||||
jump UnknownScript_0x9f61f
|
||||
jump Script_PlayerEntersBattleRoom
|
||||
|
||||
UnknownScript_0x9f60a:
|
||||
Script_WalkToBattleRoomL50L60: ; 0x9f60a
|
||||
applymovement $2, MovementData_0x9e586
|
||||
jump UnknownScript_0x9f61f
|
||||
jump Script_PlayerEntersBattleRoom
|
||||
|
||||
UnknownScript_0x9f611:
|
||||
Script_WalkToBattleRoomL70L80: ; 0x9f611
|
||||
applymovement $2, MovementData_0x9e584
|
||||
jump UnknownScript_0x9f61f
|
||||
jump Script_PlayerEntersBattleRoom
|
||||
|
||||
UnknownScript_0x9f618:
|
||||
Script_WalkToBattleRoomL90L100: ; 0x9f618
|
||||
applymovement $2, MovementData_0x9e582
|
||||
jump UnknownScript_0x9f61f
|
||||
jump Script_PlayerEntersBattleRoom
|
||||
|
||||
UnknownScript_0x9f61f:
|
||||
Script_PlayerEntersBattleRoom: ; 0x9f61f
|
||||
faceperson PLAYER, $2
|
||||
loadfont
|
||||
writetext UnknownText_0x9ec26
|
||||
writetext Text_PleaseStepThisWay
|
||||
closetext
|
||||
loadmovesprites
|
||||
stopfollow
|
||||
|
@ -9728,22 +9728,22 @@ Function118903: ; 118903 (46:4903)
|
||||
ld [wcd3c], a
|
||||
call Function119ed8
|
||||
jp Function119e2e
|
||||
; 11891c (46:491c)
|
||||
|
||||
|
||||
Function11891c: ; 11891c
|
||||
call Function118b42
|
||||
jp Function119e2e
|
||||
; 118922
|
||||
|
||||
|
||||
Function118922: ; 118922
|
||||
ld a, [wcd38]
|
||||
and a
|
||||
jr nz, .asm_11892d
|
||||
ld hl, UnknownText_0x11aba5
|
||||
ld hl, Text_WhatLevelDoYouWantToChallenge
|
||||
jr .asm_118930
|
||||
|
||||
.asm_11892d
|
||||
ld hl, UnknownText_0x11abcb
|
||||
ld hl, Text_CheckBattleRoomListByMaxLevel
|
||||
|
||||
.asm_118930
|
||||
call Function11a9c0
|
||||
@ -9770,13 +9770,13 @@ Function118936:
|
||||
ld a, [StatusFlags]
|
||||
bit 6, a
|
||||
jr nz, .asm_11896b
|
||||
ld hl, Strings_119d64
|
||||
ld a, $5
|
||||
ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels
|
||||
ld a, 5 ; 4 levels to choose from, including 'Cancel'-option
|
||||
jr .asm_118970
|
||||
|
||||
.asm_11896b
|
||||
ld hl, Strings_119d0c
|
||||
ld a, $b
|
||||
ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels
|
||||
ld a, 11 ; 10 levels to choose from, including 'Cancel'-option
|
||||
|
||||
.asm_118970
|
||||
ld [wcd4a], a
|
||||
@ -9915,7 +9915,8 @@ Function118982:
|
||||
ld a, $0
|
||||
ld [wcd46], a
|
||||
ret
|
||||
; 118a54
|
||||
|
||||
|
||||
|
||||
Function118a54: ; 118a54
|
||||
ld a, [wcd55]
|
||||
@ -12537,7 +12538,7 @@ MenuData_119cff: ; 119cff
|
||||
String_119d07:
|
||||
db " ▼@"
|
||||
|
||||
Strings_119d0c:
|
||||
Strings_L10ToL100: ; 119d0c
|
||||
db " L:10 @@"
|
||||
db " L:20 @@"
|
||||
db " L:30 @@"
|
||||
@ -12550,7 +12551,7 @@ Strings_119d0c:
|
||||
db " L:100@@"
|
||||
db "CANCEL@@"
|
||||
|
||||
Strings_119d64:
|
||||
Strings_Ll0ToL40: ; 119d64
|
||||
db " L:10 @@"
|
||||
db " L:20 @@"
|
||||
db " L:30 @@"
|
||||
@ -14274,13 +14275,13 @@ UnknownText_0x11ab8b: ; 0x11ab8b
|
||||
done
|
||||
; 0x11aba5
|
||||
|
||||
UnknownText_0x11aba5: ; 0x11aba5
|
||||
Text_WhatLevelDoYouWantToChallenge: ; 0x11aba5
|
||||
text "What level do you"
|
||||
line "want to challenge?"
|
||||
done
|
||||
; 0x11abcb
|
||||
|
||||
UnknownText_0x11abcb: ; 0x11abcb
|
||||
Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb
|
||||
text "Check BATTLE ROOM"
|
||||
line "list by max level?"
|
||||
done
|
||||
@ -16529,7 +16530,7 @@ ENDC
|
||||
sub $19
|
||||
|
||||
.asm_11c021
|
||||
ld hl, Unknown_11f332
|
||||
ld hl, BTTrainerTexts
|
||||
jr .asm_11c033
|
||||
|
||||
.asm_11c026
|
||||
@ -20671,14 +20672,14 @@ Unknown_11f2f0:
|
||||
db $01, $01, $00, $00, $00, $01
|
||||
|
||||
|
||||
Unknown_11f332:
|
||||
dw Unknown_11f338
|
||||
dw Unknown_11f36a
|
||||
dw Unknown_11f39c
|
||||
BTTrainerTexts: ; 11f332
|
||||
dw BTTrainerGreetings
|
||||
dw BTTrainerPlayerLostTexts
|
||||
dw BTTrainerPlayerWonTexts
|
||||
|
||||
Unknown_11f338: ; 11f338
|
||||
dw UnknownText_0x11f42e
|
||||
dw UnknownText_0x11f43d
|
||||
BTTrainerGreetings: ; 11f338
|
||||
dw BattleTowerTextJump_0x11f42e
|
||||
dw BattleTowerTextJump_0x11f43d
|
||||
dw UnknownText_0x11f44c
|
||||
dw UnknownText_0x11f45b
|
||||
dw UnknownText_0x11f46a
|
||||
@ -20703,8 +20704,8 @@ Unknown_11f338: ; 11f338
|
||||
dw UnknownText_0x11f587
|
||||
dw UnknownText_0x11f596
|
||||
|
||||
Unknown_11f36a: ; 11f36a
|
||||
dw UnknownText_0x11f433
|
||||
BTTrainerPlayerLostTexts: ; 11f36a
|
||||
dw BattleTowerTextJump_0x11f433
|
||||
dw UnknownText_0x11f442
|
||||
dw UnknownText_0x11f451
|
||||
dw UnknownText_0x11f460
|
||||
@ -20730,7 +20731,7 @@ Unknown_11f36a: ; 11f36a
|
||||
dw UnknownText_0x11f58c
|
||||
dw UnknownText_0x11f59b
|
||||
|
||||
Unknown_11f39c: ; 11f39c
|
||||
BTTrainerPlayerWonTexts: ; 11f39c
|
||||
dw UnknownText_0x11f438
|
||||
dw UnknownText_0x11f447
|
||||
dw UnknownText_0x11f456
|
||||
@ -20815,20 +20816,20 @@ Unknown_11f410: ; 11f410
|
||||
dw UnknownText_0x11f681
|
||||
|
||||
|
||||
UnknownText_0x11f42e: ; 0x11f42e
|
||||
text_jump UnknownText_0x1ec000
|
||||
BattleTowerTextJump_0x11f42e: ; 0x11f42e
|
||||
text_jump BattleTowerText_0x1ec000
|
||||
db "@"
|
||||
|
||||
UnknownText_0x11f433: ; 0x11f433
|
||||
text_jump UnknownText_0x1ec03b
|
||||
BattleTowerTextJump_0x11f433: ; 0x11f433
|
||||
text_jump BattleTowerText_0x1ec03b
|
||||
db "@"
|
||||
|
||||
UnknownText_0x11f438: ; 0x11f438
|
||||
text_jump UnknownText_0x1ec060
|
||||
db "@"
|
||||
|
||||
UnknownText_0x11f43d: ; 0x11f43d
|
||||
text_jump UnknownText_0x1ec080
|
||||
BattleTowerTextJump_0x11f43d: ; 0x11f43d
|
||||
text_jump BattleTowerText_0x1ec080
|
||||
db "@"
|
||||
|
||||
UnknownText_0x11f442: ; 0x11f442
|
||||
@ -22803,7 +22804,7 @@ Function17021e: ; 17021e
|
||||
|
||||
Function17022c: ; 17022c
|
||||
.asm_17022c
|
||||
call Function17023a
|
||||
call Jumpto_BattleTowerBattleFunction
|
||||
call DelayFrame
|
||||
ld a, [wcf63]
|
||||
cp $1
|
||||
@ -22811,11 +22812,11 @@ Function17022c: ; 17022c
|
||||
ret
|
||||
; 17023a
|
||||
|
||||
Function17023a: ; 17023a
|
||||
Jumpto_BattleTowerBattleFunction: ; 17023a
|
||||
ld a, [wcf63]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, Jumptable_170249
|
||||
ld hl, Jumptable_BattleTowerBattleFunctions
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
@ -22825,20 +22826,20 @@ endr
|
||||
jp [hl]
|
||||
; 170249
|
||||
|
||||
Jumptable_170249: ; 170249
|
||||
dw Function17024d
|
||||
dw Function1704c9
|
||||
Jumptable_BattleTowerBattleFunctions: ; 170249
|
||||
dw RunBattleTowerBattle
|
||||
dw SkipBattleTowerBattle
|
||||
; 17024d
|
||||
|
||||
Function17024d: ; 17024d
|
||||
RunBattleTowerBattle: ; 17024d
|
||||
ld a, [Options]
|
||||
push af
|
||||
ld hl, Options
|
||||
set 6, [hl]
|
||||
ld a, [wcfc0]
|
||||
ld a, [InBattleTowerBattle]
|
||||
push af
|
||||
or $1
|
||||
ld [wcfc0], a
|
||||
ld [InBattleTowerBattle], a
|
||||
xor a
|
||||
ld [InLinkBattle], a
|
||||
callba Mobile_HealParty
|
||||
@ -22852,13 +22853,13 @@ Function17024d: ; 17024d
|
||||
ld [ScriptVar], a
|
||||
and a
|
||||
jr nz, .asm_1702a9
|
||||
ld a, $1
|
||||
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
|
||||
call GetSRAMBank
|
||||
ld a, [$be46]
|
||||
ld [wcf64], a
|
||||
ld a, [sNrOfBeatenBattleTowerTrainers]
|
||||
ld [wNrOfBeatenBattleTowerTrainers], a ; wcf64
|
||||
call CloseSRAM
|
||||
ld hl, StringBuffer3
|
||||
ld a, [wcf64]
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers] ; wcf64
|
||||
add $f7
|
||||
ld [hli], a
|
||||
ld a, $50
|
||||
@ -22866,64 +22867,66 @@ Function17024d: ; 17024d
|
||||
|
||||
.asm_1702a9
|
||||
pop af
|
||||
ld [wcfc0], a
|
||||
ld [InBattleTowerBattle], a
|
||||
pop af
|
||||
ld [Options], a
|
||||
ld a, $1
|
||||
ld [wcf63], a
|
||||
ret
|
||||
; 1702b7
|
||||
|
||||
|
||||
Function1702b7: ; 1702b7
|
||||
call Function1704a2
|
||||
ld de, $c643
|
||||
ld c, $b
|
||||
; Initialise the BattleTower-Trainer and his Pkmn
|
||||
call CopyBTTrainer_FromBT_OTrainer_TowBT_OTTempCopy
|
||||
ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn1Name ; $c643
|
||||
ld c, PKMN_NAME_LENGTH
|
||||
callba Function17d073
|
||||
jr nc, .asm_1702db
|
||||
ld a, [$c608 + 11]
|
||||
|
||||
ld a, [wBT_OTTempCopy + wBT_OTTempCopy_Pkmn1]
|
||||
ld [wd265], a
|
||||
call GetPokemonName
|
||||
ld l, e
|
||||
ld h, d
|
||||
ld de, $c643
|
||||
ld bc, $000b
|
||||
ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn1Name ; $c643
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
.asm_1702db
|
||||
ld de, $c67e
|
||||
ld c, $b
|
||||
ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn2Name ; $c67e
|
||||
ld c, PKMN_NAME_LENGTH
|
||||
callba Function17d073
|
||||
jr nc, .asm_1702fc
|
||||
ld a, [$c64e]
|
||||
ld a, [wBT_OTTempCopy + wBT_OTTempCopy_Pkmn2] ; [$c64e]
|
||||
ld [wd265], a
|
||||
call GetPokemonName
|
||||
ld l, e
|
||||
ld h, d
|
||||
ld de, $c67e
|
||||
ld bc, $000b
|
||||
ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn2Name ; $c67e
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
.asm_1702fc
|
||||
ld de, $c686 + 51
|
||||
ld c, $b
|
||||
ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn3Name ; $c686 + 51 = $c6b9
|
||||
ld c, PKMN_NAME_LENGTH
|
||||
callba Function17d073
|
||||
jr nc, .asm_17031d
|
||||
ld a, [$c689]
|
||||
ld a, [wBT_OTTempCopy + wBT_OTTempCopy_Pkmn3] ; [$c689]
|
||||
ld [wd265], a
|
||||
call GetPokemonName
|
||||
ld l, e
|
||||
ld h, d
|
||||
ld de, $c686 + 51
|
||||
ld bc, $000b
|
||||
ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn3Name ; $c686 + 51 = $c6b9
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
.asm_17031d
|
||||
ld a, $50
|
||||
ld [$c64d], a
|
||||
ld [$c688], a
|
||||
ld [$c68a + 57], a
|
||||
ld [wBT_OTTempCopy + wBT_OTTempCopy_45], a ; $c64d
|
||||
ld [wBT_OTTempCopy + wBT_OTTempCopy_80], a ; $c688
|
||||
ld [wBT_OTTempCopy + wBT_OTTempCopy_BB], a ; $c68a + 57 = $c6c3
|
||||
call Function170c98
|
||||
ld de, $c608
|
||||
ld de, wBT_OTTempCopy
|
||||
ld c, $a
|
||||
callba Function17d073
|
||||
jr nc, .asm_17033d
|
||||
@ -22931,7 +22934,7 @@ Function1702b7: ; 1702b7
|
||||
jr .asm_170340
|
||||
|
||||
.asm_17033d
|
||||
ld hl, $c608
|
||||
ld hl, wBT_OTTempCopy ; 0xc608
|
||||
|
||||
.asm_170340
|
||||
ld de, wd26b
|
||||
@ -22939,16 +22942,18 @@ Function1702b7: ; 1702b7
|
||||
call CopyBytes
|
||||
ld a, $50
|
||||
ld [de], a
|
||||
ld hl, $c608 + 10
|
||||
ld hl, wBT_OTTempCopy + wBT_OTTempCopy_TrainerClass
|
||||
ld a, [hli]
|
||||
ld [OtherTrainerClass], a
|
||||
ld a, $ea
|
||||
ld [BGMapBuffer], a
|
||||
ld a, $d3
|
||||
ld [wcd21], a
|
||||
|
||||
; Copy Pkmn into Memory from the address in hl
|
||||
ld de, OTPartyMon1Species
|
||||
ld bc, OTPartyCount
|
||||
ld a, $3
|
||||
ld a, BATTLETOWER_NROFPKMNS ; Number of Pkmn the BattleTower-Trainer has
|
||||
ld [bc], a
|
||||
inc bc
|
||||
.asm_170367
|
||||
@ -22957,7 +22962,7 @@ Function1702b7: ; 1702b7
|
||||
ld [bc], a
|
||||
inc bc
|
||||
push bc
|
||||
ld bc, $0030
|
||||
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH
|
||||
call CopyBytes
|
||||
push de
|
||||
ld a, [BGMapBuffer]
|
||||
@ -23163,27 +23168,29 @@ Unknown_17047e:
|
||||
db $0f, $05, $14, $07
|
||||
db $05, $05, $11, $0c
|
||||
db $0c, $06, $06, $04
|
||||
; 1704a2
|
||||
|
||||
Function1704a2: ; 1704a2
|
||||
|
||||
CopyBTTrainer_FromBT_OTrainer_TowBT_OTTempCopy: ; 1704a2
|
||||
; copy the BattleTower-Trainer data that lies at 'BT_OTrainer' to 'wBT_OTTempCopy'
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $3
|
||||
ld [rSVBK], a
|
||||
ld hl, LYOverrides
|
||||
ld de, $c608
|
||||
ld bc, $00e0
|
||||
ld hl, BT_OTrainer ; $d100
|
||||
ld de, wBT_OTTempCopy ; $c608
|
||||
ld bc, BT_OTrainerEnd - BT_OTrainer ; $e0 = $a + $1 + 3*$3b + $24
|
||||
; = $a + $1 + BATTLETOWER_NROFPKMNS * (BATTLETOWER_PKMNSTRUCTLENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
|
||||
call CopyBytes
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ld a, $1
|
||||
ld a, BANK(s1_be45)
|
||||
call GetSRAMBank
|
||||
ld a, $2
|
||||
ld [$be45], a
|
||||
ld hl, $be46
|
||||
ld [s1_be45], a
|
||||
ld hl, sNrOfBeatenBattleTowerTrainers
|
||||
inc [hl]
|
||||
call CloseSRAM
|
||||
Function1704c9:
|
||||
SkipBattleTowerBattle: ; 1704c9
|
||||
ret
|
||||
; 1704ca
|
||||
|
||||
@ -23256,14 +23263,17 @@ Jumptable_17051f: ; 17051f
|
||||
Function170525: ; 170525
|
||||
ld a, $5
|
||||
call GetSRAMBank
|
||||
|
||||
ld hl, $a89c
|
||||
ld de, StringBuffer3
|
||||
ld bc, $0016
|
||||
call CopyBytes
|
||||
|
||||
ld hl, $a8b2
|
||||
ld de, $c608
|
||||
ld bc, $0096
|
||||
call CopyBytes
|
||||
|
||||
call CloseSRAM
|
||||
hlcoord 1, 1
|
||||
ld de, StringBuffer3
|
||||
@ -23281,10 +23291,12 @@ Function170525: ; 170525
|
||||
call Function1705f0
|
||||
jr Function1705b2
|
||||
|
||||
|
||||
Function170571:
|
||||
call Function32f9
|
||||
call Function1705b2
|
||||
|
||||
|
||||
Function170577:
|
||||
ld hl, hJoyPressed
|
||||
ld a, [hl]
|
||||
@ -23500,56 +23512,62 @@ endr
|
||||
|
||||
|
||||
Jumptable_170696: ; 170696 (5c:4696)
|
||||
dw Function17075f
|
||||
dw Function170788
|
||||
dw Function170778
|
||||
dw Function170799
|
||||
dw Function17079d
|
||||
dw Function1707ac
|
||||
dw Function1707f4
|
||||
dw Function170868
|
||||
dw Function170881
|
||||
dw Function17089a
|
||||
dw Function1708b1
|
||||
dw Function1708b9
|
||||
dw Function1708c8
|
||||
dw Function1708f0
|
||||
dw Function17093c
|
||||
dw Function1709aa
|
||||
dw Function1709bb
|
||||
dw Function170a9c
|
||||
dw Function170aa0
|
||||
dw Function170aaf
|
||||
dw Function170abe
|
||||
dw Function170ad7
|
||||
dw Function170807
|
||||
dw Function17081d
|
||||
dw Function170ae8
|
||||
dw Function170b16
|
||||
dw Function1706d6
|
||||
dw Function1706ee
|
||||
dw Function17071b
|
||||
dw Function170729
|
||||
dw Function17073e
|
||||
dw Function170737
|
||||
dw Function17075f ; 0x00
|
||||
dw Function170788 ; 0x01
|
||||
dw Function170778 ; 0x02
|
||||
dw Function170799 ; 0x03
|
||||
dw Function17079d ; 0x04
|
||||
dw Function1707ac ; 0x05
|
||||
dw Function1707f4 ; 0x06
|
||||
dw Function170868 ; 0x07
|
||||
dw Function170881 ; 0x08
|
||||
dw Function17089a ; 0x09
|
||||
dw Function1708b1 ; 0x0a
|
||||
dw Function1708b9 ; 0x0b
|
||||
dw Function1708c8 ; 0x0c
|
||||
dw Function1708f0 ; 0x0d
|
||||
dw Function17093c ; 0x0e
|
||||
dw Function1709aa ; 0x0f
|
||||
dw Function1709bb ; 0x10
|
||||
dw Function170a9c ; 0x11
|
||||
dw Function170aa0 ; 0x12
|
||||
dw Function170aaf ; 0x13
|
||||
dw Function170abe ; 0x14
|
||||
dw Function170ad7 ; 0x15
|
||||
dw Function170807 ; 0x16
|
||||
dw Function17081d ; 0x17
|
||||
dw Function170ae8 ; 0x18
|
||||
dw Function170b16 ; 0x19
|
||||
dw ResetBattleTowerTrainersSRAM ; 0x1a
|
||||
dw Function1706ee ; 0x1b
|
||||
dw Function17071b ; 0x1c
|
||||
dw Function170729 ; 0x1d
|
||||
dw Function17073e ; 0x1e
|
||||
dw Function170737 ; 0x1f
|
||||
|
||||
|
||||
Function1706d6: ; 1706d6 (5c:46d6)
|
||||
ld a, $1
|
||||
; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes)
|
||||
ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6)
|
||||
ld a, BANK(sBTTrainers)
|
||||
call GetSRAMBank
|
||||
|
||||
ld a, $ff
|
||||
ld hl, $be48
|
||||
ld bc, $7
|
||||
ld hl, sBTTrainers
|
||||
ld bc, BATTLETOWER_NROFTRAINERS
|
||||
call ByteFill
|
||||
|
||||
xor a
|
||||
ld [$be46], a
|
||||
ld [sNrOfBeatenBattleTowerTrainers], a
|
||||
|
||||
call CloseSRAM
|
||||
|
||||
ret
|
||||
|
||||
Function1706ee: ; 1706ee (5c:46ee)
|
||||
ld a, $1
|
||||
ld a, BANK(sbe50)
|
||||
call GetSRAMBank
|
||||
ld a, [$be50]
|
||||
|
||||
ld a, [sbe50]
|
||||
call CloseSRAM
|
||||
ld [ScriptVar], a
|
||||
ld hl, NumItems
|
||||
@ -23575,18 +23593,18 @@ Function1706ee: ; 1706ee (5c:46ee)
|
||||
ret
|
||||
|
||||
Function17071b: ; 17071b (5c:471b)
|
||||
ld a, $1
|
||||
ld a, BANK(s1_be45)
|
||||
call GetSRAMBank
|
||||
ld a, $3
|
||||
ld [$be45], a
|
||||
ld [s1_be45], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function170729: ; 170729 (5c:4729)
|
||||
ld a, $1
|
||||
ld a, BANK(s1_be45)
|
||||
call GetSRAMBank
|
||||
ld a, $4
|
||||
ld [$be45], a
|
||||
ld [s1_be45], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
@ -23606,10 +23624,10 @@ Function17073e: ; 17073e (5c:473e)
|
||||
cp $1e
|
||||
jr z, Function17073e
|
||||
push af
|
||||
ld a, $1
|
||||
ld a, BANK(sbe50)
|
||||
call GetSRAMBank
|
||||
pop af
|
||||
ld [$be50], a
|
||||
ld [sbe50], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
@ -23618,17 +23636,17 @@ Function17075f: ; 17075f (5c:475f)
|
||||
ld a, [ScriptVar]
|
||||
and a
|
||||
ret z
|
||||
ld a, $1
|
||||
ld a, BANK(sbe4f)
|
||||
call GetSRAMBank
|
||||
ld a, [$be4f]
|
||||
ld a, [sbe4f]
|
||||
and $2
|
||||
ld [ScriptVar], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function170778: ; 170778 (5c:4778)
|
||||
ld hl, $be45
|
||||
ld a, $1
|
||||
ld hl, s1_be45
|
||||
ld a, BANK(s1_be45)
|
||||
call GetSRAMBank
|
||||
ld a, [hl]
|
||||
ld [ScriptVar], a
|
||||
@ -23636,11 +23654,11 @@ Function170778: ; 170778 (5c:4778)
|
||||
ret
|
||||
|
||||
Function170788: ; 170788 (5c:4788)
|
||||
ld a, $1
|
||||
ld a, BANK(sbe4f)
|
||||
call GetSRAMBank
|
||||
ld a, [$be4f]
|
||||
ld a, [sbe4f]
|
||||
or $2
|
||||
ld [$be4f], a
|
||||
ld [sbe4f], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
@ -23651,10 +23669,10 @@ Function170799: ; 170799 (5c:4799)
|
||||
Function17079d: ; 17079d (5c:479d)
|
||||
ld c, $0
|
||||
asm_17079f: ; 17079f (5c:479f)
|
||||
ld a, $1
|
||||
ld a, BANK(s1_be45)
|
||||
call GetSRAMBank
|
||||
ld a, c
|
||||
ld [$be45], a
|
||||
ld [s1_be45], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
@ -23763,27 +23781,27 @@ Function17081d: ; 17081d (5c:481d)
|
||||
ret
|
||||
|
||||
Function170868: ; 170868 (5c:4868)
|
||||
ld a, $1
|
||||
ld a, BANK(sbe47)
|
||||
call GetSRAMBank
|
||||
ld a, [rSVBK] ; $ff00+$70
|
||||
push af
|
||||
ld a, $3
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
ld a, [wd000 + $800]
|
||||
ld [$be47], a
|
||||
ld [sbe47], a
|
||||
pop af
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function170881: ; 170881 (5c:4881)
|
||||
ld a, $1
|
||||
ld a, BANK(sbe47)
|
||||
call GetSRAMBank
|
||||
ld a, [rSVBK] ; $ff00+$70
|
||||
push af
|
||||
ld a, $3
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
ld a, [$be47]
|
||||
ld a, [sbe47]
|
||||
ld [wd000 + $800], a
|
||||
pop af
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
@ -23815,9 +23833,9 @@ Function1708b1: ; 1708b1 (5c:48b1)
|
||||
ret
|
||||
|
||||
Function1708b9: ; 1708b9 (5c:48b9)
|
||||
ld a, $1
|
||||
ld a, BANK(s1_be3c)
|
||||
call GetSRAMBank
|
||||
ld a, [$be3c]
|
||||
ld a, [s1_be3c]
|
||||
ld [ScriptVar], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
@ -24121,20 +24139,20 @@ Function170abe: ; 170abe (5c:4abe)
|
||||
ld a, [ScriptVar]
|
||||
and a
|
||||
ret z
|
||||
ld a, $1
|
||||
ld a, BANK(sbe4f)
|
||||
call GetSRAMBank
|
||||
ld a, [$be4f]
|
||||
ld a, [sbe4f]
|
||||
and $1
|
||||
ld [ScriptVar], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function170ad7: ; 170ad7 (5c:4ad7)
|
||||
ld a, $1
|
||||
ld a, BANK(sbe4f)
|
||||
call GetSRAMBank
|
||||
ld a, [$be4f]
|
||||
ld a, [sbe4f]
|
||||
or $1
|
||||
ld [$be4f], a
|
||||
ld [sbe4f], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
@ -24178,8 +24196,8 @@ Function170b16: ; 170b16 (5c:4b16)
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
Function170b44: ; 170b44
|
||||
callba Function1f8000
|
||||
Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
|
||||
callba Function_LoadOpponentTrainerAndPokemons
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $3
|
||||
@ -24195,6 +24213,9 @@ Function170b44: ; 170b44
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wcd49], a
|
||||
|
||||
; Load sprite of the opponent trainer
|
||||
; because s/he is chosen randomly and appears out of nowhere
|
||||
ld a, [ScriptVar]
|
||||
dec a
|
||||
sla a
|
||||
@ -24237,8 +24258,8 @@ Function170bd2: ; 170bd2
|
||||
ret
|
||||
; 170bd3
|
||||
|
||||
Function170bd3: ; 170bd3
|
||||
callba Function8b201
|
||||
SpecialCheckForBattleTowerRules: ; 170bd3
|
||||
callba CheckForBattleTowerRules
|
||||
jr c, .asm_170bde
|
||||
xor a
|
||||
jr .asm_170be0
|
||||
|
@ -425,19 +425,29 @@ Function17d1f1: ; 17d1f1
|
||||
ret
|
||||
; 17d224
|
||||
|
||||
Function17d224: ; 17d224
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Parameter: [ScriptVar] = 0..1
|
||||
;
|
||||
; if [ScriptVar] == 0
|
||||
; Show japanese menu options
|
||||
; - News - News - ??? - Cancel
|
||||
; if [ScriptVar] == 1
|
||||
; Show BattleTower-Menu with 3 options in english language
|
||||
; - Challenge - Explanation - Cancel
|
||||
Special_Menu_ChallengeExplanationCancel: ; 17d224
|
||||
ld a, [ScriptVar]
|
||||
and a
|
||||
jr nz, .asm_17d234
|
||||
ld a, $4
|
||||
ld [ScriptVar], a
|
||||
ld hl, MenuDataHeader_17d26a
|
||||
ld hl, MenuDataHeader_17d26a ; Japanese Menu, where you can choose 'News' as an option
|
||||
jr .asm_17d23c
|
||||
|
||||
.asm_17d234
|
||||
ld a, $4
|
||||
ld [ScriptVar], a
|
||||
ld hl, MenuDataHeader_17d28f
|
||||
ld hl, MenuDataHeader_ChallengeExplanationCancel ; English Menu
|
||||
|
||||
.asm_17d23c
|
||||
call LoadMenuDataHeader
|
||||
@ -488,14 +498,14 @@ MenuData2_17d272: ; 17d272
|
||||
db "やめる@"
|
||||
; 17d28f
|
||||
|
||||
MenuDataHeader_17d28f: ; 17d28f
|
||||
MenuDataHeader_ChallengeExplanationCancel: ; 17d28f
|
||||
db $40 ; flags
|
||||
db 0, 0 ; start coords
|
||||
db 7, 14 ; end coords
|
||||
dw MenuData2_17d297
|
||||
dw MenuData2_ChallengeExplanationCancel
|
||||
db 1 ; default option
|
||||
|
||||
MenuData2_17d297: ; 17d297
|
||||
MenuData2_ChallengeExplanationCancel: ; 17d297
|
||||
db $a0 ; flags
|
||||
db 3
|
||||
db "Challenge@"
|
||||
@ -2388,7 +2398,7 @@ Function17ded9: ; 17ded9
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
push hl
|
||||
callba Function4dba3
|
||||
callba SetPkmnCaughtData
|
||||
pop hl
|
||||
pop bc
|
||||
jr .asm_17df5e
|
||||
@ -2534,7 +2544,7 @@ endr
|
||||
; 17e026
|
||||
|
||||
Function17e026: ; 17e026
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxCount)
|
||||
call GetSRAMBank
|
||||
ld a, [sBoxCount]
|
||||
call CloseSRAM
|
||||
@ -2545,11 +2555,11 @@ Function17e026: ; 17e026
|
||||
push bc
|
||||
push hl
|
||||
callba LoadEnemyMon
|
||||
callba Functionde6e
|
||||
callba SentPkmnIntoBox
|
||||
callba Function4db83
|
||||
pop hl
|
||||
pop bc
|
||||
ld a, $1
|
||||
ld a, BANK(sBoxMonNicknames)
|
||||
call GetSRAMBank
|
||||
bit 1, b
|
||||
jr z, .asm_17e067
|
||||
@ -4294,9 +4304,9 @@ Function17f334: ; 17f334
|
||||
ld a, [wcd55]
|
||||
bit 7, a
|
||||
jr nz, .asm_17f355
|
||||
ld a, $1
|
||||
ld a, BANK(sCrystalData)
|
||||
call GetSRAMBank
|
||||
ld a, [$be3f]
|
||||
ld a, [sCrystalData + 2]
|
||||
jr .asm_17f35d
|
||||
|
||||
.asm_17f355
|
||||
@ -4338,9 +4348,9 @@ Function17f382: ; 17f382
|
||||
ld a, [wcd55]
|
||||
bit 7, a
|
||||
jr nz, .asm_17f3a3
|
||||
ld a, $1
|
||||
ld a, BANK(sCrystalData)
|
||||
call GetSRAMBank
|
||||
ld de, $be40
|
||||
ld de, sCrystalData + 3
|
||||
jr .asm_17f3ab
|
||||
|
||||
.asm_17f3a3
|
||||
|
@ -44,7 +44,7 @@ WantsToBattleText:: ; 0x807a9
|
||||
prompt
|
||||
; 0x807bd
|
||||
|
||||
BattleText_0x807bd: ; 0x807bd
|
||||
BattleText_WildFled: ; 0x807bd
|
||||
text "Wild @"
|
||||
text_from_ram EnemyMonNick
|
||||
text ""
|
||||
@ -52,7 +52,7 @@ BattleText_0x807bd: ; 0x807bd
|
||||
prompt
|
||||
; 0x807cf
|
||||
|
||||
BattleText_0x807cf: ; 0x807cf
|
||||
BattleText_EnemyFled: ; 0x807cf
|
||||
text "Enemy @"
|
||||
text_from_ram EnemyMonNick
|
||||
text ""
|
||||
@ -113,7 +113,7 @@ BattleText_0x80880: ; 0x80880
|
||||
prompt
|
||||
; 0x80899
|
||||
|
||||
BattleText_0x80899: ; 0x80899
|
||||
BattleText_UserRecoveredPPUsing: ; 0x80899
|
||||
text "<USER>"
|
||||
line "recovered PP using"
|
||||
cont "@"
|
||||
@ -129,13 +129,13 @@ BattleText_0x808b6: ; 0x808b6
|
||||
prompt
|
||||
; 0x808d2
|
||||
|
||||
BattleText_0x808d2: ; 0x808d2
|
||||
BattleText_SafeguardFaded: ; 0x808d2
|
||||
text "<USER>'s"
|
||||
line "SAFEGUARD faded!"
|
||||
prompt
|
||||
; 0x808e7
|
||||
|
||||
BattleText_0x808e7: ; 0x808e7
|
||||
BattleText_PkmnnLightScreenFell: ; 0x808e7
|
||||
text_from_ram StringBuffer1
|
||||
text " #MON's"
|
||||
line "LIGHT SCREEN fell!"
|
||||
@ -149,42 +149,42 @@ BattleText_0x80905: ; 0x80905
|
||||
prompt
|
||||
; 0x8091f
|
||||
|
||||
BattleText_0x8091f: ; 0x8091f
|
||||
BattleText_RainContinuesToFall: ; 0x8091f
|
||||
text "Rain continues to"
|
||||
line "fall."
|
||||
prompt
|
||||
; 0x80938
|
||||
|
||||
BattleText_0x80938: ; 0x80938
|
||||
BattleText_TheSunlightIsStrong: ; 0x80938
|
||||
text "The sunlight is"
|
||||
line "strong."
|
||||
prompt
|
||||
; 0x80951
|
||||
|
||||
BattleText_0x80951: ; 0x80951
|
||||
BattleText_TheSandstormRages: ; 0x80951
|
||||
text "The SANDSTORM"
|
||||
line "rages."
|
||||
prompt
|
||||
; 0x80967
|
||||
|
||||
BattleText_0x80967: ; 0x80967
|
||||
BattleText_TheRainStopped: ; 0x80967
|
||||
text "The rain stopped."
|
||||
prompt
|
||||
; 0x8097a
|
||||
|
||||
BattleText_0x8097a: ; 0x8097a
|
||||
BattleText_TheSunlightFaded: ; 0x8097a
|
||||
text "The sunlight"
|
||||
line "faded."
|
||||
prompt
|
||||
; 0x8098f
|
||||
|
||||
BattleText_0x8098f: ; 0x8098f
|
||||
BattleText_TheSandstormSubsided: ; 0x8098f
|
||||
text "The SANDSTORM"
|
||||
line "subsided."
|
||||
prompt
|
||||
; 0x809a8
|
||||
|
||||
BattleText_0x809a8: ; 0x809a8
|
||||
BattleText_EnemyPkmnFainted: ; 0x809a8
|
||||
text "Enemy @"
|
||||
text_from_ram EnemyMonNick
|
||||
text ""
|
||||
@ -199,7 +199,7 @@ GotMoneyForWinningText:
|
||||
line "for winning!"
|
||||
prompt
|
||||
|
||||
BattleText_0x809da: ; 0x809da
|
||||
BattleText_EnemyWasDefeated: ; 0x809da
|
||||
text "<ENEMY>"
|
||||
line "was defeated!"
|
||||
prompt
|
||||
@ -234,14 +234,14 @@ BattleText_0x80a4f: ; 0x80a4f
|
||||
prompt
|
||||
; 0x80a75
|
||||
|
||||
BattleText_0x80a75: ; 0x80a75
|
||||
BattleText_PkmnFainted: ; 0x80a75
|
||||
text_from_ram BattleMonNick
|
||||
text ""
|
||||
line "fainted!"
|
||||
prompt
|
||||
; 0x80a83
|
||||
|
||||
BattleText_0x80a83: ; 0x80a83
|
||||
BattleText_UseNextMon: ; 0x80a83
|
||||
text "Use next #MON?"
|
||||
done
|
||||
; 0x80a93
|
||||
@ -259,7 +259,7 @@ LostAgainstText: ; 0x80ab9
|
||||
prompt
|
||||
; 0x80aca
|
||||
|
||||
BattleText_0x80aca: ; 0x80aca
|
||||
BattleText_EnemyIsAboutToUseWillPlayerChangePkmn: ; 0x80aca
|
||||
text "<ENEMY>"
|
||||
line "is about to use"
|
||||
cont "@"
|
||||
@ -271,7 +271,7 @@ BattleText_0x80aca: ; 0x80aca
|
||||
done
|
||||
; 0x80af8
|
||||
|
||||
BattleText_0x80af8: ; 0x80af8
|
||||
BattleText_EnemySentOut: ; 0x80af8
|
||||
text "<ENEMY>"
|
||||
line "sent out"
|
||||
cont "@"
|
||||
@ -280,34 +280,32 @@ BattleText_0x80af8: ; 0x80af8
|
||||
done
|
||||
; 0x80b0b
|
||||
|
||||
BattleText_0x80b0b: ; 0x80b0b
|
||||
BattleText_TheresNoWillToBattle: ; 0x80b0b
|
||||
text "There's no will to"
|
||||
line "battle!"
|
||||
prompt
|
||||
; 0x80b26
|
||||
|
||||
BattleText_0x80b26: ; 0x80b26
|
||||
BattleText_AnEGGCantBattle: ; 0x80b26
|
||||
text "An EGG can't"
|
||||
line "battle!"
|
||||
prompt
|
||||
; 0x80b3b
|
||||
|
||||
BattleText_0x80b3b: ; 0x80b3b
|
||||
BattleText_CantEscape2: ; 0x80b3b
|
||||
text "Can't escape!"
|
||||
prompt
|
||||
; 0x80b49
|
||||
|
||||
BattleText_0x80b49: ; 0x80b49
|
||||
BattleText_TheresNoEscapeFromTrainerBattle: ; 0x80b49
|
||||
text "No! There's no"
|
||||
line "running from a"
|
||||
cont "trainer battle!"
|
||||
prompt
|
||||
; 0x80b77
|
||||
|
||||
BattleText_0x80b77: ; 0x80b77
|
||||
BattleText_GotAwaySafely: ; 0x80b77
|
||||
text "Got away safely!"
|
||||
prompt
|
||||
; 0x80b89
|
||||
|
||||
BattleText_0x80b89: ; 0x80b89
|
||||
text "<USER>"
|
||||
@ -318,7 +316,7 @@ BattleText_0x80b89: ; 0x80b89
|
||||
prompt
|
||||
; 0x80ba0
|
||||
|
||||
BattleText_0x80ba0: ; 0x80ba0
|
||||
BattleText_CantEscape: ; 0x80ba0
|
||||
text "Can't escape!"
|
||||
prompt
|
||||
; 0x80bae
|
||||
@ -1282,7 +1280,7 @@ IgnoredOrders2Text: ; 0x81850
|
||||
prompt
|
||||
; 0x81863
|
||||
|
||||
BattleText_0x81863: ; 0x81863
|
||||
BattleText_LinkErrorBattleCanceled: ; 0x81863
|
||||
text "Link error…"
|
||||
|
||||
para "The battle has"
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
UnknownText_0x1ec000: ; 0x1ec000
|
||||
BattleTowerText_0x1ec000: ; 0x1ec000
|
||||
text "Hello, glad to"
|
||||
line "meet you!"
|
||||
|
||||
@ -8,7 +8,7 @@ UnknownText_0x1ec000: ; 0x1ec000
|
||||
done
|
||||
; 0x1ec03b
|
||||
|
||||
UnknownText_0x1ec03b: ; 0x1ec03b
|
||||
BattleTowerText_0x1ec03b: ; 0x1ec03b
|
||||
text "Thank you! A most"
|
||||
line "enjoyable battle!"
|
||||
done
|
||||
@ -20,7 +20,7 @@ UnknownText_0x1ec060: ; 0x1ec060
|
||||
done
|
||||
; 0x1ec080
|
||||
|
||||
UnknownText_0x1ec080: ; 0x1ec080
|
||||
BattleTowerText_0x1ec080: ; 0x1ec080
|
||||
text "Work, work, work…"
|
||||
line "I'm always busy!"
|
||||
done
|
||||
|
@ -1295,7 +1295,7 @@ UnknownText_0x1bcf99: ; 0x1bcf99
|
||||
done
|
||||
; 0x1bcf9c
|
||||
|
||||
UnknownText_0x1bcf9c: ; 0x1bcf9c
|
||||
Text_EnemyWithdrew: ; 0x1bcf9c
|
||||
text "<ENEMY>"
|
||||
line "withdrew"
|
||||
cont "@"
|
||||
@ -1304,7 +1304,7 @@ UnknownText_0x1bcf9c: ; 0x1bcf9c
|
||||
prompt
|
||||
; 0x1bcfaf
|
||||
|
||||
UnknownText_0x1bcfaf: ; 0x1bcfaf
|
||||
Text_EnemyUsedOn: ; 0x1bcfaf
|
||||
text "<ENEMY>"
|
||||
line "used @"
|
||||
text_from_ram wd050
|
||||
@ -1315,19 +1315,19 @@ UnknownText_0x1bcfaf: ; 0x1bcfaf
|
||||
prompt
|
||||
; 0x1bcfc7
|
||||
|
||||
UnknownText_0x1bcfc7: ; 0x1bcfc7
|
||||
Text_ThatCantBeUsedRightNow: ; 0x1bcfc7
|
||||
text "That can't be used"
|
||||
line "right now."
|
||||
prompt
|
||||
; 0x1bcfe5
|
||||
|
||||
UnknownText_0x1bcfe5: ; 0x1bcfe5
|
||||
Text_ThatItemCantBePutInThePack: ; 0x1bcfe5
|
||||
text "That item can't be"
|
||||
line "put in the PACK."
|
||||
done
|
||||
; 0x1bd009
|
||||
|
||||
UnknownText_0x1bd009: ; 0x1bd009
|
||||
Text_TheItemWasPutInThePack: ; 0x1bd009
|
||||
text "The @"
|
||||
text_from_ram StringBuffer1
|
||||
text ""
|
||||
@ -1336,18 +1336,18 @@ UnknownText_0x1bd009: ; 0x1bd009
|
||||
done
|
||||
; 0x1bd029
|
||||
|
||||
UnknownText_0x1bd029: ; 0x1bd029
|
||||
Text_RemainingTime: ; 0x1bd029
|
||||
text "Remaining Time"
|
||||
done
|
||||
; 0x1bd039
|
||||
|
||||
UnknownText_0x1bd039: ; 0x1bd039
|
||||
Text_YourPkmnsHPWasHealed: ; 0x1bd039
|
||||
text "Your #MON's HP"
|
||||
line "was healed."
|
||||
prompt
|
||||
; 0x1bd054
|
||||
|
||||
UnknownText_0x1bd054: ; 0x1bd054
|
||||
Text_Warping: ; 0x1bd054
|
||||
text "Warping…"
|
||||
done
|
||||
; 0x1bd05e
|
||||
@ -1372,7 +1372,7 @@ UnknownText_0x1bd09a: ; 0x1bd09a
|
||||
prompt
|
||||
; 0x1bd0bd
|
||||
|
||||
UnknownText_0x1bd0bd: ; 0x1bd0bd
|
||||
Text_BreedingIsNotPossible: ; 0x1bd0bd
|
||||
text "Breeding is not"
|
||||
line "possible."
|
||||
prompt
|
||||
|
@ -129,29 +129,29 @@ UnknownText_0x1c02c9: ; 1c02c9
|
||||
prompt
|
||||
; 1c02df
|
||||
|
||||
UnknownText_0x1c02df: ; 1c02df
|
||||
Text_GoPkmn: ; 1c02df
|
||||
text "Go! @"
|
||||
db "@"
|
||||
; 1c02e6
|
||||
|
||||
UnknownText_0x1c02e6: ; 1c02e6
|
||||
Text_DoItPkmn: ; 1c02e6
|
||||
text "Do it! @"
|
||||
db "@"
|
||||
; 1c02f0
|
||||
|
||||
UnknownText_0x1c02f0: ; 1c02f0
|
||||
Text_GoForItPkmn: ; 1c02f0
|
||||
text "Go for it,"
|
||||
line "@"
|
||||
db "@"
|
||||
; 1c02fe
|
||||
|
||||
UnknownText_0x1c02fe: ; 1c02fe
|
||||
Text_YourFoesWeakGetmPkmn: ; 1c02fe
|
||||
text "Your foe's weak!"
|
||||
line "Get'm, @"
|
||||
db "@"
|
||||
; 1c0317
|
||||
|
||||
UnknownText_0x1c0317: ; 1c0317
|
||||
Text_BattleMonNick01: ; 1c0317
|
||||
text_from_ram BattleMonNick
|
||||
text "!"
|
||||
done
|
||||
@ -1074,7 +1074,7 @@ UnknownText_0x1c0fdd: ; 1c0fdd
|
||||
done
|
||||
; 1c0feb
|
||||
|
||||
UnknownText_0x1c0feb: ; 1c0feb
|
||||
Text_WasSentToBillsPC: ; 1c0feb
|
||||
text_from_ram StringBuffer1
|
||||
text " was"
|
||||
line "sent to BILL's PC."
|
||||
|
@ -1262,7 +1262,7 @@ UnknownText_0x1c5937: ; 0x1c5937
|
||||
done
|
||||
; 0x1c5944
|
||||
|
||||
UnknownText_0x1c5944: ; 0x1c5944
|
||||
Text_ExcuseMeYoureNotReady: ; 0x1c5944
|
||||
text "Excuse me."
|
||||
line "You're not ready."
|
||||
para ""
|
||||
@ -1289,14 +1289,14 @@ UnknownText_0x1c59a3: ; 0x1c59a3
|
||||
done
|
||||
; 0x1c59c3
|
||||
|
||||
UnknownText_0x1c59c3: ; 0x1c59c3
|
||||
Text_OnlyThreePkmnMayBeEntered: ; 0x1c59c3
|
||||
text "Only three #MON"
|
||||
line "may be entered."
|
||||
para ""
|
||||
done
|
||||
; 0x1c59e5
|
||||
|
||||
UnknownText_0x1c59e5: ; 0x1c59e5
|
||||
Text_ThePkmnMustAllBeDifferentKinds: ; 0x1c59e5
|
||||
text "The @"
|
||||
text_from_ram StringBuffer2
|
||||
text " #MON"
|
||||
@ -1306,7 +1306,7 @@ UnknownText_0x1c59e5: ; 0x1c59e5
|
||||
done
|
||||
; 0x1c5a13
|
||||
|
||||
UnknownText_0x1c5a13: ; 0x1c5a13
|
||||
Text_ThePkmnMustNotHoldTheSameItems: ; 0x1c5a13
|
||||
text "The @"
|
||||
text_from_ram StringBuffer2
|
||||
text " #MON"
|
||||
@ -1316,7 +1316,7 @@ UnknownText_0x1c5a13: ; 0x1c5a13
|
||||
done
|
||||
; 0x1c5a42
|
||||
|
||||
UnknownText_0x1c5a42: ; 0x1c5a42
|
||||
Text_YouCantTakeAnEgg: ; 0x1c5a42
|
||||
text "You can't take an"
|
||||
line "EGG!"
|
||||
para ""
|
||||
|
83
wram.asm
83
wram.asm
@ -443,6 +443,7 @@ SECTION "Battle", WRAM0
|
||||
|
||||
wMisc::
|
||||
wBattle::
|
||||
wBT_OTTempCopy:: ; used to copy the data of the BattleTower-Trainer and the 3 Pkmn
|
||||
|
||||
wc608::
|
||||
wEnemyMoveStruct:: ds MOVE_LENGTH ; c608
|
||||
@ -808,6 +809,7 @@ wc716:: ds 1
|
||||
wc717:: ds 1
|
||||
wc718:: ds 1
|
||||
wc719:: ds 1
|
||||
LastPlayerMon:: ; c71a
|
||||
wc71a:: ds 1
|
||||
LastPlayerMove:: ; c71b
|
||||
ds 1
|
||||
@ -884,6 +886,23 @@ wMiscEnd::
|
||||
wc7e8:: ds 24
|
||||
|
||||
|
||||
RSSET 0 ; Offsets for wBT_OTTempCopy:: @ $c608
|
||||
wBT_OTTempCopy_0 RB $A ; $c608
|
||||
wBT_OTTempCopy_TrainerClass RB $1 ; $c608 + $a = $c612
|
||||
wBT_OTTempCopy_Pkmn1 RB $30 ; $c608 + $b = $c613
|
||||
wBT_OTTempCopy_Pkmn1Name RB $A ; $c608 + $3b = $c643
|
||||
wBT_OTTempCopy_45 RB $1 ; $c608 + $45 = $c64d
|
||||
wBT_OTTempCopy_Pkmn2 RB $30 ; $c608 + $46 = $c64e
|
||||
wBT_OTTempCopy_Pkmn2Name RB $A ; $c608 + $76 = $c67e
|
||||
wBT_OTTempCopy_80 RB $1 ; $c608 + $80 = $c688
|
||||
wBT_OTTempCopy_Pkmn3 RB $30 ; $c608 + $81 = $c689
|
||||
wBT_OTTempCopy_Pkmn3Name RB $A ; $c608 + $b1 = $c6b9
|
||||
wBT_OTTempCopy_BB RB $1 ; $c608 + $bb = $c6c3
|
||||
|
||||
GLOBAL wBT_OTTempCopy_TrainerClass, wBT_OTTempCopy_Pkmn1, wBT_OTTempCopy_Pkmn1Name, wBT_OTTempCopy_45, wBT_OTTempCopy_Pkmn2, wBT_OTTempCopy_Pkmn2Name, wBT_OTTempCopy_80, wBT_OTTempCopy_Pkmn3, wBT_OTTempCopy_Pkmn3Name, wBT_OTTempCopy_BB
|
||||
|
||||
|
||||
|
||||
SECTION "Overworld Map", WRAM0 [$c800]
|
||||
|
||||
wc800::
|
||||
@ -1172,6 +1191,7 @@ CurSpecies:: ; cf60
|
||||
|
||||
wcf61:: ds 2
|
||||
wcf63:: ds 1
|
||||
wNrOfBeatenBattleTowerTrainers::
|
||||
wcf64:: ds 1
|
||||
IF !DEF(CRYSTAL11)
|
||||
wPokedexStatus::
|
||||
@ -1260,7 +1280,13 @@ GameTimerPause:: ; cfbc
|
||||
ds 1
|
||||
|
||||
wcfbe:: ds 2
|
||||
wcfc0:: ds 2
|
||||
|
||||
InBattleTowerBattle:: ; cfc0
|
||||
; 0 not in BattleTower-Battle
|
||||
; 1 BattleTower-Battle
|
||||
ds 1
|
||||
|
||||
ds 1
|
||||
|
||||
FXAnimID::
|
||||
FXAnimIDLo:: ; cfc2
|
||||
@ -1818,6 +1844,7 @@ wd25e:: ds 4
|
||||
wd262:: ds 1
|
||||
wd263:: ds 1
|
||||
wd264:: ds 1
|
||||
GetPokemonName_Parameter::
|
||||
wd265:: ds 1
|
||||
wd266:: ds 1
|
||||
wd267:: ds 1
|
||||
@ -2598,11 +2625,36 @@ w2_d188:: ds 1
|
||||
|
||||
SECTION "WRAM 3", WRAMX, BANK [3]
|
||||
|
||||
w3_d000:: ; d000
|
||||
ds $100
|
||||
|
||||
w3_d100::
|
||||
ds $700
|
||||
BT_OTrainer::
|
||||
w3_d100:: ; BattleTower OpponentTrainer-Data (length = 0xe0 = $a + $1 + 3*$3b + $24)
|
||||
BT_OTrainer_Name::
|
||||
ds $A
|
||||
BT_OTrainer_TrainerClass::
|
||||
ds $1
|
||||
BT_OTPkmn1:: ; w3_d10b
|
||||
ds $1
|
||||
BT_OTPkmn1Item::
|
||||
ds $3b-1
|
||||
BT_OTPkmn2:: ; w3_d146
|
||||
ds $1
|
||||
BT_OTPkmn2Item::
|
||||
ds $3b-1
|
||||
BT_OTPkmn3:: ; w3_d181
|
||||
ds $1
|
||||
BT_OTPkmn3Item::
|
||||
ds $3b-1
|
||||
|
||||
ds $24
|
||||
BT_OTrainerEnd:: ; we_d1e0
|
||||
|
||||
ds $20
|
||||
|
||||
ds $600
|
||||
|
||||
wBTChoiceOfLvlGroup::
|
||||
w3_d800:: ds 1
|
||||
|
||||
|
||||
@ -2772,17 +2824,26 @@ sCrystalData::
|
||||
s1_be44:: ds 1
|
||||
s1_be45:: ds 1
|
||||
|
||||
; data of the BattleTower must be in SRAM because you can save and leave between battles
|
||||
sBattleTower:: ; be46
|
||||
sNrOfBeatenBattleTowerTrainers::
|
||||
sbe46:: ds 1
|
||||
sbe47:: ds 1
|
||||
sbe48:: ds 7
|
||||
sbe4f:: ds 2
|
||||
sbe51:: ds 1
|
||||
sbe52:: ds 1
|
||||
sbe53:: ds 1
|
||||
sbe54:: ds 1
|
||||
sbe55:: ds 1
|
||||
sbe56:: ds 1
|
||||
; The 7 trainers of the BattleTower are saved here, so nobody appears more than once
|
||||
sBTTrainers:: ; sbe48
|
||||
ds 7
|
||||
sbe4f:: ds 1
|
||||
sbe50:: ds 1
|
||||
; Pkmn of previous trainer
|
||||
sBTPkmnOfTrainers:: ; 0xbe51
|
||||
sBTPkmnPrevTrainer1::
|
||||
ds 1
|
||||
sBTPkmnPrevTrainer2:: ds 1
|
||||
sBTPkmnPrevTrainer3:: ds 1
|
||||
; Pkmn of preprevious trainer
|
||||
sBTPkmnPrevPrevTrainer1:: ds 1
|
||||
sBTPkmnPrevPrevTrainer2:: ds 1
|
||||
sBTPkmnPrevPrevTrainer3:: ds 1
|
||||
|
||||
|
||||
SECTION "Boxes 1-7", SRAM, BANK [2]
|
||||
|
Loading…
Reference in New Issue
Block a user