mirror of
https://github.com/pret/poketcg2.git
synced 2026-09-29 22:10:24 -04:00
Disassemble duel engine
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
INCLUDE "constants/animation_constants.asm"
|
||||
INCLUDE "constants/attack_animation_constants.asm"
|
||||
INCLUDE "constants/card_constants.asm"
|
||||
INCLUDE "constants/card_data_constants.asm"
|
||||
@@ -29,5 +30,6 @@ INCLUDE "constants/text_constants.asm"
|
||||
INCLUDE "constants/tilemap_constants.asm"
|
||||
INCLUDE "constants/tileset_constants.asm"
|
||||
INCLUDE "constants/var_constants.asm"
|
||||
INCLUDE "constants/npc_constants.asm"
|
||||
|
||||
INCLUDE "constants/charmaps.asm"
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
const_def
|
||||
; Normal animations
|
||||
const DUEL_ANIM_NONE ; $00
|
||||
const DUEL_ANIM_GLOW ; $01
|
||||
const DUEL_ANIM_PARALYSIS ; $02
|
||||
const DUEL_ANIM_SLEEP ; $03
|
||||
const DUEL_ANIM_CONFUSION ; $04
|
||||
const DUEL_ANIM_POISON ; $05
|
||||
const DUEL_ANIM_SINGLE_HIT ; $06
|
||||
const DUEL_ANIM_HIT ; $07
|
||||
const DUEL_ANIM_BIG_HIT ; $08
|
||||
const DUEL_ANIM_SHOW_DAMAGE ; $09
|
||||
const DUEL_ANIM_THUNDER_SHOCK ; $0a
|
||||
const DUEL_ANIM_LIGHTNING ; $0b
|
||||
const DUEL_ANIM_BORDER_SPARK ; $0c
|
||||
const DUEL_ANIM_BIG_LIGHTNING ; $0d
|
||||
const DUEL_ANIM_SMALL_FLAME ; $0e
|
||||
const DUEL_ANIM_BIG_FLAME ; $0f
|
||||
const DUEL_ANIM_FIRE_SPIN ; $10
|
||||
const DUEL_ANIM_DIVE_BOMB ; $11
|
||||
const DUEL_ANIM_WATER_JETS ; $12
|
||||
const DUEL_ANIM_WATER_GUN ; $13
|
||||
const DUEL_ANIM_WHIRLPOOL ; $14
|
||||
const DUEL_ANIM_HYDRO_PUMP ; $15
|
||||
const DUEL_ANIM_BLIZZARD ; $16
|
||||
const DUEL_ANIM_PSYCHIC ; $17
|
||||
const DUEL_ANIM_LEER ; $18
|
||||
const DUEL_ANIM_BEAM ; $19
|
||||
const DUEL_ANIM_HYPER_BEAM ; $1a
|
||||
const DUEL_ANIM_ROCK_THROW ; $1b
|
||||
const DUEL_ANIM_STONE_BARRAGE ; $1c
|
||||
const DUEL_ANIM_PUNCH ; $1d
|
||||
const DUEL_ANIM_THUNDERPUNCH ; $1e
|
||||
const DUEL_ANIM_FIRE_PUNCH ; $1f
|
||||
const DUEL_ANIM_STRETCH_KICK ; $20
|
||||
const DUEL_ANIM_SLASH ; $21
|
||||
const DUEL_ANIM_WHIP ; $22
|
||||
const DUEL_ANIM_SONICBOOM ; $23
|
||||
const DUEL_ANIM_FURY_SWIPES ; $24
|
||||
const DUEL_ANIM_DRILL ; $25
|
||||
const DUEL_ANIM_POT_SMASH ; $26
|
||||
const DUEL_ANIM_BONEMERANG ; $27
|
||||
const DUEL_ANIM_SEISMIC_TOSS ; $28
|
||||
const DUEL_ANIM_NEEDLES ; $29
|
||||
const DUEL_ANIM_WHITE_GAS ; $2a
|
||||
const DUEL_ANIM_POWDER ; $2b
|
||||
const DUEL_ANIM_GOO ; $2c
|
||||
const DUEL_ANIM_BUBBLES ; $2d
|
||||
const DUEL_ANIM_STRING_SHOT ; $2e
|
||||
const DUEL_ANIM_BOYFRIENDS ; $2f
|
||||
const DUEL_ANIM_LURE ; $30
|
||||
const DUEL_ANIM_TOXIC ; $31
|
||||
const DUEL_ANIM_CONFUSE_RAY ; $32
|
||||
const DUEL_ANIM_SING ; $33
|
||||
const DUEL_ANIM_SUPERSONIC ; $34
|
||||
const DUEL_ANIM_PETAL_DANCE ; $35
|
||||
const DUEL_ANIM_PROTECT ; $36
|
||||
const DUEL_ANIM_BARRIER ; $37
|
||||
const DUEL_ANIM_SPEED ; $38
|
||||
const DUEL_ANIM_WHIRLWIND ; $39
|
||||
const DUEL_ANIM_CRY ; $3a
|
||||
const DUEL_ANIM_QUESTION_MARK ; $3b
|
||||
const DUEL_ANIM_SELFDESTRUCT ; $3c
|
||||
const DUEL_ANIM_BIG_SELFDESTRUCT_1 ; $3d
|
||||
const DUEL_ANIM_HEAL ; $3e
|
||||
const DUEL_ANIM_DRAIN ; $3f
|
||||
const DUEL_ANIM_DARK_GAS ; $40
|
||||
const DUEL_ANIM_BIG_SELFDESTRUCT_2 ; $41
|
||||
const DUEL_ANIM_UNUSED_42 ; $42
|
||||
const DUEL_ANIM_UNUSED_43 ; $43
|
||||
const DUEL_ANIM_BENCH_THUNDER ; $44
|
||||
const DUEL_ANIM_QUICKFREEZE ; $45
|
||||
const DUEL_ANIM_BENCH_GLOW ; $46
|
||||
const DUEL_ANIM_FIREGIVER_START ; $47
|
||||
const DUEL_ANIM_UNUSED_48 ; $48
|
||||
const DUEL_ANIM_HEALING_WIND ; $49
|
||||
const DUEL_ANIM_BENCH_WHIRLWIND ; $4a
|
||||
const DUEL_ANIM_EXPAND ; $4b
|
||||
const DUEL_ANIM_CAT_PUNCH ; $4c
|
||||
const DUEL_ANIM_THUNDER_WAVE ; $4d
|
||||
const DUEL_ANIM_FIREGIVER_PLAYER ; $4e
|
||||
const DUEL_ANIM_FIREGIVER_OPP ; $4f
|
||||
const DUEL_ANIM_UNUSED_50 ; $50
|
||||
const DUEL_ANIM_PLAYER_SHUFFLE ; $51
|
||||
const DUEL_ANIM_OPP_SHUFFLE ; $52
|
||||
const DUEL_ANIM_BOTH_SHUFFLE ; $53
|
||||
const DUEL_ANIM_UNUSED_54 ; $54
|
||||
const DUEL_ANIM_BOTH_DRAW ; $55
|
||||
const DUEL_ANIM_PLAYER_DRAW ; $56
|
||||
const DUEL_ANIM_OPP_DRAW ; $57
|
||||
const DUEL_ANIM_COIN_SPIN ; $58
|
||||
const DUEL_ANIM_COIN_TOSS1 ; $59
|
||||
const DUEL_ANIM_COIN_TOSS2 ; $5a
|
||||
const DUEL_ANIM_COIN_TAILS ; $5b
|
||||
const DUEL_ANIM_COIN_HEADS ; $5c
|
||||
const DUEL_ANIM_DUEL_WIN ; $5d
|
||||
const DUEL_ANIM_DUEL_LOSS ; $5e
|
||||
const DUEL_ANIM_DUEL_DRAW ; $5f
|
||||
const DUEL_ANIM_UNUSED_60 ; $60
|
||||
|
||||
DEF NUM_REGULAR_DUEL_ANIMS EQU const_value
|
||||
|
||||
; Animation duel screen constants (see wDuelAnimationScreen)
|
||||
const_def
|
||||
const DUEL_ANIM_SCREEN_MAIN_SCENE
|
||||
const DUEL_ANIM_SCREEN_PLAYER_PLAY_AREA
|
||||
const DUEL_ANIM_SCREEN_OPP_PLAY_AREA
|
||||
@@ -1,6 +1,6 @@
|
||||
MACRO deck_const
|
||||
IF const_value >= 3
|
||||
DEF \1_ID EQU const_value - 3
|
||||
IF const_value >= 2
|
||||
DEF \1_ID EQU const_value - 2
|
||||
ENDC
|
||||
const \1
|
||||
ENDM
|
||||
@@ -8,7 +8,7 @@ ENDM
|
||||
; Both *_DECK and *_DECK_ID constants are defined here.
|
||||
; *_DECK constants are to be used with LoadDeck and related routines.
|
||||
; *_DECK_ID constants are specific to be loaded into wOpponentDeckID.
|
||||
; Always, *_DECK_ID = *_DECK - 3. UNKNOWN_POISON_STORM_DECK_ID,
|
||||
; Always, *_DECK_ID = *_DECK - 2. UNKNOWN_POISON_STORM_DECK_ID,
|
||||
; GB1_STRANGE_PSYSHOCK_DECK_ID and UNKNOWN_SAMS_PRACTICE_DECK_ID do not exist.
|
||||
const_def
|
||||
deck_const UNKNOWN_POISON_STORM_DECK ; $00
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
DEF MAX_BENCH_POKEMON EQU 5
|
||||
DEF MAX_PLAY_AREA_POKEMON EQU 6 ; arena + bench
|
||||
DEF MAX_SMALL_BENCH_PLAY_AREA_POKEMON EQU 4 ; arena + bench
|
||||
DEF MAX_HP EQU 120
|
||||
DEF HP_BAR_LENGTH EQU MAX_HP / 10
|
||||
|
||||
@@ -25,67 +26,68 @@ DEF DUEL_WIN EQU $0
|
||||
DEF DUEL_LOSS EQU $1
|
||||
|
||||
; wPlayerDuelVariables or wOpponentDuelVariables constants
|
||||
DEF DUELVARS_CARD_LOCATIONS EQU $00 ; EQUS "LOW(wPlayerCardLocations)" ; 00
|
||||
DEF DUELVARS_CARD_LOCATIONS EQUS "LOW(wPlayerCardLocations)" ; 00
|
||||
DEF DUELVARS_PRIZE_CARDS EQUS "LOW(wPlayerPrizeCards)" ; 3c
|
||||
DEF DUELVARS_HAND EQU $42 ; EQUS "LOW(wPlayerHand)" ; 42
|
||||
DEF DUELVARS_DECK_CARDS EQU $7e ; EQUS "LOW(wPlayerDeckCards)" ; 7e
|
||||
DEF DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQU $ba ; EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba
|
||||
DEF DUELVARS_ARENA_CARD EQU $bb ; EQUS "LOW(wPlayerArenaCard)" ; bb
|
||||
DEF DUELVARS_HAND EQUS "LOW(wPlayerHand)" ; 42
|
||||
DEF DUELVARS_DECK_CARDS EQUS "LOW(wPlayerDeckCards)" ; 7e
|
||||
DEF DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba
|
||||
DEF DUELVARS_ARENA_CARD EQUS "LOW(wPlayerArenaCard)" ; bb
|
||||
DEF DUELVARS_BENCH EQUS "LOW(wPlayerBench)" ; bc
|
||||
DEF DUELVARS_ARENA_CARD_FLAGS EQU $c2 ; EQUS "LOW(wPlayerArenaCardFlags)" ; c2
|
||||
DEF DUELVARS_ARENA_CARD_HP EQU $c8 ; EQUS "LOW(wPlayerArenaCardHP)" ; c8
|
||||
DEF DUELVARS_ARENA_CARD_FLAGS EQUS "LOW(wPlayerArenaCardFlags)" ; c2
|
||||
DEF DUELVARS_ARENA_CARD_HP EQUS "LOW(wPlayerArenaCardHP)" ; c8
|
||||
DEF DUELVARS_BENCH1_CARD_HP EQUS "LOW(wPlayerBench1CardHP)" ; c9
|
||||
DEF DUELVARS_BENCH2_CARD_HP EQUS "LOW(wPlayerBench2CardHP)" ; ca
|
||||
DEF DUELVARS_BENCH3_CARD_HP EQUS "LOW(wPlayerBench3CardHP)" ; cb
|
||||
DEF DUELVARS_BENCH4_CARD_HP EQUS "LOW(wPlayerBench4CardHP)" ; cc
|
||||
DEF DUELVARS_BENCH5_CARD_HP EQUS "LOW(wPlayerBench5CardHP)" ; cd
|
||||
DEF DUELVARS_ARENA_CARD_STAGE EQU $ce ; EQUS "LOW(wPlayerArenaCardStage)" ; ce
|
||||
DEF DUELVARS_ARENA_CARD_STAGE EQUS "LOW(wPlayerArenaCardStage)" ; ce
|
||||
DEF DUELVARS_BENCH1_CARD_STAGE EQUS "LOW(wPlayerBench1CardStage)" ; cf
|
||||
DEF DUELVARS_BENCH2_CARD_STAGE EQUS "LOW(wPlayerBench2CardStage)" ; d0
|
||||
DEF DUELVARS_BENCH3_CARD_STAGE EQUS "LOW(wPlayerBench3CardStage)" ; d1
|
||||
DEF DUELVARS_BENCH4_CARD_STAGE EQUS "LOW(wPlayerBench4CardStage)" ; d2
|
||||
DEF DUELVARS_BENCH5_CARD_STAGE EQUS "LOW(wPlayerBench5CardStage)" ; d3
|
||||
DEF DUELVARS_ARENA_CARD_CHANGED_TYPE EQU $d4 ; EQUS "LOW(wPlayerArenaCardChangedType)" ; d4
|
||||
DEF DUELVARS_ARENA_CARD_CHANGED_TYPE EQUS "LOW(wPlayerArenaCardChangedType)" ; d4
|
||||
DEF DUELVARS_BENCH1_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench1CardChangedType)" ; d5
|
||||
DEF DUELVARS_BENCH2_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench2CardChangedType)" ; d6
|
||||
DEF DUELVARS_BENCH3_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench3CardChangedType)" ; d7
|
||||
DEF DUELVARS_BENCH4_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench4CardChangedType)" ; d8
|
||||
DEF DUELVARS_BENCH5_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench5CardChangedType)" ; d9
|
||||
DEF DUELVARS_ARENA_CARD_ATTACHED_DEFENDER EQU $da ; EQUS "LOW(wPlayerArenaCardAttachedDefender)" ; da
|
||||
DEF DUELVARS_ARENA_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerArenaCardAttachedDefender)" ; da
|
||||
DEF DUELVARS_BENCH1_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench1CardAttachedDefender)" ; db
|
||||
DEF DUELVARS_BENCH2_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench2CardAttachedDefender)" ; dc
|
||||
DEF DUELVARS_BENCH3_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench3CardAttachedDefender)" ; dd
|
||||
DEF DUELVARS_BENCH4_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench4CardAttachedDefender)" ; de
|
||||
DEF DUELVARS_BENCH5_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench5CardAttachedDefender)" ; df
|
||||
DEF DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER EQU $e0 ; EQUS "LOW(wPlayerArenaCardAttachedPluspower)" ; e0
|
||||
DEF DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerArenaCardAttachedPluspower)" ; e0
|
||||
DEF DUELVARS_BENCH1_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench1CardAttachedPluspower)" ; e1
|
||||
DEF DUELVARS_BENCH2_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench2CardAttachedPluspower)" ; e2
|
||||
DEF DUELVARS_BENCH3_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench3CardAttachedPluspower)" ; e3
|
||||
DEF DUELVARS_BENCH4_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench4CardAttachedPluspower)" ; e4
|
||||
DEF DUELVARS_BENCH5_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench5CardAttachedPluspower)" ; e5
|
||||
DEF DUELVARS_ARENA_CARD_FOOD_COUNTERS EQU $e6 ; EQUS "LOW(wPlayerArenaCardFoodCounters)" ; e6
|
||||
DEF DUELVARS_BENCH1_CARD_FOOD_COUNTERS EQU $e7 ; EQUS "LOW(wPlayerBench1FoodCounters)" ; e7
|
||||
DEF DUELVARS_BENCH2_CARD_FOOD_COUNTERS EQU $e8 ; EQUS "LOW(wPlayerBench2FoodCounters)" ; e8
|
||||
DEF DUELVARS_BENCH3_CARD_FOOD_COUNTERS EQU $e9 ; EQUS "LOW(wPlayerBench3FoodCounters)" ; e9
|
||||
DEF DUELVARS_BENCH4_CARD_FOOD_COUNTERS EQU $ea ; EQUS "LOW(wPlayerBench4FoodCounters)" ; ea
|
||||
DEF DUELVARS_BENCH5_CARD_FOOD_COUNTERS EQU $eb ; EQUS "LOW(wPlayerBench5FoodCounters)" ; eb
|
||||
DEF DUELVARS_ARENA_CARD_STATUS EQU $ec ; EQUS "LOW(wPlayerArenaCardStatus)" ; f0
|
||||
DEF DUELVARS_ARENA_CARD_SUBSTATUS1 EQU $ed ; EQUS "LOW(wPlayerArenaCardSubstatus1)" ; e7
|
||||
DEF DUELVARS_ARENA_CARD_SUBSTATUS2 EQU $ee ; EQUS "LOW(wPlayerArenaCardSubstatus2)" ; e8
|
||||
DEF DUELVARS_ARENA_CARD_CHANGED_WEAKNESS EQU $ef ; EQUS "LOW(wPlayerArenaCardChangedWeakness)" ; e9
|
||||
DEF DUELVARS_ARENA_CARD_CHANGED_RESISTANCE EQU $f0 ; EQUS "LOW(wPlayerArenaCardChangedResistance)" ; ea
|
||||
DEF DUELVARS_ARENA_CARD_SUBSTATUS3 EQU $f1 ; EQUS "LOW(wPlayerArenaCardSubstatus3)" ; eb
|
||||
DEF DUELVARS_PRIZES EQU $f2 ; EQUS "LOW(wPlayerPrizes)" ; ec
|
||||
DEF DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQU $f3 ; EQUS "LOW(wPlayerNumberOfCardsInDiscardPile)" ; ed
|
||||
DEF DUELVARS_NUMBER_OF_CARDS_IN_HAND EQU $f4 ; EQUS "LOW(wPlayerNumberOfCardsInHand)" ; ee
|
||||
DEF DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA EQU $f5 ; EQUS "LOW(wPlayerNumberOfPokemonInPlayArea)" ; ef
|
||||
DEF DUELVARS_DUELIST_TYPE EQU $f6 ; EQUS "LOW(wPlayerDuelistType)" ; f1
|
||||
DEF DUELVARS_ARENA_CARD_DISABLED_ATTACK_INDEX EQU $f7 ; EQUS "LOW(wPlayerArenaCardDisabledAttackIndex)" ; f2
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_DAMAGE EQUS "LOW(wPlayerArenaCardLastTurnDamage)" ; f3
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_STATUS EQUS "LOW(wPlayerArenaCardLastTurnStatus)" ; f5
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardLastTurnSubstatus2)" ; f6
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_CHANGE_WEAK EQUS "LOW(wPlayerArenaCardLastTurnChangeWeak)" ; f7
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_EFFECT EQUS "LOW(wPlayerArenaCardLastTurnEffect)" ; f8
|
||||
DEF DUELVARS_ARENA_CARD_FOOD_COUNTERS EQUS "LOW(wPlayerArenaCardFoodCounters)" ; e6
|
||||
DEF DUELVARS_BENCH1_CARD_FOOD_COUNTERS EQUS "LOW(wPlayerBench1FoodCounters)" ; e7
|
||||
DEF DUELVARS_BENCH2_CARD_FOOD_COUNTERS EQUS "LOW(wPlayerBench2FoodCounters)" ; e8
|
||||
DEF DUELVARS_BENCH3_CARD_FOOD_COUNTERS EQUS "LOW(wPlayerBench3FoodCounters)" ; e9
|
||||
DEF DUELVARS_BENCH4_CARD_FOOD_COUNTERS EQUS "LOW(wPlayerBench4FoodCounters)" ; ea
|
||||
DEF DUELVARS_BENCH5_CARD_FOOD_COUNTERS EQUS "LOW(wPlayerBench5FoodCounters)" ; eb
|
||||
DEF DUELVARS_ARENA_CARD_STATUS EQUS "LOW(wPlayerArenaCardStatus)" ; ec
|
||||
DEF DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "LOW(wPlayerArenaCardSubstatus1)" ; ed
|
||||
DEF DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardSubstatus2)" ; ee
|
||||
DEF DUELVARS_ARENA_CARD_CHANGED_WEAKNESS EQUS "LOW(wPlayerArenaCardChangedWeakness)" ; ef
|
||||
DEF DUELVARS_ARENA_CARD_CHANGED_RESISTANCE EQUS "LOW(wPlayerArenaCardChangedResistance)" ; f0
|
||||
DEF DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "LOW(wPlayerArenaCardSubstatus3)" ; f1
|
||||
DEF DUELVARS_PRIZES EQUS "LOW(wPlayerPrizes)" ; f2
|
||||
DEF DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "LOW(wPlayerNumberOfCardsInDiscardPile)" ; f3
|
||||
DEF DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "LOW(wPlayerNumberOfCardsInHand)" ; f4
|
||||
DEF DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA EQUS "LOW(wPlayerNumberOfPokemonInPlayArea)" ; f5
|
||||
DEF DUELVARS_DUELIST_TYPE EQUS "LOW(wPlayerDuelistType)" ; f6
|
||||
DEF DUELVARS_ARENA_CARD_DISABLED_ATTACK_INDEX EQUS "LOW(wPlayerArenaCardDisabledAttackIndex)" ; f7
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_DAMAGE EQUS "LOW(wPlayerArenaCardLastTurnDamage)" ; f8
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_STATUS EQUS "LOW(wPlayerArenaCardLastTurnStatus)" ; fa
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardLastTurnSubstatus2)" ; fb
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_CHANGE_WEAK EQUS "LOW(wPlayerArenaCardLastTurnChangeWeak)" ; fc
|
||||
DEF DUELVARS_ARENA_CARD_LAST_TURN_EFFECT EQUS "LOW(wPlayerArenaCardLastTurnEffect)" ; fd
|
||||
DEF DUELVARS_UNK_FE EQUS "LOW(wPlayerUnkfe)" ; fe
|
||||
|
||||
; card location constants (DUELVARS_CARD_LOCATIONS)
|
||||
DEF CARD_LOCATION_DECK EQU $00
|
||||
@@ -140,41 +142,56 @@ DEF DBLPSN_DAMAGE EQU 20
|
||||
; substatus conditions (DUELVARS_ARENA_CARD_SUBSTATUS*)
|
||||
|
||||
; SUBSTATUS1 are checked on a defending Pokemon
|
||||
DEF SUBSTATUS1_AGILITY EQU $0c
|
||||
DEF SUBSTATUS1_FLY EQU $0d
|
||||
DEF SUBSTATUS1_HARDEN EQU $0e
|
||||
DEF SUBSTATUS1_NO_DAMAGE_STIFFEN EQU $0f
|
||||
DEF SUBSTATUS1_NO_DAMAGE_10 EQU $10
|
||||
DEF SUBSTATUS1_NO_DAMAGE_11 EQU $11
|
||||
DEF SUBSTATUS1_REDUCE_BY_20 EQU $13
|
||||
DEF SUBSTATUS1_BARRIER EQU $14
|
||||
DEF SUBSTATUS1_HALVE_DAMAGE EQU $15
|
||||
DEF SUBSTATUS1_DESTINY_BOND EQU $16
|
||||
DEF SUBSTATUS1_NO_DAMAGE_17 EQU $17
|
||||
DEF SUBSTATUS1_NEXT_TURN_DOUBLE_DAMAGE EQU $19
|
||||
DEF SUBSTATUS1_REDUCE_BY_10 EQU $1e
|
||||
DEF SUBSTATUS1_UNK_0D EQU $0d
|
||||
DEF SUBSTATUS1_AGILITY EQU $11
|
||||
DEF SUBSTATUS1_FLY EQU $12
|
||||
DEF SUBSTATUS1_HARDEN EQU $13
|
||||
DEF SUBSTATUS1_NO_DAMAGE_STIFFEN EQU $14
|
||||
DEF SUBSTATUS1_NO_DAMAGE_10 EQU $15
|
||||
DEF SUBSTATUS1_NO_DAMAGE_11 EQU $16
|
||||
DEF SUBSTATUS1_REDUCE_BY_20 EQU $18
|
||||
DEF SUBSTATUS1_BARRIER EQU $19
|
||||
DEF SUBSTATUS1_HALVE_DAMAGE EQU $1a
|
||||
DEF SUBSTATUS1_DESTINY_BOND EQU $1b
|
||||
DEF SUBSTATUS1_NO_DAMAGE_17 EQU $1c
|
||||
DEF SUBSTATUS1_NEXT_TURN_DOUBLE_DAMAGE EQU $1e
|
||||
DEF SUBSTATUS1_REDUCE_BY_10 EQU $23
|
||||
DEF SUBSTATUS1_HIDE EQU $2a
|
||||
DEF SUBSTATUS1_USED_DRILL_DIVE EQU $30
|
||||
|
||||
; SUBSTATUS2 are checked on an attacking Pokemon
|
||||
DEF SUBSTATUS2_SMOKESCREEN EQU $01
|
||||
DEF SUBSTATUS2_SAND_ATTACK EQU $02
|
||||
DEF SUBSTATUS2_REDUCE_BY_20 EQU $03
|
||||
DEF SUBSTATUS2_AMNESIA EQU $04
|
||||
DEF SUBSTATUS2_TAIL_WAG EQU $05
|
||||
DEF SUBSTATUS2_LEER EQU $06
|
||||
DEF SUBSTATUS2_POUNCE EQU $07
|
||||
DEF SUBSTATUS2_CONVERSION2 EQU $08
|
||||
DEF SUBSTATUS2_UNABLE_RETREAT EQU $09
|
||||
DEF SUBSTATUS2_BONE_ATTACK EQU $0b
|
||||
DEF SUBSTATUS2_GROWL EQU $12
|
||||
DEF SUBSTATUS2_SMOKESCREEN EQU $01
|
||||
DEF SUBSTATUS2_SAND_ATTACK EQU $02
|
||||
DEF SUBSTATUS2_REDUCE_BY_20 EQU $03
|
||||
DEF SUBSTATUS2_AMNESIA EQU $04
|
||||
DEF SUBSTATUS2_TAIL_WAG EQU $05
|
||||
DEF SUBSTATUS2_LEER EQU $06
|
||||
DEF SUBSTATUS2_POUNCE EQU $07
|
||||
DEF SUBSTATUS2_CONVERSION2 EQU $08
|
||||
DEF SUBSTATUS2_ACID EQU $09
|
||||
DEF SUBSTATUS2_BONE_ATTACK EQU $0b
|
||||
DEF SUBSTATUS2_ROCK_SEAL EQU $0e
|
||||
DEF SUBSTATUS2_DISABLE EQU $0f
|
||||
DEF SUBSTATUS2_GROWL EQU $17
|
||||
|
||||
DEF SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE EQU 0
|
||||
DEF SUBSTATUS3_HEADACHE EQU 1
|
||||
DEF SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE_F EQU 0
|
||||
DEF SUBSTATUS3_HEADACHE_F EQU 2
|
||||
DEF SUBSTATUS3_SPOOKIFY_F EQU 3
|
||||
DEF SUBSTATUS3_UNK_4_F EQU 4
|
||||
DEF SUBSTATUS3_UNK_5_F EQU 5
|
||||
DEF SUBSTATUS3_UNK_6_F EQU 6
|
||||
DEF SUBSTATUS3_PERPLEX_F EQU 7
|
||||
|
||||
; DUELVARS_ARENA_CARD_FLAGS constants
|
||||
DEF PLAY_AREA_FLAG_UNK_1_F EQU 1
|
||||
DEF PLAY_AREA_FLAG_UNK_2_F EQU 2
|
||||
DEF PLAY_AREA_FLAG_UNK_3_F EQU 3
|
||||
DEF AFFECTED_BY_STARE_F EQU 4
|
||||
DEF USED_PKMN_POWER_THIS_TURN_F EQU 5
|
||||
DEF USED_LEEK_SLAP_THIS_DUEL_F EQU 6
|
||||
DEF CAN_EVOLVE_THIS_TURN_F EQU 7
|
||||
|
||||
DEF AFFECTED_BY_STARE EQU 1 << AFFECTED_BY_STARE_F
|
||||
DEF USED_PKMN_POWER_THIS_TURN EQU 1 << USED_PKMN_POWER_THIS_TURN_F
|
||||
DEF USED_LEEK_SLAP_THIS_DUEL EQU 1 << USED_LEEK_SLAP_THIS_DUEL_F
|
||||
DEF CAN_EVOLVE_THIS_TURN EQU 1 << CAN_EVOLVE_THIS_TURN_F
|
||||
@@ -243,12 +260,18 @@ DEF NO_DAMAGE_OR_EFFECT_NSHIELD EQU $05
|
||||
const OPPACTION_USE_METRONOME_ATTACK ; $15
|
||||
const OPPACTION_6B15 ; $16
|
||||
const OPPACTION_DUEL_MAIN_SCENE ; $17
|
||||
const OPPACTION_UNK_18 ; $18
|
||||
const OPPACTION_UNK_19 ; $19
|
||||
const OPPACTION_UNK_1A ; $1a
|
||||
const OPPACTION_UNK_1B ; $1b
|
||||
const OPPACTION_UNK_1C ; $1c
|
||||
DEF NUM_OPP_ACTIONS EQU const_value
|
||||
|
||||
; constants for PracticeDuelActionTable entries
|
||||
const_def 1
|
||||
const PRACTICEDUEL_DRAW_SEVEN_CARDS
|
||||
const PRACTICEDUEL_PLAY_GOLDEEN
|
||||
const PRACTICEDUEL_PUT_STARYU_IN_BENCH
|
||||
const PRACTICEDUEL_PLAY_DIGLETT
|
||||
const PRACTICEDUEL_PUT_NIDORANM_IN_BENCH
|
||||
const PRACTICEDUEL_VERIFY_INITIAL_PLAY
|
||||
const PRACTICEDUEL_DONE_PUTTING_ON_BENCH
|
||||
const PRACTICEDUEL_PRINT_TURN_INSTRUCTIONS
|
||||
@@ -281,14 +304,14 @@ DEF PRIZES_6 EQU $06
|
||||
|
||||
; special rule constants, stored in wSpecialRule
|
||||
const_def
|
||||
const NO_RULES ; $0
|
||||
const CHLOROPHYLL ; $1
|
||||
const THUNDER_CHARGE ; $2
|
||||
const FLAME_ARMOR ; $3
|
||||
const SMALL_BENCH ; $4
|
||||
const RUNNING_WATER ; $5
|
||||
const EARTH_POWER ; $6
|
||||
const LOW_RESISTANCE ; $7
|
||||
const ENERGY_RETURN ; $8
|
||||
const TOUGH_ESCAPE ; $9
|
||||
const BLACK_HOLE ; $a
|
||||
const NO_SPECIAL_RULE ; $0
|
||||
const CHLOROPHYLL ; $1
|
||||
const THUNDER_CHARGE ; $2
|
||||
const FLAME_ARMOR ; $3
|
||||
const SMALL_BENCH ; $4
|
||||
const RUNNING_WATER ; $5
|
||||
const EARTH_POWER ; $6
|
||||
const LOW_RESISTANCE ; $7
|
||||
const ENERGY_RETURN ; $8
|
||||
const TOUGH_ESCAPE ; $9
|
||||
const BLACK_HOLE ; $a
|
||||
|
||||
@@ -10,6 +10,12 @@ DEF CARDPAGE_ENERGY_2 EQU $0a
|
||||
DEF CARDPAGE_TRAINER_1 EQU $0d
|
||||
DEF CARDPAGE_TRAINER_2 EQU $0e
|
||||
|
||||
; wAttackPageNumber constants
|
||||
DEF ATTACKPAGE_ATTACK1_1 EQU $00
|
||||
DEF ATTACKPAGE_ATTACK1_2 EQU $01
|
||||
DEF ATTACKPAGE_ATTACK2_1 EQU $02
|
||||
DEF ATTACKPAGE_ATTACK2_2 EQU $03
|
||||
|
||||
; wCardPageType constants
|
||||
DEF CARDPAGETYPE_NOT_PLAY_AREA EQU $00
|
||||
DEF CARDPAGETYPE_PLAY_AREA EQU $01
|
||||
@@ -18,3 +24,29 @@ DEF CARDPAGETYPE_PLAY_AREA EQU $01
|
||||
DEF HEADER_TRAINER EQU $00
|
||||
DEF HEADER_ENERGY EQU $01
|
||||
DEF HEADER_POKEMON EQU $02
|
||||
|
||||
; Box message id's
|
||||
const_def
|
||||
const BOXMSG_PLAYERS_TURN
|
||||
const BOXMSG_OPPONENTS_TURN
|
||||
const BOXMSG_BETWEEN_TURNS
|
||||
const BOXMSG_DECISION
|
||||
const BOXMSG_BENCH_POKEMON
|
||||
const BOXMSG_ARENA_POKEMON
|
||||
const BOXMSG_COIN_TOSS
|
||||
|
||||
; wDuelDisplayedScreen constants
|
||||
DEF DUEL_MAIN_SCENE EQU $01
|
||||
DEF PLAY_AREA_CARD_LIST EQU $02
|
||||
DEF UNKNOWN_SCREEN_4 EQU $04 ; used for some animations
|
||||
DEF UNKNOWN_SCREEN_5 EQU $05 ; used for some animations
|
||||
DEF COIN_TOSS EQU $06
|
||||
DEF DRAW_CARDS EQU $07
|
||||
DEF LARGE_CARD_PICTURE EQU $08
|
||||
DEF SHUFFLE_DECK EQU $09
|
||||
DEF CHECK_PLAY_AREA EQU $0a
|
||||
|
||||
; wCardListItemSelectionMenuType constants
|
||||
;NONE EQU $00
|
||||
DEF PLAY_CHECK EQU $01
|
||||
DEF SELECT_CHECK EQU $02
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
const_def
|
||||
const NPC_MARK ; $00
|
||||
const NPC_MINT ; $01
|
||||
const NPC_MARK_LINK ; $02
|
||||
const NPC_MINT_LINK ; $03
|
||||
const NPC_RONALD ; $04
|
||||
const NPC_SAM ; $05
|
||||
const NPC_AARON ; $06
|
||||
const NPC_ISHIHARA ; $07
|
||||
const NPC_IMAKUNI_BLACK ; $08
|
||||
const NPC_IMAKUNI_RED ; $09
|
||||
const NPC_ISAAC ; $0a
|
||||
const NPC_JENNIFER ; $0b
|
||||
const NPC_NICHOLAS ; $0c
|
||||
const NPC_BRANDON ; $0d
|
||||
const NPC_MURRAY ; $0e
|
||||
const NPC_STEPHANIE ; $0f
|
||||
const NPC_DANIEL ; $10
|
||||
const NPC_ROBERT ; $11
|
||||
const NPC_GENE ; $12
|
||||
const NPC_MATTHEW ; $13
|
||||
const NPC_RYAN ; $14
|
||||
const NPC_ANDREW ; $15
|
||||
const NPC_MITCH ; $16
|
||||
const NPC_MICHAEL ; $17
|
||||
const NPC_CHRIS ; $18
|
||||
const NPC_JESSICA ; $19
|
||||
const NPC_NIKKI ; $1a
|
||||
const NPC_BRITTANY ; $1b
|
||||
const NPC_KRISTIN ; $1c
|
||||
const NPC_HEATHER ; $1d
|
||||
const NPC_RICK ; $1e
|
||||
const NPC_JOSEPH ; $1f
|
||||
const NPC_DAVID ; $20
|
||||
const NPC_ERIK ; $21
|
||||
const NPC_AMY ; $22
|
||||
const NPC_JOSHUA ; $23
|
||||
const NPC_SARA ; $24
|
||||
const NPC_AMANDA ; $25
|
||||
const NPC_KEN ; $26
|
||||
const NPC_JOHN ; $27
|
||||
const NPC_ADAM ; $28
|
||||
const NPC_JONATHAN ; $29
|
||||
const NPC_COURTNEY ; $2a
|
||||
const NPC_STEVE ; $2b
|
||||
const NPC_JACK ; $2c
|
||||
const NPC_ROD ; $2d
|
||||
const NPC_EIJI ; $2e
|
||||
const NPC_MAGICIAN ; $2f
|
||||
const NPC_YUI ; $30
|
||||
const NPC_TOSHIRON ; $31
|
||||
const NPC_PIERROT ; $32
|
||||
const NPC_ANNA ; $33
|
||||
const NPC_DEE ; $34
|
||||
const NPC_MASQUERADE ; $35
|
||||
const NPC_PAWN ; $36
|
||||
const NPC_KNIGHT ; $37
|
||||
const NPC_BISHOP ; $38
|
||||
const NPC_ROOK ; $39
|
||||
const NPC_QUEEN ; $3a
|
||||
const NPC_GR_1 ; $3b
|
||||
const NPC_GR_2 ; $3c
|
||||
const NPC_GR_3 ; $3d
|
||||
const NPC_GR_4 ; $3e
|
||||
const NPC_MIDORI ; $3f
|
||||
const NPC_YUUTA ; $40
|
||||
const NPC_MIYUKI ; $41
|
||||
const NPC_MORINO ; $42
|
||||
const NPC_RENNA ; $43
|
||||
const NPC_ICHIKAWA ; $44
|
||||
const NPC_CATHERINE ; $45
|
||||
const NPC_TAP ; $46
|
||||
const NPC_JES ; $47
|
||||
const NPC_YUKI ; $48
|
||||
const NPC_SHOKO ; $49
|
||||
const NPC_HIDERO ; $4a
|
||||
const NPC_MIYAJIMA ; $4b
|
||||
const NPC_SENTA ; $4c
|
||||
const NPC_AIRA ; $4d
|
||||
const NPC_KANOKO ; $4e
|
||||
const NPC_GODA ; $4f
|
||||
const NPC_GRACE ; $50
|
||||
const NPC_KAMIYA ; $51
|
||||
const NPC_MIWA ; $52
|
||||
const NPC_KEVIN ; $53
|
||||
const NPC_YOSUKE ; $54
|
||||
const NPC_RYOKO ; $55
|
||||
const NPC_MAMI ; $56
|
||||
const NPC_NISHIJIMA ; $57
|
||||
const NPC_ISHII ; $58
|
||||
const NPC_SAMEJIMA ; $59
|
||||
const NPC_KANZAKI ; $5a
|
||||
const NPC_RUI ; $5b
|
||||
const NPC_BIRURITCHI ; $5c
|
||||
const NPC_GR_X ; $5d
|
||||
const NPC_TOBI_CHAN ; $5e
|
||||
const NPC_DR_MASON ; $5f
|
||||
DEF NUM_NPC_IDS EQU const_value
|
||||
@@ -1,100 +1,100 @@
|
||||
const_def
|
||||
const PORTRAIT_00 ; $00
|
||||
const PORTRAIT_01 ; $01
|
||||
const PORTRAIT_02 ; $02
|
||||
const PORTRAIT_03 ; $03
|
||||
const PORTRAIT_04 ; $04
|
||||
const PORTRAIT_05 ; $05
|
||||
const PORTRAIT_06 ; $06
|
||||
const PORTRAIT_07 ; $07
|
||||
const PORTRAIT_08 ; $08
|
||||
const PORTRAIT_09 ; $09
|
||||
const PORTRAIT_0A ; $0a
|
||||
const PORTRAIT_0B ; $0b
|
||||
const PORTRAIT_0C ; $0c
|
||||
const PORTRAIT_0D ; $0d
|
||||
const PORTRAIT_0E ; $0e
|
||||
const PORTRAIT_0F ; $0f
|
||||
const PORTRAIT_10 ; $10
|
||||
const PORTRAIT_11 ; $11
|
||||
const PORTRAIT_12 ; $12
|
||||
const PORTRAIT_13 ; $13
|
||||
const PORTRAIT_14 ; $14
|
||||
const PORTRAIT_15 ; $15
|
||||
const PORTRAIT_16 ; $16
|
||||
const PORTRAIT_17 ; $17
|
||||
const PORTRAIT_18 ; $18
|
||||
const PORTRAIT_19 ; $19
|
||||
const PORTRAIT_1A ; $1a
|
||||
const PORTRAIT_1B ; $1b
|
||||
const PORTRAIT_1C ; $1c
|
||||
const PORTRAIT_1D ; $1d
|
||||
const PORTRAIT_1E ; $1e
|
||||
const PORTRAIT_1F ; $1f
|
||||
const PORTRAIT_20 ; $20
|
||||
const PORTRAIT_21 ; $21
|
||||
const PORTRAIT_22 ; $22
|
||||
const PORTRAIT_23 ; $23
|
||||
const PORTRAIT_24 ; $24
|
||||
const PORTRAIT_25 ; $25
|
||||
const PORTRAIT_26 ; $26
|
||||
const PORTRAIT_27 ; $27
|
||||
const PORTRAIT_28 ; $28
|
||||
const PORTRAIT_29 ; $29
|
||||
const PORTRAIT_2A ; $2a
|
||||
const PORTRAIT_2B ; $2b
|
||||
const PORTRAIT_2C ; $2c
|
||||
const PORTRAIT_2D ; $2d
|
||||
const PORTRAIT_2E ; $2e
|
||||
const PORTRAIT_2F ; $2f
|
||||
const PORTRAIT_30 ; $30
|
||||
const PORTRAIT_31 ; $31
|
||||
const PORTRAIT_32 ; $32
|
||||
const PORTRAIT_33 ; $33
|
||||
const PORTRAIT_34 ; $34
|
||||
const PORTRAIT_35 ; $35
|
||||
const PORTRAIT_36 ; $36
|
||||
const PORTRAIT_37 ; $37
|
||||
const PORTRAIT_38 ; $38
|
||||
const PORTRAIT_39 ; $39
|
||||
const PORTRAIT_3A ; $3a
|
||||
const PORTRAIT_3B ; $3b
|
||||
const PORTRAIT_3C ; $3c
|
||||
const PORTRAIT_3D ; $3d
|
||||
const PORTRAIT_3E ; $3e
|
||||
const PORTRAIT_3F ; $3f
|
||||
const PORTRAIT_40 ; $40
|
||||
const PORTRAIT_41 ; $41
|
||||
const PORTRAIT_42 ; $42
|
||||
const PORTRAIT_43 ; $43
|
||||
const PORTRAIT_44 ; $44
|
||||
const PORTRAIT_45 ; $45
|
||||
const PORTRAIT_46 ; $46
|
||||
const PORTRAIT_47 ; $47
|
||||
const PORTRAIT_48 ; $48
|
||||
const PORTRAIT_49 ; $49
|
||||
const PORTRAIT_4A ; $4a
|
||||
const PORTRAIT_4B ; $4b
|
||||
const PORTRAIT_4C ; $4c
|
||||
const PORTRAIT_4D ; $4d
|
||||
const PORTRAIT_4E ; $4e
|
||||
const PORTRAIT_4F ; $4f
|
||||
const PORTRAIT_50 ; $50
|
||||
const PORTRAIT_51 ; $51
|
||||
const PORTRAIT_52 ; $52
|
||||
const PORTRAIT_53 ; $53
|
||||
const PORTRAIT_54 ; $54
|
||||
const PORTRAIT_55 ; $55
|
||||
const PORTRAIT_56 ; $56
|
||||
const PORTRAIT_57 ; $57
|
||||
const PORTRAIT_58 ; $58
|
||||
const PORTRAIT_59 ; $59
|
||||
const PORTRAIT_5A ; $5a
|
||||
const PORTRAIT_5B ; $5b
|
||||
const PORTRAIT_5C ; $5c
|
||||
const PORTRAIT_5D ; $5d
|
||||
const PORTRAIT_5E ; $5e
|
||||
const PORTRAIT_5F ; $5f
|
||||
const PORTRAIT_MARK ; $00
|
||||
const PORTRAIT_MINT ; $01
|
||||
const PORTRAIT_MARK_LINK ; $02
|
||||
const PORTRAIT_MINT_LINK ; $03
|
||||
const PORTRAIT_RONALD ; $04
|
||||
const PORTRAIT_SAM ; $05
|
||||
const PORTRAIT_AARON ; $06
|
||||
const PORTRAIT_ISHIHARA ; $07
|
||||
const PORTRAIT_ISAAC ; $08
|
||||
const PORTRAIT_JENNIFER ; $09
|
||||
const PORTRAIT_NICHOLAS ; $0a
|
||||
const PORTRAIT_BRANDON ; $0b
|
||||
const PORTRAIT_MURRAY ; $0c
|
||||
const PORTRAIT_STEPHANIE ; $0d
|
||||
const PORTRAIT_DANIEL ; $0e
|
||||
const PORTRAIT_ROBERT ; $0f
|
||||
const PORTRAIT_GENE ; $10
|
||||
const PORTRAIT_MATTHEW ; $11
|
||||
const PORTRAIT_RYAN ; $12
|
||||
const PORTRAIT_ANDREW ; $13
|
||||
const PORTRAIT_MITCH ; $14
|
||||
const PORTRAIT_MICHAEL ; $15
|
||||
const PORTRAIT_CHRIS ; $16
|
||||
const PORTRAIT_JESSICA ; $17
|
||||
const PORTRAIT_NIKKI ; $18
|
||||
const PORTRAIT_BRITTANY ; $19
|
||||
const PORTRAIT_KRISTIN ; $1a
|
||||
const PORTRAIT_HEATHER ; $1b
|
||||
const PORTRAIT_RICK ; $1c
|
||||
const PORTRAIT_JOSEPH ; $1d
|
||||
const PORTRAIT_DAVID ; $1e
|
||||
const PORTRAIT_ERIK ; $1f
|
||||
const PORTRAIT_AMY ; $20
|
||||
const PORTRAIT_JOSHUA ; $21
|
||||
const PORTRAIT_SARA ; $22
|
||||
const PORTRAIT_AMANDA ; $23
|
||||
const PORTRAIT_KEN ; $24
|
||||
const PORTRAIT_JOHN ; $25
|
||||
const PORTRAIT_ADAM ; $26
|
||||
const PORTRAIT_JONATHAN ; $27
|
||||
const PORTRAIT_COURTNEY ; $28
|
||||
const PORTRAIT_STEVE ; $29
|
||||
const PORTRAIT_JACK ; $2a
|
||||
const PORTRAIT_ROD ; $2b
|
||||
const PORTRAIT_EIJI ; $2c
|
||||
const PORTRAIT_MAGICIAN ; $2d
|
||||
const PORTRAIT_YUI ; $2e
|
||||
const PORTRAIT_TOSHIRON ; $2f
|
||||
const PORTRAIT_PIERROT ; $30
|
||||
const PORTRAIT_ANNA ; $31
|
||||
const PORTRAIT_DEE ; $32
|
||||
const PORTRAIT_MASQUERADE ; $33
|
||||
const PORTRAIT_PAWN ; $34
|
||||
const PORTRAIT_KNIGHT ; $35
|
||||
const PORTRAIT_BISHOP ; $36
|
||||
const PORTRAIT_ROOK ; $37
|
||||
const PORTRAIT_QUEEN ; $38
|
||||
const PORTRAIT_GR_1 ; $39
|
||||
const PORTRAIT_GR_2 ; $3a
|
||||
const PORTRAIT_GR_3 ; $3b
|
||||
const PORTRAIT_GR_4 ; $3c
|
||||
const PORTRAIT_MIDORI ; $3d
|
||||
const PORTRAIT_YUUTA ; $3e
|
||||
const PORTRAIT_MIYUKI ; $3f
|
||||
const PORTRAIT_MORINO ; $40
|
||||
const PORTRAIT_RENNA ; $41
|
||||
const PORTRAIT_ICHIKAWA ; $42
|
||||
const PORTRAIT_CATHERINE ; $43
|
||||
const PORTRAIT_TAP ; $44
|
||||
const PORTRAIT_JES ; $45
|
||||
const PORTRAIT_YUKI ; $46
|
||||
const PORTRAIT_SHOKO ; $47
|
||||
const PORTRAIT_HIDERO ; $48
|
||||
const PORTRAIT_MIYAJIMA ; $49
|
||||
const PORTRAIT_SENTA ; $4a
|
||||
const PORTRAIT_AIRA ; $4b
|
||||
const PORTRAIT_KANOKO ; $4c
|
||||
const PORTRAIT_GODA ; $4d
|
||||
const PORTRAIT_GRACE ; $4e
|
||||
const PORTRAIT_KAMIYA ; $4f
|
||||
const PORTRAIT_MIWA ; $50
|
||||
const PORTRAIT_KEVIN ; $51
|
||||
const PORTRAIT_YOSUKE ; $52
|
||||
const PORTRAIT_RYOKO ; $53
|
||||
const PORTRAIT_MAMI ; $54
|
||||
const PORTRAIT_NISHIJIMA ; $55
|
||||
const PORTRAIT_ISHII ; $56
|
||||
const PORTRAIT_SAMEJIMA ; $57
|
||||
const PORTRAIT_KANZAKI ; $58
|
||||
const PORTRAIT_RUI ; $59
|
||||
const PORTRAIT_BIRURITCHI ; $5a
|
||||
const PORTRAIT_GR_X ; $5b
|
||||
const PORTRAIT_TOBI_CHAN ; $5c
|
||||
const PORTRAIT_DR_MASON ; $5d
|
||||
const PORTRAIT_IMAKUNI_BLACK ; $5e
|
||||
const PORTRAIT_IMAKUNI_RED ; $5f
|
||||
|
||||
; each portrait has 3 variants
|
||||
const_def
|
||||
|
||||
@@ -59,6 +59,6 @@
|
||||
const VAR_39 ; $39
|
||||
const VAR_3A ; $3a
|
||||
const VAR_3B ; $3b
|
||||
const VAR_3C ; $3c
|
||||
const VAR_NPC_DECK_ID ; $3c
|
||||
const VAR_3D ; $3d
|
||||
const VAR_3E ; $3e
|
||||
|
||||
+13
-13
@@ -19,10 +19,10 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $07, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_show_portrait NPC_ISHIHARA, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_show_portrait $07, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_show_portrait NPC_ISHIHARA, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_print_header 7, 2, 2, Text07aa
|
||||
credits_print_text 10, 6, Text07ab
|
||||
credits_fade_in CREDITS_FADE_HEADER_TEXT, $05
|
||||
@@ -33,10 +33,10 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $06, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_show_portrait NPC_AARON, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_show_portrait $06, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_show_portrait NPC_AARON, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_print_header 7, 2, 2, Text07ac
|
||||
credits_print_text 10, 8, Text07ad
|
||||
credits_fade_in CREDITS_FADE_HEADER_TEXT, $05
|
||||
@@ -47,10 +47,10 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $51, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_show_portrait NPC_KAMIYA, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_show_portrait $51, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_show_portrait NPC_KAMIYA, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_print_header 4, 2, 2, Text07ae
|
||||
credits_print_text 10, 8, Text07af
|
||||
credits_fade_in CREDITS_FADE_HEADER_TEXT, $05
|
||||
@@ -61,10 +61,10 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $46, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_show_portrait NPC_TAP, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_show_portrait $46, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_show_portrait NPC_TAP, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_print_header 5, 2, 2, Text07b0
|
||||
credits_print_text 10, 8, Text07b1
|
||||
credits_fade_in CREDITS_FADE_HEADER_TEXT, $05
|
||||
@@ -75,7 +75,7 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $5e, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_show_portrait NPC_TOBI_CHAN, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_print_header 5, 2, 2, Text07b2
|
||||
@@ -215,7 +215,7 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $26, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_show_portrait NPC_KEN, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_print_header 10, 2, 2, Text07c5
|
||||
@@ -229,7 +229,7 @@ Credits:
|
||||
|
||||
credits_draw_box 2, 6, 6, 6
|
||||
credits_draw_box 10, 6, 10, 6
|
||||
credits_show_portrait $5f, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_show_portrait NPC_DR_MASON, 2, 6, PORTRAITVARIANT_HAPPY
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_print_text 10, 8, Text07c7
|
||||
@@ -242,7 +242,7 @@ Credits:
|
||||
|
||||
credits_draw_box 2, 6, 6, 6
|
||||
credits_draw_box 10, 6, 10, 6
|
||||
credits_show_portrait $0e, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_show_portrait NPC_MURRAY, 2, 6, PORTRAITVARIANT_NORMAL
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_print_text 10, 8, Text07c8
|
||||
@@ -332,7 +332,7 @@ Credits:
|
||||
credits_wait 20
|
||||
|
||||
credits_draw_box 0, 0, 20, 18
|
||||
credits_show_portrait $09, 2, 6, PORTRAITVARIANT_SAD
|
||||
credits_show_portrait NPC_IMAKUNI_RED, 2, 6, PORTRAITVARIANT_SAD
|
||||
credits_fade_in CREDITS_FADE_BACKGROUND, $0a
|
||||
credits_wait 60
|
||||
credits_print_header 12, 2, 2, Text07d0
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
PracticeDuelTextPointerTable:
|
||||
dw PracticeDuelText_Turn1
|
||||
dw PracticeDuelText_Turn2
|
||||
dw PracticeDuelText_Turn3
|
||||
dw PracticeDuelText_Turn4
|
||||
dw PracticeDuelText_Turn5
|
||||
dw PracticeDuelText_Turn6
|
||||
|
||||
MACRO practicetext
|
||||
db \1 ; Y coord to place the point-by-point instruction
|
||||
tx \2 ; Dr. Mason's instruction
|
||||
tx \3 ; static point-by-point instruction
|
||||
ENDM
|
||||
|
||||
PracticeDuelText_Turn1:
|
||||
practicetext 2, Text0502, Text04ff
|
||||
practicetext 5, Text0503, Text0500
|
||||
practicetext 8, Text0504, Text0501
|
||||
db $00
|
||||
|
||||
PracticeDuelText_Turn2:
|
||||
practicetext 2, Text050a, Text0508
|
||||
practicetext 5, Text050b, Text0509
|
||||
db $00
|
||||
|
||||
PracticeDuelText_Turn3:
|
||||
practicetext 2, Text050f, Text050c
|
||||
practicetext 5, Text0510, Text050d
|
||||
practicetext 8, Text0511, Text050e
|
||||
db $00
|
||||
|
||||
PracticeDuelText_Turn4:
|
||||
practicetext 2, Text0515, Text0512
|
||||
practicetext 5, Text0516, Text0513
|
||||
practicetext 8, Text0517, Text0514
|
||||
db $00
|
||||
|
||||
PracticeDuelText_Turn5:
|
||||
practicetext 2, Text0520, Text051d
|
||||
practicetext 5, Text0521, Text051e
|
||||
practicetext 8, Text0522, Text051f
|
||||
db $00
|
||||
|
||||
PracticeDuelText_Turn6:
|
||||
practicetext 2, Text0526, Text0523
|
||||
practicetext 5, Text0527, Text0524
|
||||
practicetext 8, Text0528, Text0525
|
||||
db $00
|
||||
|
||||
PracticeDuelText_SamTurn4:
|
||||
practicetext 2, Text051a, Text0518
|
||||
practicetext 6, Text051b, Text0519
|
||||
db $00
|
||||
+6197
-49
File diff suppressed because it is too large
Load Diff
+130
-1
@@ -1,3 +1,132 @@
|
||||
SECTION "Bank 2@43b3", ROMX[$43b3], BANK[$2]
|
||||
|
||||
Func_82b6:
|
||||
ld a, [wCheckMenuPlayAreaWhichDuelist]
|
||||
ld b, a
|
||||
ld a, [wCheckMenuPlayAreaWhichLayout]
|
||||
cp b
|
||||
jr nz, .not_equal
|
||||
|
||||
ld hl, PrizeCardsCoordinateData_YourOrOppPlayArea.player
|
||||
call DrawPlayArea_PrizeCards
|
||||
ret
|
||||
|
||||
.not_equal
|
||||
ld hl, PrizeCardsCoordinateData_YourOrOppPlayArea.opponent
|
||||
call DrawPlayArea_PrizeCards
|
||||
ret
|
||||
; 0x83cb
|
||||
|
||||
SECTION "Bank 2@4587", ROMX[$4587], BANK[$2]
|
||||
|
||||
; draws prize cards depending on the turn
|
||||
; loaded in wCheckMenuPlayAreaWhichDuelist
|
||||
; input:
|
||||
; hl = pointer to coordinates
|
||||
DrawPlayArea_PrizeCards:
|
||||
push hl
|
||||
call GetDuelInitialPrizesUpperBitsSet
|
||||
ld a, [wCheckMenuPlayAreaWhichDuelist]
|
||||
ld h, a
|
||||
ld l, DUELVARS_PRIZES
|
||||
ld a, [hl]
|
||||
|
||||
pop hl
|
||||
ld b, 0
|
||||
push af
|
||||
; loop each prize card
|
||||
.loop
|
||||
inc b
|
||||
ld a, [wDuelInitialPrizes]
|
||||
inc a
|
||||
cp b
|
||||
jr z, .done
|
||||
|
||||
pop af
|
||||
srl a ; right shift prize cards left
|
||||
push af
|
||||
jr c, .not_taken
|
||||
ld a, $e0 ; tile byte for empty slot
|
||||
jr .draw
|
||||
.not_taken
|
||||
ld a, [wcc07]
|
||||
or a
|
||||
jr z, .asm_85b2
|
||||
ld a, $f9
|
||||
jr .draw
|
||||
.asm_85b2
|
||||
ld a, $dc ; tile byte for card
|
||||
.draw
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
|
||||
push hl
|
||||
push bc
|
||||
lb hl, $01, $02 ; card tile gfx
|
||||
lb bc, 2, 2 ; rectangle size
|
||||
call FillRectangle
|
||||
|
||||
ld a, [wConsole]
|
||||
cp CONSOLE_CGB
|
||||
jr nz, .not_cgb
|
||||
ld a, $03 ; blue colour
|
||||
lb bc, 2, 2
|
||||
lb hl, 0, 0
|
||||
call BankswitchVRAM1
|
||||
call FillRectangle
|
||||
call BankswitchVRAM0
|
||||
.not_cgb
|
||||
pop bc
|
||||
pop hl
|
||||
jr .loop
|
||||
.done
|
||||
pop af
|
||||
ret
|
||||
|
||||
PrizeCardsCoordinateData_YourOrOppPlayArea:
|
||||
; x and y coordinates for player prize cards
|
||||
.player
|
||||
db 2, 1
|
||||
db 2, 3
|
||||
db 4, 1
|
||||
db 4, 3
|
||||
db 6, 1
|
||||
db 6, 3
|
||||
; x and y coordinates for opponent prize cards
|
||||
.opponent
|
||||
db 9, 17
|
||||
db 9, 15
|
||||
db 7, 17
|
||||
db 7, 15
|
||||
db 5, 17
|
||||
db 5, 15
|
||||
|
||||
SECTION "Bank 2@4629", ROMX[$4629], BANK[$2]
|
||||
|
||||
; calculates bits set up to the number of initial prizes, with upper 2 bits set, i.e:
|
||||
; 6 prizes: a = %11111111
|
||||
; 4 prizes: a = %11001111
|
||||
; 3 prizes: a = %11000111
|
||||
; 2 prizes: a = %11000011
|
||||
GetDuelInitialPrizesUpperBitsSet:
|
||||
ld a, [wDuelInitialPrizes]
|
||||
ld b, $01
|
||||
.loop
|
||||
or a
|
||||
jr z, .done
|
||||
sla b
|
||||
dec a
|
||||
jr .loop
|
||||
.done
|
||||
dec b
|
||||
ld a, b
|
||||
or %11000000
|
||||
ld [wDuelInitialPrizesUpperBitsSet], a
|
||||
ret
|
||||
; 0x863e
|
||||
|
||||
SECTION "Bank 2@4acb", ROMX[$4acb], BANK[$2]
|
||||
|
||||
LoadMenuCursorTile:
|
||||
@@ -84,7 +213,7 @@ HandleMultiDirectionalMenu:
|
||||
|
||||
.make_bitmask_done
|
||||
; check if the moved cursor refers to an existing item.
|
||||
ld a, [wd0c4]
|
||||
ld a, [wDuelInitialPrizesUpperBitsSet]
|
||||
and b
|
||||
jr nz, .sfx
|
||||
ld a, [wd0d0]
|
||||
|
||||
@@ -103,12 +103,12 @@ StartMenu_ContinueFromDiary:
|
||||
call DoFrame
|
||||
ld a, $0e
|
||||
call Func_3154
|
||||
ld a, VAR_3C
|
||||
ld a, VAR_NPC_DECK_ID
|
||||
call GetVarValue
|
||||
ld [wcc16], a
|
||||
ld [wNPCDuelDeckID], a
|
||||
ld a, VAR_3D
|
||||
call GetVarValue
|
||||
ld [wdd03], a
|
||||
ld [wDuelStartTheme], a
|
||||
call Func_3087
|
||||
scf
|
||||
ret
|
||||
@@ -876,11 +876,11 @@ Func_d299::
|
||||
call Func_3154
|
||||
ret
|
||||
.asm_d357
|
||||
ld a, [wcc16]
|
||||
ld a, [wNPCDuelDeckID]
|
||||
ld c, a
|
||||
ld a, VAR_3C
|
||||
ld a, VAR_NPC_DECK_ID
|
||||
call SetVarValue
|
||||
ld a, [wdd03]
|
||||
ld a, [wDuelStartTheme]
|
||||
ld c, a
|
||||
ld a, VAR_3D
|
||||
call SetVarValue
|
||||
@@ -899,7 +899,7 @@ Func_d299::
|
||||
call Func_e9a7
|
||||
ld a, EVENT_F0
|
||||
call ZeroOutEventValue
|
||||
farcall $11, $4943
|
||||
farcall PlayCurrentSong
|
||||
ld a, $09
|
||||
ld [wd582], a
|
||||
xor a
|
||||
@@ -1877,7 +1877,7 @@ GeneralVarMasks:
|
||||
db $28, %11111111 ; VAR_39
|
||||
db $29, %00000111 ; VAR_3A
|
||||
db $2a, %11111111 ; VAR_3B
|
||||
db $2b, %11111111 ; VAR_3C
|
||||
db $2b, %11111111 ; VAR_NPC_DECK_ID
|
||||
db $2c, %11111111 ; VAR_3D
|
||||
db $33, %11111111 ; VAR_3E
|
||||
|
||||
|
||||
+13
-5
@@ -1635,6 +1635,12 @@ SetSpriteAnimAnimation::
|
||||
ret
|
||||
; 0x10cd9
|
||||
|
||||
SECTION "Bank 4@4cfe", ROMX[$4cfe], BANK[$4]
|
||||
|
||||
Func_10cfe:
|
||||
ret
|
||||
; 0x10cff
|
||||
|
||||
SECTION "Bank 4@4d17", ROMX[$4d17], BANK[$4]
|
||||
|
||||
Func_10d17:
|
||||
@@ -1642,7 +1648,7 @@ Func_10d17:
|
||||
push bc
|
||||
push hl
|
||||
sla b
|
||||
sla b
|
||||
sla b ; *4
|
||||
inc hl
|
||||
ld a, [hl] ; SPRITEANIMSTRUCT_1
|
||||
and $fb
|
||||
@@ -1681,6 +1687,7 @@ GetOWObjectSpriteAnimFlags::
|
||||
|
||||
SECTION "Bank 4@4d77", ROMX[$4d77], BANK[$4]
|
||||
|
||||
; a = OW_* constant
|
||||
LoadOWObjectInMap::
|
||||
push af
|
||||
push bc
|
||||
@@ -2253,6 +2260,7 @@ DrawWideTextBox_PrintTextWithYesOrNoMenu:
|
||||
|
||||
SECTION "Bank 4@507c", ROMX[$507c], BANK[$4]
|
||||
|
||||
; hl = text ID
|
||||
Func_1107c:
|
||||
push af
|
||||
push bc
|
||||
@@ -4598,10 +4606,10 @@ ShowProloguePortraitAndText:
|
||||
ret
|
||||
|
||||
.Func_13bdf:
|
||||
ld a, $3b
|
||||
ld a, NPC_GR_1
|
||||
lb bc, 7, 3
|
||||
ld e, PORTRAITVARIANT_NORMAL
|
||||
call Func_3ab2
|
||||
call DrawNPCPortrait
|
||||
ret
|
||||
|
||||
.PrintText:
|
||||
@@ -4834,14 +4842,14 @@ PlayerGenderSelection:
|
||||
|
||||
.LoadPortraitsAndMenuParams:
|
||||
; male portrait
|
||||
ld a, PORTRAIT_00
|
||||
ld a, PORTRAIT_MARK
|
||||
ld b, 0
|
||||
ld c, PORTRAITVARIANT_NORMAL
|
||||
lb de, 2, 4
|
||||
farcall DrawPortrait
|
||||
|
||||
; female portrait
|
||||
ld a, PORTRAIT_01
|
||||
ld a, PORTRAIT_MINT
|
||||
ld b, 1
|
||||
ld c, PORTRAITVARIANT_NORMAL
|
||||
lb de, 12, 4
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
DeckAIPointerTable::
|
||||
dw $41d6 ; UNKNOWN_SAMS_PRACTICE_DECK_ID
|
||||
dw $4180 ; PLAYER_PRACTICE_DECK_ID
|
||||
dw $4180 ; STARTER_DECK_ID
|
||||
dw $4180 ; SWEAT_ANTI_GR1_DECK_ID
|
||||
dw $4180 ; GIVE_IN_ANTI_GR2_DECK_ID
|
||||
dw $4180 ; VENGEFUL_ANTI_GR3_DECK_ID
|
||||
dw $4180 ; UNFORGIVING_ANTI_GR4_DECK_ID
|
||||
dw $4180 ; SAMS_PRACTICE_DECK_ID
|
||||
dw $4180 ; AARON_PRACTICE_DECK1_ID
|
||||
dw $423f ; AARONS_STEP1_DECK_ID
|
||||
dw $4180 ; AARON_PRACTICE_DECK2_ID
|
||||
dw $4274 ; AARONS_STEP2_DECK_ID
|
||||
dw $4180 ; AARON_PRACTICE_DECK3_ID
|
||||
dw $42a9 ; AARONS_STEP3_DECK_ID
|
||||
dw $4180 ; BRICK_WALK_DECK_ID
|
||||
dw $4180 ; BENCH_TRAP_DECK_ID
|
||||
dw $42e4 ; SKY_SPARK_DECK_ID
|
||||
dw $4376 ; ELECTRIC_SELFDESTRUCT_DECK_ID
|
||||
dw $4180 ; OVERFLOW_DECK_ID
|
||||
dw $4180 ; TRIPLE_ZAPDOS_DECK_ID
|
||||
dw $4180 ; I_LOVE_PIKACHU_DECK_ID
|
||||
dw $4180 ; TEN_THOUSAND_VOLTS_DECK_ID
|
||||
dw $41ab ; HAND_OVER_GR_DECK_ID
|
||||
dw $4408 ; PSYCHIC_ELITE_DECK_ID
|
||||
dw $4180 ; PSYCHOKINESIS_DECK_ID
|
||||
dw $4180 ; PHANTOM_DECK_ID
|
||||
dw $44aa ; PUPPET_MASTER_DECK_ID
|
||||
dw $4532 ; EVEN3_YEARS_ON_A_ROCK_DECK_ID
|
||||
dw $4180 ; ROLLING_STONE_DECK_ID
|
||||
dw $4180 ; GREAT_EARTHQUAKE_DECK_ID
|
||||
dw $4180 ; AWESOME_FOSSIL_DECK_ID
|
||||
dw $45b4 ; RAGING_BILLOW_OF_FISTS_DECK_ID
|
||||
dw $4180 ; YOU_CAN_DO_IT_MACHOP_DECK_ID
|
||||
dw $4180 ; NEW_MACHOKE_DECK_ID
|
||||
dw $41ab ; SKILLED_WARRIOR_DECK_ID
|
||||
dw $4180 ; I_LOVE_TO_FIGHT_DECK_ID
|
||||
dw $464c ; MAX_ENERGY_DECK_ID
|
||||
dw $4180 ; REMAINING_GREEN_DECK_ID
|
||||
dw $4180 ; POISON_CURSE_DECK_ID
|
||||
dw $4180 ; GLITTERING_SCALES_DECK_ID
|
||||
dw $4180 ; STEADY_INCREASE_DECK_ID
|
||||
dw $46d4 ; DARK_SCIENCE_DECK_ID
|
||||
dw $4180 ; NATURAL_SCIENCE_DECK_ID
|
||||
dw $4180 ; POISONOUS_SWAMP_DECK_ID
|
||||
dw $4180 ; GATHERING_NIDORAN_DECK_ID
|
||||
dw $475d ; RAIN_DANCE_CONFUSION_DECK_ID
|
||||
dw $4180 ; CONSERVING_WATER_DECK_ID
|
||||
dw $4180 ; ENERGY_REMOVAL_DECK_ID
|
||||
dw $47e5 ; SPLASHING_ABOUT_DECK_ID
|
||||
dw $4843 ; BEACH_DECK_ID
|
||||
dw $489d ; GO_ARCANINE_DECK_ID
|
||||
dw $4180 ; FLAME_FESTIVAL_DECK_ID
|
||||
dw $4180 ; IMMORTAL_FLAME_DECK_ID
|
||||
dw $4180 ; ELECTRIC_CURRENT_SHOCK_DECK_ID
|
||||
dw $4946 ; GREAT_ROCKET4_DECK_ID
|
||||
dw $49ec ; GREAT_ROCKET1_DECK_ID
|
||||
dw $4a95 ; GREAT_ROCKET2_DECK_ID
|
||||
dw $4b56 ; GREAT_ROCKET3_DECK_ID
|
||||
dw $4bfa ; GRAND_FIRE_DECK_ID
|
||||
dw $4ca6 ; LEGENDARY_FOSSIL_DECK_ID
|
||||
dw $4d2b ; WATER_LEGEND_DECK_ID
|
||||
dw $4dc2 ; GREAT_DRAGON_DECK_ID
|
||||
dw $4180 ; BUG_COLLECTING_DECK_ID
|
||||
dw $4180 ; DEMONIC_FOREST_DECK_ID
|
||||
dw $4180 ; STICKY_POISON_GAS_DECK_ID
|
||||
dw $4e6c ; MAD_PETALS_DECK_ID
|
||||
dw $4f02 ; DANGEROUS_BENCH_DECK_ID
|
||||
dw $4180 ; CHAIN_LIGHTNING_BY_PIKACHU_DECK_ID
|
||||
dw $4180 ; THIS_IS_THE_POWER_OF_ELECTRICITY_DECK_ID
|
||||
dw $4f6c ; QUICK_ATTACK_DECK_ID
|
||||
dw $4ffa ; COMPLETE_COMBUSTION_DECK_ID
|
||||
dw $4180 ; FIREBALL_DECK_ID
|
||||
dw $4180 ; EEVEE_SHOWDOWN_DECK_ID
|
||||
dw $5057 ; GAZE_UPON_THE_POWER_OF_FIRE_DECK_ID
|
||||
dw $4180 ; WHIRLPOOL_SHOWER_DECK_ID
|
||||
dw $4180 ; PARALYZED_PARALYZED_DECK_ID
|
||||
dw $4180 ; BENCH_CALL_DECK_ID
|
||||
dw $50df ; WATER_STREAM_DECK_ID
|
||||
dw $4180 ; ROCK_BLAST_DECK_ID
|
||||
dw $4180 ; FULL_STRENGTH_DECK_ID
|
||||
dw $515d ; RUNNING_WILD_DECK_ID
|
||||
dw $4180 ; DIRECT_HIT_DECK_ID
|
||||
dw $4180 ; SUPERDESTRUCTIVE_POWER_DECK_ID
|
||||
dw $4180 ; BAD_DREAM_DECK_ID
|
||||
dw $4180 ; POKEMON_POWER_DECK_ID
|
||||
dw $51e4 ; SPIRITED_AWAY_DECK_ID
|
||||
dw $5262 ; SNORLAX_GUARD_DECK_ID
|
||||
dw $52d8 ; EYE_OF_THE_STORM_DECK_ID
|
||||
dw $5368 ; SUDDEN_GROWTH_DECK_ID
|
||||
dw $53fb ; VERY_RARE_CARD_DECK_ID
|
||||
dw $5478 ; BAD_GUYS_DECK_ID
|
||||
dw $5506 ; POISON_MIST_DECK_ID
|
||||
dw $558c ; ULTRA_REMOVAL_DECK_ID
|
||||
dw $5600 ; PSYCHIC_BATTLE_DECK_ID
|
||||
dw $567c ; STOP_LIFE_DECK_ID
|
||||
dw $5713 ; SCORCHER_DECK_ID
|
||||
dw $57a7 ; TSUNAMI_STARTER_DECK_ID
|
||||
dw $583b ; SMASH_TO_MINCEMEAT_DECK_ID
|
||||
dw $4180 ; TEST_YOUR_LUCK_DECK_ID
|
||||
dw $4180 ; PROTOHISTORIC_DECK_ID
|
||||
dw $58d5 ; TEXTURE_TUNER7_DECK_ID
|
||||
dw $596a ; COLORLESS_ENERGY_DECK_ID
|
||||
dw $5a0e ; POWERFUL_POKEMON_DECK_ID
|
||||
dw $4180 ; WEIRD_DECK_ID
|
||||
dw $4180 ; STRANGE_DECK_ID
|
||||
dw $4180 ; RONALDS_UNCOOL_DECK_ID
|
||||
dw $4180 ; RONALDS_GRX_DECK_ID
|
||||
dw $4180 ; RONALDS_POWER_DECK_ID
|
||||
dw $5a8c ; RONALDS_PSYCHIC_DECK_ID
|
||||
dw $5b1c ; RONALDS_ULTRA_DECK_ID
|
||||
dw $5b98 ; EVERYBODYS_FRIEND_DECK_ID
|
||||
dw $5c17 ; IMMORTAL_POKEMON_DECK_ID
|
||||
dw $5cbb ; TORRENTIAL_FLOOD_DECK_ID
|
||||
dw $5d46 ; TRAINER_IMPRISON_DECK_ID
|
||||
dw $5dd7 ; BLAZING_FLAME_DECK_ID
|
||||
dw $5e54 ; DAMAGE_CHAOS_DECK_ID
|
||||
dw $5ee4 ; BIG_THUNDER_DECK_ID
|
||||
dw $5f57 ; POWER_OF_DARKNESS_DECK_ID
|
||||
dw $5fe1 ; POISON_STORM_DECK_ID
|
||||
dw $4180
|
||||
dw $4180
|
||||
dw $40f4
|
||||
dw $4102
|
||||
dw $4102
|
||||
dw $4129
|
||||
dw $412d
|
||||
dw $4131
|
||||
dw $4135
|
||||
dw $4139
|
||||
; 0x14102
|
||||
+28
-16
@@ -3,6 +3,14 @@ SECTION "Bank 6@46a6", ROMX[$46a6], BANK[$6]
|
||||
INCLUDE "engine/glossary.asm"
|
||||
; 0x1897e
|
||||
|
||||
SECTION "Bank 6@4a14", ROMX[$4a14], BANK[$6]
|
||||
|
||||
Func_18a14::
|
||||
xor a
|
||||
ld [wd0d3], a
|
||||
ret
|
||||
; 0x18a19
|
||||
|
||||
SECTION "Bank 6@5657", ROMX[$5657], BANK[$6]
|
||||
|
||||
; if carry flag is set, only delays
|
||||
@@ -618,10 +626,10 @@ InitSaveData:
|
||||
or b
|
||||
jr nz, .loop_collection
|
||||
|
||||
ld hl, sSavedDuel
|
||||
ld hl, sCurrentDuel
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a ; sSavedDuelChecksum
|
||||
ld [hli], a ; sCurrentDuelChecksum
|
||||
ld [hl], a
|
||||
|
||||
; clears Card Pop! names
|
||||
@@ -643,21 +651,21 @@ InitSaveData:
|
||||
; saved configuration options
|
||||
ld a, 2
|
||||
ld [sPrinterContrastLevel], a
|
||||
ld a, $2
|
||||
ld a, 2
|
||||
ld [sTextSpeed], a
|
||||
ld [wTextSpeed], a
|
||||
|
||||
; miscellaneous data
|
||||
xor a
|
||||
ld [s0a007], a
|
||||
ld [s0a009], a
|
||||
ld [sSkipDelayAllowed], a
|
||||
ld [s0a004], a
|
||||
ld [sTotalCardPopsDone], a
|
||||
ld [sClearedGame], a
|
||||
ld hl, s0a020
|
||||
ld [hli], a
|
||||
ld hl, sTotalDuelCounter
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hli], a ; sLinkDuelCounter
|
||||
ld [hli], a
|
||||
|
||||
farcall Func_8f10
|
||||
@@ -669,7 +677,7 @@ InitSaveData:
|
||||
push de
|
||||
push bc
|
||||
push hl
|
||||
ld [wcc16], a
|
||||
ld [wNPCDuelDeckID], a
|
||||
call LoadDeck
|
||||
jr c, .done
|
||||
call .LoadDeckName
|
||||
@@ -698,7 +706,7 @@ InitSaveData:
|
||||
ret
|
||||
|
||||
.LoadDeckName:
|
||||
ld a, [wcc16]
|
||||
ld a, [wNPCDuelDeckID]
|
||||
sub 3
|
||||
farcall LoadDeckIDData
|
||||
ld hl, wOpponentDeckName
|
||||
@@ -1035,9 +1043,9 @@ DoCardPop:
|
||||
|
||||
; hl = text ID
|
||||
Func_19d24:
|
||||
farcall Func_24158
|
||||
farcall _DisplayCardDetailScreen
|
||||
call ResumeSong
|
||||
bank1call Func_4278
|
||||
bank1call SetupDuel
|
||||
call DisableLCD
|
||||
bank1call OpenCardPage_FromHand
|
||||
ret
|
||||
@@ -1473,7 +1481,7 @@ FillCardPopSummary:
|
||||
ld de, wCardPopSummary
|
||||
call CopyWordFromHLToDE
|
||||
call EnableSRAM
|
||||
ld hl, s0a020
|
||||
ld hl, sTotalDuelCounter
|
||||
call CopyWordFromHLToDE
|
||||
call DisableSRAM
|
||||
call GetAmountOfCardsOwned
|
||||
@@ -1550,7 +1558,7 @@ ViewCardPopRecords:
|
||||
ret
|
||||
|
||||
.init_list
|
||||
bank1call Func_4278
|
||||
bank1call SetupDuel
|
||||
call .DrawSlashAndTopLineSeparator
|
||||
ld hl, .MenuParams
|
||||
ld a, [wCurMenuItem]
|
||||
@@ -1629,12 +1637,12 @@ ViewCardPopRecords:
|
||||
ld a, [wCardPopRecordName + $d]
|
||||
ld e, a
|
||||
ld d, $00
|
||||
ld hl, .portraits
|
||||
ld hl, .DuelistIDs
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld e, PORTRAITVARIANT_NORMAL
|
||||
lb bc, 1, 2
|
||||
call Func_3ab2
|
||||
call DrawNPCPortrait
|
||||
|
||||
call EnableLCD
|
||||
.loop_record_page_input
|
||||
@@ -1710,8 +1718,12 @@ ViewCardPopRecords:
|
||||
textitem 1, 15, Text026c
|
||||
db $ff ; end
|
||||
|
||||
.portraits
|
||||
db $00, $01, $04, $08, $09
|
||||
.DuelistIDs
|
||||
db NPC_MARK
|
||||
db NPC_MINT
|
||||
db NPC_RONALD
|
||||
db NPC_IMAKUNI_BLACK
|
||||
db NPC_IMAKUNI_RED
|
||||
|
||||
.DrawSlashAndTopLineSeparator:
|
||||
lb bc, 17, 1
|
||||
|
||||
+353
-115
@@ -157,18 +157,19 @@ Func_1c0ec::
|
||||
farcall GetEventValue
|
||||
jr nz, .female
|
||||
; male
|
||||
ld a, $00
|
||||
ld a, NPC_MARK
|
||||
jr .asm_1c0fd
|
||||
.female
|
||||
ld a, $01
|
||||
ld a, NPC_MINT
|
||||
.asm_1c0fd
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
ret
|
||||
|
||||
; converts a into PORTRAIT_* constant
|
||||
Func_1c101::
|
||||
; converts NPC_* in a
|
||||
; into PORTRAIT_* constant
|
||||
GetDuelistPortrait::
|
||||
push bc
|
||||
push hl
|
||||
ld c, a
|
||||
@@ -181,126 +182,126 @@ Func_1c101::
|
||||
ret
|
||||
|
||||
.PortraitIDs
|
||||
db PORTRAIT_00 ; $00
|
||||
db PORTRAIT_01 ; $01
|
||||
db PORTRAIT_02 ; $02
|
||||
db PORTRAIT_03 ; $03
|
||||
db PORTRAIT_04 ; $04
|
||||
db PORTRAIT_05 ; $05
|
||||
db PORTRAIT_06 ; $06
|
||||
db PORTRAIT_07 ; $07
|
||||
db PORTRAIT_5E ; $08
|
||||
db PORTRAIT_5F ; $09
|
||||
db PORTRAIT_08 ; $0a
|
||||
db PORTRAIT_09 ; $0b
|
||||
db PORTRAIT_0A ; $0c
|
||||
db PORTRAIT_0B ; $0d
|
||||
db PORTRAIT_0C ; $0e
|
||||
db PORTRAIT_0D ; $0f
|
||||
db PORTRAIT_0E ; $10
|
||||
db PORTRAIT_0F ; $11
|
||||
db PORTRAIT_10 ; $12
|
||||
db PORTRAIT_11 ; $13
|
||||
db PORTRAIT_12 ; $14
|
||||
db PORTRAIT_13 ; $15
|
||||
db PORTRAIT_14 ; $16
|
||||
db PORTRAIT_15 ; $17
|
||||
db PORTRAIT_16 ; $18
|
||||
db PORTRAIT_17 ; $19
|
||||
db PORTRAIT_18 ; $1a
|
||||
db PORTRAIT_19 ; $1b
|
||||
db PORTRAIT_1A ; $1c
|
||||
db PORTRAIT_1B ; $1d
|
||||
db PORTRAIT_1C ; $1e
|
||||
db PORTRAIT_1D ; $1f
|
||||
db PORTRAIT_1E ; $20
|
||||
db PORTRAIT_1F ; $21
|
||||
db PORTRAIT_20 ; $22
|
||||
db PORTRAIT_21 ; $23
|
||||
db PORTRAIT_22 ; $24
|
||||
db PORTRAIT_23 ; $25
|
||||
db PORTRAIT_24 ; $26
|
||||
db PORTRAIT_25 ; $27
|
||||
db PORTRAIT_26 ; $28
|
||||
db PORTRAIT_27 ; $29
|
||||
db PORTRAIT_28 ; $2a
|
||||
db PORTRAIT_29 ; $2b
|
||||
db PORTRAIT_2A ; $2c
|
||||
db PORTRAIT_2B ; $2d
|
||||
db PORTRAIT_2C ; $2e
|
||||
db PORTRAIT_2D ; $2f
|
||||
db PORTRAIT_2E ; $30
|
||||
db PORTRAIT_2F ; $31
|
||||
db PORTRAIT_30 ; $32
|
||||
db PORTRAIT_31 ; $33
|
||||
db PORTRAIT_32 ; $34
|
||||
db PORTRAIT_33 ; $35
|
||||
db PORTRAIT_34 ; $36
|
||||
db PORTRAIT_35 ; $37
|
||||
db PORTRAIT_36 ; $38
|
||||
db PORTRAIT_37 ; $39
|
||||
db PORTRAIT_38 ; $3a
|
||||
db PORTRAIT_39 ; $3b
|
||||
db PORTRAIT_3A ; $3c
|
||||
db PORTRAIT_3B ; $3d
|
||||
db PORTRAIT_3C ; $3e
|
||||
db PORTRAIT_3D ; $3f
|
||||
db PORTRAIT_3E ; $40
|
||||
db PORTRAIT_3F ; $41
|
||||
db PORTRAIT_40 ; $42
|
||||
db PORTRAIT_41 ; $43
|
||||
db PORTRAIT_42 ; $44
|
||||
db PORTRAIT_43 ; $45
|
||||
db PORTRAIT_44 ; $46
|
||||
db PORTRAIT_45 ; $47
|
||||
db PORTRAIT_46 ; $48
|
||||
db PORTRAIT_47 ; $49
|
||||
db PORTRAIT_48 ; $4a
|
||||
db PORTRAIT_49 ; $4b
|
||||
db PORTRAIT_4A ; $4c
|
||||
db PORTRAIT_4B ; $4d
|
||||
db PORTRAIT_4C ; $4e
|
||||
db PORTRAIT_4D ; $4f
|
||||
db PORTRAIT_4E ; $50
|
||||
db PORTRAIT_4F ; $51
|
||||
db PORTRAIT_50 ; $52
|
||||
db PORTRAIT_51 ; $53
|
||||
db PORTRAIT_52 ; $54
|
||||
db PORTRAIT_53 ; $55
|
||||
db PORTRAIT_54 ; $56
|
||||
db PORTRAIT_55 ; $57
|
||||
db PORTRAIT_56 ; $58
|
||||
db PORTRAIT_57 ; $59
|
||||
db PORTRAIT_58 ; $5a
|
||||
db PORTRAIT_59 ; $5b
|
||||
db PORTRAIT_5A ; $5c
|
||||
db PORTRAIT_5B ; $5d
|
||||
db PORTRAIT_5C ; $5e
|
||||
db PORTRAIT_5D ; $5f
|
||||
db PORTRAIT_MARK ; NPC_MARK
|
||||
db PORTRAIT_MINT ; NPC_MINT
|
||||
db PORTRAIT_MARK_LINK ; NPC_MARK_LINK
|
||||
db PORTRAIT_MINT_LINK ; NPC_MINT_LINK
|
||||
db PORTRAIT_RONALD ; NPC_RONALD
|
||||
db PORTRAIT_SAM ; NPC_SAM
|
||||
db PORTRAIT_AARON ; NPC_AARON
|
||||
db PORTRAIT_ISHIHARA ; NPC_ISHIHARA
|
||||
db PORTRAIT_IMAKUNI_BLACK ; NPC_IMAKUNI_BLACK
|
||||
db PORTRAIT_IMAKUNI_RED ; NPC_IMAKUNI_RED
|
||||
db PORTRAIT_ISAAC ; NPC_ISAAC
|
||||
db PORTRAIT_JENNIFER ; NPC_JENNIFER
|
||||
db PORTRAIT_NICHOLAS ; NPC_NICHOLAS
|
||||
db PORTRAIT_BRANDON ; NPC_BRANDON
|
||||
db PORTRAIT_MURRAY ; NPC_MURRAY
|
||||
db PORTRAIT_STEPHANIE ; NPC_STEPHANIE
|
||||
db PORTRAIT_DANIEL ; NPC_DANIEL
|
||||
db PORTRAIT_ROBERT ; NPC_ROBERT
|
||||
db PORTRAIT_GENE ; NPC_GENE
|
||||
db PORTRAIT_MATTHEW ; NPC_MATTHEW
|
||||
db PORTRAIT_RYAN ; NPC_RYAN
|
||||
db PORTRAIT_ANDREW ; NPC_ANDREW
|
||||
db PORTRAIT_MITCH ; NPC_MITCH
|
||||
db PORTRAIT_MICHAEL ; NPC_MICHAEL
|
||||
db PORTRAIT_CHRIS ; NPC_CHRIS
|
||||
db PORTRAIT_JESSICA ; NPC_JESSICA
|
||||
db PORTRAIT_NIKKI ; NPC_NIKKI
|
||||
db PORTRAIT_BRITTANY ; NPC_BRITTANY
|
||||
db PORTRAIT_KRISTIN ; NPC_KRISTIN
|
||||
db PORTRAIT_HEATHER ; NPC_HEATHER
|
||||
db PORTRAIT_RICK ; NPC_RICK
|
||||
db PORTRAIT_JOSEPH ; NPC_JOSEPH
|
||||
db PORTRAIT_DAVID ; NPC_DAVID
|
||||
db PORTRAIT_ERIK ; NPC_ERIK
|
||||
db PORTRAIT_AMY ; NPC_AMY
|
||||
db PORTRAIT_JOSHUA ; NPC_JOSHUA
|
||||
db PORTRAIT_SARA ; NPC_SARA
|
||||
db PORTRAIT_AMANDA ; NPC_AMANDA
|
||||
db PORTRAIT_KEN ; NPC_KEN
|
||||
db PORTRAIT_JOHN ; NPC_JOHN
|
||||
db PORTRAIT_ADAM ; NPC_ADAM
|
||||
db PORTRAIT_JONATHAN ; NPC_JONATHAN
|
||||
db PORTRAIT_COURTNEY ; NPC_COURTNEY
|
||||
db PORTRAIT_STEVE ; NPC_STEVE
|
||||
db PORTRAIT_JACK ; NPC_JACK
|
||||
db PORTRAIT_ROD ; NPC_ROD
|
||||
db PORTRAIT_EIJI ; NPC_EIJI
|
||||
db PORTRAIT_MAGICIAN ; NPC_MAGICIAN
|
||||
db PORTRAIT_YUI ; NPC_YUI
|
||||
db PORTRAIT_TOSHIRON ; NPC_TOSHIRON
|
||||
db PORTRAIT_PIERROT ; NPC_PIERROT
|
||||
db PORTRAIT_ANNA ; NPC_ANNA
|
||||
db PORTRAIT_DEE ; NPC_DEE
|
||||
db PORTRAIT_MASQUERADE ; NPC_MASQUERADE
|
||||
db PORTRAIT_PAWN ; NPC_PAWN
|
||||
db PORTRAIT_KNIGHT ; NPC_KNIGHT
|
||||
db PORTRAIT_BISHOP ; NPC_BISHOP
|
||||
db PORTRAIT_ROOK ; NPC_ROOK
|
||||
db PORTRAIT_QUEEN ; NPC_QUEEN
|
||||
db PORTRAIT_GR_1 ; NPC_GR_1
|
||||
db PORTRAIT_GR_2 ; NPC_GR_2
|
||||
db PORTRAIT_GR_3 ; NPC_GR_3
|
||||
db PORTRAIT_GR_4 ; NPC_GR_4
|
||||
db PORTRAIT_MIDORI ; NPC_MIDORI
|
||||
db PORTRAIT_YUUTA ; NPC_YUUTA
|
||||
db PORTRAIT_MIYUKI ; NPC_MIYUKI
|
||||
db PORTRAIT_MORINO ; NPC_MORINO
|
||||
db PORTRAIT_RENNA ; NPC_RENNA
|
||||
db PORTRAIT_ICHIKAWA ; NPC_ICHIKAWA
|
||||
db PORTRAIT_CATHERINE ; NPC_CATHERINE
|
||||
db PORTRAIT_TAP ; NPC_TAP
|
||||
db PORTRAIT_JES ; NPC_JES
|
||||
db PORTRAIT_YUKI ; NPC_YUKI
|
||||
db PORTRAIT_SHOKO ; NPC_SHOKO
|
||||
db PORTRAIT_HIDERO ; NPC_HIDERO
|
||||
db PORTRAIT_MIYAJIMA ; NPC_MIYAJIMA
|
||||
db PORTRAIT_SENTA ; NPC_SENTA
|
||||
db PORTRAIT_AIRA ; NPC_AIRA
|
||||
db PORTRAIT_KANOKO ; NPC_KANOKO
|
||||
db PORTRAIT_GODA ; NPC_GODA
|
||||
db PORTRAIT_GRACE ; NPC_GRACE
|
||||
db PORTRAIT_KAMIYA ; NPC_KAMIYA
|
||||
db PORTRAIT_MIWA ; NPC_MIWA
|
||||
db PORTRAIT_KEVIN ; NPC_KEVIN
|
||||
db PORTRAIT_YOSUKE ; NPC_YOSUKE
|
||||
db PORTRAIT_RYOKO ; NPC_RYOKO
|
||||
db PORTRAIT_MAMI ; NPC_MAMI
|
||||
db PORTRAIT_NISHIJIMA ; NPC_NISHIJIMA
|
||||
db PORTRAIT_ISHII ; NPC_ISHII
|
||||
db PORTRAIT_SAMEJIMA ; NPC_SAMEJIMA
|
||||
db PORTRAIT_KANZAKI ; NPC_KANZAKI
|
||||
db PORTRAIT_RUI ; NPC_RUI
|
||||
db PORTRAIT_BIRURITCHI ; NPC_BIRURITCHI
|
||||
db PORTRAIT_GR_X ; NPC_GR_X
|
||||
db PORTRAIT_TOBI_CHAN ; NPC_TOBI_CHAN
|
||||
db PORTRAIT_DR_MASON ; NPC_DR_MASON
|
||||
; 0x1c116
|
||||
|
||||
SECTION "Bank 7@4395", ROMX[$4395], BANK[$7]
|
||||
|
||||
Func_1c395:
|
||||
LoadSavedOptions:
|
||||
call EnableSRAM
|
||||
call Func_1c3a8
|
||||
call Func_1c3b9
|
||||
call Func_1c3c7
|
||||
call Func_1c3ce
|
||||
call .LoadTextSpeed
|
||||
call .LoadDuelAnimation
|
||||
call .LoadCoinTossAnimation
|
||||
call .LoadTextFrameColor
|
||||
call DisableSRAM
|
||||
ret
|
||||
|
||||
Func_1c3a8:
|
||||
.LoadTextSpeed:
|
||||
ld a, [sTextSpeed]
|
||||
ld [wTextSpeed], a
|
||||
call Func_1c448
|
||||
ld b, a
|
||||
ld a, $04
|
||||
ld a, 4
|
||||
sub b
|
||||
ld [wd9d5], a
|
||||
ret
|
||||
|
||||
Func_1c3b9:
|
||||
.LoadDuelAnimation:
|
||||
ld a, [s0a007]
|
||||
ld [wd9d3], a
|
||||
srl a
|
||||
@@ -308,12 +309,12 @@ Func_1c3b9:
|
||||
ld [wdc0f], a
|
||||
ret
|
||||
|
||||
Func_1c3c7:
|
||||
.LoadCoinTossAnimation:
|
||||
ld a, [s0a00b]
|
||||
ld [wd9d4], a
|
||||
ret
|
||||
|
||||
Func_1c3ce:
|
||||
.LoadTextFrameColor:
|
||||
ld a, [sTextBoxFrameColor]
|
||||
ld [wTextBoxFrameColor], a
|
||||
ret
|
||||
@@ -350,7 +351,7 @@ Func_1c3f9:
|
||||
ld hl, .data
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [s0a009], a
|
||||
ld [sSkipDelayAllowed], a
|
||||
ret
|
||||
|
||||
.data
|
||||
@@ -1655,7 +1656,7 @@ ShowStartMenu:
|
||||
add 0
|
||||
lb bc, 13, 1
|
||||
ld e, PORTRAITVARIANT_NORMAL
|
||||
call Func_3ab2
|
||||
call DrawNPCPortrait
|
||||
|
||||
; print player's name
|
||||
farcall LoadPlayerName
|
||||
@@ -2178,11 +2179,11 @@ Func_1d475:
|
||||
farcall Func_111f0
|
||||
call Func_1c425
|
||||
call Func_1c3d5
|
||||
call Func_1c395
|
||||
call LoadSavedOptions
|
||||
ret
|
||||
|
||||
.Read:
|
||||
call Func_1c395
|
||||
call LoadSavedOptions
|
||||
ld a, $01
|
||||
farcall Func_108c9
|
||||
ret
|
||||
@@ -2293,7 +2294,7 @@ Func_1dfb9::
|
||||
ld [wdce2], a
|
||||
ld [wdc59], a
|
||||
ld [wdce8], a
|
||||
ld [wdce5], a
|
||||
ld [wDuelAnimLocationParam], a
|
||||
ld [wdcf0], a
|
||||
ld [wdc57], a
|
||||
ld a, $ff
|
||||
@@ -2319,6 +2320,243 @@ Func_1e419:
|
||||
ret
|
||||
; 0x1e420
|
||||
|
||||
SECTION "Bank 7@65a2", ROMX[$65a2], BANK[$7]
|
||||
|
||||
; returns carry if player lost
|
||||
Func_1e5a2::
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
ld a, EVENT_F0
|
||||
farcall GetEventValue
|
||||
jr nz, .from_sram
|
||||
call .RunDuel
|
||||
jr .check_result
|
||||
.from_sram
|
||||
call RunDuelFromSRAM
|
||||
.check_result
|
||||
scf
|
||||
ccf
|
||||
ld a, [wDuelResult]
|
||||
and a
|
||||
jr z, .won
|
||||
scf ; lost
|
||||
.won
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
ret
|
||||
|
||||
.RunDuel:
|
||||
farcall Func_1022a
|
||||
call Func_1e73a
|
||||
ld a, EVENT_EB
|
||||
farcall GetEventValue
|
||||
jr nz, .start_duel
|
||||
call Func_1e60c
|
||||
ld a, [wSpecialRule]
|
||||
and a
|
||||
jr z, .start_duel
|
||||
call ShowSpecialRuleDescription
|
||||
.start_duel
|
||||
bank1call StartDuel_VSAIOpp
|
||||
farcall Func_10252
|
||||
ret
|
||||
; 0x1e5e5
|
||||
|
||||
SECTION "Bank 7@65f8", ROMX[$65f8], BANK[$7]
|
||||
|
||||
RunDuelFromSRAM:
|
||||
farcall Func_10cfe
|
||||
farcall Func_1109f
|
||||
farcall Func_1022a
|
||||
bank1call StartDuelFromSRAM
|
||||
farcall Func_10252
|
||||
ret
|
||||
|
||||
Func_1e60c:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
farcall ClearSpriteAnimsAndSetInitialGraphicsConfiguration
|
||||
|
||||
; show opponent portrait
|
||||
ld a, [wOpponentNPCID]
|
||||
lb bc, 7, 3
|
||||
ld e, PORTRAITVARIANT_NORMAL
|
||||
call DrawNPCPortrait
|
||||
|
||||
farcall SetFrameFuncAndFadeFromWhite
|
||||
|
||||
; play duel start theme
|
||||
ld a, [wDuelStartTheme]
|
||||
push af
|
||||
ld a, a ; wow
|
||||
call Func_3d09
|
||||
pop af
|
||||
|
||||
; print duelist intro text
|
||||
ld a, [wOpponentName + 0]
|
||||
ld [wTxRam2 + 0], a
|
||||
ld a, [wOpponentName + 1]
|
||||
ld [wTxRam2 + 1], a
|
||||
ld a, [wOpponentDeckName + 0]
|
||||
ld [wTxRam2_b + 0], a
|
||||
ld a, [wOpponentDeckName + 1]
|
||||
ld [wTxRam2_b + 1], a
|
||||
ld a, [wcd0f]
|
||||
dec a
|
||||
add a ; *2
|
||||
ld c, a
|
||||
ld b, $00
|
||||
ld hl, .DuelistIntroTextIDs
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
farcall Func_1107c
|
||||
|
||||
call WaitForSongToFinish
|
||||
call WaitForWideTextBoxInput
|
||||
farcall FadeToWhiteAndUnsetFrameFunc
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
|
||||
.DuelistIntroTextIDs
|
||||
tx Text0651
|
||||
tx Text0652
|
||||
tx Text0653
|
||||
tx Text0654
|
||||
tx Text0655
|
||||
tx Text0656
|
||||
tx Text0657
|
||||
tx Text0658
|
||||
tx Text0659
|
||||
tx Text065a
|
||||
tx Text065b
|
||||
tx Text065c
|
||||
tx Text065d
|
||||
tx Text065e
|
||||
tx Text065f
|
||||
tx Text0660
|
||||
tx Text0661
|
||||
tx Text0662
|
||||
tx Text0663
|
||||
tx Text0664
|
||||
tx Text0665
|
||||
tx Text0666
|
||||
tx Text0667
|
||||
tx Text0668
|
||||
tx Text0669
|
||||
tx Text066a
|
||||
tx Text066b
|
||||
tx Text066c
|
||||
tx Text066d
|
||||
tx Text066e
|
||||
tx Text066f
|
||||
tx Text0670
|
||||
tx Text0671
|
||||
tx Text0672
|
||||
tx Text0673
|
||||
tx Text0674
|
||||
tx Text0675
|
||||
tx Text0676
|
||||
tx Text0677
|
||||
tx Text0678
|
||||
|
||||
ShowSpecialRuleDescription:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
farcall ClearSpriteAnimsAndSetInitialGraphicsConfiguration
|
||||
call .DrawScreen
|
||||
farcall SetFrameFuncAndFadeFromWhite
|
||||
call WaitForWideTextBoxInput
|
||||
farcall FadeToWhiteAndUnsetFrameFunc
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
|
||||
.DrawScreen:
|
||||
ld a, [wSpecialRule]
|
||||
add a
|
||||
add a
|
||||
ld c, a ; *4
|
||||
ld b, $00
|
||||
ld hl, .TitleAndDescriptionTextIDs
|
||||
add hl, bc
|
||||
|
||||
; draws scene with text box drawn around
|
||||
lb de, 0, 0
|
||||
lb bc, 20, 6
|
||||
call DrawRegularTextBoxVRAM0
|
||||
ld a, SCENE_SPECIAL_RULES
|
||||
lb bc, 5, 1
|
||||
call LoadScene
|
||||
|
||||
; print title
|
||||
push hl
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
lb de, 3, 4
|
||||
call Func_35af
|
||||
pop hl
|
||||
|
||||
; print description
|
||||
inc hl
|
||||
inc hl
|
||||
lb de, 0, 6
|
||||
lb bc, 20, 12
|
||||
call DrawRegularTextBoxVRAM0
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
lb de, 1, 8
|
||||
call Func_35af
|
||||
ret
|
||||
|
||||
.TitleAndDescriptionTextIDs:
|
||||
; title, description
|
||||
dw NULL, NULL ; NO_SPECIAL_RULE
|
||||
tx Text063b, Text063c ; CHLOROPHYLL
|
||||
tx Text063d, Text063e ; THUNDER_CHARGE
|
||||
tx Text063f, Text0640 ; FLAME_ARMOR
|
||||
tx Text0641, Text0642 ; SMALL_BENCH
|
||||
tx Text0643, Text0644 ; RUNNING_WATER
|
||||
tx Text0645, Text0646 ; EARTH_POWER
|
||||
tx Text0647, Text0648 ; LOW_RESISTANCE
|
||||
tx Text0649, Text064a ; ENERGY_RETURN
|
||||
tx Text064b, Text064c ; TOUGH_ESCAPE
|
||||
tx Text064d, Text064e ; BLACK_HOLE
|
||||
; 0x1e73a
|
||||
|
||||
SECTION "Bank 7@673a", ROMX[$673a], BANK[$7]
|
||||
|
||||
Func_1e73a:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
ld a, [wNPCDuelDeckID]
|
||||
push af
|
||||
farcall LoadDeckIDData
|
||||
pop af
|
||||
ld [wNPCDuelDeckID], a
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
; 0x1e74f
|
||||
|
||||
SECTION "Bank 7@6767", ROMX[$6767], BANK[$7]
|
||||
|
||||
Func_1e767:
|
||||
|
||||
+1759
-776
File diff suppressed because it is too large
Load Diff
@@ -490,7 +490,12 @@ PlayAfterCurrentSong:
|
||||
ld [wdd04], a
|
||||
call PlaySong
|
||||
ret
|
||||
; 0x44943
|
||||
|
||||
PlayCurrentSong:
|
||||
ld a, [wCurMusic]
|
||||
call PlaySong
|
||||
ret
|
||||
; 0x4494a
|
||||
|
||||
SECTION "Bank 11@4954", ROMX[$4954], BANK[$11]
|
||||
|
||||
|
||||
@@ -831,7 +831,7 @@ _LoadOWObject:
|
||||
ld [hli], a ; OWOBJSTRUCT_4
|
||||
ld [hli], a ; OWOBJSTRUCT_5
|
||||
ld [hli], a ; OWOBJSTRUCT_6
|
||||
ld [hl], a ; OWOBJSTRUCT_7
|
||||
ld [hl], a ;
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
|
||||
+96
-96
@@ -305,99 +305,99 @@ Data_13005b::
|
||||
dw OWSPRITE_STRONGHOLD_PLATFORM ; OW_STRONGHOLD_PLATFORM
|
||||
|
||||
Portraits:
|
||||
dw TILESET_MARK_PORTRAIT, PALETTE_078, TILEMAP_0D3, TILEMAP_0D3, TILEMAP_0D3 ; PORTRAIT_00
|
||||
dw TILESET_MINT_PORTRAIT, PALETTE_079, TILEMAP_0D4, TILEMAP_0D4, TILEMAP_0D4 ; PORTRAIT_01
|
||||
dw TILESET_MARK_LINK_PORTRAIT, PALETTE_07A, TILEMAP_0D5, TILEMAP_0D5, TILEMAP_0D5 ; PORTRAIT_02
|
||||
dw TILESET_MINT_LINK_PORTRAIT, PALETTE_07B, TILEMAP_0D6, TILEMAP_0D6, TILEMAP_0D6 ; PORTRAIT_03
|
||||
dw TILESET_RONALD_PORTRAIT, PALETTE_07C, TILEMAP_0D7, TILEMAP_0D8, TILEMAP_0D9 ; PORTRAIT_04
|
||||
dw TILESET_SAM_PORTRAIT, PALETTE_07D, TILEMAP_0DA, TILEMAP_0DB, TILEMAP_0DC ; PORTRAIT_05
|
||||
dw TILESET_AARON_PORTRAIT, PALETTE_07E, TILEMAP_0DD, TILEMAP_0DE, TILEMAP_0DF ; PORTRAIT_06
|
||||
dw TILESET_ISHIHARA_PORTRAIT, PALETTE_07F, TILEMAP_0E0, TILEMAP_0E1, TILEMAP_0E2 ; PORTRAIT_07
|
||||
dw TILESET_ISAAC_PORTRAIT, PALETTE_082, TILEMAP_0E9, TILEMAP_0EA, TILEMAP_0EB ; PORTRAIT_08
|
||||
dw TILESET_JENNIFER_PORTRAIT, PALETTE_083, TILEMAP_0EC, TILEMAP_0ED, TILEMAP_0EE ; PORTRAIT_09
|
||||
dw TILESET_NICHOLAS_PORTRAIT, PALETTE_084, TILEMAP_0EF, TILEMAP_0F0, TILEMAP_0F1 ; PORTRAIT_0A
|
||||
dw TILESET_BRANDON_PORTRAIT, PALETTE_085, TILEMAP_0F2, TILEMAP_0F3, TILEMAP_0F4 ; PORTRAIT_0B
|
||||
dw TILESET_MURRAY_PORTRAIT, PALETTE_086, TILEMAP_0F5, TILEMAP_0F6, TILEMAP_0F7 ; PORTRAIT_0C
|
||||
dw TILESET_STEPHANIE_PORTRAIT, PALETTE_087, TILEMAP_0F8, TILEMAP_0F9, TILEMAP_0FA ; PORTRAIT_0D
|
||||
dw TILESET_DANIEL_PORTRAIT, PALETTE_088, TILEMAP_0FB, TILEMAP_0FC, TILEMAP_0FD ; PORTRAIT_0E
|
||||
dw TILESET_ROBERT_PORTRAIT, PALETTE_089, TILEMAP_0FE, TILEMAP_0FF, TILEMAP_100 ; PORTRAIT_0F
|
||||
dw TILESET_GENE_PORTRAIT, PALETTE_08A, TILEMAP_101, TILEMAP_102, TILEMAP_103 ; PORTRAIT_10
|
||||
dw TILESET_MATTHEW_PORTRAIT, PALETTE_08B, TILEMAP_104, TILEMAP_105, TILEMAP_106 ; PORTRAIT_11
|
||||
dw TILESET_RYAN_PORTRAIT, PALETTE_08C, TILEMAP_107, TILEMAP_108, TILEMAP_109 ; PORTRAIT_12
|
||||
dw TILESET_ANDREW_PORTRAIT, PALETTE_08D, TILEMAP_10A, TILEMAP_10B, TILEMAP_10C ; PORTRAIT_13
|
||||
dw TILESET_MITCH_PORTRAIT, PALETTE_08E, TILEMAP_10D, TILEMAP_10E, TILEMAP_10F ; PORTRAIT_14
|
||||
dw TILESET_MICHAEL_PORTRAIT, PALETTE_08F, TILEMAP_110, TILEMAP_111, TILEMAP_112 ; PORTRAIT_15
|
||||
dw TILESET_CHRIS_PORTRAIT, PALETTE_090, TILEMAP_113, TILEMAP_114, TILEMAP_115 ; PORTRAIT_16
|
||||
dw TILESET_JESSICA_PORTRAIT, PALETTE_091, TILEMAP_116, TILEMAP_117, TILEMAP_118 ; PORTRAIT_17
|
||||
dw TILESET_NIKKI_PORTRAIT, PALETTE_092, TILEMAP_119, TILEMAP_11A, TILEMAP_11B ; PORTRAIT_18
|
||||
dw TILESET_BRITTANY_PORTRAIT, PALETTE_093, TILEMAP_11C, TILEMAP_11D, TILEMAP_11E ; PORTRAIT_19
|
||||
dw TILESET_KRISTIN_PORTRAIT, PALETTE_094, TILEMAP_11F, TILEMAP_120, TILEMAP_121 ; PORTRAIT_1A
|
||||
dw TILESET_HEATHER_PORTRAIT, PALETTE_095, TILEMAP_122, TILEMAP_123, TILEMAP_124 ; PORTRAIT_1B
|
||||
dw TILESET_RICK_PORTRAIT, PALETTE_096, TILEMAP_125, TILEMAP_126, TILEMAP_127 ; PORTRAIT_1C
|
||||
dw TILESET_JOSEPH_PORTRAIT, PALETTE_097, TILEMAP_128, TILEMAP_129, TILEMAP_12A ; PORTRAIT_1D
|
||||
dw TILESET_DAVID_PORTRAIT, PALETTE_098, TILEMAP_12B, TILEMAP_12C, TILEMAP_12D ; PORTRAIT_1E
|
||||
dw TILESET_ERIK_PORTRAIT, PALETTE_099, TILEMAP_12E, TILEMAP_12F, TILEMAP_130 ; PORTRAIT_1F
|
||||
dw TILESET_AMY_PORTRAIT, PALETTE_09A, TILEMAP_131, TILEMAP_132, TILEMAP_133 ; PORTRAIT_20
|
||||
dw TILESET_JOSHUA_PORTRAIT, PALETTE_09B, TILEMAP_134, TILEMAP_135, TILEMAP_136 ; PORTRAIT_21
|
||||
dw TILESET_SARA_PORTRAIT, PALETTE_09C, TILEMAP_137, TILEMAP_138, TILEMAP_139 ; PORTRAIT_22
|
||||
dw TILESET_AMANDA_PORTRAIT, PALETTE_09D, TILEMAP_13A, TILEMAP_13B, TILEMAP_13C ; PORTRAIT_23
|
||||
dw TILESET_KEN_PORTRAIT, PALETTE_09E, TILEMAP_13D, TILEMAP_13E, TILEMAP_13F ; PORTRAIT_24
|
||||
dw TILESET_JOHN_PORTRAIT, PALETTE_09F, TILEMAP_140, TILEMAP_141, TILEMAP_142 ; PORTRAIT_25
|
||||
dw TILESET_ADAM_PORTRAIT, PALETTE_0A0, TILEMAP_143, TILEMAP_144, TILEMAP_145 ; PORTRAIT_26
|
||||
dw TILESET_JONATHAN_PORTRAIT, PALETTE_0A1, TILEMAP_146, TILEMAP_147, TILEMAP_148 ; PORTRAIT_27
|
||||
dw TILESET_COURTNEY_PORTRAIT, PALETTE_0A2, TILEMAP_149, TILEMAP_14A, TILEMAP_14B ; PORTRAIT_28
|
||||
dw TILESET_STEVE_PORTRAIT, PALETTE_0A3, TILEMAP_14C, TILEMAP_14D, TILEMAP_14E ; PORTRAIT_29
|
||||
dw TILESET_JACK_PORTRAIT, PALETTE_0A4, TILEMAP_14F, TILEMAP_150, TILEMAP_151 ; PORTRAIT_2A
|
||||
dw TILESET_ROD_PORTRAIT, PALETTE_0A5, TILEMAP_152, TILEMAP_153, TILEMAP_154 ; PORTRAIT_2B
|
||||
dw TILESET_EIJI_PORTRAIT, PALETTE_0A6, TILEMAP_155, TILEMAP_156, TILEMAP_157 ; PORTRAIT_2C
|
||||
dw TILESET_MAGICIAN_PORTRAIT, PALETTE_0A7, TILEMAP_158, TILEMAP_159, TILEMAP_15A ; PORTRAIT_2D
|
||||
dw TILESET_YUI_PORTRAIT, PALETTE_0A8, TILEMAP_15B, TILEMAP_15C, TILEMAP_15D ; PORTRAIT_2E
|
||||
dw TILESET_TOSHIRON_PORTRAIT, PALETTE_0A9, TILEMAP_15E, TILEMAP_15F, TILEMAP_160 ; PORTRAIT_2F
|
||||
dw TILESET_PIERROT_PORTRAIT, PALETTE_0AA, TILEMAP_161, TILEMAP_162, TILEMAP_163 ; PORTRAIT_30
|
||||
dw TILESET_ANNA_PORTRAIT, PALETTE_0AB, TILEMAP_164, TILEMAP_165, TILEMAP_166 ; PORTRAIT_31
|
||||
dw TILESET_DEE_PORTRAIT, PALETTE_0AC, TILEMAP_167, TILEMAP_168, TILEMAP_169 ; PORTRAIT_32
|
||||
dw TILESET_MASQUERADE_PORTRAIT, PALETTE_0AD, TILEMAP_16A, TILEMAP_16B, TILEMAP_16C ; PORTRAIT_33
|
||||
dw TILESET_PAWN_PORTRAIT, PALETTE_0AE, TILEMAP_16D, TILEMAP_16E, TILEMAP_16F ; PORTRAIT_34
|
||||
dw TILESET_KNIGHT_PORTRAIT, PALETTE_0AF, TILEMAP_170, TILEMAP_171, TILEMAP_172 ; PORTRAIT_35
|
||||
dw TILESET_BISHOP_PORTRAIT, PALETTE_0B0, TILEMAP_173, TILEMAP_174, TILEMAP_175 ; PORTRAIT_36
|
||||
dw TILESET_ROOK_PORTRAIT, PALETTE_0B1, TILEMAP_176, TILEMAP_177, TILEMAP_178 ; PORTRAIT_37
|
||||
dw TILESET_QUEEN_PORTRAIT, PALETTE_0B2, TILEMAP_179, TILEMAP_17A, TILEMAP_17B ; PORTRAIT_38
|
||||
dw TILESET_GR_1_PORTRAIT, PALETTE_0B3, TILEMAP_17C, TILEMAP_17D, TILEMAP_17E ; PORTRAIT_39
|
||||
dw TILESET_GR_2_PORTRAIT, PALETTE_0B4, TILEMAP_17F, TILEMAP_180, TILEMAP_181 ; PORTRAIT_3A
|
||||
dw TILESET_GR_3_PORTRAIT, PALETTE_0B5, TILEMAP_182, TILEMAP_183, TILEMAP_184 ; PORTRAIT_3B
|
||||
dw TILESET_GR_4_PORTRAIT, PALETTE_0B6, TILEMAP_185, TILEMAP_186, TILEMAP_187 ; PORTRAIT_3C
|
||||
dw TILESET_MIDORI_PORTRAIT, PALETTE_0B7, TILEMAP_188, TILEMAP_189, TILEMAP_18A ; PORTRAIT_3D
|
||||
dw TILESET_YUUTA_PORTRAIT, PALETTE_0B8, TILEMAP_18B, TILEMAP_18C, TILEMAP_18D ; PORTRAIT_3E
|
||||
dw TILESET_MIYUKI_PORTRAIT, PALETTE_0B9, TILEMAP_18E, TILEMAP_18F, TILEMAP_190 ; PORTRAIT_3F
|
||||
dw TILESET_MORINO_PORTRAIT, PALETTE_0BA, TILEMAP_191, TILEMAP_192, TILEMAP_193 ; PORTRAIT_40
|
||||
dw TILESET_RENNA_PORTRAIT, PALETTE_0BB, TILEMAP_194, TILEMAP_195, TILEMAP_196 ; PORTRAIT_41
|
||||
dw TILESET_ICHIKAWA_PORTRAIT, PALETTE_0BC, TILEMAP_197, TILEMAP_198, TILEMAP_199 ; PORTRAIT_42
|
||||
dw TILESET_CATHERINE_PORTRAIT, PALETTE_0BD, TILEMAP_19A, TILEMAP_19B, TILEMAP_19C ; PORTRAIT_43
|
||||
dw TILESET_TAP_PORTRAIT, PALETTE_0BE, TILEMAP_19D, TILEMAP_19E, TILEMAP_19F ; PORTRAIT_44
|
||||
dw TILESET_JES_PORTRAIT, PALETTE_0BF, TILEMAP_1A0, TILEMAP_1A1, TILEMAP_1A2 ; PORTRAIT_45
|
||||
dw TILESET_YUKI_PORTRAIT, PALETTE_0C0, TILEMAP_1A3, TILEMAP_1A4, TILEMAP_1A5 ; PORTRAIT_46
|
||||
dw TILESET_SHOKO_PORTRAIT, PALETTE_0C1, TILEMAP_1A6, TILEMAP_1A7, TILEMAP_1A8 ; PORTRAIT_47
|
||||
dw TILESET_HIDERO_PORTRAIT, PALETTE_0C2, TILEMAP_1A9, TILEMAP_1AA, TILEMAP_1AB ; PORTRAIT_48
|
||||
dw TILESET_MIYAJIMA_PORTRAIT, PALETTE_0C3, TILEMAP_1AC, TILEMAP_1AD, TILEMAP_1AE ; PORTRAIT_49
|
||||
dw TILESET_SENTA_PORTRAIT, PALETTE_0C4, TILEMAP_1AF, TILEMAP_1B0, TILEMAP_1B1 ; PORTRAIT_4A
|
||||
dw TILESET_AIRA_PORTRAIT, PALETTE_0C5, TILEMAP_1B2, TILEMAP_1B3, TILEMAP_1B4 ; PORTRAIT_4B
|
||||
dw TILESET_KANOKO_PORTRAIT, PALETTE_0C6, TILEMAP_1B5, TILEMAP_1B6, TILEMAP_1B7 ; PORTRAIT_4C
|
||||
dw TILESET_GODA_PORTRAIT, PALETTE_0C7, TILEMAP_1B8, TILEMAP_1B9, TILEMAP_1BA ; PORTRAIT_4D
|
||||
dw TILESET_GRACE_PORTRAIT, PALETTE_0C8, TILEMAP_1BB, TILEMAP_1BC, TILEMAP_1BD ; PORTRAIT_4E
|
||||
dw TILESET_KAMIYA_PORTRAIT, PALETTE_0C9, TILEMAP_1BE, TILEMAP_1BF, TILEMAP_1C0 ; PORTRAIT_4F
|
||||
dw TILESET_MIWA_PORTRAIT, PALETTE_0CA, TILEMAP_1C1, TILEMAP_1C2, TILEMAP_1C3 ; PORTRAIT_50
|
||||
dw TILESET_KEVIN_PORTRAIT, PALETTE_0CB, TILEMAP_1C4, TILEMAP_1C5, TILEMAP_1C6 ; PORTRAIT_51
|
||||
dw TILESET_YOSUKE_PORTRAIT, PALETTE_0CC, TILEMAP_1C7, TILEMAP_1C8, TILEMAP_1C9 ; PORTRAIT_52
|
||||
dw TILESET_RYOKO_PORTRAIT, PALETTE_0CD, TILEMAP_1CA, TILEMAP_1CB, TILEMAP_1CC ; PORTRAIT_53
|
||||
dw TILESET_MAMI_PORTRAIT, PALETTE_0CE, TILEMAP_1CD, TILEMAP_1CE, TILEMAP_1CF ; PORTRAIT_54
|
||||
dw TILESET_NISHIJIMA_PORTRAIT, PALETTE_0CF, TILEMAP_1D0, TILEMAP_1D1, TILEMAP_1D2 ; PORTRAIT_55
|
||||
dw TILESET_ISHII_PORTRAIT, PALETTE_0D0, TILEMAP_1D3, TILEMAP_1D4, TILEMAP_1D5 ; PORTRAIT_56
|
||||
dw TILESET_SAMEJIMA_PORTRAIT, PALETTE_0D1, TILEMAP_1D6, TILEMAP_1D7, TILEMAP_1D8 ; PORTRAIT_57
|
||||
dw TILESET_KANZAKI_PORTRAIT, PALETTE_0D2, TILEMAP_1D9, TILEMAP_1DA, TILEMAP_1DB ; PORTRAIT_58
|
||||
dw TILESET_RUI_PORTRAIT, PALETTE_0D3, TILEMAP_1DC, TILEMAP_1DD, TILEMAP_1DE ; PORTRAIT_59
|
||||
dw TILESET_BIRURITCHI_PORTRAIT, PALETTE_0D4, TILEMAP_1DF, TILEMAP_1E0, TILEMAP_1E1 ; PORTRAIT_5A
|
||||
dw TILESET_GR_X_PORTRAIT, PALETTE_0D5, TILEMAP_1E2, TILEMAP_1E3, TILEMAP_1E4 ; PORTRAIT_5B
|
||||
dw TILESET_TOBI_CHAN_PORTRAIT, PALETTE_0D6, TILEMAP_1E5, TILEMAP_1E6, TILEMAP_1E7 ; PORTRAIT_5C
|
||||
dw TILESET_DR_MASON_PORTRAIT, PALETTE_0D7, TILEMAP_1E8, TILEMAP_1E9, TILEMAP_1EA ; PORTRAIT_5D
|
||||
dw TILESET_IMAKUNI_BLACK_PORTRAIT, PALETTE_080, TILEMAP_0E3, TILEMAP_0E4, TILEMAP_0E5 ; PORTRAIT_5E
|
||||
dw TILESET_IMAKUNI_RED_PORTRAIT, PALETTE_081, TILEMAP_0E6, TILEMAP_0E7, TILEMAP_0E8 ; PORTRAIT_5F
|
||||
dw TILESET_MARK_PORTRAIT, PALETTE_078, TILEMAP_0D3, TILEMAP_0D3, TILEMAP_0D3 ; PORTRAIT_MARK
|
||||
dw TILESET_MINT_PORTRAIT, PALETTE_079, TILEMAP_0D4, TILEMAP_0D4, TILEMAP_0D4 ; PORTRAIT_MINT
|
||||
dw TILESET_MARK_LINK_PORTRAIT, PALETTE_07A, TILEMAP_0D5, TILEMAP_0D5, TILEMAP_0D5 ; PORTRAIT_MARK_LINK
|
||||
dw TILESET_MINT_LINK_PORTRAIT, PALETTE_07B, TILEMAP_0D6, TILEMAP_0D6, TILEMAP_0D6 ; PORTRAIT_MINT_LINK
|
||||
dw TILESET_RONALD_PORTRAIT, PALETTE_07C, TILEMAP_0D7, TILEMAP_0D8, TILEMAP_0D9 ; PORTRAIT_RONALD
|
||||
dw TILESET_SAM_PORTRAIT, PALETTE_07D, TILEMAP_0DA, TILEMAP_0DB, TILEMAP_0DC ; PORTRAIT_SAM
|
||||
dw TILESET_AARON_PORTRAIT, PALETTE_07E, TILEMAP_0DD, TILEMAP_0DE, TILEMAP_0DF ; PORTRAIT_AARON
|
||||
dw TILESET_ISHIHARA_PORTRAIT, PALETTE_07F, TILEMAP_0E0, TILEMAP_0E1, TILEMAP_0E2 ; PORTRAIT_ISHIHARA
|
||||
dw TILESET_ISAAC_PORTRAIT, PALETTE_082, TILEMAP_0E9, TILEMAP_0EA, TILEMAP_0EB ; PORTRAIT_ISAAC
|
||||
dw TILESET_JENNIFER_PORTRAIT, PALETTE_083, TILEMAP_0EC, TILEMAP_0ED, TILEMAP_0EE ; PORTRAIT_JENNIFER
|
||||
dw TILESET_NICHOLAS_PORTRAIT, PALETTE_084, TILEMAP_0EF, TILEMAP_0F0, TILEMAP_0F1 ; PORTRAIT_NICHOLAS
|
||||
dw TILESET_BRANDON_PORTRAIT, PALETTE_085, TILEMAP_0F2, TILEMAP_0F3, TILEMAP_0F4 ; PORTRAIT_BRANDON
|
||||
dw TILESET_MURRAY_PORTRAIT, PALETTE_086, TILEMAP_0F5, TILEMAP_0F6, TILEMAP_0F7 ; PORTRAIT_MURRAY
|
||||
dw TILESET_STEPHANIE_PORTRAIT, PALETTE_087, TILEMAP_0F8, TILEMAP_0F9, TILEMAP_0FA ; PORTRAIT_STEPHANIE
|
||||
dw TILESET_DANIEL_PORTRAIT, PALETTE_088, TILEMAP_0FB, TILEMAP_0FC, TILEMAP_0FD ; PORTRAIT_DANIEL
|
||||
dw TILESET_ROBERT_PORTRAIT, PALETTE_089, TILEMAP_0FE, TILEMAP_0FF, TILEMAP_100 ; PORTRAIT_ROBERT
|
||||
dw TILESET_GENE_PORTRAIT, PALETTE_08A, TILEMAP_101, TILEMAP_102, TILEMAP_103 ; PORTRAIT_GENE
|
||||
dw TILESET_MATTHEW_PORTRAIT, PALETTE_08B, TILEMAP_104, TILEMAP_105, TILEMAP_106 ; PORTRAIT_MATTHEW
|
||||
dw TILESET_RYAN_PORTRAIT, PALETTE_08C, TILEMAP_107, TILEMAP_108, TILEMAP_109 ; PORTRAIT_RYAN
|
||||
dw TILESET_ANDREW_PORTRAIT, PALETTE_08D, TILEMAP_10A, TILEMAP_10B, TILEMAP_10C ; PORTRAIT_ANDREW
|
||||
dw TILESET_MITCH_PORTRAIT, PALETTE_08E, TILEMAP_10D, TILEMAP_10E, TILEMAP_10F ; PORTRAIT_MITCH
|
||||
dw TILESET_MICHAEL_PORTRAIT, PALETTE_08F, TILEMAP_110, TILEMAP_111, TILEMAP_112 ; PORTRAIT_MICHAEL
|
||||
dw TILESET_CHRIS_PORTRAIT, PALETTE_090, TILEMAP_113, TILEMAP_114, TILEMAP_115 ; PORTRAIT_CHRIS
|
||||
dw TILESET_JESSICA_PORTRAIT, PALETTE_091, TILEMAP_116, TILEMAP_117, TILEMAP_118 ; PORTRAIT_JESSICA
|
||||
dw TILESET_NIKKI_PORTRAIT, PALETTE_092, TILEMAP_119, TILEMAP_11A, TILEMAP_11B ; PORTRAIT_NIKKI
|
||||
dw TILESET_BRITTANY_PORTRAIT, PALETTE_093, TILEMAP_11C, TILEMAP_11D, TILEMAP_11E ; PORTRAIT_BRITTANY
|
||||
dw TILESET_KRISTIN_PORTRAIT, PALETTE_094, TILEMAP_11F, TILEMAP_120, TILEMAP_121 ; PORTRAIT_KRISTIN
|
||||
dw TILESET_HEATHER_PORTRAIT, PALETTE_095, TILEMAP_122, TILEMAP_123, TILEMAP_124 ; PORTRAIT_HEATHER
|
||||
dw TILESET_RICK_PORTRAIT, PALETTE_096, TILEMAP_125, TILEMAP_126, TILEMAP_127 ; PORTRAIT_RICK
|
||||
dw TILESET_JOSEPH_PORTRAIT, PALETTE_097, TILEMAP_128, TILEMAP_129, TILEMAP_12A ; PORTRAIT_JOSEPH
|
||||
dw TILESET_DAVID_PORTRAIT, PALETTE_098, TILEMAP_12B, TILEMAP_12C, TILEMAP_12D ; PORTRAIT_DAVID
|
||||
dw TILESET_ERIK_PORTRAIT, PALETTE_099, TILEMAP_12E, TILEMAP_12F, TILEMAP_130 ; PORTRAIT_ERIK
|
||||
dw TILESET_AMY_PORTRAIT, PALETTE_09A, TILEMAP_131, TILEMAP_132, TILEMAP_133 ; PORTRAIT_AMY
|
||||
dw TILESET_JOSHUA_PORTRAIT, PALETTE_09B, TILEMAP_134, TILEMAP_135, TILEMAP_136 ; PORTRAIT_JOSHUA
|
||||
dw TILESET_SARA_PORTRAIT, PALETTE_09C, TILEMAP_137, TILEMAP_138, TILEMAP_139 ; PORTRAIT_SARA
|
||||
dw TILESET_AMANDA_PORTRAIT, PALETTE_09D, TILEMAP_13A, TILEMAP_13B, TILEMAP_13C ; PORTRAIT_AMANDA
|
||||
dw TILESET_KEN_PORTRAIT, PALETTE_09E, TILEMAP_13D, TILEMAP_13E, TILEMAP_13F ; PORTRAIT_KEN
|
||||
dw TILESET_JOHN_PORTRAIT, PALETTE_09F, TILEMAP_140, TILEMAP_141, TILEMAP_142 ; PORTRAIT_JOHN
|
||||
dw TILESET_ADAM_PORTRAIT, PALETTE_0A0, TILEMAP_143, TILEMAP_144, TILEMAP_145 ; PORTRAIT_ADAM
|
||||
dw TILESET_JONATHAN_PORTRAIT, PALETTE_0A1, TILEMAP_146, TILEMAP_147, TILEMAP_148 ; PORTRAIT_JONATHAN
|
||||
dw TILESET_COURTNEY_PORTRAIT, PALETTE_0A2, TILEMAP_149, TILEMAP_14A, TILEMAP_14B ; PORTRAIT_COURTNEY
|
||||
dw TILESET_STEVE_PORTRAIT, PALETTE_0A3, TILEMAP_14C, TILEMAP_14D, TILEMAP_14E ; PORTRAIT_STEVE
|
||||
dw TILESET_JACK_PORTRAIT, PALETTE_0A4, TILEMAP_14F, TILEMAP_150, TILEMAP_151 ; PORTRAIT_JACK
|
||||
dw TILESET_ROD_PORTRAIT, PALETTE_0A5, TILEMAP_152, TILEMAP_153, TILEMAP_154 ; PORTRAIT_ROD
|
||||
dw TILESET_EIJI_PORTRAIT, PALETTE_0A6, TILEMAP_155, TILEMAP_156, TILEMAP_157 ; PORTRAIT_EIJI
|
||||
dw TILESET_MAGICIAN_PORTRAIT, PALETTE_0A7, TILEMAP_158, TILEMAP_159, TILEMAP_15A ; PORTRAIT_MAGICIAN
|
||||
dw TILESET_YUI_PORTRAIT, PALETTE_0A8, TILEMAP_15B, TILEMAP_15C, TILEMAP_15D ; PORTRAIT_YUI
|
||||
dw TILESET_TOSHIRON_PORTRAIT, PALETTE_0A9, TILEMAP_15E, TILEMAP_15F, TILEMAP_160 ; PORTRAIT_TOSHIRON
|
||||
dw TILESET_PIERROT_PORTRAIT, PALETTE_0AA, TILEMAP_161, TILEMAP_162, TILEMAP_163 ; PORTRAIT_PIERROT
|
||||
dw TILESET_ANNA_PORTRAIT, PALETTE_0AB, TILEMAP_164, TILEMAP_165, TILEMAP_166 ; PORTRAIT_ANNA
|
||||
dw TILESET_DEE_PORTRAIT, PALETTE_0AC, TILEMAP_167, TILEMAP_168, TILEMAP_169 ; PORTRAIT_DEE
|
||||
dw TILESET_MASQUERADE_PORTRAIT, PALETTE_0AD, TILEMAP_16A, TILEMAP_16B, TILEMAP_16C ; PORTRAIT_MASQUERADE
|
||||
dw TILESET_PAWN_PORTRAIT, PALETTE_0AE, TILEMAP_16D, TILEMAP_16E, TILEMAP_16F ; PORTRAIT_PAWN
|
||||
dw TILESET_KNIGHT_PORTRAIT, PALETTE_0AF, TILEMAP_170, TILEMAP_171, TILEMAP_172 ; PORTRAIT_KNIGHT
|
||||
dw TILESET_BISHOP_PORTRAIT, PALETTE_0B0, TILEMAP_173, TILEMAP_174, TILEMAP_175 ; PORTRAIT_BISHOP
|
||||
dw TILESET_ROOK_PORTRAIT, PALETTE_0B1, TILEMAP_176, TILEMAP_177, TILEMAP_178 ; PORTRAIT_ROOK
|
||||
dw TILESET_QUEEN_PORTRAIT, PALETTE_0B2, TILEMAP_179, TILEMAP_17A, TILEMAP_17B ; PORTRAIT_QUEEN
|
||||
dw TILESET_GR_1_PORTRAIT, PALETTE_0B3, TILEMAP_17C, TILEMAP_17D, TILEMAP_17E ; PORTRAIT_GR_1
|
||||
dw TILESET_GR_2_PORTRAIT, PALETTE_0B4, TILEMAP_17F, TILEMAP_180, TILEMAP_181 ; PORTRAIT_GR_2
|
||||
dw TILESET_GR_3_PORTRAIT, PALETTE_0B5, TILEMAP_182, TILEMAP_183, TILEMAP_184 ; PORTRAIT_GR_3
|
||||
dw TILESET_GR_4_PORTRAIT, PALETTE_0B6, TILEMAP_185, TILEMAP_186, TILEMAP_187 ; PORTRAIT_GR_4
|
||||
dw TILESET_MIDORI_PORTRAIT, PALETTE_0B7, TILEMAP_188, TILEMAP_189, TILEMAP_18A ; PORTRAIT_MIDORI
|
||||
dw TILESET_YUUTA_PORTRAIT, PALETTE_0B8, TILEMAP_18B, TILEMAP_18C, TILEMAP_18D ; PORTRAIT_YUUTA
|
||||
dw TILESET_MIYUKI_PORTRAIT, PALETTE_0B9, TILEMAP_18E, TILEMAP_18F, TILEMAP_190 ; PORTRAIT_MIYUKI
|
||||
dw TILESET_MORINO_PORTRAIT, PALETTE_0BA, TILEMAP_191, TILEMAP_192, TILEMAP_193 ; PORTRAIT_MORINO
|
||||
dw TILESET_RENNA_PORTRAIT, PALETTE_0BB, TILEMAP_194, TILEMAP_195, TILEMAP_196 ; PORTRAIT_RENNA
|
||||
dw TILESET_ICHIKAWA_PORTRAIT, PALETTE_0BC, TILEMAP_197, TILEMAP_198, TILEMAP_199 ; PORTRAIT_ICHIKAWA
|
||||
dw TILESET_CATHERINE_PORTRAIT, PALETTE_0BD, TILEMAP_19A, TILEMAP_19B, TILEMAP_19C ; PORTRAIT_CATHERINE
|
||||
dw TILESET_TAP_PORTRAIT, PALETTE_0BE, TILEMAP_19D, TILEMAP_19E, TILEMAP_19F ; PORTRAIT_TAP
|
||||
dw TILESET_JES_PORTRAIT, PALETTE_0BF, TILEMAP_1A0, TILEMAP_1A1, TILEMAP_1A2 ; PORTRAIT_JES
|
||||
dw TILESET_YUKI_PORTRAIT, PALETTE_0C0, TILEMAP_1A3, TILEMAP_1A4, TILEMAP_1A5 ; PORTRAIT_YUKI
|
||||
dw TILESET_SHOKO_PORTRAIT, PALETTE_0C1, TILEMAP_1A6, TILEMAP_1A7, TILEMAP_1A8 ; PORTRAIT_SHOKO
|
||||
dw TILESET_HIDERO_PORTRAIT, PALETTE_0C2, TILEMAP_1A9, TILEMAP_1AA, TILEMAP_1AB ; PORTRAIT_HIDERO
|
||||
dw TILESET_MIYAJIMA_PORTRAIT, PALETTE_0C3, TILEMAP_1AC, TILEMAP_1AD, TILEMAP_1AE ; PORTRAIT_MIYAJIMA
|
||||
dw TILESET_SENTA_PORTRAIT, PALETTE_0C4, TILEMAP_1AF, TILEMAP_1B0, TILEMAP_1B1 ; PORTRAIT_SENTA
|
||||
dw TILESET_AIRA_PORTRAIT, PALETTE_0C5, TILEMAP_1B2, TILEMAP_1B3, TILEMAP_1B4 ; PORTRAIT_AIRA
|
||||
dw TILESET_KANOKO_PORTRAIT, PALETTE_0C6, TILEMAP_1B5, TILEMAP_1B6, TILEMAP_1B7 ; PORTRAIT_KANOKO
|
||||
dw TILESET_GODA_PORTRAIT, PALETTE_0C7, TILEMAP_1B8, TILEMAP_1B9, TILEMAP_1BA ; PORTRAIT_GODA
|
||||
dw TILESET_GRACE_PORTRAIT, PALETTE_0C8, TILEMAP_1BB, TILEMAP_1BC, TILEMAP_1BD ; PORTRAIT_GRACE
|
||||
dw TILESET_KAMIYA_PORTRAIT, PALETTE_0C9, TILEMAP_1BE, TILEMAP_1BF, TILEMAP_1C0 ; PORTRAIT_KAMIYA
|
||||
dw TILESET_MIWA_PORTRAIT, PALETTE_0CA, TILEMAP_1C1, TILEMAP_1C2, TILEMAP_1C3 ; PORTRAIT_MIWA
|
||||
dw TILESET_KEVIN_PORTRAIT, PALETTE_0CB, TILEMAP_1C4, TILEMAP_1C5, TILEMAP_1C6 ; PORTRAIT_KEVIN
|
||||
dw TILESET_YOSUKE_PORTRAIT, PALETTE_0CC, TILEMAP_1C7, TILEMAP_1C8, TILEMAP_1C9 ; PORTRAIT_YOSUKE
|
||||
dw TILESET_RYOKO_PORTRAIT, PALETTE_0CD, TILEMAP_1CA, TILEMAP_1CB, TILEMAP_1CC ; PORTRAIT_RYOKO
|
||||
dw TILESET_MAMI_PORTRAIT, PALETTE_0CE, TILEMAP_1CD, TILEMAP_1CE, TILEMAP_1CF ; PORTRAIT_MAMI
|
||||
dw TILESET_NISHIJIMA_PORTRAIT, PALETTE_0CF, TILEMAP_1D0, TILEMAP_1D1, TILEMAP_1D2 ; PORTRAIT_NISHIJIMA
|
||||
dw TILESET_ISHII_PORTRAIT, PALETTE_0D0, TILEMAP_1D3, TILEMAP_1D4, TILEMAP_1D5 ; PORTRAIT_ISHII
|
||||
dw TILESET_SAMEJIMA_PORTRAIT, PALETTE_0D1, TILEMAP_1D6, TILEMAP_1D7, TILEMAP_1D8 ; PORTRAIT_SAMEJIMA
|
||||
dw TILESET_KANZAKI_PORTRAIT, PALETTE_0D2, TILEMAP_1D9, TILEMAP_1DA, TILEMAP_1DB ; PORTRAIT_KANZAKI
|
||||
dw TILESET_RUI_PORTRAIT, PALETTE_0D3, TILEMAP_1DC, TILEMAP_1DD, TILEMAP_1DE ; PORTRAIT_RUI
|
||||
dw TILESET_BIRURITCHI_PORTRAIT, PALETTE_0D4, TILEMAP_1DF, TILEMAP_1E0, TILEMAP_1E1 ; PORTRAIT_BIRURITCHI
|
||||
dw TILESET_GR_X_PORTRAIT, PALETTE_0D5, TILEMAP_1E2, TILEMAP_1E3, TILEMAP_1E4 ; PORTRAIT_GR_X
|
||||
dw TILESET_TOBI_CHAN_PORTRAIT, PALETTE_0D6, TILEMAP_1E5, TILEMAP_1E6, TILEMAP_1E7 ; PORTRAIT_TOBI_CHAN
|
||||
dw TILESET_DR_MASON_PORTRAIT, PALETTE_0D7, TILEMAP_1E8, TILEMAP_1E9, TILEMAP_1EA ; PORTRAIT_DR_MASON
|
||||
dw TILESET_IMAKUNI_BLACK_PORTRAIT, PALETTE_080, TILEMAP_0E3, TILEMAP_0E4, TILEMAP_0E5 ; PORTRAIT_IMAKUNI_BLACK
|
||||
dw TILESET_IMAKUNI_RED_PORTRAIT, PALETTE_081, TILEMAP_0E6, TILEMAP_0E7, TILEMAP_0E8 ; PORTRAIT_IMAKUNI_RED
|
||||
|
||||
@@ -226,7 +226,7 @@ CreditsCmd_ShowPortrait:
|
||||
ld a, [wCreditsCmdArg5]
|
||||
ld e, a
|
||||
ld a, [wCreditsCmdArg1]
|
||||
call Func_3ab2
|
||||
call DrawNPCPortrait
|
||||
ret
|
||||
|
||||
CreditsCmd_PrintHeader:
|
||||
|
||||
@@ -7,8 +7,8 @@ GameLoop::
|
||||
call EnableSRAM
|
||||
ld a, [sTextSpeed]
|
||||
ld [wTextSpeed], a
|
||||
ld a, [s0a009]
|
||||
ld [wcd08], a
|
||||
ld a, [sSkipDelayAllowed]
|
||||
ld [wSkipDelayAllowed], a
|
||||
call DisableSRAM
|
||||
ld a, DECK_SIZE
|
||||
ld [wDeckSize], a
|
||||
|
||||
+9
-9
@@ -1,7 +1,7 @@
|
||||
; loads opponent deck at wOpponentDeckID to wOpponentDeck, and initializes wPlayerDuelistType.
|
||||
; on a duel against Sam, also loads PRACTICE_PLAYER_DECK to wPlayerDeck.
|
||||
; also, sets wRNG1 and wRNGCounter to $20 and wRNG2 to 0.
|
||||
LoadOpponentDeck:
|
||||
LoadOpponentDeck::
|
||||
xor a
|
||||
ld [wIsPracticeDuel], a
|
||||
ld [wcd17], a
|
||||
@@ -36,7 +36,7 @@ LoadOpponentDeck:
|
||||
call SwapTurn
|
||||
ld a, e
|
||||
add $02
|
||||
call $2e85 ; LoadDeck
|
||||
call LoadDeck
|
||||
call SwapTurn
|
||||
ld hl, wRNG1
|
||||
ld a, $20
|
||||
@@ -48,7 +48,7 @@ LoadOpponentDeck:
|
||||
ld a, [wOpponentDeckID]
|
||||
inc a
|
||||
inc a ; convert from *_DECK_ID constant read from wOpponentDeckID to *_DECK constant
|
||||
call $2e85 ; LoadDeck
|
||||
call LoadDeck
|
||||
ld a, [wOpponentDeckID]
|
||||
cp $7a ; DECKS_END
|
||||
jr c, .valid_deck
|
||||
@@ -63,11 +63,11 @@ LoadOpponentDeck:
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
AIDoAction_Turn:
|
||||
AIDoAction_Turn::
|
||||
ld a, AIACTION_DO_TURN
|
||||
jr AIDoAction
|
||||
|
||||
AIDoAction_StartDuel:
|
||||
AIDoAction_StartDuel::
|
||||
ld a, AIACTION_START_DUEL
|
||||
jr AIDoAction
|
||||
|
||||
@@ -77,17 +77,17 @@ AIDoAction_ForcedSwitch:
|
||||
ldh [hTempPlayAreaLocation_ff9d], a
|
||||
ret
|
||||
|
||||
AIDoAction_KOSwitch:
|
||||
AIDoAction_KOSwitch::
|
||||
ld a, AIACTION_KO_SWITCH
|
||||
call AIDoAction
|
||||
ldh [hTemp_ffa0], a
|
||||
ret
|
||||
|
||||
AIDoAction_TakePrize:
|
||||
AIDoAction_TakePrize::
|
||||
ld a, AIACTION_TAKE_PRIZE
|
||||
jr AIDoAction
|
||||
|
||||
AIDoAction_06:
|
||||
AIDoAction_06::
|
||||
ld a, AIACTION_06
|
||||
jr AIDoAction
|
||||
|
||||
@@ -133,7 +133,7 @@ AIDoAction:
|
||||
; load bank for Opponent Deck pointer table
|
||||
ldh a, [hBankROM]
|
||||
push af
|
||||
ld a, $05 ; BANK(DeckAIPointerTable)
|
||||
ld a, BANK(DeckAIPointerTable)
|
||||
call BankswitchROM
|
||||
|
||||
; load hl with the corresponding pointer
|
||||
|
||||
@@ -217,16 +217,19 @@ GetCardAlbumProgress::
|
||||
call DisableSRAM
|
||||
ret
|
||||
|
||||
Func_1bca:
|
||||
; frame function during Link Opponent's turn
|
||||
; if opponent makes a decision, jump directly
|
||||
; to the address in wLinkOpponentTurnReturnAddress
|
||||
LinkOpponentTurnFrameFunction::
|
||||
ld a, [wSerialFlags]
|
||||
or a
|
||||
jr nz, .asm_1bd4
|
||||
jr nz, .return
|
||||
call Func_0e32
|
||||
ret nc
|
||||
.asm_1bd4
|
||||
.return
|
||||
ld a, $09
|
||||
call BankswitchROM
|
||||
ld hl, wcd1a
|
||||
ld hl, wLinkOpponentTurnReturnAddress
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
||||
@@ -101,7 +101,7 @@ GetCardType::
|
||||
pop hl
|
||||
ret
|
||||
|
||||
Func_2d3f:
|
||||
Func_2d3f::
|
||||
push hl
|
||||
push de
|
||||
call GetCardPointer
|
||||
|
||||
@@ -16,7 +16,7 @@ TossCoinATimes:
|
||||
; text at de is printed in a text box during the coin toss.
|
||||
; returns: - carry, and 1 in a and in wCoinTossNumHeads if heads
|
||||
; - nc, and 0 in a and in wCoinTossNumHeads if tails
|
||||
TossCoin:
|
||||
TossCoin::
|
||||
push hl
|
||||
ld hl, wCoinTossScreenTextID
|
||||
ld [hl], e
|
||||
|
||||
+71
-69
@@ -72,7 +72,7 @@ CountPrizes::
|
||||
; draw a card from the turn holder's deck, saving its location as CARD_LOCATION_JUST_DRAWN.
|
||||
; returns carry if deck is empty, nc if a card was successfully drawn.
|
||||
; AddCardToHand is meant to be called next (unless this function returned carry).
|
||||
DrawCardFromDeck:
|
||||
DrawCardFromDeck::
|
||||
push hl
|
||||
ld a, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK
|
||||
get_turn_duelist_var
|
||||
@@ -153,7 +153,7 @@ SearchCardInDeckAndAddToHand:
|
||||
|
||||
; adds a card to the turn holder's hand and increments the number of cards in the hand
|
||||
; the card is identified by register a, which contains the deck index (0-59) of the card
|
||||
AddCardToHand:
|
||||
AddCardToHand::
|
||||
push af
|
||||
push hl
|
||||
push de
|
||||
@@ -218,7 +218,7 @@ RemoveCardFromHand:
|
||||
pop af
|
||||
ret
|
||||
|
||||
Func_0ffa:
|
||||
Func_0ffa::
|
||||
push bc
|
||||
push de
|
||||
ld c, a
|
||||
@@ -239,7 +239,7 @@ Func_0ffa:
|
||||
|
||||
; moves a card to the turn holder's discard pile, as long as it is in the hand
|
||||
; the card is identified by register a, which contains the deck index (0-59) of the card
|
||||
MoveHandCardToDiscardPile:
|
||||
MoveHandCardToDiscardPile::
|
||||
call CheckDeckIndexRange
|
||||
get_turn_duelist_var
|
||||
ld a, [hl]
|
||||
@@ -251,7 +251,7 @@ MoveHandCardToDiscardPile:
|
||||
; fallthrough
|
||||
|
||||
; puts the turn holder's card with the deck index (0-59) given in a into the discard pile
|
||||
PutCardInDiscardPile:
|
||||
PutCardInDiscardPile::
|
||||
push af
|
||||
push hl
|
||||
push de
|
||||
@@ -273,7 +273,7 @@ PutCardInDiscardPile:
|
||||
; search a card in the turn holder's discard pile, extract it, and set its location to
|
||||
; CARD_LOCATION_JUST_DRAWN. AddCardToHand is meant to be called next.
|
||||
; the card is identified by register a, which contains the deck index (0-59) of the card
|
||||
MoveDiscardPileCardToHand:
|
||||
MoveDiscardPileCardToHand::
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
@@ -365,7 +365,7 @@ CreateDeckCardList:
|
||||
; if a == 0: search in CARD_LOCATION_ARENA
|
||||
; if a != 0: search in CARD_LOCATION_BENCH_[A]
|
||||
; return carry if no energy cards were found
|
||||
CreateArenaOrBenchEnergyCardList:
|
||||
CreateArenaOrBenchEnergyCardList::
|
||||
or CARD_LOCATION_PLAY_AREA
|
||||
ld c, a
|
||||
ld b, $00
|
||||
@@ -402,7 +402,7 @@ CreateArenaOrBenchEnergyCardList:
|
||||
; fill wDuelTempList with the turn holder's hand cards (their 0-59 deck indexes)
|
||||
; return carry if the turn holder has no cards in hand
|
||||
; and outputs in a number of cards.
|
||||
CreateHandCardList:
|
||||
CreateHandCardList::
|
||||
call FindLastCardInHand
|
||||
inc b
|
||||
jr .skip_card
|
||||
@@ -433,7 +433,7 @@ CreateHandCardList:
|
||||
; b = turn holder's number of cards in hand (DUELVARS_NUMBER_OF_CARDS_IN_HAND)
|
||||
; hl = pointer to turn holder's last (newest) card in DUELVARS_HAND
|
||||
; de = wDuelTempList
|
||||
FindLastCardInHand:
|
||||
FindLastCardInHand::
|
||||
ldh a, [hWhoseTurn]
|
||||
ld h, a
|
||||
ld l, DUELVARS_NUMBER_OF_CARDS_IN_HAND
|
||||
@@ -448,7 +448,7 @@ FindLastCardInHand:
|
||||
; input:
|
||||
; a = how many cards to shuffle
|
||||
; hl = DUELVARS_DECK_CARDS + [DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK]
|
||||
ShuffleCards:
|
||||
ShuffleCards::
|
||||
cp 1
|
||||
ret c ; return if less than 2 cards in deck
|
||||
push hl
|
||||
@@ -546,7 +546,7 @@ RemoveCardFromDuelTempList::
|
||||
ret
|
||||
|
||||
; return the number of cards in wDuelTempList in a
|
||||
CountCardsInDuelTempList:
|
||||
CountCardsInDuelTempList::
|
||||
push hl
|
||||
push bc
|
||||
ld hl, wDuelTempList
|
||||
@@ -585,10 +585,10 @@ LoadCardDataToBuffer1_FromDeckIndex::
|
||||
push bc
|
||||
push af
|
||||
call GetCardIDFromDeckIndex
|
||||
call $2d0a ; LoadCardDataToBuffer1_FromCardID
|
||||
call LoadCardDataToBuffer1_FromCardID
|
||||
pop af
|
||||
ld hl, wLoadedCard1
|
||||
farcall $9, $4e25 ; ConvertSpecialTrainerCardToPokemon
|
||||
farcall ConvertSpecialTrainerCardToPokemon
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
@@ -604,7 +604,7 @@ LoadCardDataToBuffer2_FromDeckIndex::
|
||||
call LoadCardDataToBuffer2_FromCardID
|
||||
pop af
|
||||
ld hl, wLoadedCard2
|
||||
farcall $9, $4e25 ; ConvertSpecialTrainerCardToPokemon
|
||||
farcall ConvertSpecialTrainerCardToPokemon
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
@@ -613,7 +613,7 @@ LoadCardDataToBuffer2_FromDeckIndex::
|
||||
; evolve a turn holder's Pokemon card in the play area slot determined by hTempPlayAreaLocation_ff9d
|
||||
; into another turn holder's Pokemon card identifier by its deck index (0-59) in hTempCardIndex_ff98.
|
||||
; return nc if evolution was successful.
|
||||
EvolvePokemonCardIfPossible:
|
||||
EvolvePokemonCardIfPossible::
|
||||
; first make sure the attempted evolution is viable
|
||||
ldh a, [hTempCardIndex_ff98]
|
||||
ld d, a
|
||||
@@ -678,7 +678,7 @@ EvolvePokemonCard:
|
||||
; e is the play area location offset (PLAY_AREA_*) of the Pokemon trying to evolve.
|
||||
; d is the deck index (0-59) of the Pokemon card that was selected to be the evolution target.
|
||||
; return carry if can't evolve, plus nz if the reason for it is the card was played this turn.
|
||||
CheckIfCanEvolveInto:
|
||||
CheckIfCanEvolveInto::
|
||||
push de
|
||||
ld a, e
|
||||
add DUELVARS_ARENA_CARD
|
||||
@@ -749,7 +749,7 @@ CheckIfCanEvolveInto_BasicToStage2:
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
call $2cbb ; LoadCardDataToBuffer1_FromName
|
||||
call LoadCardDataToBuffer1_FromName
|
||||
ld hl, wLoadedCard2Name
|
||||
ld de, wLoadedCard1PreEvoName
|
||||
ld a, [de]
|
||||
@@ -770,7 +770,7 @@ CheckIfCanEvolveInto_BasicToStage2:
|
||||
; clear the status, all substatuses, and temporary duelvars of the turn holder's
|
||||
; arena Pokemon. called when sending a new Pokemon into the arena.
|
||||
; does not reset Headache, since it targets a player rather than a Pokemon.
|
||||
ClearAllStatusConditions:
|
||||
ClearAllStatusConditions::
|
||||
push hl
|
||||
ldh a, [hWhoseTurn]
|
||||
ld h, a
|
||||
@@ -804,13 +804,13 @@ ClearAllStatusConditions:
|
||||
; input:
|
||||
; a = deck index of the card
|
||||
; return carry if there is no room for more Pokemon
|
||||
PutHandPokemonCardInPlayArea:
|
||||
PutHandPokemonCardInPlayArea::
|
||||
push af
|
||||
call CheckDeckIndexRange
|
||||
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
|
||||
get_turn_duelist_var
|
||||
push hl
|
||||
ld hl, wcc01 ; max play area pokemon ?
|
||||
ld hl, wMaxNumPlayAreaPokemon ; max play area pokemon ?
|
||||
cp [hl]
|
||||
pop hl
|
||||
jr nc, .already_max_pkmn_in_play
|
||||
@@ -874,7 +874,7 @@ PutHandPokemonCardInPlayArea:
|
||||
; e = play area location offset (PLAY_AREA_*)
|
||||
; returns:
|
||||
; a = CARD_LOCATION_PLAY_AREA + e
|
||||
PutHandCardInPlayArea:
|
||||
PutHandCardInPlayArea::
|
||||
call RemoveCardFromHand
|
||||
get_turn_duelist_var
|
||||
ld a, e
|
||||
@@ -882,7 +882,7 @@ PutHandCardInPlayArea:
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
Func_12fc:
|
||||
Func_12fc::
|
||||
ld a, [wSpecialRule]
|
||||
cp ENERGY_RETURN
|
||||
jr nz, MovePlayAreaCardToDiscardPile
|
||||
@@ -921,7 +921,7 @@ Func_12fc:
|
||||
|
||||
; move the Pokemon card of the turn holder in the
|
||||
; PLAY_AREA_* location given in e to the discard pile
|
||||
MovePlayAreaCardToDiscardPile:
|
||||
MovePlayAreaCardToDiscardPile::
|
||||
call EmptyPlayAreaSlot
|
||||
ld l, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
|
||||
dec [hl]
|
||||
@@ -969,7 +969,7 @@ EmptyPlayAreaSlot:
|
||||
ret
|
||||
|
||||
; shift play area Pokemon of both players to the first available play area (arena + benchx) slots
|
||||
ShiftAllPokemonToFirstPlayAreaSlots:
|
||||
ShiftAllPokemonToFirstPlayAreaSlots::
|
||||
call ShiftTurnPokemonToFirstPlayAreaSlots
|
||||
call SwapTurn
|
||||
call ShiftTurnPokemonToFirstPlayAreaSlots
|
||||
@@ -998,7 +998,7 @@ ShiftTurnPokemonToFirstPlayAreaSlots:
|
||||
; data of the turn holder's Pokemon card in play area e.
|
||||
; reset the status and all substatuses of the arena Pokemon before swapping.
|
||||
; e is the play area location offset of the bench Pokemon (PLAY_AREA_*).
|
||||
SwapArenaWithBenchPokemon:
|
||||
SwapArenaWithBenchPokemon::
|
||||
push de
|
||||
call ClearAllStatusConditions
|
||||
ld d, PLAY_AREA_ARENA
|
||||
@@ -1009,7 +1009,7 @@ SwapArenaWithBenchPokemon:
|
||||
; swap the data of the turn holder's Pokemon card in play area d with the
|
||||
; data of the turn holder's Pokemon card in play area e.
|
||||
; d and e are play area location offsets (PLAY_AREA_*).
|
||||
SwapPlayAreaPokemon:
|
||||
SwapPlayAreaPokemon::
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
@@ -1225,7 +1225,7 @@ CopyAttackDataAndDamage_FromCardID:
|
||||
ld a, d
|
||||
ldh [hTempCardIndex_ff9f], a
|
||||
pop de
|
||||
call $2d0a ; LoadCardDataToBuffer1_FromCardID
|
||||
call LoadCardDataToBuffer1_FromCardID
|
||||
pop de
|
||||
jr CopyAttackDataAndDamage
|
||||
|
||||
@@ -1234,7 +1234,7 @@ CopyAttackDataAndDamage_FromCardID:
|
||||
; - Attack1 (if e == 0) or Attack2 (if e == 1) data into wLoadedAttack
|
||||
; - Also from that attack, its Damage field into wDamage
|
||||
; finally, clears wNoDamageOrEffect and wDealtDamage
|
||||
CopyAttackDataAndDamage_FromDeckIndex:
|
||||
CopyAttackDataAndDamage_FromDeckIndex::
|
||||
ld a, e
|
||||
ld [wSelectedAttack], a
|
||||
ld a, d
|
||||
@@ -1276,7 +1276,7 @@ Func_14e5:
|
||||
get_turn_duelist_var
|
||||
ldh [hTempCardIndex_ff9f], a
|
||||
call Func_14f1
|
||||
call Func_1500
|
||||
call ClearTwoTurnDuelVars
|
||||
ret
|
||||
|
||||
Func_14f1:
|
||||
@@ -1288,7 +1288,9 @@ Func_14f1:
|
||||
call SwapTurn
|
||||
ret
|
||||
|
||||
Func_1500:
|
||||
; zeroes temp variables that only last between each two-player turn.
|
||||
; this is called when a Pokemon card is played or when an attack is used
|
||||
ClearTwoTurnDuelVars::
|
||||
xor a
|
||||
ld [wccec], a
|
||||
ld [wEffectFunctionsFeedbackIndex], a
|
||||
@@ -1306,14 +1308,14 @@ Func_1500:
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
bank1call $6b13 ; Func_6b13
|
||||
ld a, $ed
|
||||
bank1call ClearNonTurnTemporaryDuelvars_CopyStatus
|
||||
ld a, DUELVARS_ARENA_CARD_SUBSTATUS1
|
||||
call GetNonTurnDuelistVariable
|
||||
ld [wcd0b], a
|
||||
ret
|
||||
|
||||
; Use an attack (from DuelMenu_Attack) or a Pokemon Power (from DuelMenu_PkmnPower)
|
||||
UseAttackOrPokemonPower:
|
||||
UseAttackOrPokemonPower::
|
||||
ld a, [wSelectedAttack]
|
||||
ld [wPlayerAttackingAttackIndex], a
|
||||
ldh a, [hTempCardIndex_ff9f]
|
||||
@@ -1329,10 +1331,10 @@ UseAttackOrPokemonPower:
|
||||
ldh [hTempPlayAreaLocation_ff9d], a
|
||||
call Func_14e5
|
||||
ld a, EFFECTCMDTYPE_INITIAL_EFFECT_1
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
jp c, DrawWideTextBox_WaitForInput_ReturnCarry
|
||||
farcall $9, $4375 ; Func_24375
|
||||
call $27fa ; WaitForWideTextBoxInput
|
||||
call WaitForWideTextBoxInput
|
||||
call SendAttackDataToLinkOpponent
|
||||
bank1call $784a ; HandleSandAttackOrSmokescreenSubstatus ?
|
||||
jp c, ClearNonTurnTemporaryDuelvars_ResetCarry
|
||||
@@ -1343,7 +1345,7 @@ UseAttackOrPokemonPower:
|
||||
call ExchangeRNG
|
||||
.asm_1580
|
||||
ld a, EFFECTCMDTYPE_INITIAL_EFFECT_2
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
jr nc, .asm_159b
|
||||
ld a, [wcd16]
|
||||
or a
|
||||
@@ -1357,9 +1359,9 @@ UseAttackOrPokemonPower:
|
||||
ret
|
||||
.asm_159b
|
||||
ld a, EFFECTCMDTYPE_DISCARD_ENERGY
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
ld a, EFFECTCMDTYPE_REQUIRE_SELECTION
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
ld a, OPPACTION_ATTACK_ANIM_AND_DAMAGE
|
||||
call SetOppAction_SerialSendDuelData
|
||||
; fallthrough
|
||||
@@ -1367,7 +1369,7 @@ UseAttackOrPokemonPower:
|
||||
PlayAttackAnimation_DealAttackDamage:
|
||||
call Func_14f1
|
||||
bank1call $6e68 ; Func_6e68
|
||||
farcall $6, $4a14 ; Func_18a14
|
||||
farcall Func_18a14
|
||||
ld a, [wLoadedAttackCategory]
|
||||
and RESIDUAL
|
||||
jr nz, .deal_damage
|
||||
@@ -1378,7 +1380,7 @@ PlayAttackAnimation_DealAttackDamage:
|
||||
xor a
|
||||
ldh [hTempPlayAreaLocation_ff9d], a
|
||||
ld a, EFFECTCMDTYPE_BEFORE_DAMAGE
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
call ApplyDamageModifiers_DamageToTarget
|
||||
call Func_189d
|
||||
ld a, e
|
||||
@@ -1409,7 +1411,7 @@ PlayAttackAnimation_DealAttackDamage:
|
||||
jr Func_17fb
|
||||
|
||||
Func_17ed:
|
||||
call $27f7 ; DrawWideTextBox_WaitForInput
|
||||
call DrawWideTextBox_WaitForInput
|
||||
xor a
|
||||
ld hl, wDamage
|
||||
ld [hli], a
|
||||
@@ -1426,7 +1428,7 @@ Func_17fb:
|
||||
push hl
|
||||
push de
|
||||
ld a, EFFECTCMDTYPE_AFTER_DAMAGE
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
pop de
|
||||
pop hl
|
||||
ld [hl], d
|
||||
@@ -1443,7 +1445,7 @@ Func_17fb:
|
||||
ret
|
||||
|
||||
DrawWideTextBox_WaitForInput_ReturnCarry:
|
||||
call $27f7 ; DrawWideTextBox_WaitForInput
|
||||
call DrawWideTextBox_WaitForInput
|
||||
; fallthrough
|
||||
|
||||
ReturnCarry:
|
||||
@@ -1466,9 +1468,9 @@ HandleConfusionDamageToSelf:
|
||||
bank1call $4cd7 ; DrawDuelMainScene
|
||||
pop hl
|
||||
push hl
|
||||
call $2cb2 ; Func_2cb2
|
||||
call LoadTxRam3
|
||||
ld hl, $50 ; DamageToSelfDueToConfusionText
|
||||
call $27a5 ; DrawWideTextBox_PrintText
|
||||
call DrawWideTextBox_PrintText
|
||||
ld a, ATK_ANIM_CONFUSION_HIT
|
||||
ld [wLoadedAttackAnimation], a
|
||||
pop hl
|
||||
@@ -1482,10 +1484,10 @@ HandleConfusionDamageToSelf:
|
||||
|
||||
; use Pokemon Power
|
||||
UsePokemonPower:
|
||||
call Func_1500
|
||||
farcall $6, $4a14 ; Func_18a14
|
||||
call ClearTwoTurnDuelVars
|
||||
farcall Func_18a14
|
||||
ld a, EFFECTCMDTYPE_INITIAL_EFFECT_2
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
jr c, DrawWideTextBox_WaitForInput_ReturnCarry
|
||||
ld a, [wcd0d]
|
||||
or a
|
||||
@@ -1494,7 +1496,7 @@ UsePokemonPower:
|
||||
call SetOppAction_SerialSendDuelData
|
||||
.asm_1687
|
||||
ld a, EFFECTCMDTYPE_REQUIRE_SELECTION
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
jr c, ReturnCarry
|
||||
ld a, OPPACTION_USE_PKMN_POWER
|
||||
call SetOppAction_SerialSendDuelData
|
||||
@@ -1502,7 +1504,7 @@ UsePokemonPower:
|
||||
ld a, OPPACTION_EXECUTE_PKMN_POWER_EFFECT
|
||||
call SetOppAction_SerialSendDuelData
|
||||
ld a, EFFECTCMDTYPE_BEFORE_DAMAGE
|
||||
call $2e33 ; TryExecuteEffectCommandFunction
|
||||
call TryExecuteEffectCommandFunction
|
||||
ld a, OPPACTION_DUEL_MAIN_SCENE
|
||||
call SetOppAction_SerialSendDuelData
|
||||
ret
|
||||
@@ -1578,7 +1580,7 @@ Func_189d:
|
||||
push hl
|
||||
bank1call $4cd7 ; DrawDuelMainScene
|
||||
pop hl
|
||||
call $27a5 ; DrawWideTextBox_PrintText
|
||||
call DrawWideTextBox_PrintText
|
||||
ld a, DUELVARS_ARENA_CARD_SUBSTATUS2
|
||||
call GetNonTurnDuelistVariable
|
||||
ld [hl], $0
|
||||
@@ -1598,7 +1600,7 @@ CheckSelfConfusionDamage:
|
||||
ret
|
||||
.confused
|
||||
ld de, $117 ; ConfusionCheckDamageText
|
||||
call $2ebb ; TossCoin
|
||||
call TossCoin
|
||||
jr c, .no_confusion_damage
|
||||
ld a, 1
|
||||
ld [wGotHeadsFromConfusionCheck], a
|
||||
@@ -1629,7 +1631,7 @@ DealConfusionDamageToSelf:
|
||||
ld [wNoDamageOrEffect], a
|
||||
ld a, $01
|
||||
ld [wIsDamageToSelf], a
|
||||
farcall $6, $4a14 ; Func_18a14
|
||||
farcall Func_18a14
|
||||
ld hl, wTempNonTurnDuelistCardID
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
@@ -1741,7 +1743,7 @@ ApplyDamageModifiers_DamageToTarget:
|
||||
ret
|
||||
|
||||
; convert a color to its equivalent WR_* (weakness/resistance) value
|
||||
TranslateColorToWR:
|
||||
TranslateColorToWR::
|
||||
push hl
|
||||
add LOW(InvertedPowersOf2)
|
||||
ld l, a
|
||||
@@ -1843,7 +1845,7 @@ ApplyAttachedDefender:
|
||||
; hl: address to subtract HP from
|
||||
; de: how much HP to subtract (damage to deal)
|
||||
; returns carry if the HP does not become 0 as a result
|
||||
SubtractHP:
|
||||
SubtractHP::
|
||||
push hl
|
||||
push de
|
||||
ld a, [hl]
|
||||
@@ -1866,7 +1868,7 @@ SubtractHP:
|
||||
|
||||
; given a play area location offset in a, check if the turn holder's Pokemon card in
|
||||
; that location has no HP left, and, if so, print that it was knocked out.
|
||||
PrintPlayAreaCardKnockedOutIfNoHP:
|
||||
PrintPlayAreaCardKnockedOutIfNoHP::
|
||||
ld c, a
|
||||
add DUELVARS_ARENA_CARD_HP
|
||||
get_turn_duelist_var
|
||||
@@ -1895,7 +1897,7 @@ PrintPlayAreaCardKnockedOutIfNoHP:
|
||||
scf
|
||||
ret
|
||||
|
||||
PrintKnockedOutIfHLZero:
|
||||
PrintKnockedOutIfHLZero::
|
||||
ld a, [hl] ; this is supposed to point to a remaining HP value after some form of damage calculation
|
||||
or a
|
||||
ret nz
|
||||
@@ -1908,14 +1910,14 @@ PrintKnockedOut:
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
call $2d0a ; LoadCardDataToBuffer1_FromCardID
|
||||
call LoadCardDataToBuffer1_FromCardID
|
||||
ld hl, wLoadedCard1Name
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
call $2ca9 ; LoadTxRam2
|
||||
call LoadTxRam2
|
||||
ld hl, $84 ; WasKnockedOutText
|
||||
call $27a5 ; DrawWideTextBox_PrintText
|
||||
call DrawWideTextBox_PrintText
|
||||
ld a, 40
|
||||
.wait_frames
|
||||
call DoFrame
|
||||
@@ -1938,7 +1940,7 @@ DealDamageToPlayAreaPokemon_RegularAnim:
|
||||
; shows the defending player's play area screen when dealing the damage
|
||||
; instead of the main duel interface.
|
||||
; plays animation that is loaded in wLoadedAttackAnimation.
|
||||
DealDamageToPlayAreaPokemon:
|
||||
DealDamageToPlayAreaPokemon::
|
||||
xor a
|
||||
ld [wNoDamageOrEffect], a
|
||||
ld a, b
|
||||
@@ -2045,7 +2047,7 @@ Func_1bb4:
|
||||
xor a
|
||||
ldh [hTempPlayAreaLocation_ff9d], a
|
||||
call Func_19e1
|
||||
call $27fa ; WaitForWideTextBoxInput
|
||||
call WaitForWideTextBoxInput
|
||||
call ExchangeRNG
|
||||
ret
|
||||
|
||||
@@ -2059,12 +2061,12 @@ Func_19e1:
|
||||
jr z, .no_effect_from_status
|
||||
call Func_19fd
|
||||
ld hl, $1a1 ; WasUnsuccessfulText
|
||||
call $27a5 ; DrawWideTextBox_PrintText
|
||||
call DrawWideTextBox_PrintText
|
||||
scf
|
||||
ret
|
||||
.no_effect_from_status
|
||||
bank1call $66d0 ; PrintThereWasNoEffectFromStatusText
|
||||
call $27a5 ; DrawWideTextBox_PrintText
|
||||
call DrawWideTextBox_PrintText
|
||||
scf
|
||||
ret
|
||||
|
||||
@@ -2074,11 +2076,11 @@ Func_19fd:
|
||||
get_turn_duelist_var
|
||||
call LoadCardDataToBuffer1_FromDeckIndex
|
||||
ld a, 18
|
||||
call $26da ; CopyCardNameAndLevel
|
||||
call CopyCardNameAndLevel
|
||||
; zero wTxRam2 so that the name & level text just loaded to wDefaultText is printed
|
||||
ld [hl], $0
|
||||
ld hl, $0000
|
||||
call $2ca9 ; LoadTxRam2
|
||||
call LoadTxRam2
|
||||
ld hl, wLoadedAttackName
|
||||
ld de, $cdd8 ; wTxRam2_b
|
||||
ld a, [hli]
|
||||
@@ -2092,11 +2094,11 @@ Func_1a1e:
|
||||
bank1call $6b05 ; ClearNonTurnTemporaryDuelvars
|
||||
call Func_19fd
|
||||
ld hl, $1a2
|
||||
jp $27f7 ; DrawWideTextBox_WaitForInput
|
||||
jp DrawWideTextBox_WaitForInput
|
||||
|
||||
; return in a the retreat cost of the turn holder's arena or bench Pokemon
|
||||
; given the PLAY_AREA_* value in hTempPlayAreaLocation_ff9d
|
||||
GetPlayAreaCardRetreatCost:
|
||||
GetPlayAreaCardRetreatCost::
|
||||
ldh a, [hTempPlayAreaLocation_ff9d]
|
||||
add DUELVARS_ARENA_CARD
|
||||
get_turn_duelist_var
|
||||
@@ -2197,7 +2199,7 @@ CopyPlayerName::
|
||||
; if text ID at wOpponentName is non-0, copy it from there
|
||||
; else, if text at wc500 is non-0, copy if from there
|
||||
; else, copy Player2Text
|
||||
CopyOpponentName:
|
||||
CopyOpponentName::
|
||||
ld hl, wOpponentName
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenDuelCheckMenu:
|
||||
OpenDuelCheckMenu::
|
||||
ldh a, [hBankROM]
|
||||
push af
|
||||
ld a, $02 ; BANK(_OpenDuelCheckMenu)
|
||||
@@ -8,7 +8,7 @@ OpenDuelCheckMenu:
|
||||
call BankswitchROM
|
||||
ret
|
||||
|
||||
OpenInPlayAreaScreen_FromSelectButton:
|
||||
OpenInPlayAreaScreen_FromSelectButton::
|
||||
ldh a, [hBankROM]
|
||||
push af
|
||||
ld a, $06 ; BANK(OpenInPlayAreaScreen)
|
||||
@@ -27,7 +27,7 @@ OpenInPlayAreaScreen_FromSelectButton:
|
||||
; similar to DrawYourOrOppPlayArea (bank 2) except it also draws a wide text box.
|
||||
; this is because bank 2's DrawYourOrOppPlayArea is supposed to come from the Check Menu,
|
||||
; so the text box is always already there.
|
||||
DrawYourOrOppPlayAreaScreen_Bank0:
|
||||
DrawYourOrOppPlayAreaScreen_Bank0::
|
||||
ld a, h
|
||||
ld [wCheckMenuPlayAreaWhichDuelist], a
|
||||
ld a, l
|
||||
@@ -76,7 +76,7 @@ DrawAIPeekScreen:
|
||||
ret
|
||||
|
||||
; a = number of prize cards for player to select to take
|
||||
SelectPrizeCards:
|
||||
SelectPrizeCards::
|
||||
ld [wNumberOfPrizeCardsToSelect], a
|
||||
ldh a, [hBankROM]
|
||||
push af
|
||||
@@ -87,7 +87,7 @@ SelectPrizeCards:
|
||||
call BankswitchROM
|
||||
ret
|
||||
|
||||
DrawPlayAreaToPlacePrizeCards:
|
||||
DrawPlayAreaToPlacePrizeCards::
|
||||
ldh a, [hBankROM]
|
||||
push af
|
||||
ld a, $02 ; BANK(_DrawPlayAreaToPlacePrizeCards)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
; input:
|
||||
; a = command type to check
|
||||
; [wLoadedAttackEffectCommands] = pointer to list of commands of current attack or trainer card
|
||||
TryExecuteEffectCommandFunction:
|
||||
TryExecuteEffectCommandFunction::
|
||||
push af
|
||||
; grab pointer to command list from wLoadedAttackEffectCommands
|
||||
ld hl, wLoadedAttackEffectCommands
|
||||
@@ -38,7 +38,7 @@ TryExecuteEffectCommandFunction:
|
||||
; a = command type to check
|
||||
; hl = list of commands of current attack or trainer card
|
||||
; return nc if command type matching a is found, carry otherwise
|
||||
CheckMatchingCommand:
|
||||
CheckMatchingCommand::
|
||||
ld c, a
|
||||
ld a, l
|
||||
or h
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ SetNextElementOfList_Common:
|
||||
inc de
|
||||
jr SetListToNextPosition
|
||||
|
||||
SetNextElementOfList2:
|
||||
SetNextElementOfList2::
|
||||
push hl
|
||||
push de
|
||||
ld hl, wListPointer2
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
; returns a *= 10
|
||||
ATimes10:
|
||||
ATimes10::
|
||||
push de
|
||||
ld e, a
|
||||
add a
|
||||
|
||||
+1
-1
@@ -1049,7 +1049,7 @@ HandleYesOrNoMenu::
|
||||
PrintYesOrNoItems::
|
||||
call AdjustCoordinatesForBGScroll
|
||||
ld hl, $30 ; YesOrNoText
|
||||
call $29d8 ; InitTextPrinting_ProcessTextFromID
|
||||
call InitTextPrinting_ProcessTextFromID
|
||||
ret
|
||||
|
||||
BuildVersion::
|
||||
|
||||
+9
-9
@@ -331,7 +331,7 @@ SerialRecvByte:
|
||||
ret
|
||||
|
||||
; exchange c bytes. send bytes at hl and store received bytes in de
|
||||
SerialExchangeBytes:
|
||||
SerialExchangeBytes::
|
||||
ld b, c
|
||||
.asm_e64
|
||||
ld a, b
|
||||
@@ -493,13 +493,13 @@ Func_0f05:
|
||||
|
||||
; load the number at wSerialFlags (error code?) to TxRam3, print
|
||||
; TransmissionErrorText, exit the duel, and reset serial registers.
|
||||
DuelTransmissionError:
|
||||
DuelTransmissionError::
|
||||
ld a, [wSerialFlags]
|
||||
ld l, a
|
||||
ld h, 0
|
||||
call $2cb2 ; LoadTxRam3
|
||||
call LoadTxRam3
|
||||
ld hl, $0057 ; TransmissionErrorText
|
||||
call $27f7 ; DrawWideTextBox_WaitForInput
|
||||
call DrawWideTextBox_WaitForInput
|
||||
ld a, -1
|
||||
ld [wDuelResult], a
|
||||
ld hl, wDuelReturnAddress
|
||||
@@ -513,7 +513,7 @@ DuelTransmissionError:
|
||||
ret
|
||||
|
||||
; exchange RNG during a link duel between both games
|
||||
ExchangeRNG:
|
||||
ExchangeRNG::
|
||||
ld a, [wDuelType]
|
||||
cp DUELTYPE_LINK
|
||||
jr z, .link_duel
|
||||
@@ -542,7 +542,7 @@ ExchangeRNG:
|
||||
; finally exchange RNG data.
|
||||
; the receiving side will use this data to read the OPPACTION_* value in
|
||||
; [hOppActionTableIndex] and match it by calling the corresponding OppAction* function
|
||||
SetOppAction_SerialSendDuelData:
|
||||
SetOppAction_SerialSendDuelData::
|
||||
push hl
|
||||
push bc
|
||||
ldh [hOppActionTableIndex], a
|
||||
@@ -561,7 +561,7 @@ SetOppAction_SerialSendDuelData:
|
||||
; receive 18 bytes of data from wSerialRecvBuf and store them into hOppActionTableIndex,
|
||||
; hTempCardIndex_ff9f, hTemp_ffa0, and hTempPlayAreaLocation_ffa1,
|
||||
; and hTempRetreatCostCards. also exchange RNG data.
|
||||
SerialRecvDuelData:
|
||||
SerialRecvDuelData::
|
||||
push hl
|
||||
push bc
|
||||
ld hl, hOppActionTableIndex
|
||||
@@ -574,7 +574,7 @@ SerialRecvDuelData:
|
||||
|
||||
; serial send 8 bytes at f, a, l, h, e, d, c, b
|
||||
; only during a duel against a link opponent
|
||||
SerialSend8Bytes:
|
||||
SerialSend8Bytes::
|
||||
push hl
|
||||
push af
|
||||
ld a, [wDuelType]
|
||||
@@ -624,7 +624,7 @@ SerialSend8Bytes:
|
||||
ret
|
||||
|
||||
; serial recv 8 bytes to f, a, l, h, e, d, c, b
|
||||
SerialRecv8Bytes:
|
||||
SerialRecv8Bytes::
|
||||
ld hl, wTempSerialBuf
|
||||
ld bc, 8
|
||||
push hl
|
||||
|
||||
@@ -34,7 +34,7 @@ DECoordToBGMap0Address:
|
||||
ret
|
||||
|
||||
; Apply SCX and SCY correction to xy coordinates at de
|
||||
AdjustCoordinatesForBGScroll:
|
||||
AdjustCoordinatesForBGScroll::
|
||||
push af
|
||||
ldh a, [hSCX]
|
||||
rra
|
||||
|
||||
+1
-1
@@ -197,7 +197,7 @@ Func_212f::
|
||||
ld de, sGfxBuffer1 + $30 tiles
|
||||
ld b, $8
|
||||
call CopyFontsOrDuelGraphicsTiles
|
||||
call $2684 ; GetCardSymbolData
|
||||
call GetCardSymbolData
|
||||
sub $d0
|
||||
ld l, a
|
||||
ld h, $00
|
||||
|
||||
+2
-2
@@ -25,9 +25,9 @@ TimerHandler:
|
||||
set IN_TIMER, [hl]
|
||||
ldh a, [hBankROM]
|
||||
push af
|
||||
ld a, $77 ; BANK(SoundTimerHandler)
|
||||
ld a, BANK(SoundTimerHandler)
|
||||
call BankswitchROM
|
||||
call $4003 ; SoundTimerHandler
|
||||
call SoundTimerHandler
|
||||
pop af
|
||||
call BankswitchROM
|
||||
; clear in-timer flag
|
||||
|
||||
+24
-13
@@ -87,12 +87,13 @@ Func_30b7::
|
||||
Func_30d6::
|
||||
ld a, $02
|
||||
ld [wd54c], a
|
||||
farcall $7, $65a2
|
||||
jr c, .asm_30e8
|
||||
farcall Func_1e5a2
|
||||
jr c, .lost
|
||||
; won
|
||||
ld a, EVENT_F1
|
||||
farcall MaxOutEventValue
|
||||
ret
|
||||
.asm_30e8
|
||||
.lost
|
||||
ld a, EVENT_F1
|
||||
farcall ZeroOutEventValue
|
||||
ret
|
||||
@@ -1931,18 +1932,20 @@ DrawPlayerPortrait::
|
||||
pop af
|
||||
ret
|
||||
|
||||
; a = NPC_* constant
|
||||
; bc = coordinates
|
||||
; e = PORTRAITVARIANT_* constant
|
||||
Func_3ab2::
|
||||
DrawNPCPortrait::
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
cp $04
|
||||
cp NPC_MINT_LINK + 1
|
||||
jr nc, .ok
|
||||
; Mark and Mint don't have portrait variants
|
||||
ld e, PORTRAITVARIANT_NORMAL
|
||||
.ok
|
||||
farcall Func_1c101
|
||||
farcall GetDuelistPortrait
|
||||
ld h, e
|
||||
ld d, b
|
||||
ld e, c
|
||||
@@ -2228,14 +2231,15 @@ Func_3c2e::
|
||||
pop af
|
||||
ret
|
||||
|
||||
Func_3c3c::
|
||||
; PlayDefaultSong in TCG1
|
||||
StubbedPlayDefaultSong::
|
||||
ret
|
||||
|
||||
Func_3c3d::
|
||||
farcall $7, $5ef1
|
||||
ret
|
||||
|
||||
Func_3c42::
|
||||
ResetAnimationQueue::
|
||||
push af
|
||||
call FinishQueuedAnimations
|
||||
farcall Func_1dfb9
|
||||
@@ -2260,7 +2264,12 @@ FinishQueuedAnimations::
|
||||
pop af
|
||||
ret
|
||||
|
||||
Func_3c70::
|
||||
; plays duel animation
|
||||
; the animations are loaded to a buffer
|
||||
; and played in order, so they can be stacked
|
||||
; input:
|
||||
; - a = animation index
|
||||
PlayDuelAnimation::
|
||||
ld [$dce2], a
|
||||
call Func_3c77
|
||||
ret
|
||||
@@ -2274,7 +2283,9 @@ Func_3c77::
|
||||
call BankswitchROM
|
||||
ret
|
||||
|
||||
Func_3c86::
|
||||
; return nc if wActiveScreenAnim, wd4c0, and wAnimationQueue[] are all equal to $ff
|
||||
; nc means no animation is playing (or animation(s) has/have ended)
|
||||
CheckAnyAnimationPlaying::
|
||||
farcall $7, $6420
|
||||
scf
|
||||
ret nz
|
||||
@@ -2400,13 +2411,13 @@ Func_3d3a::
|
||||
call SetVolume
|
||||
ret
|
||||
|
||||
Func_3d3e::
|
||||
WaitForSongToFinish::
|
||||
push af
|
||||
.asm_3d3f
|
||||
.wait
|
||||
call DoFrame
|
||||
call AssertSongFinished
|
||||
or a
|
||||
jr nz, .asm_3d3f
|
||||
jr nz, .wait
|
||||
pop af
|
||||
ret
|
||||
|
||||
|
||||
+9
-1
@@ -86,7 +86,15 @@ hTempCardIndex_ff9f:: ; ffa1
|
||||
hTemp_ffa0:: ; ffa2
|
||||
ds $1
|
||||
|
||||
ds $10
|
||||
; a PLAY_AREA_* constant (0: arena card, 1-5: bench card)
|
||||
hTempPlayAreaLocation_ffa1:: ; ffa3
|
||||
ds $1
|
||||
|
||||
; $ff-terminated list of cards to be discarded upon retreat
|
||||
hTempRetreatCostCards:: ; ffa4
|
||||
ds $6
|
||||
|
||||
ds $9
|
||||
|
||||
; hffa8 through hffbb belong to the text engine
|
||||
hffa8:: ; ffb3
|
||||
|
||||
+4
-2
@@ -40,6 +40,8 @@ ROMX $03
|
||||
"Bank 3"
|
||||
ROMX $04
|
||||
"Bank 4"
|
||||
ROMX $05
|
||||
"Bank 5"
|
||||
ROMX $06
|
||||
"Bank 6"
|
||||
ROMX $07
|
||||
@@ -225,8 +227,8 @@ WRAM0
|
||||
"WRAM0 Serial Transfer"
|
||||
org $cbda
|
||||
"WRAM0 Duels 2"
|
||||
org $cc29
|
||||
"WRAM0 Duels 2@cc29"
|
||||
org $cc21
|
||||
"WRAM0 Duels 2@cc21"
|
||||
org $cd5b
|
||||
"WRAM0 2"
|
||||
WRAMX 1
|
||||
|
||||
@@ -84,7 +84,7 @@ MACRO credits_show_set
|
||||
db $00, $00
|
||||
ENDM
|
||||
|
||||
; \1 = ID
|
||||
; \1 = NPC_* constant
|
||||
; \2 = x
|
||||
; \3 = y
|
||||
; \4 = portrait variant
|
||||
|
||||
@@ -54,7 +54,10 @@ MACRO textpointer
|
||||
ENDM
|
||||
|
||||
MACRO tx
|
||||
REPT _NARG
|
||||
dw \1_
|
||||
SHIFT
|
||||
ENDR
|
||||
ENDM
|
||||
|
||||
MACRO gfx_ptr
|
||||
|
||||
@@ -85,6 +85,137 @@ MACRO deck_struct
|
||||
\1Cards:: ds DECK_COMPRESSED_SIZE
|
||||
ENDM
|
||||
|
||||
MACRO duel_vars
|
||||
ASSERT (LOW(@) == 0), "must be aligned to $100"
|
||||
|
||||
; 60-byte array that indicates where each of the 60 cards is.
|
||||
; $00 - deck
|
||||
; $01 - hand
|
||||
; $02 - discard pile
|
||||
; $08 - prize
|
||||
; $10 - arena (active pokemon or a card attached to it)
|
||||
; $1X - bench (where X is bench position from 1 to 5)
|
||||
\1CardLocations:: ds DECK_SIZE
|
||||
|
||||
; deck indexes of the up to 6 cards placed as prizes
|
||||
\1PrizeCards:: ds $6
|
||||
|
||||
; deck indexes of the cards that are in the duelist's hand
|
||||
\1Hand:: ds DECK_SIZE
|
||||
|
||||
; 60-byte array that maps each card to its position in the deck or anywhere else
|
||||
; This array is initialized to 00, 01, 02, ..., 59, until deck is shuffled.
|
||||
; Cards in the discard pile go first, cards still in the deck go last, and others go in-between.
|
||||
\1DeckCards:: ds DECK_SIZE
|
||||
|
||||
; Stores x = (60 - deck remaining cards).
|
||||
; The first x cards in the \1DeckCards array are no longer in the drawable deck this duel.
|
||||
; The top card of the duelist's deck is at \1DeckCards + [\1NumberOfCardsNotInDeck].
|
||||
\1NumberOfCardsNotInDeck:: ds $1
|
||||
|
||||
; Deck index of the card that is in duelist's side of the field
|
||||
; -1 indicates no pokemon
|
||||
\1ArenaCard:: ds $1
|
||||
|
||||
; Deck indexes of the cards that are in duelist's bench, plus an $ff (-1) terminator
|
||||
; -1 indicates no pokemon
|
||||
\1Bench:: ds MAX_BENCH_POKEMON + 1
|
||||
|
||||
\1ArenaCardFlags:: ds $1
|
||||
|
||||
ds $5
|
||||
|
||||
\1ArenaCardHP:: ds $1
|
||||
\1Bench1CardHP:: ds $1
|
||||
\1Bench2CardHP:: ds $1
|
||||
\1Bench3CardHP:: ds $1
|
||||
\1Bench4CardHP:: ds $1
|
||||
\1Bench5CardHP:: ds $1
|
||||
\1ArenaCardStage:: ds $1
|
||||
\1Bench1CardStage:: ds $1
|
||||
\1Bench2CardStage:: ds $1
|
||||
\1Bench3CardStage:: ds $1
|
||||
\1Bench4CardStage:: ds $1
|
||||
\1Bench5CardStage:: ds $1
|
||||
|
||||
; changed type from Venomoth's Shift Pokemon Power
|
||||
; if bit 7 == 1, then bits 0-3 override the Pokemon's actual color
|
||||
\1ArenaCardChangedType:: ds $1
|
||||
\1Bench1CardChangedType:: ds $1
|
||||
\1Bench2CardChangedType:: ds $1
|
||||
\1Bench3CardChangedType:: ds $1
|
||||
\1Bench4CardChangedType:: ds $1
|
||||
\1Bench5CardChangedType:: ds $1
|
||||
|
||||
\1ArenaCardAttachedDefender:: ds $1
|
||||
\1Bench1CardAttachedDefender:: ds $1
|
||||
\1Bench2CardAttachedDefender:: ds $1
|
||||
\1Bench3CardAttachedDefender:: ds $1
|
||||
\1Bench4CardAttachedDefender:: ds $1
|
||||
\1Bench5CardAttachedDefender:: ds $1
|
||||
|
||||
\1ArenaCardAttachedPluspower:: ds $1
|
||||
\1Bench1CardAttachedPluspower:: ds $1
|
||||
\1Bench2CardAttachedPluspower:: ds $1
|
||||
\1Bench3CardAttachedPluspower:: ds $1
|
||||
\1Bench4CardAttachedPluspower:: ds $1
|
||||
\1Bench5CardAttachedPluspower:: ds $1
|
||||
|
||||
\1ArenaCardFoodCounters:: ds $1
|
||||
\1Bench1FoodCounters:: ds $1
|
||||
\1Bench2FoodCounters:: ds $1
|
||||
\1Bench3FoodCounters:: ds $1
|
||||
\1Bench4FoodCounters:: ds $1
|
||||
\1Bench5FoodCounters:: ds $1
|
||||
|
||||
\1ArenaCardStatus:: ds $1
|
||||
\1ArenaCardSubstatus1:: ds $1
|
||||
\1ArenaCardSubstatus2:: ds $1
|
||||
|
||||
; changed weakness from Conversion 1
|
||||
\1ArenaCardChangedWeakness:: ds $1
|
||||
; changed resistance from Conversion 2
|
||||
\1ArenaCardChangedResistance:: ds $1
|
||||
|
||||
\1ArenaCardSubstatus3:: ds $1
|
||||
|
||||
; each bit represents a prize that this duelist can draw (1 = not drawn ; 0 = drawn)
|
||||
\1Prizes:: ds $1
|
||||
|
||||
\1NumberOfCardsInDiscardPile:: ds $1
|
||||
\1NumberOfCardsInHand:: ds $1
|
||||
|
||||
; Pokemon cards in arena + bench
|
||||
\1NumberOfPokemonInPlayArea:: ds $1
|
||||
|
||||
; $00 - player
|
||||
; $01 - link
|
||||
; other - AI controlled
|
||||
\1DuelistType:: ds $1
|
||||
|
||||
; if under the effects of amnesia, which attack (0 or 1) can't be used
|
||||
\1ArenaCardDisabledAttackIndex:: ds $1
|
||||
|
||||
; damage taken the last time the opponent attacked (0 if no damage)
|
||||
\1ArenaCardLastTurnDamage:: ds $2
|
||||
|
||||
; status condition received the last time the opponent attacked (0 if none)
|
||||
\1ArenaCardLastTurnStatus:: ds $1
|
||||
|
||||
; substatus2 that the opponent card got last turn
|
||||
\1ArenaCardLastTurnSubstatus2:: ds $1
|
||||
|
||||
; indicates color of weakness that was changed
|
||||
; for this card last turn
|
||||
\1ArenaCardLastTurnChangeWeak:: ds $1
|
||||
|
||||
; stores an effect that was used on the Arena card last turn.
|
||||
; see LAST_TURN_EFFECT_* constants.
|
||||
\1ArenaCardLastTurnEffect:: ds $1
|
||||
|
||||
\1Unkfe:: ds $2
|
||||
ENDM
|
||||
|
||||
MACRO sprite_anim_struct
|
||||
\1Unk0:: ds 1
|
||||
\1Unk1:: ds 1
|
||||
|
||||
@@ -19,6 +19,9 @@ INCLUDE "engine/bank04.asm"
|
||||
SECTION "Scenes", ROMX[$6eb9], BANK[$4]
|
||||
INCLUDE "engine/scenes.asm"
|
||||
|
||||
SECTION "Bank 5", ROMX
|
||||
INCLUDE "engine/bank05.asm"
|
||||
|
||||
SECTION "Bank 6", ROMX
|
||||
INCLUDE "engine/bank06.asm"
|
||||
|
||||
|
||||
+11
-6
@@ -18,9 +18,10 @@ sTextSpeed:: ; a006
|
||||
s0a007:: ; a007
|
||||
ds $1
|
||||
|
||||
s0a008:: ; a008
|
||||
ds $1
|
||||
|
||||
s0a009:: ; a009
|
||||
sSkipDelayAllowed:: ; a009
|
||||
ds $1
|
||||
|
||||
sClearedGame:: ; a00a
|
||||
@@ -37,8 +38,12 @@ sTextBoxFrameColor:: ; a00c
|
||||
sPlayerName:: ; a010
|
||||
ds NAME_BUFFER_LENGTH
|
||||
|
||||
s0a020:: ; a020
|
||||
ds $4
|
||||
sTotalDuelCounter:: ; a020
|
||||
ds $2
|
||||
|
||||
; number of link battles the player has played
|
||||
sLinkDuelCounter:: ; a022
|
||||
ds $2
|
||||
|
||||
ds $dc
|
||||
|
||||
@@ -84,11 +89,11 @@ sCardAndDeckSaveDataEnd::
|
||||
|
||||
; saved data of the current duel, including a two-byte checksum
|
||||
; see SaveDuelDataToDE
|
||||
sSavedDuel:: ; bb00
|
||||
sCurrentDuel:: ; bb00
|
||||
ds $1
|
||||
sSavedDuelChecksum:: ; bb01
|
||||
sCurrentDuelChecksum:: ; bb01
|
||||
ds $3
|
||||
sSavedDuelData:: ; bb04
|
||||
sCurrentDuelData:: ; bb04
|
||||
ds $352
|
||||
|
||||
SECTION "SRAM1", SRAM
|
||||
|
||||
+263
-34
@@ -50,13 +50,8 @@ SECTION "WRAM0 Duels 1", WRAM0
|
||||
|
||||
UNION
|
||||
|
||||
wPlayerDuelVariables:: ; c200
|
||||
|
||||
ds $100
|
||||
|
||||
wOpponentDuelVariables:: ; c300
|
||||
|
||||
ds $100
|
||||
wPlayerDuelVariables:: duel_vars wPlayer ; c200
|
||||
wOpponentDuelVariables:: duel_vars wOpponent ; c300
|
||||
|
||||
NEXTU
|
||||
|
||||
@@ -352,6 +347,9 @@ wSerialRecvBuf:: ; cb9f
|
||||
|
||||
wSerialEnd:: ; cbbf
|
||||
|
||||
; In a duel, the main menu current or last selected menu item
|
||||
; From 0 to 5: Hand, Attack, Check, Pkmn Power, Retreat, Done
|
||||
wCurrentDuelMenuItem:: ; cbbf
|
||||
ds $1
|
||||
|
||||
; When we're viewing a card's information, the page we are currently at.
|
||||
@@ -362,6 +360,10 @@ wSerialEnd:: ; cbbf
|
||||
wCardPageNumber:: ; cbc0
|
||||
ds $1
|
||||
|
||||
; how many selectable items are in a play area screen. used to set wNumMenuItems
|
||||
; in order to navigate through a play area screen. this becomes the number of bench
|
||||
; Pokemon cards if wExcludeArenaPokemon is 1, and that number plus 1 if it's 0.
|
||||
wNumPlayAreaItems:: ; cbc1
|
||||
ds $1
|
||||
|
||||
; selects a PLAY_AREA_* slot in order to display information related to it. used by functions
|
||||
@@ -380,22 +382,90 @@ wCurPlayAreaY:: ; cbc3
|
||||
; current Y coordinate where some play area information is being printed at. used by functions
|
||||
; such as PrintPlayAreaCardLocation, PrintPlayAreaCardInformation and PrintPlayAreaCardHeader
|
||||
wHUDEnergyAndHPBarsY:: ; cbc3
|
||||
|
||||
wPracticeDuelTextY:: ; cbc3
|
||||
ds $1
|
||||
|
||||
ds $6
|
||||
; selected bench slot (1-5, that is, a PLAY_AREA_BENCH_* constant)
|
||||
wBenchSelectedPokemon:: ; cbc4
|
||||
ds $1
|
||||
|
||||
; used by CheckIfEnoughEnergiesToRetreat and DisplayRetreatScreen
|
||||
wEnergyCardsRequiredToRetreat:: ; cbc5
|
||||
ds $1
|
||||
|
||||
wNumRetreatEnergiesSelected:: ; cbc6
|
||||
ds $1
|
||||
|
||||
ds $1
|
||||
|
||||
; when you're in a duel submenu like the cards in your hand and you press A,
|
||||
; the following two addresses keep track of which item was selected by the cursor
|
||||
wSelectedDuelSubMenuItem:: ; cbc8
|
||||
ds $1
|
||||
|
||||
ds $1
|
||||
|
||||
; CARDPAGETYPE_PLAY_AREA or CARDPAGETYPE_NOT_PLAY_AREA
|
||||
; some of the elements displayed in a card page change depending on which value
|
||||
wCardPageType:: ; cbca
|
||||
ds $1
|
||||
|
||||
ds $5
|
||||
; when processing or displaying the play area Pokemon cards of a duelist,
|
||||
; whether to account for only the benched Pokemon ($01) or also the arena Pokemon ($00).
|
||||
wExcludeArenaPokemon:: ; cbcb
|
||||
ds $1
|
||||
|
||||
wPlayAreaScreenLoaded:: ; cbcc
|
||||
ds $1
|
||||
|
||||
; determines what to do when player presses the Select button
|
||||
; while viewing the Play Area:
|
||||
; - if $0 or $2: no action
|
||||
; - if $1: menu is accessible where player can examine Hand or other screens
|
||||
; $2 is reserved for Func_4597
|
||||
wPlayAreaSelectAction:: ; cbcd
|
||||
ds $1
|
||||
|
||||
; low byte of the address of the next slot in the hTempRetreatCostCards array to be used
|
||||
wTempRetreatCostCardsPos:: ; cbce
|
||||
ds $1
|
||||
|
||||
; in a card list, which keys (among START and A_BUTTON) do not open the item selection
|
||||
; menu when a card is selected, directly "submitting" the selected card instead.
|
||||
wNoItemSelectionMenuKeys:: ; cbcf
|
||||
ds $1
|
||||
|
||||
; when viewing a card page, which keys (among B_BUTTON, D_UP, and D_DOWN) will exit the page,
|
||||
; either to go back to the previous menu or list, or to load the card page of the card above/below it
|
||||
wCardPageExitKeys:: ; cbd0
|
||||
ds $1
|
||||
|
||||
; used to store function pointer for printing card order
|
||||
; in card list reordering screen.
|
||||
wPrintSortNumberInCardListPtr:: ; cbd1
|
||||
ds $2
|
||||
|
||||
; in the hand or discard pile card screen, id of the text printed in the bottom-left box
|
||||
wCardListInfoBoxText:: ; cbd3
|
||||
ds $2
|
||||
|
||||
; in the hand or discard pile card screen, id of the text printed as the header title
|
||||
wCardListHeaderText:: ; cbd5
|
||||
ds $2
|
||||
|
||||
; when selecting an item of a list of cards which type of menu shows up.
|
||||
; PLAY_CHECK, SELECT_CHECK, or $00 for none.
|
||||
wCardListItemSelectionMenuType:: ; cbd7
|
||||
ds $1
|
||||
|
||||
; flag indicating whether a list of cards should be sorted by ID
|
||||
wSortCardListByID:: ; cbd8
|
||||
ds $1
|
||||
|
||||
wAttachedEnergyMenuPlayAreaLocation:: ; cbd9
|
||||
ds $1
|
||||
|
||||
SECTION "WRAM0 Duels 2", WRAM0
|
||||
|
||||
wOppRNG1:: ; cbda
|
||||
@@ -408,43 +478,122 @@ wOppRNG1:: ; cbda
|
||||
wDuelReturnAddress:: ; cbdd
|
||||
ds $2
|
||||
|
||||
ds $3
|
||||
; if non-zero, duel menu input is not checked
|
||||
wDebugSkipDuelMenuInput:: ; cbdf
|
||||
ds $1
|
||||
|
||||
ds $2
|
||||
|
||||
; temporarily stores 8 bytes for serial send/recv.
|
||||
; used by SerialSend8Bytes and SerialRecv8Bytes
|
||||
wTempSerialBuf:: ; cbe2
|
||||
ds $8
|
||||
|
||||
ds $13
|
||||
|
||||
wcbfd:: ; cbfd
|
||||
ds $1
|
||||
|
||||
wcbeb:: ; cbeb
|
||||
ds $1
|
||||
|
||||
wAttachedEnergyMenuDenominator:: ; cbec
|
||||
ds $1
|
||||
|
||||
wAttachedEnergyMenuNumerator:: ; cbed
|
||||
ds $1
|
||||
|
||||
; text ID to show in the Attached Energy screen
|
||||
wAttachedEnergyMenuTextID:: ; cbee
|
||||
ds $2
|
||||
|
||||
; used by TurnDuelistTakePrizes to store the remaining Prizes, so that if more than that
|
||||
; amount would be taken, only the remaining amount is taken
|
||||
wTempNumRemainingPrizeCards:: ; cbf0
|
||||
ds $1
|
||||
|
||||
; if FALSE, player is placing initial arena pokemon
|
||||
; if TRUE, player is placing initial bench pokemon
|
||||
wPlacingInitialBenchPokemon:: ; cbf1
|
||||
ds $1
|
||||
|
||||
; during a practice duel, identifies an entry of PracticeDuelActionTable
|
||||
wPracticeDuelAction:: ; cbf2
|
||||
ds $1
|
||||
|
||||
wDuelMainSceneSelectHotkeyAction:: ; cbf3
|
||||
ds $1
|
||||
|
||||
wPracticeDuelTurn:: ; cbf4
|
||||
ds $1
|
||||
|
||||
wcbf5:: ; cbf5
|
||||
ds $1
|
||||
|
||||
ds $6
|
||||
|
||||
; used when opening the card page of an attack when attacking,
|
||||
; serving as an index for AttackPageDisplayPointerTable.
|
||||
; see ATTACKPAGE_* constants
|
||||
wAttackPageNumber:: ; cbfc
|
||||
ds $1
|
||||
|
||||
; the value of hWhoseTurn gets loaded here at the beginning of each duelist's turn.
|
||||
; more reliable than hWhoseTurn, as hWhoseTurn may change temporarily in order to handle status
|
||||
; conditions or other events of the non-turn duelist. used mostly between turns (to check which
|
||||
; duelist's turn just finished), or to restore the value of hWhoseTurn at some point.
|
||||
wWhoseTurn:: ; cbfd
|
||||
ds $1
|
||||
|
||||
; number of turns taken by both players
|
||||
wDuelTurns:: ; cbfe
|
||||
ds $1
|
||||
|
||||
; used to signal that the current duel has finished, not to be mistaken with wDuelResult
|
||||
; 0 = no one has won duel yet
|
||||
; 1 = player whose turn it is has won the duel
|
||||
; 2 = player whose turn it is has lost the duel
|
||||
; 3 = duel ended in a draw (start sudden death match)
|
||||
wDuelFinished:: ; cbff
|
||||
ds $1
|
||||
|
||||
; current duel is a [wDuelInitialPrizes]-prize match
|
||||
wDuelInitialPrizes:: ; cc00
|
||||
ds $1
|
||||
|
||||
wcc01:: ; cc01
|
||||
; maximum number of Pokémon in Play Area
|
||||
; normally it's 6, but when dueling with the
|
||||
; Small Bench rule, it's reduced to 4
|
||||
wMaxNumPlayAreaPokemon:: ; cc01
|
||||
ds $1
|
||||
|
||||
; a DUELTYPE_* constant. note that for a practice duel, wIsPracticeDuel must also be set to $1
|
||||
wDuelType:: ; cc02
|
||||
ds $1
|
||||
|
||||
ds $3
|
||||
wcc03:: ; cc03
|
||||
ds $1
|
||||
|
||||
wAlreadyPlayedEnergy:: ; cc04
|
||||
ds $1
|
||||
|
||||
; set to 1 if the confusion check coin toss in AttemptRetreat is heads
|
||||
wGotHeadsFromConfusionCheckDuringRetreat:: ; cc05
|
||||
ds $1
|
||||
|
||||
wGoopGasAttackActive:: ; cc06
|
||||
ds $1
|
||||
|
||||
ds $2
|
||||
wcc07:: ; cc07
|
||||
ds $1
|
||||
|
||||
; DUELIST_TYPE_* of the turn holder
|
||||
wDuelistType:: ; cc08
|
||||
ds $1
|
||||
|
||||
; this holds the current opponent's deck minus 2 (that is, a *_DECK_ID constant),
|
||||
; in order to account for the two unused pointers at the beginning of DeckPointers.
|
||||
wOpponentDeckID:: ; cc09
|
||||
ds $1
|
||||
|
||||
wcc0f:: ; cc0a
|
||||
ds $1
|
||||
|
||||
; index (0-1) of the attack or Pokemon Power being used by the player's arena card
|
||||
@@ -470,7 +619,7 @@ wSpecialRule:: ; cc10
|
||||
|
||||
ds $1
|
||||
|
||||
wcc12:: ; cc12
|
||||
wOpponentNPCID:: ; cc12
|
||||
ds $1
|
||||
|
||||
; text id of the opponent's name
|
||||
@@ -480,16 +629,29 @@ wOpponentName:: ; cc13
|
||||
wcc15:: ; cc15
|
||||
ds $1
|
||||
|
||||
wcc16:: ; cc16
|
||||
wNPCDuelDeckID:: ; cc16
|
||||
ds $1
|
||||
|
||||
wcc17:: ; cc17
|
||||
; song played during a duel
|
||||
wDuelTheme:: ; cc17
|
||||
ds $1
|
||||
|
||||
wcc18:: ; cc18
|
||||
ds $1
|
||||
|
||||
SECTION "WRAM0 Duels 2@cc29", WRAM0
|
||||
wcc19:: ; cc19
|
||||
ds $1
|
||||
|
||||
wcc1a:: ; cc1a
|
||||
ds $1
|
||||
|
||||
wcc1b:: ; cc1b
|
||||
ds $1
|
||||
|
||||
SECTION "WRAM0 Duels 2@cc21", WRAM0
|
||||
|
||||
wAttackEnergyCost:: ; cc21
|
||||
ds NUM_TYPES
|
||||
|
||||
; holds the energies attached to a given pokemon card. 1 byte for each of the
|
||||
; 8 energy types (includes the unused one that shares byte with the colorless energy)
|
||||
@@ -535,7 +697,15 @@ wTempTurnDuelistCardID:: ; ccd4
|
||||
wTempNonTurnDuelistCardID:: ; ccd6
|
||||
ds $2
|
||||
|
||||
ds $3
|
||||
wccd8:: ; ccd8
|
||||
ds $1
|
||||
|
||||
wccd9:: ; ccd9
|
||||
ds $1
|
||||
|
||||
; the status condition of the defending Pokemon is loaded here after an attack
|
||||
wccc5:: ; ccda
|
||||
ds $1
|
||||
|
||||
; *_ATTACK constants for selected attack
|
||||
; 0 for the first attack (or PKMN Power)
|
||||
@@ -573,7 +743,11 @@ wEffectFunctionsFeedback:: ; cce3
|
||||
wIsDamageToSelf:: ; ccfb
|
||||
ds $1
|
||||
|
||||
ds $2
|
||||
wccfc:: ; ccfc
|
||||
ds $1
|
||||
|
||||
wDuelFinishParam:: ; cce8
|
||||
ds $1
|
||||
|
||||
wOpponentDeckName:: ; ccfe
|
||||
ds $2
|
||||
@@ -614,9 +788,12 @@ wNoEffectFromWhichStatus:: ; cd06
|
||||
wDeckSize:: ; cd07
|
||||
ds $1
|
||||
|
||||
wcd08:: ; cd08
|
||||
; when non-0, allows the player to skip some delays during a duel by pressing B.
|
||||
; value read from sSkipDelayAllowed. probably only used for debugging.
|
||||
wSkipDelayAllowed:: ; cd08
|
||||
ds $1
|
||||
|
||||
wcd09:: ; cd09
|
||||
ds $1
|
||||
|
||||
wcd0a:: ; cd0a
|
||||
@@ -640,18 +817,42 @@ wcd0f:: ; cd0f
|
||||
wcd10:: ; cd10
|
||||
ds $4
|
||||
|
||||
ds $2
|
||||
wcd14:: ; cd14
|
||||
ds $1
|
||||
|
||||
wcd15:: ; cd15
|
||||
ds $1
|
||||
|
||||
wcd16:: ; cd16
|
||||
ds $1
|
||||
|
||||
wcd17:: ; cd17
|
||||
ds $3
|
||||
|
||||
wcd1a:: ; cd1a
|
||||
ds $1
|
||||
|
||||
ds $9
|
||||
wcd18:: ; cd18
|
||||
ds $1
|
||||
|
||||
; when non-0, AIMakeDecision doesn't wait 60 frames and print DuelistIsThinkingText
|
||||
wSkipDuelistIsThinkingDelay:: ; cd19
|
||||
ds $1
|
||||
|
||||
; return address for when the Link Opponent has
|
||||
; made a decision on his turn, so that the duel continues
|
||||
wLinkOpponentTurnReturnAddress:: ; cd1a
|
||||
ds $2
|
||||
|
||||
wNumCardsTryingToDraw:: ; cd1c
|
||||
ds $1
|
||||
|
||||
; number of cards being drawn in order to animate the number of cards in
|
||||
; the hand and in the deck in the draw card screen
|
||||
wNumCardsBeingDrawn:: ; cd1d
|
||||
ds $1
|
||||
|
||||
wOpponentTurnEnded:: ; cd1e
|
||||
ds $1
|
||||
|
||||
ds $5
|
||||
|
||||
wDeckDiagnosisTextIDsPtr:: ; cd24
|
||||
ds $2
|
||||
@@ -817,7 +1018,11 @@ wTextMaxLength:: ; cd75
|
||||
wUppercaseHalfWidthLetters:: ; cd76
|
||||
ds $1
|
||||
|
||||
ds $2
|
||||
wcd77:: ; cd77
|
||||
ds $1
|
||||
|
||||
wcd78:: ; cd78
|
||||
ds $1
|
||||
|
||||
; During a duel, this is always $b after the first attack.
|
||||
; $b is the bank where the functions associated to card or effect commands are.
|
||||
@@ -931,6 +1136,7 @@ wSerialDataPtr:: ; cdf6
|
||||
wTempCardID_ce08:: ; ce08
|
||||
ds $2
|
||||
|
||||
wce0a:: ; ce0a
|
||||
ds $2
|
||||
|
||||
wce0c:: ; ce0c
|
||||
@@ -1164,6 +1370,9 @@ wd0c1:: ; d0c1
|
||||
wTransitionTablePtr:: ; d0c2
|
||||
ds $2
|
||||
|
||||
; same as wDuelInitialPrizes but with upper 2 bits set
|
||||
wDuelInitialPrizesUpperBitsSet:: ; d0c4
|
||||
|
||||
wd0c4:: ; d0c4
|
||||
ds $1
|
||||
|
||||
@@ -1191,7 +1400,10 @@ wGlossaryMenu:: ; d0d1
|
||||
wd0d2:: ; d0d2
|
||||
ds $1
|
||||
|
||||
ds $6
|
||||
wd0d3:: ; d0d3
|
||||
ds $1
|
||||
|
||||
ds $5
|
||||
|
||||
; buffer to store data that will be sent/received through IR
|
||||
wIRDataBuffer:: ; d0d9
|
||||
@@ -2241,11 +2453,28 @@ wdc60:: ; dc60
|
||||
wdce2:: ; dce2
|
||||
ds $1
|
||||
|
||||
ds $2
|
||||
|
||||
wdce5:: ; dce5
|
||||
; used to know what coordinate offsets to use to place animations
|
||||
; for use in GetAnimCoordsAndFlags
|
||||
; DUEL_ANIM_SCREEN_MAIN_SCENE = main scene
|
||||
; DUEL_ANIM_SCREEN_PLAYER_PLAY_AREA = Player's Play Area screen
|
||||
; DUEL_ANIM_SCREEN_OPP_PLAY_AREA = Opponent's Play Area screen
|
||||
wDuelAnimationScreen:: ; dce3
|
||||
ds $1
|
||||
|
||||
; which side to play animation
|
||||
; uses PLAYER_TURN and OPPONENT_TURN constants
|
||||
wDuelAnimDuelistSide:: ; dce4
|
||||
ds $1
|
||||
|
||||
; used in GetAnimCoordsAndFlags to determine
|
||||
; what coordinates to draw the animation in.
|
||||
; e.g. used to know what Play Area card
|
||||
; to draw a hit animation in the Play Area screen.
|
||||
wDuelAnimLocationParam:: ; dce5
|
||||
ds $1
|
||||
|
||||
; damage value to display with animation
|
||||
wDuelAnimDamage:: ; dce6
|
||||
ds $2
|
||||
|
||||
wdce8:: ; dce8
|
||||
@@ -2268,7 +2497,7 @@ SECTION "WRAM1@dd02", WRAMX
|
||||
wDuelResult:: ; dd02
|
||||
ds $1
|
||||
|
||||
wdd03:: ; dd03
|
||||
wDuelStartTheme:: ; dd03
|
||||
ds $1
|
||||
|
||||
wdd04:: ; dd04
|
||||
|
||||
Reference in New Issue
Block a user