You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
More battle tower shenanigans
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
Function1700b0: ; 1700b0
|
||||
call Bank5c_ClearJumptableRAM
|
||||
call InitBattleTowerChallengeRAM
|
||||
callba Function118121
|
||||
ret
|
||||
; 1700ba
|
||||
|
||||
Function1700ba: ; 1700ba
|
||||
call Bank5c_ClearJumptableRAM
|
||||
call InitBattleTowerChallengeRAM
|
||||
callba Function11811a
|
||||
ret
|
||||
; 1700c4
|
||||
@@ -53,7 +53,7 @@ Function1700c4: ; 1700c4
|
||||
; 170114
|
||||
|
||||
Function170114: ; 170114
|
||||
call Bank5c_ClearJumptableRAM
|
||||
call InitBattleTowerChallengeRAM
|
||||
call Function170121
|
||||
callba Function11805f
|
||||
ret
|
||||
@@ -64,7 +64,7 @@ Function170121: ; 170121
|
||||
call GetSRAMBank
|
||||
ld hl, $a948
|
||||
ld de, wMisc
|
||||
ld bc, $00f6
|
||||
ld bc, $00f6 ; 246
|
||||
call CopyBytes
|
||||
call CloseSRAM
|
||||
call Function170c8b
|
||||
@@ -183,7 +183,7 @@ Function170139: ; 170139
|
||||
|
||||
BattleTowerBattle: ; 170215
|
||||
xor a
|
||||
ld [wcf63], a
|
||||
ld [wBattleTowerBattleEnded], a
|
||||
call _BattleTowerBattle
|
||||
ret
|
||||
; 17021d
|
||||
@@ -192,10 +192,10 @@ EmptySpecial_17021d: ; 17021d
|
||||
ret
|
||||
; 17021e
|
||||
|
||||
Bank5c_ClearJumptableRAM: ; 17021e
|
||||
InitBattleTowerChallengeRAM: ; 17021e
|
||||
xor a
|
||||
ld [wcf63], a
|
||||
ld [wcf64], a
|
||||
ld [wBattleTowerBattleEnded], a
|
||||
ld [wNrOfBeatenBattleTowerTrainers], a
|
||||
ld [wcf65], a
|
||||
ld [wcf66], a
|
||||
ret
|
||||
@@ -205,14 +205,14 @@ _BattleTowerBattle: ; 17022c
|
||||
.loop
|
||||
call .do_jumptable
|
||||
call DelayFrame
|
||||
ld a, [wcf63]
|
||||
ld a, [wBattleTowerBattleEnded]
|
||||
cp $1
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 17023a
|
||||
|
||||
.do_jumptable: ; 17023a
|
||||
ld a, [wcf63]
|
||||
ld a, [wBattleTowerBattleEnded]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, .jumptable
|
||||
@@ -259,10 +259,10 @@ RunBattleTowerTrainer: ; 17024d
|
||||
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
|
||||
call GetSRAMBank
|
||||
ld a, [sNrOfBeatenBattleTowerTrainers]
|
||||
ld [wNrOfBeatenBattleTowerTrainers], a ; wcf64
|
||||
ld [wNrOfBeatenBattleTowerTrainers], a
|
||||
call CloseSRAM
|
||||
ld hl, StringBuffer3
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers] ; wcf64
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers]
|
||||
add "1"
|
||||
ld [hli], a
|
||||
ld a, "@"
|
||||
@@ -274,7 +274,7 @@ RunBattleTowerTrainer: ; 17024d
|
||||
pop af
|
||||
ld [Options], a
|
||||
ld a, $1
|
||||
ld [wcf63], a
|
||||
ld [wBattleTowerBattleEnded], a
|
||||
ret
|
||||
|
||||
|
||||
@@ -661,7 +661,7 @@ Function1704e1: ; 1704e1
|
||||
; unreferenced special
|
||||
call SpeechTextBox
|
||||
call FadeToMenu
|
||||
call Bank5c_ClearJumptableRAM
|
||||
call InitBattleTowerChallengeRAM
|
||||
call .JumptableLoop
|
||||
call CloseSubmenu
|
||||
ret
|
||||
@@ -758,20 +758,20 @@ endr
|
||||
ret
|
||||
|
||||
.pressed_up
|
||||
ld a, [wcf64]
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers]
|
||||
and a
|
||||
ret z
|
||||
sub 15
|
||||
ld [wcf64], a
|
||||
ld [wNrOfBeatenBattleTowerTrainers], a
|
||||
call .PlaceTextItems
|
||||
ret
|
||||
|
||||
.pressed_down
|
||||
ld a, [wcf64]
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers]
|
||||
cp 60
|
||||
ret z
|
||||
add 15
|
||||
ld [wcf64], a
|
||||
ld [wNrOfBeatenBattleTowerTrainers], a
|
||||
call .PlaceTextItems
|
||||
ret
|
||||
|
||||
@@ -834,7 +834,7 @@ endr
|
||||
ld a, $50
|
||||
ld [wcd4e], a
|
||||
ld hl, wMisc
|
||||
ld a, [wcf64]
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers]
|
||||
ld c, a
|
||||
xor a
|
||||
ld b, a
|
||||
@@ -916,7 +916,7 @@ endr
|
||||
; 17065d
|
||||
|
||||
.PlaceUpDownArrows: ; 17065d
|
||||
ld a, [wcf64]
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers]
|
||||
and a
|
||||
jr z, .nope
|
||||
hlcoord 18, 5
|
||||
@@ -924,7 +924,7 @@ endr
|
||||
ld [hl], a
|
||||
|
||||
.nope
|
||||
ld a, [wcf64]
|
||||
ld a, [wNrOfBeatenBattleTowerTrainers]
|
||||
cp 60
|
||||
ret z
|
||||
hlcoord 18, 16
|
||||
@@ -984,11 +984,11 @@ endr
|
||||
dw Function170ae8 ; 0x18
|
||||
dw Function170b16 ; 0x19
|
||||
dw ResetBattleTowerTrainersSRAM ; 0x1a
|
||||
dw Function1706ee ; 0x1b
|
||||
dw BattleTower_GiveReward ; 0x1b
|
||||
dw Function17071b ; 0x1c
|
||||
dw Function170729 ; 0x1d
|
||||
dw BattleTower_RandomlyChooseReward ; 0x1e
|
||||
dw Function170737 ; 0x1f
|
||||
dw BattleTower_SaveOptions ; 0x1f
|
||||
|
||||
|
||||
; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes)
|
||||
@@ -1008,7 +1008,7 @@ ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a
|
||||
|
||||
ret
|
||||
|
||||
Function1706ee: ; 1706ee (5c:46ee) BattleTowerAction $1b
|
||||
BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b
|
||||
ld a, BANK(sBattleTowerReward)
|
||||
call GetSRAMBank
|
||||
|
||||
@@ -1053,11 +1053,11 @@ Function170729: ; 170729 (5c:4729) BattleTowerAction $1d
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function170737: ; 170737 (5c:4737) BattleTowerAction $1e
|
||||
BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f
|
||||
callba SaveOptions
|
||||
ret
|
||||
|
||||
BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1f
|
||||
BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e
|
||||
; Generate a random stat boosting item.
|
||||
.loop
|
||||
call Random
|
||||
@@ -1646,3 +1646,134 @@ Function170b16: ; 170b16 (5c:4b16) BattleTowerAction $19
|
||||
call CloseSRAM
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
|
||||
Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
|
||||
callba Function_LoadOpponentTrainerAndPokemons
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $3
|
||||
ld [rSVBK], a
|
||||
ld hl, BT_OTTrainerClass
|
||||
ld a, [hl]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ld hl, .Sprites
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBTTempOTSprite], 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
|
||||
ld e, a
|
||||
sla a
|
||||
sla a
|
||||
sla a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld d, 0
|
||||
ld hl, MapObjects
|
||||
add hl, bc
|
||||
inc hl
|
||||
ld a, [wBTTempOTSprite]
|
||||
ld [hl], a
|
||||
ld hl, UsedSprites
|
||||
add hl, de
|
||||
ld [hli], a
|
||||
ld [hUsedSpriteIndex], a
|
||||
ld a, [hl]
|
||||
ld [hUsedSpriteTile], a
|
||||
callba GetUsedSprite
|
||||
ret
|
||||
; 170b90
|
||||
|
||||
.Sprites:
|
||||
db SPRITE_FALKNER
|
||||
db SPRITE_WHITNEY
|
||||
db SPRITE_BUGSY
|
||||
db SPRITE_MORTY
|
||||
db SPRITE_PRYCE
|
||||
db SPRITE_JASMINE
|
||||
db SPRITE_CHUCK
|
||||
db SPRITE_CLAIR
|
||||
db SPRITE_SILVER
|
||||
db SPRITE_OAK
|
||||
db SPRITE_WILL
|
||||
db SPRITE_CHRIS
|
||||
db SPRITE_BRUNO
|
||||
db SPRITE_KAREN
|
||||
db SPRITE_KOGA
|
||||
db SPRITE_LANCE
|
||||
db SPRITE_BROCK
|
||||
db SPRITE_MISTY
|
||||
db SPRITE_SURGE
|
||||
db SPRITE_SCIENTIST
|
||||
db SPRITE_ERIKA
|
||||
db SPRITE_YOUNGSTER
|
||||
db SPRITE_YOUNGSTER
|
||||
db SPRITE_YOUNGSTER
|
||||
db SPRITE_LASS
|
||||
db SPRITE_JANINE
|
||||
db SPRITE_COOLTRAINER_M
|
||||
db SPRITE_COOLTRAINER_F
|
||||
db SPRITE_BUENA
|
||||
db SPRITE_SUPER_NERD
|
||||
db SPRITE_ROCKET
|
||||
db SPRITE_GENTLEMAN
|
||||
db SPRITE_BUENA
|
||||
db SPRITE_TEACHER
|
||||
db SPRITE_SABRINA
|
||||
db SPRITE_BUG_CATCHER
|
||||
db SPRITE_FISHER
|
||||
db SPRITE_SUPER_NERD
|
||||
db SPRITE_COOLTRAINER_F
|
||||
db SPRITE_SAILOR
|
||||
db SPRITE_SUPER_NERD
|
||||
db SPRITE_BLUE
|
||||
db SPRITE_ROCKER
|
||||
db SPRITE_POKEFAN_M
|
||||
db SPRITE_BIKER
|
||||
db SPRITE_BLAINE
|
||||
db SPRITE_PHARMACIST
|
||||
db SPRITE_FISHER
|
||||
db SPRITE_SUPER_NERD
|
||||
db SPRITE_BLACK_BELT
|
||||
db SPRITE_ROCKET
|
||||
db SPRITE_YOUNGSTER
|
||||
db SPRITE_LASS
|
||||
db SPRITE_YOUNGSTER
|
||||
db SPRITE_ROCKET_GIRL
|
||||
db SPRITE_SAGE
|
||||
db SPRITE_GRANNY
|
||||
db SPRITE_ROCKER
|
||||
db SPRITE_POKEFAN_M
|
||||
db SPRITE_KIMONO_GIRL
|
||||
db SPRITE_TWIN
|
||||
db SPRITE_POKEFAN_F
|
||||
db SPRITE_RED
|
||||
db SPRITE_BLUE
|
||||
db SPRITE_OFFICER
|
||||
db SPRITE_ROCKET_GIRL
|
||||
|
||||
ret_170bd2: ; 170bd2
|
||||
ret
|
||||
; 170bd3
|
||||
|
||||
SpecialCheckForBattleTowerRules: ; 170bd3
|
||||
callba CheckForBattleTowerRules
|
||||
jr c, .asm_170bde
|
||||
xor a
|
||||
jr .asm_170be0
|
||||
|
||||
.asm_170bde
|
||||
ld a, $1
|
||||
|
||||
.asm_170be0
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 170be4
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,7 @@ Function170000: ; 170000
|
||||
ld bc, $008f
|
||||
call CopyBytes
|
||||
ret
|
||||
|
||||
; 17005a
|
||||
|
||||
Function17005a: ; 17005a
|
||||
@@ -71,85 +72,11 @@ Function17005a: ; 17005a
|
||||
ld [wc74e], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
; 1700b0
|
||||
|
||||
INCLUDE "misc/battle_tower_5c.asm"
|
||||
|
||||
Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
|
||||
callba Function_LoadOpponentTrainerAndPokemons
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $3
|
||||
ld [rSVBK], a
|
||||
ld hl, wd10a
|
||||
ld a, [hl]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ld hl, Unknown_170b90
|
||||
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
|
||||
ld e, a
|
||||
sla a
|
||||
sla a
|
||||
sla a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld d, $0
|
||||
ld hl, MapObjects
|
||||
add hl, bc
|
||||
inc hl
|
||||
ld a, [wcd49]
|
||||
ld [hl], a
|
||||
ld hl, UsedSprites
|
||||
add hl, de
|
||||
ld [hli], a
|
||||
ld [hUsedSpriteIndex], a
|
||||
ld a, [hl]
|
||||
ld [hUsedSpriteTile], a
|
||||
callba GetUsedSprite
|
||||
ret
|
||||
; 170b90
|
||||
|
||||
Unknown_170b90:
|
||||
db $12, $13, $14, $15, $18, $17
|
||||
db $16, $19, $04, $05, $11, $01
|
||||
db $1c, $1b, $21, $1e, $1a, $1d
|
||||
db $1f, $3c, $20, $27, $27, $27
|
||||
db $28, $0a, $23, $24, $2a, $2b
|
||||
db $35, $40, $2a, $29, $22, $25
|
||||
db $3a, $2b, $24, $49, $2b, $07
|
||||
db $2c, $2d, $4a, $0d, $4b, $3a
|
||||
db $2b, $41, $35, $27, $28, $27
|
||||
db $36, $3e, $30, $2c, $2d, $3d
|
||||
db $26, $2e, $06, $07, $43, $36
|
||||
|
||||
Function170bd2: ; 170bd2
|
||||
ret
|
||||
; 170bd3
|
||||
|
||||
SpecialCheckForBattleTowerRules: ; 170bd3
|
||||
callba CheckForBattleTowerRules
|
||||
jr c, .asm_170bde
|
||||
xor a
|
||||
jr .asm_170be0
|
||||
|
||||
.asm_170bde
|
||||
ld a, $1
|
||||
|
||||
.asm_170be0
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 170be4
|
||||
Function170be4: ; 170be4
|
||||
ld a, $5
|
||||
call GetSRAMBank
|
||||
@@ -159,6 +86,7 @@ Function170be4: ; 170be4
|
||||
call ByteFill
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
; 170bf7
|
||||
|
||||
Clears5_a89a: ; 170bf7
|
||||
@@ -170,6 +98,7 @@ Clears5_a89a: ; 170bf7
|
||||
ld [hl], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
; 170c06
|
||||
|
||||
Function170c06: ; 170c06
|
||||
@@ -275,6 +204,7 @@ endr
|
||||
ld [hl], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
; 170c8b
|
||||
|
||||
Function170c8b: ; 170c8b
|
||||
@@ -287,6 +217,7 @@ Function170c8b: ; 170c8b
|
||||
dec b
|
||||
jr nz, .asm_170c90
|
||||
ret
|
||||
|
||||
; 170c98
|
||||
|
||||
CheckBTMonMovesForErrors: ; 170c98
|
||||
@@ -330,6 +261,7 @@ CheckBTMonMovesForErrors: ; 170c98
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
; 170cc6
|
||||
|
||||
Function170cc6: ; 170cc6
|
||||
@@ -338,7 +270,7 @@ Function170cc6: ; 170cc6
|
||||
ld a, $6
|
||||
ld [rSVBK], a
|
||||
ld hl, LZ_170d16
|
||||
ld de, wd000
|
||||
ld de, wBackupTilemap
|
||||
call Decompress
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
@@ -358,6 +290,7 @@ Function170cc6: ; 170cc6
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
|
||||
; 170d02
|
||||
|
||||
Function170d02: ; 170d02
|
||||
@@ -370,6 +303,7 @@ Function170d02: ; 170d02
|
||||
xor a
|
||||
ld [rVBK], a
|
||||
ret
|
||||
|
||||
; 170d16
|
||||
|
||||
LZ_170d16:
|
||||
@@ -417,15 +351,16 @@ Function1719ed: ; 1719ed (5c:59ed)
|
||||
ret
|
||||
|
||||
Function171a11: ; 171a11 (5c:5a11)
|
||||
.loop
|
||||
call JoyTextDelay
|
||||
ld a, [wcd49]
|
||||
bit 7, a
|
||||
jr nz, .asm_171a2c
|
||||
jr nz, .done
|
||||
call Function171a36
|
||||
callba PlaySpriteAnimations
|
||||
callba ReloadMapPart
|
||||
jr Function171a11
|
||||
.asm_171a2c
|
||||
jr .loop
|
||||
.done
|
||||
callba ClearSpriteAnims
|
||||
call ClearSprites
|
||||
ret
|
||||
@@ -465,6 +400,7 @@ Function171a5d: ; 171a5d (5c:5a5d)
|
||||
bit 0, a
|
||||
ret nz
|
||||
jp Function171c66
|
||||
|
||||
.asm_171a6a
|
||||
ld a, $0
|
||||
call Function3e32
|
||||
@@ -492,6 +428,7 @@ Function171a95: ; 171a95 (5c:5a95)
|
||||
ld de, String_171aa7
|
||||
call PlaceString
|
||||
jp Function171c66
|
||||
|
||||
; 171aa7 (5c:5aa7)
|
||||
|
||||
String_171aa7: ; 171aa7
|
||||
@@ -626,6 +563,7 @@ Function171b9f: ; 171b9f (5c:5b9f)
|
||||
ld a, $80
|
||||
ld [wcd49], a
|
||||
ret
|
||||
|
||||
asm_171ba5: ; 171ba5 (5c:5ba5)
|
||||
ld a, [wcd4a]
|
||||
and a
|
||||
@@ -633,6 +571,7 @@ asm_171ba5: ; 171ba5 (5c:5ba5)
|
||||
dec a
|
||||
ld [wcd4a], a
|
||||
ret
|
||||
|
||||
asm_171baf: ; 171baf (5c:5baf)
|
||||
ld a, [wcd4b]
|
||||
ld c, a
|
||||
@@ -729,6 +668,7 @@ Function171c66: ; 171c66 (5c:5c66)
|
||||
ld hl, wcd49
|
||||
inc [hl]
|
||||
ret
|
||||
|
||||
; 171c6b (5c:5c6b)
|
||||
|
||||
MenuDataHeader_171c6b: ; 171c6b
|
||||
@@ -807,6 +747,7 @@ endr
|
||||
hlcoord 3, 16
|
||||
ld de, String_172e3f
|
||||
jp PlaceString
|
||||
|
||||
.asm_171d16
|
||||
ld hl, Tilemap_1725f9
|
||||
decoord 0, 7
|
||||
@@ -841,6 +782,7 @@ Function171d2b: ; 171d2b (5c:5d2b)
|
||||
ld de, String_172e58
|
||||
call PlaceString
|
||||
ret
|
||||
|
||||
; 171d71 (5c:5d71)
|
||||
|
||||
Palette_171d71:
|
||||
@@ -931,6 +873,7 @@ Function172e78: ; 172e78 (5c:6e78)
|
||||
ld bc, $168
|
||||
call CopyBytes
|
||||
ret
|
||||
|
||||
; 172eb9 (5c:6eb9)
|
||||
|
||||
Function172eb9:
|
||||
@@ -950,6 +893,7 @@ Function172eb9:
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
|
||||
; 172edf (5c:6edf)
|
||||
|
||||
Palette_172edf:
|
||||
|
||||
Reference in New Issue
Block a user