Merge pull request #312 from JimB16/master

Added comments and changed labels (mainly for BattleTower)
This commit is contained in:
yenatch 2015-09-09 16:02:55 -04:00
commit cc0d5d4c8b
21 changed files with 961 additions and 786 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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."

View File

@ -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 ""

View File

@ -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]