summaryrefslogtreecommitdiff
path: root/engine/debug/debug_party.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/debug/debug_party.asm')
-rw-r--r--engine/debug/debug_party.asm135
1 files changed, 135 insertions, 0 deletions
diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm
index 8545b848..637482eb 100644
--- a/engine/debug/debug_party.asm
+++ b/engine/debug/debug_party.asm
@@ -21,4 +21,139 @@ DebugTeam:
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, $ff ^ (1 << BIT_EARTHBADGE)
+ ld [wObtainedBadges], a
+
+ call SetDebugTeam
+
+ ; Pikachu gets Surf.
+ ld a, SURF
+ ld hl, wPartyMon4Moves + 2
+ ld [hl], a
+
+ ; Snorlax 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
+
+ ; 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
+
+ ; Player chose Pikachu.
+ ld hl, wRivalStarter
+ ld a, 1
+ ld [hli], a
+ ld a, NUM_POKEMON
+ ld [hli], a ; hl = wUnknownDebugByte
+ ld a, PIKACHU
+ ld [hl], a ; hl = wPlayerStarter
+
+ ; Give max money.
+ ld hl, wPlayerMoney
+ ld a, $99
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+
+ ret
+
+DebugSetPokedexEntries:
+ ld b, wPokedexOwnedEnd - wPokedexOwned - 1
+ ld a, %11111111
+.loop
+ ld [hli], a
+ dec b
+ jr nz, .loop
+ ld [hl], %01111111
+ ret
+
+DebugItemsList:
+ db MASTER_BALL, 99
+ db TOWN_MAP, 1
+ db BICYCLE, 1
+ db FULL_RESTORE, 99
+ db ESCAPE_ROPE, 99
+ db RARE_CANDY, 99
+ db SECRET_KEY, 1
+ db CARD_KEY, 1
+ db FULL_HEAL, 99
+ db REVIVE, 99
+ db FRESH_WATER, 99
+ db S_S_TICKET, 1
+ db LIFT_KEY, 1
+ db PP_UP, 99
+ db -1 ; end
+
+DebugUnusedList:
+ db OLD_AMBER, 1
+ db DOME_FOSSIL, 1
+ db HELIX_FOSSIL, 1
+ db X_ACCURACY, 99
+ db DIRE_HIT, 99
+ db FRESH_WATER, 1
+ db S_S_TICKET, 1
+ db GOLD_TEETH, 1
+ db COIN_CASE, 1
+ db SILPH_SCOPE, 1
+ db POKE_FLUTE, 1
+ db LIFT_KEY, 1
+ db ETHER, 99
+ db MAX_ETHER, 99
+ db ELIXER, 99
+ db MAX_ELIXER, 99
+ db TM_RAZOR_WIND, 10
+ db TM_HORN_DRILL, 10
+ db TM_TAKE_DOWN, 10
+ db TM_BLIZZARD, 10
+ db TM_HYPER_BEAM, 10
+ db TM_SOLARBEAM, 10
+ db TM_DRAGON_RAGE, 10
+ db TM_MIMIC, 10
+ db TM_BIDE, 10
+ db TM_METRONOME, 10
+ db TM_SELFDESTRUCT, 10
+ db TM_SWIFT, 10
+ db TM_SOFTBOILED, 10
+ db TM_DREAM_EATER, 10
+ db TM_REST, 10
+ db TM_SUBSTITUTE, 10
+ db -1 ; end
+ELSE
ret
+ENDC