mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-16 18:30:50 +12:00

LuciShrimp strikes again! A demake of the Legendary Battle theme from FireRed/LeafGreen. This theme is set to change down the line, possibly taking elements from the Emerald theme Mew uses to differentiate itself more. Mainly committing as the infrastructure has been put in place.
160 lines
2.7 KiB
NASM
160 lines
2.7 KiB
NASM
DebugMenu:
|
|
IF DEF(_DEBUG)
|
|
call ClearScreen
|
|
|
|
; These debug names are used for TestBattle.
|
|
; StartNewGameDebug uses the debug names from PrepareOakSpeech.
|
|
ld hl, DebugBattlePlayerName
|
|
ld de, wPlayerName
|
|
ld bc, NAME_LENGTH
|
|
call CopyData
|
|
|
|
ld hl, DebugBattleRivalName
|
|
ld de, wRivalName
|
|
ld bc, NAME_LENGTH
|
|
call CopyData
|
|
|
|
call LoadFontTilePatterns
|
|
call LoadHpBarAndStatusTilePatterns
|
|
call ClearSprites
|
|
call RunDefaultPaletteCommand
|
|
|
|
hlcoord 5, 6
|
|
ld b, 3
|
|
ld c, 9
|
|
call TextBoxBorder
|
|
|
|
hlcoord 7, 7
|
|
ld de, DebugMenuOptions
|
|
call PlaceString
|
|
|
|
ld a, TEXT_DELAY_MEDIUM
|
|
ld [wOptions], a
|
|
|
|
ld a, A_BUTTON | B_BUTTON | START
|
|
ld [wMenuWatchedKeys], a
|
|
xor a
|
|
ld [wMenuJoypadPollCount], a
|
|
inc a
|
|
ld [wMaxMenuItem], a
|
|
ld a, 7
|
|
ld [wTopMenuItemY], a
|
|
dec a
|
|
ld [wTopMenuItemX], a
|
|
xor a
|
|
ld [wCurrentMenuItem], a
|
|
ld [wLastMenuItem], a
|
|
ld [wMenuWatchMovingOutOfBounds], a
|
|
|
|
call HandleMenuInput
|
|
bit BIT_B_BUTTON, a
|
|
jp nz, DisplayTitleScreen
|
|
|
|
ld a, [wCurrentMenuItem]
|
|
and a ; FIGHT?
|
|
jp z, TestBattle
|
|
|
|
; DEBUG
|
|
ld hl, wd732
|
|
set 1, [hl]
|
|
jp StartNewGameDebug
|
|
|
|
DebugBattlePlayerName:
|
|
db "Tom@"
|
|
|
|
DebugBattleRivalName:
|
|
db "Juerry@"
|
|
|
|
DebugMenuOptions:
|
|
db "FIGHT"
|
|
next "DEBUG@"
|
|
ELSE
|
|
ret
|
|
ENDC
|
|
|
|
TestBattle:
|
|
.loop
|
|
call GBPalNormal
|
|
|
|
; Get some debug items.
|
|
ld hl, wNumBagItems
|
|
ld de, BattleDebugItemsList
|
|
.items_loop
|
|
ld a, [de]
|
|
cp -1
|
|
jr z, .items_end
|
|
ld [wcf91], a
|
|
inc de
|
|
ld a, [de]
|
|
inc de
|
|
ld [wItemQuantity], a
|
|
call AddItemToInventory
|
|
jr .items_loop
|
|
.items_end
|
|
|
|
; Don't mess around
|
|
; with obedience.
|
|
ld a, 1 << BIT_EARTHBADGE
|
|
ld [wObtainedBadges], a
|
|
|
|
ld hl, wFlags_D733
|
|
set BIT_TEST_BATTLE, [hl]
|
|
|
|
; Reset the party.
|
|
ld hl, wPartyCount
|
|
xor a
|
|
ld [hli], a
|
|
dec a
|
|
ld [hl], a
|
|
|
|
; Player's Pokemon.
|
|
ld a, MEW
|
|
ld [wcf91], a
|
|
ld a, 100
|
|
ld [wCurEnemyLVL], a
|
|
xor a
|
|
ld [wMonDataLocation], a
|
|
ld [wCurMap], a
|
|
call AddPartyMon
|
|
|
|
; This function gives you a way to waste a turn, never know when you'll need it.
|
|
; Alternatively, add a move to test.
|
|
ld hl, wPartyMon1Moves
|
|
ld a, POISON_STING ; Something super weak
|
|
ld [hli], a
|
|
ld a, LEECH_SEED ; Test new failure text
|
|
ld [hli], a
|
|
ld a, FISSURE ; Something that'll miss easily
|
|
ld [hli], a
|
|
ld a, SPLASH ; Skip turn
|
|
ld [hli], a
|
|
|
|
; Opponent's Pokemon.
|
|
ld a, ARTICUNO ; Test new theme
|
|
ld [wCurOpponent], a
|
|
ld a, 100 ; Set the level you want here.
|
|
ld [wCurEnemyLVL], a
|
|
|
|
predef InitOpponent
|
|
|
|
; When the battle ends,
|
|
; do it all again.
|
|
ld a, 1
|
|
ld [wUpdateSpritesEnabled], a
|
|
ldh [hAutoBGTransferEnabled], a
|
|
jr .loop
|
|
|
|
BattleDebugItemsList:
|
|
db FULL_RESTORE, 99
|
|
db MAX_ELIXER, 99
|
|
db FULL_HEAL, 99
|
|
db X_ATTACK, 99
|
|
db X_SPECIAL, 99
|
|
db X_DEFEND, 99
|
|
db X_SPEED, 99
|
|
db X_ACCURACY, 99
|
|
db DIRE_HIT, 99
|
|
db GUARD_SPEC, 99
|
|
db POKE_FLUTE, 1
|
|
db -1 ; end
|