PointerTable_14000: ; 14000 (05:4000) dw $47bd ; SAMS_PRACTICE_DECK dw PointerTable_14668 ; PRACTICE_PLAYER_DECK dw PointerTable_14668 ; SAMS_NORMAL_DECK dw PointerTable_14668 ; CHARMANDER_AND_FRIENDS_DECK dw PointerTable_14668 ; CHARMANDER_EXTRA_DECK dw PointerTable_14668 ; SQUIRTLE_AND_FRIENDS_DECK dw PointerTable_14668 ; SQUIRTLE_EXTRA_DECK dw PointerTable_14668 ; BULBASAUR_AND_FRIENDS_DECK dw PointerTable_14668 ; BULBASAUR_EXTRA_DECK dw PointerTable_14668 ; LIGHTNING_AND_FIRE_DECK dw PointerTable_14668 ; WATER_AND_FIGHTING_DECK dw PointerTable_14668 ; GRASS_AND_PSYCHIC_DECK dw $49e8 ; LEGENDARY_MOLTRES_DECK dw $4b0f ; LEGENDARY_ZAPDOS_DECK dw $4c0b ; LEGENDARY_ARTICUNO_DECK dw $4d60 ; LEGENDARY_DRAGONITE_DECK dw $4e89 ; FIRST_STRIKE_DECK dw $4f0e ; ROCK_CRUSHER_DECK dw $4f8f ; GO_GO_RAIN_DANCE_DECK dw $5019 ; ZAPPING_SELFDESTRUCT_DECK dw $509b ; FLOWER_POWER_DECK dw $5122 ; STRANGE_PSYSHOCK_DECK dw $51ad ; WONDERS_OF_SCIENCE_DECK dw $5232 ; FIRE_CHARGE_DECK dw $52bd ; IM_RONALD_DECK dw $534b ; POWERFUL_RONALD_DECK dw $53e8 ; INVINCIBLE_RONALD_DECK dw $546f ; LEGENDARY_RONALD_DECK dw $48dc ; MUSCLES_FOR_BRAINS_DECK dw PointerTable_14668 ; HEATED_BATTLE_DECK dw PointerTable_14668 ; LOVE_TO_BATTLE_DECK dw PointerTable_14668 ; EXCAVATION_DECK dw PointerTable_14668 ; BLISTERING_POKEMON_DECK dw PointerTable_14668 ; HARD_POKEMON_DECK dw PointerTable_14668 ; WATERFRONT_POKEMON_DECK dw PointerTable_14668 ; LONELY_FRIENDS_DECK dw PointerTable_14668 ; SOUND_OF_THE_WAVES_DECK dw PointerTable_14668 ; PIKACHU_DECK dw PointerTable_14668 ; BOOM_BOOM_SELFDESTRUCT_DECK dw PointerTable_14668 ; POWER_GENERATOR_DECK dw PointerTable_14668 ; ETCETERA_DECK dw PointerTable_14668 ; FLOWER_GARDEN_DECK dw PointerTable_14668 ; KALEIDOSCOPE_DECK dw PointerTable_14668 ; GHOST_DECK dw PointerTable_14668 ; NAP_TIME_DECK dw PointerTable_14668 ; STRANGE_POWER_DECK dw PointerTable_14668 ; FLYIN_POKEMON_DECK dw PointerTable_14668 ; LOVELY_NIDORAN_DECK dw PointerTable_14668 ; POISON_DECK dw PointerTable_14668 ; ANGER_DECK dw PointerTable_14668 ; FLAMETHROWER_DECK dw PointerTable_14668 ; RESHUFFLE_DECK dw $48dc ; IMAKUNI_DECK ; 1406a INCBIN "baserom.gbc",$1406a,$14226 - $1406a Func_14226: ; 14226 (5:4226) call CreateHandCardBuffer ld hl, wDuelCardOrAttackList .checkForNextPokemon ld a, [hli] ld [$ff98], a cp $ff ret z call LoadDeckCardToBuffer1 ld a, [wLoadedCard1Type] cp FIRE_ENERGY_CARD jr nc, .checkForNextPokemon ld a, [wLoadedCard1Stage] or a jr nz, .checkForNextPokemon push hl ld a, [$ff98] call $1485 pop hl jr .checkForNextPokemon ; 0x1424b INCBIN "baserom.gbc",$1424b,$14663 - $1424b Func_14663: ; 14663 (5:4663) farcall Func_200e5 ret ; GENERAL DECK POINTER LIST - Not sure on all of these. ; This is an example of an AI pointer table, there's one for each AI type. PointerTable_14668: ; 14668 (05:4668) dw Func_14674 ; not used dw Func_14674 ; general AI for battles dw Func_14678 ; basic pokemon placement / cheater shuffling on better AI dw Func_1467f dw Func_14683 dw Func_14687 ; when battle AI gets called Func_14674: ; 14674 (5:4674) call Func_1468b ret Func_14678: ; 14678 (5:4678) call Func_15636 call $4226 ret Func_1467f: ; 1467f (5:467f) call $5b72 ret Func_14683: ; 14683 (5:4683) call $5b72 ret Func_14687: ; 14687 (5:4687) call $41e5 ret ; AI for general decks i think Func_1468b: ; 1468b (5:468b) call Func_15649 ld a, $1 call Func_14663 farcallx $8, $67d3 jp nc, $4776 farcallx $8, $6790 farcallx $8, $66a3 farcallx $8, $637f ret c farcallx $8, $662d ld a, $2 call Func_14663 ld a, $3 call Func_14663 ld a, $4 call Func_14663 call $5eae ret c ld a, $5 call Func_14663 ld a, $6 call Func_14663 ld a, $7 call Func_14663 ld a, $8 call Func_14663 call $4786 ld a, $a call Func_14663 ld a, $b call Func_14663 ld a, $c call Func_14663 ld a, [wAlreadyPlayedEnergy] or a jr nz, .asm_146ed call $64e8 .asm_146ed call $5eae farcallx $8, $66a3 farcallx $8, $637f ret c farcallx $8, $6790 ld a, $d farcallx $8, $619b ld a, $d call Func_14663 ld a, $f call Func_14663 ld a, [$ce20] and $4 jr z, .asm_14776 ld a, $1 call Func_14663 ld a, $2 call Func_14663 ld a, $3 call Func_14663 ld a, $4 call Func_14663 call $5eae ret c ld a, $5 call Func_14663 ld a, $6 call Func_14663 ld a, $7 call Func_14663 ld a, $8 call Func_14663 call $4786 ld a, $a call Func_14663 ld a, $b call Func_14663 ld a, $c call Func_14663 ld a, [wAlreadyPlayedEnergy] or a jr nz, .asm_1475b call $64e8 .asm_1475b call $5eae farcallx $8, $66a3 farcallx $8, $637f ret c farcallx $8, $6790 ld a, $d farcallx $8, $619b ld a, $d call Func_14663 .asm_14776 ld a, $e farcallx $8, $619b call $69f8 ret c ld a, $5 bank1call $67be ret ; 0x14786 INCBIN "baserom.gbc",$14786,$15636 - $14786 Func_15636: ; 15636 (5:5636) ld a, $10 ld hl, $cda5 call ZeroData ld a, $5 ld [$cda6], a ld a, $ff ld [$cda5], a ret Func_15649: ; 15649 (5:5649) ld a, [$cda6] inc a ld [$cda6], a xor a ld [$ce20], a ld [$cddb], a ld [$cddc], a ld [$ce03], a ld a, [wcc10] cp $ff jr z, .asm_156b1 or a jr z, .asm_156b1 ld a, [wcc11] cp $ff jr z, .asm_156b1 call SwapTurn call GetCardInDeckPosition call SwapTurn ld a, e cp MEWTWO1 ; I believe this is a check for Mewtwo1's Barrier move jr nz, .asm_156b1 ld a, [$cda7] bit 7, a jr nz, .asm_156aa inc a ld [$cda7], a cp $3 jr c, .asm_156c2 ld a, (wPlayerArenaCard & $FF) call GetNonTurnDuelistVariable call SwapTurn call GetCardInDeckPosition call SwapTurn ld a, e cp MEWTWO1 jr nz, .asm_156a4 farcallx $8, $67a9 jr nc, .asm_156aa .asm_156a4 xor a ld [$cda7], a jr .asm_156c2 .asm_156aa ld a, $80 ld [$cda7], a jr .asm_156c2 .asm_156b1 ld a, [$cda7] bit 7, a jr z, .asm_156be inc a ld [$cda7], a jr .asm_156c2 .asm_156be xor a ld [$cda7], a .asm_156c2 ret ; 0x156c3 INCBIN "baserom.gbc",$156c3,$1575e - $156c3 ; zeroes a bytes starting at hl ZeroData: ; 1575e (5:575e) push af push bc push hl ld b, a xor a .clearLoop ld [hli], a dec b jr nz, .clearLoop pop hl pop bc pop af ret ; 0x1576b INCBIN "baserom.gbc",$1576b,$18000 - $1576b