kep-hack/engine/debug/debug_party.asm
Llinos Evans a3c81c549c Charmander & Rod House move
This adds Damien, the Charmander trainer, with text changed to be more accurate to his character.

I've also moved the Pewter Rod House nearby, as it makes more sense for it to be in the Water-type area. However, it seems to load oddly.

I have also integrated the Pikachu/Eevee Mode more, with architecture that it can make it more easily modified. This'll come into play for the Squirtle event.

I have also erased further misinformation the game gives about burns, and changed the Viridian Pre-Gym accordingly, to talk about confusion, which lacks a Trainer Tips sign.
2023-06-28 16:31:14 +01:00

228 lines
4.1 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 EXEGGUTOR_A, 90
db MELTAN, 90
db TRAMPEL, 90
IF DEF(_DEBUG)
db TAUROS_PB, 90
db SNORLAX, 50
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
; This hack was coded by transfems.
ld a, 1
ld [wPlayerSex], a
; Test Candy Jar Evolution
ld a, 39
ld [wCandyJarCount], a
; Test Vermilion Beauty
; Set a to 4 to test increments.
; Set BeautyChoice to GROWLITHE to test the other choice.
ld a, 5
ld [wBeautyCounter], a
ld a, MEOWTH
ld [wBeautyChoice], a
; Test Post-Game Functionality.
SetEvent EVENT_POST_GAME_ATTAINED
; Get all badges except Earth Badge.
ld a, ~(1 << BIT_EARTHBADGE)
ld [wObtainedBadges], a
call SetIshiharaTeam
; Exeggutor (Pokemon 1) 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 (Pokemon 3) gets Thunderbolt.
; Adjusted for Trampel
ld hl, wPartyMon3Moves + 3
ld a, EARTHQUAKE
ld [hl], a
ld hl, wPartyMon3PP + 3
ld a, 15
ld [hl], a
; Blaze Tauros (Pokemon 4) has a full moveset
ld hl, wPartyMon4Moves
ld a, FIRE_BLAST
ld [hli], a
ld a, LOW_KICK
ld [hli], a
ld a, FIRE_SPIN
ld [hli], a
ld a, HYPER_BEAM
ld [hl], a
ld hl, wPartyMon1PP
ld a, 99
ld [hli], a
ld a, 99
ld [hli], a
ld a, 99
ld [hli], a
ld [hl], a
; Articuno (Pokemon 5) gets Fly.
ld hl, wPartyMon5Moves
ld a, FLY
ld [hl], a
ld hl, wPartyMon5PP
ld a, 15
ld [hl], a
; Kadabra (Pokemon 6) 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 Pikachu,
; Player chose Eevee.
; Eevee is used to test the Celadon Mansion Roof House.
ld hl, wRivalStarter
ld a, STARTER4
ld [hli], a
inc hl ; hl = wPlayerStarter
ld a, STARTER5
ld [hl], a
; This is used to display Damien and Officer Jenny for Charmander and Squirtle, respectively.
; It was set up in this way to easily add new things for the mode.
; By default, all Pikachu/Eevee Mode things are hidden - more efficient.
ld hl, DebugPikachuEeveeShows
.loop
ld a, [hli]
cp -1
ret z
push hl
ld [wMissableObjectIndex], a
predef ShowObject
pop hl
jr .loop
ret
DebugPikachuEeveeShows:
db HS_DAMIEN ; Charmander guy
db -1 ; end
DebugSetPokedexEntries:
ld b, wPokedexOwnedEnd - wPokedexOwned
ld a, %11111111
.loop
ld [hli], a
dec b
jr nz, .loop
ld [hl], %01111111
ret
DebugItemsList:
db MASTER_BALL, 99
db MYSTERY_BOX, 1
db CANDY_JAR, 1
db BICYCLE, 1
db FULL_RESTORE, 99
db MAX_REPEL, 99
db RARE_CANDY, 99
db ESCAPE_ROPE, 99
db POKE_BALL, 99 ; test ball miss text with this
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 OLD_SEA_MAP, 1
db UP_GRADE, 1
db TM_MEGA_PUNCH, 1
db HM_SURF, 1
db METAL_COAT, 99
db BLK_AUGURITE, 99
db BOTTLE_CAP, 99
db -1 ; end
DebugUnusedList:
db -1 ; end
ELSE
ret
ENDC