kep-hack/engine/debug/debug_party.asm
May Evans eb46fbdaf6 Pikachu/Eevee Mode Part 2
Thanks to Frrf for helping me fix the broken code I initially sent in. This commit refines the mode so that the Oak Lab cutscene is finished and the party picking process is all concrete.

Also, given Surge is a fight, the S.S. Anne Pikachu rival can have Raichu, surely...

Also, the UnusedNames files were, in fact, needed...otherwise, the item names get all corrupted. Probably left some code behind.

So we officially have a new funky mode!
2023-03-28 19:07:51 +01:00

159 lines
2.7 KiB
NASM

; This function is a debugging feature to give the player Tsunekazu Ishihara's
; favorite Pokemon. This is indicated by the overpowered Exeggutor, which
; Ishihara (president of Creatures Inc.) said was his favorite Pokemon in an ABC
; interview on February 8, 2000.
; "Exeggutor is my favorite. That's because I was always using this character
; while I was debugging the program."
; http://www.ign.com/articles/2000/02/09/abc-news-pokamon-chat-transcript
SetIshiharaTeam:
ld de, IshiharaTeam
.loop
ld a, [de]
cp -1
ret z
ld [wcf91], a
inc de
ld a, [de]
ld [wCurEnemyLVL], a
inc de
call AddPartyMon
jr .loop
IshiharaTeam:
db SCREAM_TAIL, 90
IF DEF(_DEBUG)
db RAICHU, 16
ENDC
db -1 ; end
DebugStart:
IF DEF(_DEBUG)
xor a ; PLAYER_PARTY_DATA
ld [wMonDataLocation], a
; Fly anywhere.
dec a ; $ff
ld [wTownVisitedFlag], a
ld [wTownVisitedFlag + 1], a
; Get all badges except Earth Badge.
ld a, ~(1 << BIT_EARTHBADGE)
ld [wObtainedBadges], a
call SetIshiharaTeam
; Exeggutor gets four HM moves.
ld hl, wPartyMon1Moves
ld a, FLY
ld [hli], a
ld a, CUT
ld [hli], a
ld a, SURF
ld [hli], a
ld a, STRENGTH
ld [hl], a
ld hl, wPartyMon1PP
ld a, 15
ld [hli], a
ld a, 30
ld [hli], a
ld a, 15
ld [hli], a
ld [hl], a
; Jolteon gets Thunderbolt.
ld hl, wPartyMon3Moves + 3
ld a, THUNDERBOLT
ld [hl], a
ld hl, wPartyMon3PP + 3
ld a, 15
ld [hl], a
; Articuno gets Fly.
ld hl, wPartyMon5Moves
ld a, FLY
ld [hl], a
ld hl, wPartyMon5PP
ld a, 15
ld [hl], a
; Kadabra gets Flash and Teleport
ld hl, wPartyMon6Moves + 2
ld a, FLASH
ld [hl], a
ld hl, wPartyMon6PP + 2
ld a, 15
ld [hl], a
ld a, TELEPORT
ld [hl], a
; Get some debug items.
ld hl, wNumBagItems
ld de, DebugItemsList
.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
; Complete the Pokédex.
ld hl, wPokedexOwned
call DebugSetPokedexEntries
ld hl, wPokedexSeen
call DebugSetPokedexEntries
SetEvent EVENT_GOT_POKEDEX
; Rival chose Squirtle,
; Player chose Charmander.
ld hl, wRivalStarter
ld a, STARTER2
ld [hli], a
inc hl ; hl = wPlayerStarter
ld a, STARTER1
ld [hl], a
ret
DebugSetPokedexEntries:
ld b, wPokedexOwnedEnd - wPokedexOwned
ld a, %11111111
.loop
ld [hli], a
dec b
jr nz, .loop
ld [hl], %01111111
ret
DebugItemsList:
db BICYCLE, 1
db FULL_RESTORE, 99
db MAX_REPEL, 99
db RARE_CANDY, 99
db MASTER_BALL, 99
db ULTRA_BALL, 99
db GREAT_BALL, 99
db SECRET_KEY, 1
db CARD_KEY, 1
db S_S_TICKET, 1
db CITRINE_PASS, 1
db SUPER_ROD, 1
db COIN_CASE, 1
db POKE_FLUTE, 1
db SILPH_SCOPE, 1
db OLDSEACHART, 1
db -1 ; end
DebugUnusedList:
db -1 ; end
ELSE
ret
ENDC