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

- Adds Powder Snow; GSC stats, was cut from RBY. - Articuno, Jynx, Buu, Glaceon, Alolan Sandslash, and Alolan Ninetales get Powder Snow at L1. - Glaceon also gets Powder Snow over Aurora Beam at L1; a nerf that makes it more accurate to its PLA learnset. Glaceon doesn't normally get this move. - Moltres now gets Flamethrower at L51, fixing an error that GSC fixed. Leer is off by exactly 10 spaces. Leer has been made an L1 move, making it consistent with Articuno's Powder Snow. Does not affect legality, given the Tradeback Tutor. - Because I'm pedantic, Zapdos gets Thunderbolt as an L1 move like Articuno's Ice Beam, so they all stay the same. Does not affect legality.
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, GLACEON
|
|
ld [wcf91], a
|
|
ld a, 16
|
|
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, UPPERCUT ; Something super weak
|
|
ld [hli], a
|
|
ld a, POWDER_SNOW ; Test new failure text
|
|
ld [hli], a
|
|
ld a, LOW_KICK ; Something that'll miss easily
|
|
ld [hli], a
|
|
ld a, LEER ; Skip turn
|
|
ld [hli], a
|
|
|
|
; Opponent's Pokemon.
|
|
ld a, BUU ; Test new theme
|
|
ld [wCurOpponent], a
|
|
ld a, 10 ; 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 X_ACCURACY, 99 ; Test Guillotine animation
|
|
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 DIRE_HIT, 99
|
|
db GUARD_SPEC, 99
|
|
db POKE_FLUTE, 1
|
|
db -1 ; end
|