Merge pull request #83 from ElectroDeoxys/master

Effect commands
This commit is contained in:
Daniel Harding
2020-12-20 12:24:07 -06:00
committed by GitHub
19 changed files with 12160 additions and 1097 deletions
+1
View File
@@ -146,6 +146,7 @@ PRO EQU $8
BASIC EQU $00
STAGE1 EQU $01
STAGE2 EQU $02
STAGE2_WITHOUT_STAGE1 EQU $03
; CARD_DATA_WEAKNESS and CARD_DATA_RESISTANCE constants
WR_FIRE EQU $80
+1
View File
@@ -94,6 +94,7 @@ ENDM
fwcharmap 3, "\", $98
fwcharmap 3, "┐", $99
fwcharmap 3, "|", $9a
fwcharmap 3, " ", $9c
fwcharmap 3, "!", $9d
fwcharmap 3, "#", $9f
fwcharmap 3, "$", $a0
+18 -1
View File
@@ -42,7 +42,8 @@ AI_ENERGY_FLAG_SKIP_ARENA_CARD EQU 1 << 7 ; whether to include Arena card in det
; used by wAIBarrierFlagCounter to determine
; whether Player is running Mewtwo1 mill deck.
; flag set means true, flag not set means false.
AI_FLAG_MEWTWO_MILL EQU 1 << 7
AI_MEWTWO_MILL_F EQU 7
AI_MEWTWO_MILL EQU 1 << AI_MEWTWO_MILL_F
; defines the behaviour of HandleAIEnergyTrans, for determining
; whether to move energy cards from the Bench to the Arena or vice-versa
@@ -59,3 +60,19 @@ AI_ENERGY_TRANS_TO_BENCH EQU $e ; moves energy cards away from Arena card
const AIACTION_FORCED_SWITCH ; $3
const AIACTION_KO_SWITCH ; $4
const AIACTION_TAKE_PRIZE ; $5
; this bit is set when the AI decides to use Peek on their Prize cards,
; with the following bits deciding which one to Peek. That is:
; %10'0000 = first prize card
; %10'0001 = second prize card
; %10'0010 = third prize card
; etc...
AI_PEEK_TARGET_PRIZE_F EQU 6
AI_PEEK_TARGET_PRIZE EQU 1 << AI_PEEK_TARGET_PRIZE_F
; this bit is set when the AI decides to use Peek on Player hand card,
; with the following bits deciding which one to Peek. That is:
; %1XXX XXXX, where XXX XXXX is the deck index of card chosen
AI_PEEK_TARGET_HAND_F EQU 7
AI_PEEK_TARGET_HAND EQU 1 << AI_PEEK_TARGET_HAND_F
; all bits set means AI chose to look at Player's top deck card
AI_PEEK_TARGET_DECK EQU $ff
+93 -63
View File
@@ -25,58 +25,61 @@ DUEL_WIN EQU $0
DUEL_LOSS EQU $1
; wPlayerDuelVariables or wOpponentDuelVariables constants
DUELVARS_CARD_LOCATIONS EQUS "LOW(wPlayerCardLocations)" ; 00
DUELVARS_PRIZE_CARDS EQUS "LOW(wPlayerPrizeCards)" ; 3c
DUELVARS_HAND EQUS "LOW(wPlayerHand)" ; 42
DUELVARS_DECK_CARDS EQUS "LOW(wPlayerDeckCards)" ; 7e
DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba
DUELVARS_ARENA_CARD EQUS "LOW(wPlayerArenaCard)" ; bb
DUELVARS_BENCH EQUS "LOW(wPlayerBench)" ; bc
DUELVARS_ARENA_CARD_FLAGS_C2 EQU $c2
DUELVARS_ARENA_CARD_HP EQUS "LOW(wPlayerArenaCardHP)" ; c8
DUELVARS_BENCH1_CARD_HP EQUS "LOW(wPlayerBench1CardHP)" ; c9
DUELVARS_BENCH2_CARD_HP EQUS "LOW(wPlayerBench2CardHP)" ; ca
DUELVARS_BENCH3_CARD_HP EQUS "LOW(wPlayerBench3CardHP)" ; cb
DUELVARS_BENCH4_CARD_HP EQUS "LOW(wPlayerBench4CardHP)" ; cc
DUELVARS_BENCH5_CARD_HP EQUS "LOW(wPlayerBench5CardHP)" ; cd
DUELVARS_ARENA_CARD_STAGE EQUS "LOW(wPlayerArenaCardStage)" ; ce
DUELVARS_BENCH1_CARD_STAGE EQUS "LOW(wPlayerBench1CardStage)" ; cf
DUELVARS_BENCH2_CARD_STAGE EQUS "LOW(wPlayerBench2CardStage)" ; d0
DUELVARS_BENCH3_CARD_STAGE EQUS "LOW(wPlayerBench3CardStage)" ; d1
DUELVARS_BENCH4_CARD_STAGE EQUS "LOW(wPlayerBench4CardStage)" ; d2
DUELVARS_BENCH5_CARD_STAGE EQUS "LOW(wPlayerBench5CardStage)" ; d3
DUELVARS_ARENA_CARD_CHANGED_TYPE EQUS "LOW(wPlayerArenaCardChangedType)" ; d4
DUELVARS_BENCH1_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench1CardChangedType)" ; d5
DUELVARS_BENCH2_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench2CardChangedType)" ; d6
DUELVARS_BENCH3_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench3CardChangedType)" ; d7
DUELVARS_BENCH4_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench4CardChangedType)" ; d8
DUELVARS_BENCH5_CARD_CHANGED_TYPE EQUS "LOW(wPlayerBench5CardChangedType)" ; d9
DUELVARS_ARENA_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerArenaCardAttachedDefender)" ; da
DUELVARS_BENCH1_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench1CardAttachedDefender)" ; db
DUELVARS_BENCH2_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench2CardAttachedDefender)" ; dc
DUELVARS_BENCH3_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench3CardAttachedDefender)" ; dd
DUELVARS_BENCH4_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench4CardAttachedDefender)" ; de
DUELVARS_BENCH5_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench5CardAttachedDefender)" ; df
DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerArenaCardAttachedPluspower)" ; e0
DUELVARS_BENCH1_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench1CardAttachedPluspower)" ; e1
DUELVARS_BENCH2_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench2CardAttachedPluspower)" ; e2
DUELVARS_BENCH3_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench3CardAttachedPluspower)" ; e3
DUELVARS_BENCH4_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench4CardAttachedPluspower)" ; e4
DUELVARS_BENCH5_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench5CardAttachedPluspower)" ; e5
DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "LOW(wPlayerArenaCardSubstatus1)" ; e7
DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardSubstatus2)" ; e8
DUELVARS_ARENA_CARD_CHANGED_WEAKNESS EQUS "LOW(wPlayerArenaCardChangedWeakness)" ; e9
DUELVARS_ARENA_CARD_CHANGED_RESISTANCE EQUS "LOW(wPlayerArenaCardChangedResistance)" ; ea
DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "LOW(wPlayerArenaCardSubstatus3)" ; eb
DUELVARS_PRIZES EQUS "LOW(wPlayerPrizes)" ; ec
DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "LOW(wPlayerNumberOfCardsInDiscardPile)" ; ed
DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "LOW(wPlayerNumberOfCardsInHand)" ; ee
DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA EQUS "LOW(wPlayerNumberOfPokemonInPlayArea)" ; ef
DUELVARS_ARENA_CARD_STATUS EQUS "LOW(wPlayerArenaCardStatus)" ; f0
DUELVARS_DUELIST_TYPE EQUS "LOW(wPlayerDuelistType)" ; f1
DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX EQUS "LOW(wPlayerArenaCardDisabledMoveIndex)" ; f2
DUELVARS_ARENA_CARD_LAST_TURN_DAMAGE EQUS "LOW(wPlayerArenaCardLastTurnDamage)" ; f3
DUELVARS_ARENA_CARD_LAST_TURN_STATUS EQUS "LOW(wPlayerArenaCardLastTurnStatus)" ; f5
DUELVARS_CARD_LOCATIONS EQUS "LOW(wPlayerCardLocations)" ; 00
DUELVARS_PRIZE_CARDS EQUS "LOW(wPlayerPrizeCards)" ; 3c
DUELVARS_HAND EQUS "LOW(wPlayerHand)" ; 42
DUELVARS_DECK_CARDS EQUS "LOW(wPlayerDeckCards)" ; 7e
DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba
DUELVARS_ARENA_CARD EQUS "LOW(wPlayerArenaCard)" ; bb
DUELVARS_BENCH EQUS "LOW(wPlayerBench)" ; bc
DUELVARS_ARENA_CARD_FLAGS EQUS "LOW(wPlayerArenaCardFlags)" ; c2
DUELVARS_ARENA_CARD_HP EQUS "LOW(wPlayerArenaCardHP)" ; c8
DUELVARS_BENCH1_CARD_HP EQUS "LOW(wPlayerBench1CardHP)" ; c9
DUELVARS_BENCH2_CARD_HP EQUS "LOW(wPlayerBench2CardHP)" ; ca
DUELVARS_BENCH3_CARD_HP EQUS "LOW(wPlayerBench3CardHP)" ; cb
DUELVARS_BENCH4_CARD_HP EQUS "LOW(wPlayerBench4CardHP)" ; cc
DUELVARS_BENCH5_CARD_HP EQUS "LOW(wPlayerBench5CardHP)" ; cd
DUELVARS_ARENA_CARD_STAGE EQUS "LOW(wPlayerArenaCardStage)" ; ce
DUELVARS_BENCH1_CARD_STAGE EQUS "LOW(wPlayerBench1CardStage)" ; cf
DUELVARS_BENCH2_CARD_STAGE EQUS "LOW(wPlayerBench2CardStage)" ; d0
DUELVARS_BENCH3_CARD_STAGE EQUS "LOW(wPlayerBench3CardStage)" ; d1
DUELVARS_BENCH4_CARD_STAGE EQUS "LOW(wPlayerBench4CardStage)" ; d2
DUELVARS_BENCH5_CARD_STAGE EQUS "LOW(wPlayerBench5CardStage)" ; d3
DUELVARS_ARENA_CARD_CHANGED_TYPE EQUS "LOW(wPlayerArenaCardChangedType)" ; d4
DUELVARS_BENCH1_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench1CardChangedType)" ; d5
DUELVARS_BENCH2_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench2CardChangedType)" ; d6
DUELVARS_BENCH3_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench3CardChangedType)" ; d7
DUELVARS_BENCH4_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench4CardChangedType)" ; d8
DUELVARS_BENCH5_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench5CardChangedType)" ; d9
DUELVARS_ARENA_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerArenaCardAttachedDefender)" ; da
DUELVARS_BENCH1_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench1CardAttachedDefender)" ; db
DUELVARS_BENCH2_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench2CardAttachedDefender)" ; dc
DUELVARS_BENCH3_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench3CardAttachedDefender)" ; dd
DUELVARS_BENCH4_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench4CardAttachedDefender)" ; de
DUELVARS_BENCH5_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench5CardAttachedDefender)" ; df
DUELVARS_ARENA_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerArenaCardAttachedPluspower)" ; e0
DUELVARS_BENCH1_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench1CardAttachedPluspower)" ; e1
DUELVARS_BENCH2_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench2CardAttachedPluspower)" ; e2
DUELVARS_BENCH3_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench3CardAttachedPluspower)" ; e3
DUELVARS_BENCH4_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench4CardAttachedPluspower)" ; e4
DUELVARS_BENCH5_CARD_ATTACHED_PLUSPOWER EQUS "LOW(wPlayerBench5CardAttachedPluspower)" ; e5
DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "LOW(wPlayerArenaCardSubstatus1)" ; e7
DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardSubstatus2)" ; e8
DUELVARS_ARENA_CARD_CHANGED_WEAKNESS EQUS "LOW(wPlayerArenaCardChangedWeakness)" ; e9
DUELVARS_ARENA_CARD_CHANGED_RESISTANCE EQUS "LOW(wPlayerArenaCardChangedResistance)" ; ea
DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "LOW(wPlayerArenaCardSubstatus3)" ; eb
DUELVARS_PRIZES EQUS "LOW(wPlayerPrizes)" ; ec
DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "LOW(wPlayerNumberOfCardsInDiscardPile)" ; ed
DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "LOW(wPlayerNumberOfCardsInHand)" ; ee
DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA EQUS "LOW(wPlayerNumberOfPokemonInPlayArea)" ; ef
DUELVARS_ARENA_CARD_STATUS EQUS "LOW(wPlayerArenaCardStatus)" ; f0
DUELVARS_DUELIST_TYPE EQUS "LOW(wPlayerDuelistType)" ; f1
DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX EQUS "LOW(wPlayerArenaCardDisabledMoveIndex)" ; f2
DUELVARS_ARENA_CARD_LAST_TURN_DAMAGE EQUS "LOW(wPlayerArenaCardLastTurnDamage)" ; f3
DUELVARS_ARENA_CARD_LAST_TURN_STATUS EQUS "LOW(wPlayerArenaCardLastTurnStatus)" ; f5
DUELVARS_ARENA_CARD_LAST_TURN_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardLastTurnSubstatus2)" ; f6
DUELVARS_ARENA_CARD_LAST_TURN_CHANGE_WEAK EQUS "LOW(wPlayerArenaCardLastTurnChangeWeak)" ; f7
DUELVARS_ARENA_CARD_LAST_TURN_EFFECT EQUS "LOW(wPlayerArenaCardLastTurnEffect)" ; f8
; card location constants (DUELVARS_CARD_LOCATIONS)
CARD_LOCATION_DECK EQU $00
@@ -153,6 +156,7 @@ SUBSTATUS2_AMNESIA EQU $04
SUBSTATUS2_TAIL_WAG EQU $05
SUBSTATUS2_LEER EQU $06
SUBSTATUS2_POUNCE EQU $07
SUBSTATUS2_CONVERSION2 EQU $08
SUBSTATUS2_UNABLE_RETREAT EQU $09
SUBSTATUS2_BONE_ATTACK EQU $0b
SUBSTATUS2_GROWL EQU $12
@@ -160,9 +164,28 @@ SUBSTATUS2_GROWL EQU $12
SUBSTATUS3_THIS_TURN_DOUBLE_DAMAGE EQU 0
SUBSTATUS3_HEADACHE EQU 1
; DUELVARS_ARENA_CARD_FLAGS_C2 constants
CAN_EVOLVE_THIS_TURN_F EQU 7
CAN_EVOLVE_THIS_TURN EQU 1 << CAN_EVOLVE_THIS_TURN_F
; DUELVARS_ARENA_CARD_FLAGS constants
USED_PKMN_POWER_THIS_TURN_F EQU 5
USED_LEEK_SLAP_THIS_DUEL_F EQU 6
CAN_EVOLVE_THIS_TURN_F EQU 7
USED_PKMN_POWER_THIS_TURN EQU 1 << USED_PKMN_POWER_THIS_TURN_F
USED_LEEK_SLAP_THIS_DUEL EQU 1 << USED_LEEK_SLAP_THIS_DUEL_F
CAN_EVOLVE_THIS_TURN EQU 1 << CAN_EVOLVE_THIS_TURN_F
; DUELVARS_ARENA_CARD_LAST_TURN_EFFECT constants
const_def
const LAST_TURN_EFFECT_NONE ; $00
const LAST_TURN_EFFECT_DISCARD_ENERGY ; $01
const LAST_TURN_EFFECT_AMNESIA ; $02
; *_CHANGED_COLOR constants
HAS_CHANGED_COLOR_F EQU 7
HAS_CHANGED_COLOR EQU 1 << HAS_CHANGED_COLOR_F
; flag in wDamage + 1 that indicates
; whether damage is unaffected by Weakness/Resistance
UNAFFECTED_BY_WEAKNESS_RESISTANCE_F EQU 7
; effect command constants (TryExecuteEffectCommandFunction)
; ordered by (roughly) execution time
@@ -175,7 +198,7 @@ EFFECTCMDTYPE_AFTER_DAMAGE EQU $04
EFFECTCMDTYPE_SWITCH_DEFENDING_PKMN EQU $0a
EFFECTCMDTYPE_PKMN_POWER_TRIGGER EQU $07
EFFECTCMDTYPE_AI EQU $09
EFFECTCMDTYPE_UNKNOWN_08 EQU $08
EFFECTCMDTYPE_AI_SELECTION EQU $08
; wDamageEffectiveness constants
WEAKNESS EQU 1
@@ -210,7 +233,7 @@ NO_DAMAGE_OR_EFFECT_NSHIELD EQU $05
const OPPACTION_TOSS_COIN_A_TIMES ; $11
const OPPACTION_6B30 ; $12
const OPPACTION_NO_ACTION_13 ; $13
const OPPACTION_6B3E ; $14
const OPPACTION_USE_METRONOME_ATTACK ; $14
const OPPACTION_6B15 ; $15
const OPPACTION_DUEL_MAIN_SCENE ; $16
@@ -234,9 +257,16 @@ EFFECT_FAILED_UNSUCCESSFUL EQU $02
; wAnimationQueue length
ANIMATION_QUEUE_LENGTH EQU 7
PRIZES_1 EQU $01
PRIZES_2 EQU $02
PRIZES_3 EQU $03
PRIZES_4 EQU $04
PRIZES_5 EQU $05
PRIZES_6 EQU $06
PRIZES_1 EQU $01
PRIZES_2 EQU $02
PRIZES_3 EQU $03
PRIZES_4 EQU $04
PRIZES_5 EQU $05
PRIZES_6 EQU $06
; constants to use as input to LookForCardInDeck
SEARCHEFFECT_CARD_ID EQU $0
SEARCHEFFECT_NIDORAN EQU $1
SEARCHEFFECT_BASIC_FIGHTING EQU $2
SEARCHEFFECT_BASIC_ENERGY EQU $3
SEARCHEFFECT_POKEMON EQU $4
+8 -8
View File
@@ -858,12 +858,12 @@ NidoranFCard: ; 31134 (c:5134)
; move 1
energy GRASS, 1 ; energies
tx FurySweepesName ; name
tx FurySwipesName ; name
tx TripleAttackX10Description ; description
dw NONE ; description (cont)
db 10 ; damage
db DAMAGE_X ; category
dw NidoranFFurySweepesEffectCommands ; effect commands
dw NidoranFFurySwipesEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db NONE ; flags 3
@@ -3320,12 +3320,12 @@ PsyduckCard: ; 31d64 (c:5d64)
; move 2
energy WATER, 1 ; energies
tx FurySweepesName ; name
tx FurySwipesName ; name
tx TripleAttackX10Description ; description
dw NONE ; description (cont)
db 10 ; damage
db DAMAGE_X ; category
dw PsyduckFurySweepesEffectCommands ; effect commands
dw PsyduckFurySwipesEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db NONE ; flags 3
@@ -5972,12 +5972,12 @@ SandslashCard: ; 32a98 (c:6a98)
; move 2
energy FIGHTING, 2 ; energies
tx FurySweepesName ; name
tx FurySwipesName ; name
tx TripleAttackX20Description ; description
dw NONE ; description (cont)
db 20 ; damage
db DAMAGE_X ; category
dw SandslashFurySweepesEffectCommands ; effect commands
dw SandslashFurySwipesEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db NONE ; flags 3
@@ -6162,12 +6162,12 @@ PrimeapeCard: ; 32b9c (c:6b9c)
; move 1
energy FIGHTING, 2 ; energies
tx FurySweepesName ; name
tx FurySwipesName ; name
tx TripleAttackX20Description ; description
dw NONE ; description (cont)
db 20 ; damage
db DAMAGE_X ; category
dw PrimeapeFurySweepesEffectCommands ; effect commands
dw PrimeapeFurySwipesEffectCommands ; effect commands
db NONE ; flags 1
db NONE ; flags 2
db NONE ; flags 3
File diff suppressed because it is too large Load Diff
+28 -13
View File
@@ -778,7 +778,7 @@ PlayPokemonCard: ; 44db (1:44db)
ldh [hTemp_ffa0], a
ldh a, [hTempPlayAreaLocation_ff9d]
ldh [hTempPlayAreaLocation_ffa1], a
call EvolvePokemonCard
call EvolvePokemonCardIfPossible
jr c, .try_evolve_loop ; jump if evolution wasn't successsful somehow
ld a, OPPACTION_EVOLVE_PKMN
call SetOppAction_SerialSendDuelData
@@ -1442,6 +1442,13 @@ CheckIfActiveCardParalyzedOrAsleep: ; 4918 (1:4918)
; if there isn't any card left in the deck, let the player know with a text message
DisplayDrawOneCardScreen: ; 4933 (1:4933)
ld a, 1
; fallthrough
; display the animation of the turn duelist drawing number of cards that is in a.
; if there isn't any card left in the deck, let the player know with a text message.
; input:
; - a = number of cards to draw
DisplayDrawNCardsScreen: ; 4935 (1:4935)
push hl
push de
push bc
@@ -2268,11 +2275,11 @@ Func_4e98: ; 4e98 (1:4e98)
Func_4f2d: ; 4f2d (1:4f2d)
ld a, [wDuelDisplayedScreen]
cp SHUFFLE_DECK
jr z, .asm_4f3d
jr z, .skip_draw_scene
call ZeroObjectPositionsAndToggleOAMCopy
call EmptyScreen
call DrawDuelistPortraitsAndNames
.asm_4f3d
.skip_draw_scene
ld a, SHUFFLE_DECK
ld [wDuelDisplayedScreen], a
ld a, DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK
@@ -3481,7 +3488,7 @@ CardListFunction: ; 5719 (1:5719)
Func_5735: ; 5735 (1:5735)
ld hl, wcbd8
ld de, Func_574a
ld de, PrintSortNumberInCardList
ld [hl], e
inc hl
ld [hl], d
@@ -3493,7 +3500,11 @@ Func_5744: ; 5744 (1:5744)
ld hl, wcbd8
jp CallIndirect
Func_574a: ; 574a (1:574a)
; goes through list in wDuelTempList + 10
; and prints the number stored in each entry
; beside the corresponding card in screen.
; used in lists for reordering cards in the Deck.
PrintSortNumberInCardList: ; 574a (1:574a)
lb bc, 1, 2
ld hl, wDuelTempList + 10
.next
@@ -3502,7 +3513,7 @@ Func_574a: ; 574a (1:574a)
jr z, .done
or a ; SYM_SPACE
jr z, .space
add SYM_0
add SYM_0 ; load number symbol
.space
call WriteByteToBGMap0
; move two lines down
@@ -3606,7 +3617,10 @@ DisplayCardPageOnLeftOrRightPressed: ; 57cd (1:57cd)
call c, DisplayCardPage
ret
Func_57df: ; 57df (1:57df)
; draws text box that covers the whole screen
; and prints the text ID in hl, then
; waits for Player input.
DrawWholeScreenTextBox: ; 57df (1:57df)
push hl
call EmptyScreen
lb de, 0, 0
@@ -6404,7 +6418,7 @@ OppActionTable: ; 695e (1:695e)
dw OppAction_TossCoinATimes
dw OppAction_6b30
dw OppAction_NoAction
dw OppAction_6b3e
dw OppAction_UseMetronomeAttack
dw OppAction_6b15
dw OppAction_DrawDuelMainScene
@@ -6447,7 +6461,7 @@ OppAction_EvolvePokemonCard: ; 69c5 (1:69c5)
ldh [hTempCardIndex_ff98], a
call LoadCardDataToBuffer1_FromDeckIndex
call DrawLargePictureOfCard
call EvolvePokemonCard
call EvolvePokemonCardIfPossible
call PrintPokemonEvolvedIntoPokemon
call Func_161e
call DrawDuelMainScene
@@ -6656,7 +6670,7 @@ OppAction_6b30: ; 6b30 (1:6b30)
ldh [hWhoseTurn], a
ret
OppAction_6b3e: ; 6b3e (1:6b3e)
OppAction_UseMetronomeAttack: ; 6b3e (1:6b3e)
call DrawDuelMainScene
ld a, DUELVARS_ARENA_CARD_STATUS
call GetTurnDuelistVariable
@@ -6682,7 +6696,7 @@ OppAction_6b3e: ; 6b3e (1:6b3e)
call Func_16f6
pop bc
ld a, c
ld [wccf0], a
ld [wMetronomeEnergyCost], a
ret
OppAction_NoAction: ; 6b7d (1:6b7d)
@@ -7490,7 +7504,8 @@ GetCardOneStageBelow: ; 7045 (1:7045)
ld hl, wAllStagesIndices ; pointing to basic
cp STAGE1
jr z, .done
cp STAGE2 + 1 ; unnecessary check?
; if stage1 was skipped, hl should point to Basic stage card
cp STAGE2_WITHOUT_STAGE1
jr z, .done
inc hl ; pointing to stage 1
.done
@@ -7548,7 +7563,7 @@ SetAllPlayAreaPokemonCanEvolve: ; 70f6 (1:70f6)
ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA
call GetTurnDuelistVariable
ld c, a
ld l, DUELVARS_ARENA_CARD_FLAGS_C2
ld l, DUELVARS_ARENA_CARD_FLAGS
.next_pkmn_loop
res 5, [hl]
set CAN_EVOLVE_THIS_TURN_F, [hl]
+18 -20
View File
@@ -866,11 +866,9 @@ _CalculateDamage_VersusDefendingPokemon: ; 14462 (5:4462)
ldh a, [hTempPlayAreaLocation_ff9d]
or a
call z, HandleDoubleDamageSubstatus
; skips the weak/res checks if bit 7 is set
; I guess to avoid overflowing?
; should probably just have skipped weakness test instead?
bit 7, d
res 7, d
; skips the weak/res checks if unaffected.
bit UNAFFECTED_BY_WEAKNESS_RESISTANCE_F, d
res UNAFFECTED_BY_WEAKNESS_RESISTANCE_F, d
jr nz, .not_resistant
; handle weakness
@@ -1083,8 +1081,8 @@ CalculateDamage_FromDefendingPokemon: ; 1458c (5:458c)
call SwapTurn
call HandleDoubleDamageSubstatus
bit 7, d
res 7, d
bit UNAFFECTED_BY_WEAKNESS_RESISTANCE_F, d
res UNAFFECTED_BY_WEAKNESS_RESISTANCE_F, d
jr nz, .not_resistant
; handle weakness
@@ -1339,7 +1337,7 @@ InitAITurnVars: ; 15649 (5:5649)
; check if flag was already set, if so,
; reset wAIBarrierFlagCounter to $80.
ld a, [wAIBarrierFlagCounter]
bit 7, a
bit AI_MEWTWO_MILL_F, a
jr nz, .set_flag
; if not, increase it by 1 and check if it exceeds 2.
@@ -1369,14 +1367,14 @@ InitAITurnVars: ; 15649 (5:5649)
jr .done
.set_flag
ld a, AI_FLAG_MEWTWO_MILL + 0
ld a, AI_MEWTWO_MILL
ld [wAIBarrierFlagCounter], a
jr .done
.check_flag
; increase counter by 1 if flag is set
ld a, [wAIBarrierFlagCounter]
bit 7, a
bit AI_MEWTWO_MILL_F, a
jr z, .reset_2
inc a
ld [wAIBarrierFlagCounter], a
@@ -3122,7 +3120,7 @@ AIDecideEvolution: ; 15f4c (5:5f4c)
.check_damage
ld a, [wTempAI]
ld e, a
call GetCardDamage
call GetCardDamageAndMaxHP
or a
jr z, .check_mysterious_fossil
srl a
@@ -3294,7 +3292,7 @@ Func_16120: ; 16120 (5:6120)
dec b
ld e, b
push bc
call GetCardDamage
call GetCardDamageAndMaxHP
pop bc
add c
ld c, a
@@ -3324,7 +3322,7 @@ Func_16120: ; 16120 (5:6120)
; check if there's a Muk in any duelist's Play Area
.is_active
ld e, 0
call GetCardDamage
call GetCardDamageAndMaxHP
cp 50
jr c, .lower_score
ld e, PLAY_AREA_ARENA
@@ -4089,7 +4087,7 @@ AIProcessEnergyCards: ; 164fc (5:64fc)
; arena
ld a, [wAIBarrierFlagCounter]
bit 7, a
bit AI_MEWTWO_MILL_F, a
jr z, .add_to_score
; subtract from score instead
@@ -5019,7 +5017,7 @@ AIProcessAttacks: ; 169fc (5:69fc)
; if Player is running Mewtwo1 mill deck,
; skip attack if Barrier counter is 0.
ld a, [wAIBarrierFlagCounter]
cp AI_FLAG_MEWTWO_MILL + 0
cp AI_MEWTWO_MILL + 0
jp z, .dont_attack
; determine AI score of both attacks.
@@ -5308,7 +5306,7 @@ GetAIScoreOfAttack: ; 16a86 (5:6a86)
cp 31
jr nc, .high_recoil_generic_checks
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
sla a
cp c
jr c, .high_recoil_generic_checks
@@ -5544,7 +5542,7 @@ GetAIScoreOfAttack: ; 16a86 (5:6a86)
.tally_heal_score
push af
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
call CalculateByteTensDigit
pop bc
cp b ; wLoadedMoveEffectParam
@@ -6191,7 +6189,7 @@ LookForCardThatIsKnockedOutOnDevolution: ; 17080 (5:7080)
ld [wTempAI], a
ld e, c
push bc
call GetCardDamage
call GetCardDamageAndMaxHP
pop bc
ld e, a
ld a, [wTempAI]
@@ -6414,7 +6412,7 @@ AISelectSpecialAttackParameters: ; 17161 (5:7161)
ld a, CARD_LOCATION_DISCARD_PILE
call CheckIfAnyCardIDinLocation
ldh [hTemp_ffa0], a
farcall CreateEnergyCardListFromOpponentDiscardPile
farcall CreateEnergyCardListFromDiscardPile_AllEnergy
; find any energy card different from
; the one found by CheckIfAnyCardIDinLocation.
@@ -7229,7 +7227,7 @@ Func_174f2: ; 174f2 (5:74f2)
Func_17583: ; 17583 (5:7583)
push hl
push de
call GetCardDamage
call GetCardDamageAndMaxHP
call CalculateByteTensDigit
ld b, a
push bc
+1 -1
View File
@@ -1677,7 +1677,7 @@ Func_1a6cd: ; 1a6cd (6:66cd)
lb de, $38, $9f
call SetupText
ld hl, $00a3
bank1call Func_57df
bank1call DrawWholeScreenTextBox
ld a, $0a
ld [$0000], a
xor a
+47 -2
View File
@@ -553,7 +553,35 @@ Func_1c83d: ; 1c83d (7:483d)
ret
; 0x1c858
INCROM $1c858, $1c8ef
INCROM $1c858, $1c8bc
Func_1c8bc: ; 1c8bc (7:48bc)
push hl
push bc
call Set_OBJ_8x8
ld a, LOW(Func_3ba2)
ld [wDoFrameFunction], a
ld a, HIGH(Func_3ba2)
ld [wDoFrameFunction + 1], a
ld a, $ff
ld hl, wAnimationQueue
ld c, ANIMATION_QUEUE_LENGTH
.fill_queue
ld [hli], a
dec c
jr nz, .fill_queue
ld [wd42a], a
ld [wd4c0], a
xor a
ld [wd4ac], a
ld [wd4ad], a
ld [wd4b3], a
call Func_1ccbc
call Func_3ca0
pop bc
pop hl
ret
; 0x1c8ef
Func_1c8ef: ; 1c8ef (7:48ef)
ld a, [wDoFrameFunction + 0]
@@ -895,7 +923,24 @@ Func_1cb18: ; 1cb18 (7:4b18)
jr .asm_1cb57
; 0x1cb5e
INCROM $1cb5e, $1d078
INCROM $1cb5e, $1ccbc
Func_1ccbc: ; 1ccbc (7:4cbc)
ld a, $ff
ld [wd42a], a
call DisableInt_LYCoincidence
xor a
ldh [hSCX], a
ldh [rSCX], a
ldh [hSCY], a
ld hl, wd4b9
ld [hl], LOW(Func_1ccbc)
inc hl
ld [hl], HIGH(Func_1ccbc)
ret
; 0x1ccd4
INCROM $1ccd4, $1d078
Func_1d078: ; 1d078 (7:5078)
ld a, [wd627]
+30 -30
View File
@@ -202,7 +202,7 @@ AIPlay_Potion: ; 201b5 (8:41b5)
ld a, [wAITrainerCardParameter]
ldh [hTemp_ffa0], a
ld e, a
call GetCardDamage
call GetCardDamageAndMaxHP
cp 20
jr c, .play_card
ld a, 20
@@ -232,7 +232,7 @@ AIDecide_Potion1: ; 201d1 (8:41d1)
call GetTurnDuelistVariable
ld h, a
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
cp 20 + 1 ; if damage <= 20
jr c, .calculate_hp
ld a, 20 ; amount of Potion HP healing
@@ -270,7 +270,7 @@ AIDecide_Potion2: ; 20204 (8:4204)
call GetTurnDuelistVariable
ld h, a
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
cp 20 + 1 ; if damage <= 20
jr c, .calculate_hp
ld a, 20
@@ -309,7 +309,7 @@ AIDecide_Potion2: ; 20204 (8:4204)
ret z
call .check_boost_if_taken_damage
jr c, .has_boost_damage
call GetCardDamage
call GetCardDamageAndMaxHP
cp 20 ; if damage >= 20
jr nc, .found
.has_boost_damage
@@ -392,7 +392,7 @@ AIPlay_SuperPotion: ; 202a8 (8:42a8)
ldh [hTemp_ffa0], a
ld a, [wAITrainerCardParameter]
ld e, a
call GetCardDamage
call GetCardDamageAndMaxHP
cp 40
jr c, .play_card
ld a, 40
@@ -426,7 +426,7 @@ AIDecide_SuperPotion1: ; 202cc (8:42cc)
call GetTurnDuelistVariable
ld h, a
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
cp 40 + 1 ; if damage < 40
jr c, .calculate_hp
ld a, 40
@@ -470,7 +470,7 @@ AIDecide_SuperPotion2: ; 2030f (8:430f)
call GetTurnDuelistVariable
ld h, a
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
cp 40 + 1 ; if damage < 40
jr c, .calculate_hp
ld a, 40
@@ -516,7 +516,7 @@ AIDecide_SuperPotion2: ; 2030f (8:430f)
jr c, .next
call .check_energy_cost
jr c, .next
call GetCardDamage
call GetCardDamageAndMaxHP
cp 40 ; if damage >= 40
jr nc, .found
.next
@@ -2274,7 +2274,7 @@ AIDecide_PokemonBreeder: ; 20b1b (8:4b1b)
dec b
ld e, b
push bc
call GetCardDamage
call GetCardDamageAndMaxHP
pop bc
call ConvertHPToCounters
add c
@@ -2296,7 +2296,7 @@ AIDecide_PokemonBreeder: ; 20b1b (8:4b1b)
; compare number of this card's damage counters
; with 5, if less than that, set carry
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
cp 5
jr c, .set_carry
@@ -3182,7 +3182,7 @@ AIDecide_PokemonCenter: ; 210eb (8:50eb)
; get this Pokemon's current damage counters
; and add it to the total.
call GetCardDamage
call GetCardDamageAndMaxHP
call ConvertHPToCounters
ld b, a
ld a, [wce08]
@@ -3950,7 +3950,7 @@ AIDecide_MrFuji: ; 214a7 (8:54a7)
ld b, a
; skip if zero damage counters
call GetCardDamage
call GetCardDamageAndMaxHP
call ConvertHPToCounters
or a
jr z, .next
@@ -4061,7 +4061,7 @@ AIDecide_ScoopUp: ; 21506 (8:5506)
; skip if card has no damage counters.
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
or a
jr z, .no_carry
@@ -4626,7 +4626,7 @@ AIDecide_Gambler: ; 21875 (8:5875)
; check if flag is set for Player using Mewtwo1 only deck
ld a, [wAIBarrierFlagCounter]
and AI_FLAG_MEWTWO_MILL
and AI_MEWTWO_MILL
jr z, .no_carry
; set carry if number of cards in deck <= 4.
@@ -6637,7 +6637,7 @@ HandleAIHeal: ; 22402 (8:6402)
ld a, OPPACTION_USE_PKMN_POWER
bank1call AIMakeDecision
pop af
ldh [hAIHealCard], a
ldh [hPlayAreaEffectTarget], a
ld a, OPPACTION_EXECUTE_PKMN_POWER_EFFECT
bank1call AIMakeDecision
ld a, OPPACTION_DUEL_MAIN_SCENE
@@ -6653,7 +6653,7 @@ HandleAIHeal: ; 22402 (8:6402)
; check if Arena card has any damage counters,
; if not, check Bench instead.
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
or a
jr z, .check_bench
@@ -6666,7 +6666,7 @@ HandleAIHeal: ; 22402 (8:6402)
call GetTurnDuelistVariable
ld h, a
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
; this seems useless since it was already
; checked that Arena card has damage,
; so card damage is at least 10.
@@ -6704,7 +6704,7 @@ HandleAIHeal: ; 22402 (8:6402)
cp d
jr z, .done
push bc
call GetCardDamage
call GetCardDamageAndMaxHP
pop bc
cp b
jr c, .next_bench
@@ -6824,7 +6824,7 @@ HandleAIPeek: ; 224e6 (8:64e6)
ld a, 3
call Random
or a
jr z, .check_player_prizes
jr z, .check_ai_prizes
cp 2
jr c, .check_player_hand
@@ -6833,10 +6833,10 @@ HandleAIPeek: ; 224e6 (8:64e6)
call GetNonTurnDuelistVariable
cp DECK_SIZE - 1
ret nc ; return if Player has one or no cards in Deck
ld a, $ff
ld a, AI_PEEK_TARGET_DECK
jr .use_peek
.check_player_prizes
.check_ai_prizes
ld a, DUELVARS_PRIZES
call GetTurnDuelistVariable
ld hl, wcda5
@@ -6861,7 +6861,7 @@ HandleAIPeek: ; 224e6 (8:64e6)
ld a, c
sub b
ld [hl], a
ld a, $40
ld a, AI_PEEK_TARGET_PRIZE
add d
jr .use_peek
@@ -6876,7 +6876,7 @@ HandleAIPeek: ; 224e6 (8:64e6)
call CountCardsInDuelTempList
call ShuffleCards
ld a, [wDuelTempList]
or $80
or AI_PEEK_TARGET_HAND
.use_peek
push af
@@ -6902,7 +6902,7 @@ HandleAIStrangeBehavior: ; 2255d (8:655d)
ldh [hTemp_ffa0], a
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
or a
ret z ; return if Arena card has no damage counters
@@ -6977,7 +6977,7 @@ HandleAICurse: ; 225b5 (8:65b5)
call SwapTurn
.loop_play_area_1
push bc
call GetCardDamage
call GetCardDamageAndMaxHP
pop bc
or a
jr z, .next_1
@@ -7033,7 +7033,7 @@ HandleAICurse: ; 225b5 (8:65b5)
cp b
jr z, .next_2 ; skip same Pokemon card
push bc
call GetCardDamage
call GetCardDamageAndMaxHP
pop bc
jr nz, .use_curse ; has damage counters, choose this card
.next_2
@@ -7116,7 +7116,7 @@ HandleAICowardice: ; 2262d (8:662d)
ld a, c
ldh [hTemp_ffa0], a
ld e, a
call GetCardDamage
call GetCardDamageAndMaxHP
.asm_22678
or a
ret z ; return if has no damage counters
@@ -7183,7 +7183,7 @@ HandleAIDamageSwap: ; 226a3 (8:66a3)
.ok
ld e, PLAY_AREA_ARENA
call GetCardDamage
call GetCardDamageAndMaxHP
or a
ret z ; return if no damage
@@ -7380,12 +7380,12 @@ CheckIfPlayerHasPokemonOtherThanMewtwo1: ; 227a9 (8:67a9)
HandleAIAntiMewtwoDeckStrategy: ; 227d3 (8:67d3)
; return carry if Player is not playing Mewtwo1 mill deck
ld a, [wAIBarrierFlagCounter]
bit 7, a
bit AI_MEWTWO_MILL_F, a
jr z, .set_carry
; else, check if there's been less than 2 turns
; without the Player using Barrier.
cp AI_FLAG_MEWTWO_MILL + 2
cp AI_MEWTWO_MILL + 2
jr c, .count_bench
; if there has been, reset wAIBarrierFlagCounter
File diff suppressed because it is too large Load Diff
+41 -19
View File
@@ -3604,6 +3604,7 @@ GetCardIDFromDeckIndex: ; 1324 (0:1324)
ret
; remove card c from wDuelTempList (it contains a $ff-terminated list of deck indexes)
; returns carry if no matches were found.
RemoveCardFromDuelTempList: ; 132f (0:132f)
push hl
push de
@@ -3703,9 +3704,9 @@ LoadCardDataToBuffer2_FromDeckIndex: ; 138c (0:138c)
ret
; 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 it's deck index (0-59) in hTempCardIndex_ff98.
; return nc if evolution was succesful.
EvolvePokemonCard: ; 13a2 (0:13a2)
; into another turn holder's Pokemon card identifier by its deck index (0-59) in hTempCardIndex_ff98.
; return nc if evolution was successful.
EvolvePokemonCardIfPossible: ; 13a2 (0:13a2)
; first make sure the attempted evolution is viable
ldh a, [hTempCardIndex_ff98]
ld d, a
@@ -3713,7 +3714,12 @@ EvolvePokemonCard: ; 13a2 (0:13a2)
ld e, a
call CheckIfCanEvolveInto
ret c ; return if it's not capable of evolving into the selected Pokemon
; place the evolved Pokemon card in the play area location of the pre-evolved Pokemon card
; fallthrough
; 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.
EvolvePokemonCard: ; 13ac (0:13ac)
; place the evolved Pokemon card in the play area location of the pre-evolved Pokemon card
ldh a, [hTempPlayAreaLocation_ff9d]
ld e, a
add DUELVARS_ARENA_CARD
@@ -3738,7 +3744,7 @@ EvolvePokemonCard: ; 13a2 (0:13a2)
ld [hl], a
; reset status (if in arena) and set the flag that prevents it from evolving again this turn
ld a, e
add DUELVARS_ARENA_CARD_FLAGS_C2
add DUELVARS_ARENA_CARD_FLAGS
ld l, a
ld [hl], $00
ld a, e
@@ -3785,7 +3791,7 @@ CheckIfCanEvolveInto: ; 13f7 (0:13f7)
jr nz, .cant_evolve ; jump if they are incompatible to evolve
pop de
ld a, e
add DUELVARS_ARENA_CARD_FLAGS_C2
add DUELVARS_ARENA_CARD_FLAGS
call GetTurnDuelistVariable
and CAN_EVOLVE_THIS_TURN
jr nz, .can_evolve
@@ -3810,7 +3816,7 @@ CheckIfCanEvolveInto: ; 13f7 (0:13f7)
; return carry if not basic to stage 2 evolution, or if evolution not possible this turn.
CheckIfCanEvolveInto_BasicToStage2: ; 142b (0:142b)
ld a, e
add DUELVARS_ARENA_CARD_FLAGS_C2
add DUELVARS_ARENA_CARD_FLAGS
call GetTurnDuelistVariable
and CAN_EVOLVE_THIS_TURN
jr nz, .can_evolve
@@ -3904,7 +3910,7 @@ PutHandPokemonCardInPlayArea: ; 1485 (0:1485)
ld l, a
ld a, [wLoadedCard2HP]
ld [hl], a ; set card's HP
ld a, DUELVARS_ARENA_CARD_FLAGS_C2
ld a, DUELVARS_ARENA_CARD_FLAGS
add e
ld l, a
ld [hl], $0
@@ -4051,7 +4057,7 @@ SwapPlayAreaPokemon: ; 1548 (0:1548)
call .swap_duelvar
ld a, DUELVARS_ARENA_CARD_HP
call .swap_duelvar
ld a, DUELVARS_ARENA_CARD_FLAGS_C2
ld a, DUELVARS_ARENA_CARD_FLAGS
call .swap_duelvar
ld a, DUELVARS_ARENA_CARD_STAGE
call .swap_duelvar
@@ -4379,7 +4385,7 @@ Func_16f6: ; 16f6 (0:16f6)
ld [wEffectFailed], a
ld [wIsDamageToSelf], a
ld [wccef], a
ld [wccf0], a
ld [wMetronomeEnergyCost], a
ld [wNoEffectFromStatus], a
bank1call ClearNonTurnTemporaryDuelvars_CopyStatus
ret
@@ -4690,7 +4696,10 @@ LoadNonPokemonCardEffectCommands: ; 1944 (0:1944)
ld [de], a
ret
Func_1955: ; 1955 (0:1955)
; inflict recoil damage to self
; input:
; a = damage to deal
DealRecoilDamageToSelf: ; 1955 (0:1955)
push af
ld a, $7a
ld [wLoadedMoveAnimation], a
@@ -4965,10 +4974,18 @@ PrintKnockedOut: ; 1ad3 (0:1ad3)
; deal damage to turn holder's Pokemon card at play area location at b (PLAY_AREA_*).
; damage to deal is given in de.
; shows the defending player's play area screen when dealing the damage
; instead of the main duel interface, and has a fixed move animation.
DealDamageToPlayAreaPokemon: ; 1af3 (0:1af3)
; instead of the main duel interface with regular attack animation.
DealDamageToPlayAreaPokemon_RegularAnim: ; 1af3 (0:1af3)
ld a, $78
ld [wLoadedMoveAnimation], a
; fallthrough
; deal damage to turn holder's Pokemon card at play area location at b (PLAY_AREA_*).
; damage to deal is given in de.
; shows the defending player's play area screen when dealing the damage
; instead of the main duel interface.
; plays animation that is loaded in wLoadedMoveAnimation.
DealDamageToPlayAreaPokemon: ; 1af8 (0:1af8)
ld a, b
ld [wTempPlayAreaLocation_cceb], a
or a ; cp PLAY_AREA_ARENA
@@ -5172,9 +5189,13 @@ MoveCardToDiscardPileIfInArena: ; 1c13 (0:1c13)
jr c, .next_card
ret
; calculate damage of card at CARD_LOCATION_* in e
; return the result in a
GetCardDamage: ; 1c35 (0:1c35)
; calculate damage and max HP of card at PLAY_AREA_* in e.
; input:
; e = PLAY_AREA_* of card;
; output:
; a = damage;
; c = max HP.
GetCardDamageAndMaxHP: ; 1c35 (0:1c35)
push hl
push de
ld a, DUELVARS_ARENA_CARD
@@ -10297,7 +10318,7 @@ GetPlayAreaCardColor: ; 36f7 (0:36f7)
ld e, a
add DUELVARS_ARENA_CARD_CHANGED_TYPE
call GetTurnDuelistVariable
bit 7, a
bit HAS_CHANGED_COLOR_F, a
jr nz, .has_changed_color
.regular_color
ld a, e
@@ -11047,9 +11068,10 @@ Func_3b11: ; 3b11 (0:3b11)
Func_3b21: ; 3b21 (0:3b21)
ldh a, [hBankROM]
push af
ld a, $07
ld a, BANK(Func_1c8bc)
call BankswitchROM
call $48bc
call Func_1c8bc
pop af
call BankswitchROM
ret
+20 -5
View File
@@ -77,12 +77,15 @@ hOppActionTableIndex:: ; ff9e
hTempCardIndex_ff9f:: ; ff9f
ds $1
UNION
; multipurpose temp storage (card's deck index, selected move index, status condition...)
hTemp_ffa0:: ; ffa0
ds $1
; a PLAY_AREA_* constant (0: arena card, 1-5: bench card)
hTempPlayAreaLocation_ffa1:: ; ffa1
; parameter to be used by the AI's Pkmn Power effect
hAIPkmnPowerEffectParam:: ; ffa1
ds $1
@@ -99,16 +102,24 @@ NEXTU
; the deck index (0-59) of the energy card to transfer
; and the Play Area location (PLAY_AREA_*) of card to receive that energy card.
hAIEnergyTransEnergyCard:: ; ffa2
; PLAY_AREA_* of target selected for some Pkmn Powers,
; (e.g. Curse, Damage Swap) and for trainer card effect.
hPlayAreaEffectTarget:: ; ffa2
ds $1
hAIEnergyTransPlayAreaLocation:: ; ffa3
ds $1
ENDU
NEXTU
; Play Area location (PLAY_AREA_*) of card
; chosen by AI to use Heal Pkmn Power on.
hAIHealCard:: ; ffa2
ds $1
; list of various items, such as
; cards selected for various effects,
; Play Area locations, etc.
hTempList:: ; ffa0
ds $8
ENDU
@@ -153,7 +164,11 @@ hffb0:: ; ffb0
hCurMenuItem:: ; ffb1
ds $1
ds $3
; stores the item number in the selection menu of various effects
hCurSelectionItem:: ; ffb2
ds $1
ds $2
hffb5:: ; ffb5
ds $1
+49 -49
View File
@@ -290,11 +290,11 @@ DuelistPlacedACardText: ; 367f9 (d:67f9)
line "a <RAMTEXT>."
done
Text0045: ; 36808 (d:6808)
UnableToSelectText: ; 36808 (d:6808)
text "Unable to select."
done
Text0046: ; 3681b (d:681b)
ColorListText: ; 3681b (d:681b)
text "Grass"
line "Fire"
line "Water"
@@ -303,31 +303,31 @@ Text0046: ; 3681b (d:681b)
line "Psychic"
done
Text0047: ; 36848 (d:6848)
GrassSymbolText: ; 36848 (d:6848)
textfw0 "<GRASS>"
done
Text0048: ; 3684b (d:684b)
FireSymbolText: ; 3684b (d:684b)
textfw0 "<FIRE>"
done
Text0049: ; 3684e (d:684e)
WaterSymbolText: ; 3684e (d:684e)
textfw0 "<WATER>"
done
Text004a: ; 36851 (d:6851)
LightningSymbolText: ; 36851 (d:6851)
textfw0 "<LIGHTNING>"
done
Text004b: ; 36854 (d:6854)
FightingSymbolText: ; 36854 (d:6854)
textfw0 "<FIGHTING>"
done
Text004c: ; 36857 (d:6857)
PsychicSymbolText: ; 36857 (d:6857)
textfw0 "<PSYCHIC>"
done
Text004d: ; 3685a (d:685a)
BenchText: ; 3685a (d:685a)
text "Bench"
done
@@ -821,17 +821,17 @@ NoEnergyAttachedToOpponentsActiveText: ; 3742a (d:742a)
line "the opponent's Active Pokémon."
done
Text00af: ; 3746a (d:746a)
ThereAreNoEnergyCardsInDiscardPileText: ; 3746a (d:746a)
text "There are no Energy cards"
line "in the the Discard Pile."
done
Text00b0: ; 3749e (d:749e)
ThereAreNoBasicEnergyCardsInDiscardPileText: ; 3749e (d:749e)
text "There are no Basic Energy cards"
line "in the Discard Pile."
done
Text00b1: ; 374d4 (d:74d4)
NoCardsLeftInTheDeckText: ; 374d4 (d:74d4)
text "There are no cards left in the Deck."
done
@@ -849,50 +849,50 @@ CantEvolvePokemonInSameTurnItsPlacedText: ; 37546 (d:7546)
line "in the same turn it was placed."
done
Text00b5: ; 37583 (d:7583)
NotAffectedByPoisonSleepParalysisOrConfusionText: ; 37583 (d:7583)
text "Not affected by Poison,"
line "Sleep, Paralysis, or Confusion."
done
Text00b6: ; 375bc (d:75bc)
NotEnoughCardsInHandText: ; 375bc (d:75bc)
text "Not enough cards in Hand."
done
Text00b7: ; 375d7 (d:75d7)
EffectNoPokemonOnTheBenchText: ; 375d7 (d:75d7)
text "No Pokémon on the Bench."
done
Text00b8: ; 375f1 (d:75f1)
ThereAreNoPokemonInDiscardPileText: ; 375f1 (d:75f1)
text "There are no Pokémon"
line "in the Discard Pile."
done
Text00b9: ; 3761c (d:761c)
ConditionsForEvolvingToStage2NotFulfilledText: ; 3761c (d:761c)
text "Conditions for evolving to"
line "Stage 2 not fulfilled."
done
Text00ba: ; 3764f (d:764f)
ThereAreNoCardsInHandThatYouCanChangeText: ; 3764f (d:764f)
text "There are no cards in Hand"
line "that you can change."
done
Text00bb: ; 37680 (d:7680)
ThereAreNoCardsInTheDiscardPileText: ; 37680 (d:7680)
text "There are no cards in the"
line "Discard Pile."
done
Text00bc: ; 376a9 (d:76a9)
ThereAreNoStage1PokemonText: ; 376a9 (d:76a9)
text "There are no Stage 1 Pokémon"
line "in the Play Area."
done
Text00bd: ; 376d9 (d:76d9)
NoEnergyCardsAttachedToPokemonInYourPlayAreaText: ; 376d9 (d:76d9)
text "No Energy cards are attached to"
line "Pokémon in your Play Area."
done
Text00be: ; 37715 (d:7715)
NoEnergyCardsAttachedToPokemonInOppPlayAreaText: ; 37715 (d:7715)
text "No Energy cards attached to Pokémon"
line "in your opponent's Play Area."
done
@@ -906,46 +906,46 @@ NotEnoughEnergyCardsText: ; 37781 (d:7781)
text "Not enough Energy cards."
done
Text00c1: ; 3779b (d:779b)
NotEnoughFireEnergyText: ; 3779b (d:779b)
text "Not enough Fire Energy."
done
Text00c2: ; 377b4 (d:77b4)
NotEnoughPsychicEnergyText: ; 377b4 (d:77b4)
text "Not enough Psychic Energy."
done
Text00c3: ; 377d0 (d:77d0)
NotEnoughWaterEnergyText: ; 377d0 (d:77d0)
text "Not enough Water Energy."
done
Text00c4: ; 377ea (d:77ea)
ThereAreNoTrainerCardsInDiscardPileText: ; 377ea (d:77ea)
text "There are no Trainer Cards"
line "in the Discard Pile."
done
Text00c5: ; 3781b (d:781b)
NoAttackMayBeChoosenText: ; 3781b (d:781b)
text "No Attacks may be choosen."
done
Text00c6: ; 37837 (d:7837)
YouDidNotReceiveAnAttackToMirrorMoveText: ; 37837 (d:7837)
text "You did not receive an Attack"
line "to Mirror Move."
done
Text00c7: ; 37866 (d:7866)
ThisAttackCannotBeUsedTwiceText: ; 37866 (d:7866)
text "This attack cannot"
line "be used twice."
done
Text00c8: ; 37889 (d:7889)
NoWeaknessText: ; 37889 (d:7889)
text "No Weakness."
done
Text00c9: ; 37897 (d:7897)
NoResistanceText: ; 37897 (d:7897)
text "No Resistance."
done
Text00ca: ; 378a7 (d:78a7)
OnlyOncePerTurnText: ; 378a7 (d:78a7)
text "Only once per turn."
done
@@ -954,38 +954,38 @@ CannotUseDueToStatusText: ; 378bc (d:78bc)
line "or Confusion."
done
Text00cc: ; 378ef (d:78ef)
CannotBeUsedInTurnWhichWasPlayedText: ; 378ef (d:78ef)
text "Cannot be used in the turn in"
line "which it was played."
done
Text00cd: ; 37923 (d:7923)
ThereIsNoEnergyCardAttachedText: ; 37923 (d:7923)
text "There is no Energy card attached."
done
Text00ce: ; 37946 (d:7946)
NoGrassEnergyText: ; 37946 (d:7946)
text "No Grass Energy."
done
Text00cf: ; 37958 (d:7958)
CannotUseSinceTheresOnly1PkmnText: ; 37958 (d:7958)
text "Cannot use since there's only"
line "1 Pokémon."
done
Text00d0: ; 37982 (d:7982)
CannotUseBecauseItWillBeKnockedOutText: ; 37982 (d:7982)
text "Cannot use because"
line "it will be Knocked Out."
done
Text00d1: ; 379ae (d:79ae)
CanOnlyBeUsedOnTheBenchText: ; 379ae (d:79ae)
text "Can only be used on the Bench."
done
Text00d2: ; 379ce (d:79ce)
ThereAreNoPokemonOnBenchText: ; 379ce (d:79ce)
text "There are no Pokémon on the Bench."
done
Text00d3: ; 379f2 (d:79f2)
OpponentIsNotAsleepText: ; 379f2 (d:79f2)
text "Opponent is not Asleep"
done
@@ -1073,22 +1073,22 @@ VenomPowderCheckText: ; 37cdf (d:7cdf)
line "opponent is Poisoned & Confused."
done
Text00e5: ; 37d1f (d:7d1f)
IfTailsYourPokemonBecomesConfusedText: ; 37d1f (d:7d1f)
text "If Tails, your Pokémon"
line "becomes Confused."
done
Text00e6: ; 37d4a (d:7d4a)
DamageCheckIfTailsNoDamageText: ; 37d4a (d:7d4a)
text "Damage check!"
line "If Tails, no damage!!!"
done
Text00e7: ; 37d70 (d:7d70)
IfHeadsDraw1CardFromDeckText: ; 37d70 (d:7d70)
text "If Heads,"
line "Draw 1 card from Deck!"
done
Text00e8: ; 37d92 (d:7d92)
FlipUntilFailAppears10DamageForEachHeadsText: ; 37d92 (d:7d92)
text "Flip until Tails appears."
line "10 damage for each Heads!!!"
done
@@ -1098,7 +1098,7 @@ IfHeadPlus10IfTails10ToYourselfText: ; 37dc9 (d:7dc9)
line "If Tails, +10 damage to yourself!"
done
Text00ea: ; 37e03 (d:7e03)
DamageToOppBenchIfHeadsDamageToYoursIfTailsText: ; 37e03 (d:7e03)
text "10 damage to opponent's Bench if"
line "Heads, damage to yours if Tails."
done
@@ -1108,17 +1108,17 @@ IfHeadsChangeOpponentsActivePokemonText: ; 37e46 (d:7e46)
line "Active Pokémon."
done
Text00ec: ; 37e73 (d:7e73)
IfHeadsHealIsSuccessfulText: ; 37e73 (d:7e73)
text "If Heads,"
line "Heal is successful."
done
Text00ed: ; 37e92 (d:7e92)
IfTailsDamageToYourselfTooText: ; 37e92 (d:7e92)
text "If Tails, <RAMNUM> damage"
line "to yourself, too."
done
Text00ee: ; 37eb8 (d:7eb8)
SuccessCheckIfHeadsAttackIsSuccessfulText: ; 37eb8 (d:7eb8)
text "Success check!!!"
line "If Heads, Attack is successful!"
done
@@ -1128,7 +1128,7 @@ TrainerCardSuccessCheckText: ; 37eea (d:7eea)
line "If Heads, you're successful!"
done
Text00f0: ; 37f24 (d:7f24)
CardCheckIfHeads8CardsIfTails1CardText: ; 37f24 (d:7f24)
text "Card check!"
line "If Heads, 8 cards! If Tails, 1 card!"
done
+1 -1
View File
@@ -85,7 +85,7 @@ NidoranFName: ; 582e5 (16:42e5)
text "Nidoran♀"
done
FurySweepesName: ; 582ef (16:42ef)
FurySwipesName: ; 582ef (16:42ef)
text "Fury Swipes"
done
+100 -100
View File
@@ -27,12 +27,12 @@ PoisonedIfHeadsConfusedIfTailsText: ; 380ed (e:40ed)
line "and Confused if Tails."
done
Text00fb: ; 38124 (e:4124)
IfHeadsDoNotReceiveDamageOrEffectText: ; 38124 (e:4124)
text "If Heads, do not receive damage"
line "or effect of opponent's next Attack!"
done
Text00fc: ; 3816a (e:416a)
IfHeadsOpponentCannotAttackText: ; 3816a (e:416a)
text "If Heads, opponent cannot Attack"
line "next turn!"
done
@@ -116,7 +116,7 @@ NoDamageOrEffectDueToTransparencyText: ; 384d8 (e:44d8)
line "due to the effects of Transparency"
done
Text010d: ; 3851f (e:451f)
MetamorphsToText: ; 3851f (e:451f)
text "<RAMTEXT>"
line "metamorphs to <RAMTEXT>."
done
@@ -136,40 +136,40 @@ DuelistIsSelectingPokemonToPlaceInArenaText: ; 3859e (e:459e)
line "to place in the Arena."
done
Text0111: ; 385cf (e:45cf)
ChooseWeaknessYouWishToChangeText: ; 385cf (e:45cf)
text "Choose the Weakness you wish"
line "to change with Conversion 1."
done
Text0112: ; 3860a (e:460a)
ChooseResistanceYouWishToChangeText: ; 3860a (e:460a)
text "Choose the Resistance you wish"
line "to change with Conversion 2."
done
Text0113: ; 38647 (e:4647)
ChoosePokemonWishToColorChangeText: ; 38647 (e:4647)
text "Choose the Pokémon whose color you"
line "wish to change with Color change."
done
Text0114: ; 3868d (e:468d)
ChangedTheWeaknessOfPokemonToColorText: ; 3868d (e:468d)
text "Changed the Weakness of"
line ""
text "<RAMTEXT> to <RAMTEXT>."
done
Text0115: ; 386af (e:46af)
ChangedTheResistanceOfPokemonToColorText: ; 386af (e:46af)
text "Changed the Resistance of"
line ""
text "<RAMTEXT> to <RAMTEXT>."
done
Text0116: ; 386d3 (e:46d3)
ChangedTheColorOfText: ; 386d3 (e:46d3)
text "Changed the color of"
line ""
text "<RAMTEXT> to <RAMTEXT>."
done
Text0117: ; 386f2 (e:46f2)
Draw1CardFromTheDeckText: ; 386f2 (e:46f2)
text "Draw 1 card from the Deck."
done
@@ -182,22 +182,22 @@ CannotDrawCardBecauseNoCardsInDeckText: ; 3872d (e:472d)
line "there are no cards in the Deck."
done
Text011a: ; 38769 (e:4769)
ChoosePkmnInTheBenchToGiveDamageText: ; 38769 (e:4769)
text "Choose a Pokémon on the Bench"
line "to give damage to."
done
Text011b: ; 3879b (e:479b)
ChooseUpTo3PkmnOnBenchToGiveDamageText: ; 3879b (e:479b)
text "Choose up to 3 Pokémon on the"
line "Bench to give damage to."
done
Text011c: ; 387d3 (e:47d3)
Choose1BasicEnergyCardFromDeckText: ; 387d3 (e:47d3)
text "Choose 1 Basic Energy card"
line "from the Deck."
done
Text011d: ; 387fe (e:47fe)
ChoosePokemonToAttachEnergyCardText: ; 387fe (e:47fe)
text "Choose a Pokémon to attach"
line "the Energy card to."
done
@@ -207,75 +207,75 @@ Text011e: ; 3882e (e:482e)
line "1 Fire Energy card."
done
Text011f: ; 38856 (e:4856)
ChooseAndDiscard2FireEnergyCardsText: ; 38856 (e:4856)
text "Choose and Discard"
line "2 Fire Energy cards."
done
Text0120: ; 3887f (e:487f)
DiscardOppDeckAsManyFireEnergyCardsText: ; 3887f (e:487f)
text "Discard from opponent's Deck as many"
line "Fire Energy cards as were discarded."
done
Text0121: ; 388ca (e:48ca)
ChooseAndDiscard2EnergyCardsText: ; 388ca (e:48ca)
text "Choose and Discard"
line "2 Energy cards."
done
Text0122: ; 388ee (e:48ee)
ChooseAKrabbyFromDeckText: ; 388ee (e:48ee)
text "Choose a Krabby"
line "from the Deck."
done
Text0123: ; 3890e (e:490e)
ChooseDiscardEnergyCardFromOpponentText: ; 3890e (e:490e)
text "Choose and Discard an Energy card"
line "from the opponent's Active Pokémon."
done
Text0124: ; 38955 (e:4955)
ChooseAttackOpponentWillNotBeAbleToUseText: ; 38955 (e:4955)
text "Choose the Attack the opponent will"
line "not be able to use on the next turn."
done
Text0125: ; 3899f (e:499f)
ChooseBasicFightingPokemonFromDeckText: ; 3899f (e:499f)
text "Choose a Basic Fighting Pokémon"
line "from the Deck."
done
Text0126: ; 389cf (e:49cf)
ChooseAnOddishFromDeckText: ; 389cf (e:49cf)
text "Choose an Oddish"
line "from the Deck."
done
Text0127: ; 389f0 (e:49f0)
ChooseAnOddishText: ; 389f0 (e:49f0)
text "Choose an Oddish"
done
Text0128: ; 38a02 (e:4a02)
ChooseAKrabbyText: ; 38a02 (e:4a02)
text "Choose a Krabby."
done
Text0129: ; 38a14 (e:4a14)
ChooseBasicEnergyCardText: ; 38a14 (e:4a14)
text "Choose a Basic"
line "Energy card."
done
Text012a: ; 38a31 (e:4a31)
ChooseNidoranFromDeckText: ; 38a31 (e:4a31)
text "Choose a Nidoran♀ or a"
line "Nidoran♂ from the Deck."
done
Text012b: ; 38a61 (e:4a61)
ChooseNidoranText: ; 38a61 (e:4a61)
text "Choose a Nidoran♀"
line "or a Nidoran♂."
done
Text012c: ; 38a83 (e:4a83)
ChooseBasicFightingPokemonText: ; 38a83 (e:4a83)
text "Choose a Basic"
line "Fighting Pokémon"
done
Text012d: ; 38aa4 (e:4aa4)
ProcedureForEnergyTransferText: ; 38aa4 (e:4aa4)
text "Procedure for Energy Transfer:"
line ""
line "1. Choose the Pokémon to move Grass"
@@ -289,21 +289,21 @@ Text012d: ; 38aa4 (e:4aa4)
line "4. Press the B Button to end."
done
Text012e: ; 38b8f (e:4b8f)
ChooseABellsproutFromDeckText: ; 38b8f (e:4b8f)
text "Choose a Bellsprout"
line "from the Deck."
done
Text012f: ; 38bb3 (e:4bb3)
ChooseABellsproutText: ; 38bb3 (e:4bb3)
text "Choose a Bellsprout."
done
Text0130: ; 38bc9 (e:4bc9)
ChoosePkmnToRemoveDamageCounterText: ; 38bc9 (e:4bc9)
text "Choose a Pokémon to remove"
line "the Damage counter from."
done
Text0131: ; 38bfe (e:4bfe)
ProcedureForCurseText: ; 38bfe (e:4bfe)
text "Procedure for Curse:"
line ""
line "1. Choose a Pokémon to move the"
@@ -317,22 +317,22 @@ Text0131: ; 38bfe (e:4bfe)
line "3. Press the B Button to cancel."
done
Text0132: ; 38cda (e:4cda)
Choose2EnergyCardsFromDiscardPileToAttachText: ; 38cda (e:4cda)
text "Choose 2 Energy cards from the"
line "Discard Pileto attach to a Pokémon."
done
Text0133: ; 38d1e (e:4d1e)
Choose2EnergyCardsFromDiscardPileForHandText: ; 38d1e (e:4d1e)
text "Choose 2 Energy cards from the"
line "Discard Pile for your Hand."
done
Text0134: ; 38d5a (e:4d5a)
ChooseAnEnergyCardText: ; 38d5a (e:4d5a)
text "Choose an Energy"
line "card."
done
Text0135: ; 38d72 (e:4d72)
ProcedureForProphecyText: ; 38d72 (e:4d72)
text "Procedure for Prophecy:"
line ""
line "1. Choose either your Deck"
@@ -348,12 +348,12 @@ Text0135: ; 38d72 (e:4d72)
line "4. Press the B Button to cancel."
done
Text0136: ; 38e70 (e:4e70)
ChooseTheOrderOfTheCardsText: ; 38e70 (e:4e70)
text "Choose the order"
line "of the cards."
done
Text0137: ; 38e90 (e:4e90)
ProcedureForDamageSwapText: ; 38e90 (e:4e90)
text "Procedure for Damage Swap:"
line ""
line "1. Choose a Pokémon to move a"
@@ -372,7 +372,7 @@ Text0137: ; 38e90 (e:4e90)
line " it will Knock Out the Pokémon."
done
Text0138: ; 38fcc (e:4fcc)
ProcedureForDevolutionBeamText: ; 38fcc (e:4fcc)
text "Procedure for Devolution Beam."
line ""
line "1. Choose either a Pokémon in your"
@@ -385,7 +385,7 @@ Text0138: ; 38fcc (e:4fcc)
line "3. Press the B Button to cancel."
done
Text0139: ; 390b4 (e:50b4)
ProcedureForStrangeBehaviorText: ; 390b4 (e:50b4)
text "Procedure for Strange Behavior:"
line ""
line "1. Choose the Pokémon with the"
@@ -401,74 +401,74 @@ Text0139: ; 390b4 (e:50b4)
line " Slowbro will be Knocked Out."
done
Text013a: ; 391dc (e:51dc)
ChooseOppAttackToBeUsedWithMetronomeText: ; 391dc (e:51dc)
text "Choose the opponent's Attack"
line "to be used with Metronome."
done
Text013b: ; 39215 (e:5215)
ThereIsNoInTheDeckText: ; 39215 (e:5215)
text "There is no <RAMTEXT>"
line "in the Deck."
done
Text013c: ; 39231 (e:5231)
WouldYouLikeToCheckTheDeckText: ; 39231 (e:5231)
text "Would you like to check the Deck?"
done
Text013d: ; 39254 (e:5254)
PleaseSelectTheDeckText: ; 39254 (e:5254)
text "Please select the Deck:"
line " Yours Opponent's"
done
Text013e: ; 3928c (e:528c)
PleaseSelectThePlayAreaText: ; 3928c (e:528c)
text "Please select the Play Area:"
line " Yours Opponent's"
done
Text013f: ; 392c9 (e:52c9)
NidoranMNidoranFText: ; 392c9 (e:52c9)
text "Nidoran♂ Nidoran♀"
done
Text0140: ; 392dc (e:52dc)
OddishText: ; 392dc (e:52dc)
text "Oddish"
done
Text0141: ; 392e4 (e:52e4)
BellsproutText: ; 392e4 (e:52e4)
text "Bellsprout"
done
Text0142: ; 392f0 (e:52f0)
KrabbyText: ; 392f0 (e:52f0)
text "Krabby"
done
Text0143: ; 392f8 (e:52f8)
FightingPokemonDeckText: ; 392f8 (e:52f8)
text "Fighting Pokémon"
done
Text0144: ; 3930a (e:530a)
BasicEnergyText: ; 3930a (e:530a)
text "Basic Energy"
done
Text0145: ; 39318 (e:5318)
PeekWasUsedToLookInYourHandText: ; 39318 (e:5318)
text "Peek was used to look at the"
line "<RAMTEXT> in your Hand."
done
Text0146: ; 39346 (e:5346)
CardPeekWasUsedOnText: ; 39346 (e:5346)
text "Card Peek was used on"
done
Text0147: ; 3935d (e:535d)
PokemonAndAllAttachedCardsReturnedToHandText: ; 3935d (e:535d)
text "<RAMTEXT> and all attached"
line "cards were returned to the Hand."
done
Text0148: ; 39392 (e:5392)
WasChosenForTheEffectOfAmnesiaText: ; 39392 (e:5392)
text "<RAMTEXT> was chosen"
line "for the effect of Amnesia."
done
Text0149: ; 393bb (e:53bb)
BasicPokemonWasPlacedOnEachBenchText: ; 393bb (e:53bb)
text "A Basic Pokémon was placed"
line "on each Bench."
done
@@ -483,17 +483,17 @@ ThereWasNoEffectFromTxRam2Text: ; 393ff (e:53ff)
line "from <RAMTEXT>."
done
Text014c: ; 3941c (e:541c)
TheEnergyCardFromPlayAreaWasMovedText: ; 3941c (e:541c)
text "The Energy card from <RAMNAME>'s"
line "Play Area was moved."
done
Text014d: ; 3944b (e:544b)
DrewFireEnergyFromTheHandText: ; 3944b (e:544b)
text "<RAMNAME> drew"
line "<RAMNUM> Fire Energy from the Hand."
done
Text014e: ; 39470 (e:5470)
ThePkmnCardsInHandAndDeckWereShuffledText: ; 39470 (e:5470)
text "The Pokémon cards in <RAMNAME>'s"
line "Hand and Deck were shuffled"
done
@@ -503,22 +503,22 @@ Text014f: ; 394a6 (e:54a6)
line "A Button is pressed. B Button quits."
done
Text0150: ; 394f0 (e:54f0)
ChoosePokemonToRemoveDamageCounterFromText: ; 394f0 (e:54f0)
text "Choose a Pokémon to remove"
line "the Damage counter from."
done
Text0151: ; 39525 (e:5525)
ChooseCardToDiscardFromHandText: ; 39525 (e:5525)
text "Choose the card to Discard"
line "from the Hand."
done
Text0152: ; 39550 (e:5550)
ChoosePokemonToRemoveEnergyFromText: ; 39550 (e:5550)
text "Choose a Pokémon to remove"
line "Energy from and choose the Energy."
done
Text0153: ; 3958f (e:558f)
Choose2BasicEnergyCardsFromDiscardPileText: ; 3958f (e:558f)
text "Choose 2 Basic Energy cards"
line "from the Discard Pile."
done
@@ -528,22 +528,22 @@ Text0154: ; 395c3 (e:55c3)
line "Button to remove Damage counters."
done
Text0155: ; 39607 (e:5607)
Choose2CardsFromHandToDiscardText: ; 39607 (e:5607)
text "Choose 2 cards from the Hand"
line "to Discard."
done
Text0156: ; 39631 (e:5631)
Choose2HandCardsFromHandToReturnToDeckText: ; 39631 (e:5631)
text "Choose 2 cards from the Hand"
line "to return to the Deck."
done
Text0157: ; 39666 (e:5666)
ChooseCardToPlaceInHandText: ; 39666 (e:5666)
text "Choose a card to"
line "place in the Hand."
done
Text0158: ; 3968b (e:568b)
ChoosePokemonToAttachDefenderToText: ; 3968b (e:568b)
text "Choose a Pokémon to"
line "attach Defender to."
done
@@ -553,75 +553,75 @@ Text0159: ; 396b4 (e:56b4)
line "A to Draw, B to End."
done
Text015a: ; 396e6 (e:56e6)
ChoosePokemonToReturnToTheDeckText: ; 396e6 (e:56e6)
text "Choose a Pokémon to"
line "return to the Deck."
done
Text015b: ; 3970f (e:570f)
ChoosePokemonToPlaceInPlayText: ; 3970f (e:570f)
text "Choose a Pokémon to"
line "place in play."
done
Text015c: ; 39733 (e:5733)
ChooseBasicPokemonToEvolveText: ; 39733 (e:5733)
text "Choose a Basic Pokémon"
line "to Evolve."
done
Text015d: ; 39756 (e:5756)
ChoosePokemonToScoopUpText: ; 39756 (e:5756)
text "Choose a Pokémon to"
line "Scoop Up."
done
Text015e: ; 39775 (e:5775)
ChooseCardFromYourHandToSwitchText: ; 39775 (e:5775)
text "Choose a card from your"
line "Hand to Switch."
done
Text015f: ; 3979e (e:579e)
ChooseCardToSwitchText: ; 3979e (e:579e)
text "Choose a card to"
line "Switch."
done
Text0160: ; 397b8 (e:57b8)
ChooseBasicOrEvolutionPokemonCardFromDeckText: ; 397b8 (e:57b8)
text "Choose a Basic or Evolution"
line "Pokémon card from the Deck."
done
Text0161: ; 397f1 (e:57f1)
ChoosePokemonCardText: ; 397f1 (e:57f1)
text "Choose"
line "a Pokémon card."
done
Text0162: ; 39809 (e:5809)
RearrangeThe5CardsAtTopOfDeckText: ; 39809 (e:5809)
text "Rearrange the 5 cards at"
line "the top of the Deck."
done
Text0163: ; 39838 (e:5838)
PleaseCheckTheOpponentsHandText: ; 39838 (e:5838)
text "Please check the opponent's"
line "Hand."
done
Text0164: ; 3985b (e:585b)
EvolutionCardText: ; 3985b (e:585b)
text "Evolution card"
done
Text0165: ; 3986b (e:586b)
CardWasChosenText: ; 3986b (e:586b)
text "<RAMTEXT> was chosen."
done
Text0166: ; 3987a (e:587a)
ChooseBasicPokemonToPlaceOnBenchText: ; 3987a (e:587a)
text "Choose a Basic Pokémon"
line "to place on the Bench."
done
Text0167: ; 398a9 (e:58a9)
ChooseEvolutionCardAndPressAButtonToDevolveText: ; 398a9 (e:58a9)
text "Choose an Evolution card and"
line "press the A Button to Devolve 1."
done
Text0168: ; 398e8 (e:58e8)
ChoosePokemonInYourAreaThenPokemonInYourOppText: ; 398e8 (e:58e8)
text "Choose a Pokémon in your Area, then"
line "a Pokémon in your opponent's."
done
@@ -636,27 +636,27 @@ Text016a: ; 39952 (e:5952)
line "with the Active Pokémon."
done
Text016b: ; 39987 (e:5987)
PokemonAndAllAttachedCardsWereReturnedToDeckText: ; 39987 (e:5987)
text "<RAMTEXT> and all attached"
line "cards were returned to the Deck."
done
Text016c: ; 399bc (e:59bc)
PokemonWasReturnedFromArenaToHandText: ; 399bc (e:59bc)
text "<RAMTEXT> was returned"
line "from the Arena to the Hand."
done
Text016d: ; 399e8 (e:59e8)
PokemonWasReturnedFromBenchToHandText: ; 399e8 (e:59e8)
text "<RAMTEXT> was returned"
line "from the Bench to the Hand."
done
Text016e: ; 39a14 (e:5a14)
PokemonWasReturnedToDeckText: ; 39a14 (e:5a14)
text "<RAMTEXT> was returned"
line "to the Deck."
done
Text016f: ; 39a31 (e:5a31)
WasPlacedInTheHandText: ; 39a31 (e:5a31)
text "<RAMTEXT> was placed"
line "in the Hand."
done
@@ -669,17 +669,17 @@ YouReceivedTheseCardsText: ; 39a63 (e:5a63)
text "You received these cards:"
done
Text0172: ; 39a7e (e:5a7e)
ChooseTheCardToPutBackText: ; 39a7e (e:5a7e)
text "Choose the card"
line "to put back."
done
Text0173: ; 39a9c (e:5a9c)
ChooseTheCardToDiscardText: ; 39a9c (e:5a9c)
text "Choose the card"
line "to Discard."
done
Text0174: ; 39ab9 (e:5ab9)
DiscardedCardsFromDeckText: ; 39ab9 (e:5ab9)
text "Discarded <RAMNUM> cards"
line "from <RAMNAME>'s Deck."
done
@@ -689,39 +689,39 @@ Text0175: ; 39adb (e:5adb)
line "from the Hand."
done
Text0176: ; 39af7 (e:5af7)
NoneCameText: ; 39af7 (e:5af7)
text "None came!"
done
Text0177: ; 39b03 (e:5b03)
CameToTheBenchText: ; 39b03 (e:5b03)
text "<RAMTEXT>"
line "came to the Bench!"
done
Text0178: ; 39b19 (e:5b19)
DuelistHasNoCardsInHandText: ; 39b19 (e:5b19)
text "<RAMNAME> has"
line "no cards in Hand!"
done
Text0179: ; 39b32 (e:5b32)
PokemonHealedDamageText: ; 39b32 (e:5b32)
text "<RAMTEXT> healed"
line "<RAMNUM> damage!"
done
Text017a: ; 39b46 (e:5b46)
PokemonDevolvedToText: ; 39b46 (e:5b46)
text "<RAMTEXT> devolved"
line "to <RAMTEXT>!"
done
Text017b: ; 39b58 (e:5b58)
ThereWasNoFireEnergyText: ; 39b58 (e:5b58)
text "There was no Fire Energy."
done
Text017c: ; 39b73 (e:5b73)
YouCanSelectMoreCardsQuitText: ; 39b73 (e:5b73)
text "You can select <RAMNUM> more cards. Quit?"
done
Text017d: ; 39b97 (e:5b97)
ThereWasNoEffectText: ; 39b97 (e:5b97)
text "There was no effect!"
done
@@ -755,7 +755,7 @@ ThereWasNoEffectFromPoisonConfusionText: ; 39c5a (e:5c5a)
line "from Poison, Confusion."
done
Text0184: ; 39c86 (e:5c86)
ExchangedCardsInDuelistsHandText: ; 39c86 (e:5c86)
text "Exchanged the cards"
line "in <RAMNAME>'s Hand."
done
+150 -150
View File
@@ -70,15 +70,15 @@ TextOffsets:: ; 34000 (d:4000)
textpointer WillDrawNPrizesText ; 0x0042
textpointer DrewNPrizesText ; 0x0043
textpointer DuelistPlacedACardText ; 0x0044
textpointer Text0045 ; 0x0045
textpointer Text0046 ; 0x0046
textpointer Text0047 ; 0x0047
textpointer Text0048 ; 0x0048
textpointer Text0049 ; 0x0049
textpointer Text004a ; 0x004a
textpointer Text004b ; 0x004b
textpointer Text004c ; 0x004c
textpointer Text004d ; 0x004d
textpointer UnableToSelectText ; 0x0045
textpointer ColorListText ; 0x0046
textpointer GrassSymbolText ; 0x0047
textpointer FireSymbolText ; 0x0048
textpointer WaterSymbolText ; 0x0049
textpointer LightningSymbolText ; 0x004a
textpointer FightingSymbolText ; 0x004b
textpointer PsychicSymbolText ; 0x004c
textpointer BenchText ; 0x004d
textpointer KnockOutText ; 0x004e
textpointer DamageToSelfDueToConfusionText ; 0x004f
textpointer ChooseEnergyCardToDiscardText ; 0x0050
@@ -176,43 +176,43 @@ TextOffsets:: ; 34000 (d:4000)
textpointer NoPokemonWithDamageCountersText ; 0x00ac
textpointer NoDamageCountersText ; 0x00ad
textpointer NoEnergyAttachedToOpponentsActiveText ; 0x00ae
textpointer Text00af ; 0x00af
textpointer Text00b0 ; 0x00b0
textpointer Text00b1 ; 0x00b1
textpointer ThereAreNoEnergyCardsInDiscardPileText ; 0x00af
textpointer ThereAreNoBasicEnergyCardsInDiscardPileText ; 0x00b0
textpointer NoCardsLeftInTheDeckText ; 0x00b1
textpointer NoSpaceOnTheBenchText ; 0x00b2
textpointer NoPokemonCapableOfEvolvingText ; 0x00b3
textpointer CantEvolvePokemonInSameTurnItsPlacedText ; 0x00b4
textpointer Text00b5 ; 0x00b5
textpointer Text00b6 ; 0x00b6
textpointer Text00b7 ; 0x00b7
textpointer Text00b8 ; 0x00b8
textpointer Text00b9 ; 0x00b9
textpointer Text00ba ; 0x00ba
textpointer Text00bb ; 0x00bb
textpointer Text00bc ; 0x00bc
textpointer Text00bd ; 0x00bd
textpointer Text00be ; 0x00be
textpointer NotAffectedByPoisonSleepParalysisOrConfusionText ; 0x00b5
textpointer NotEnoughCardsInHandText ; 0x00b6
textpointer EffectNoPokemonOnTheBenchText ; 0x00b7
textpointer ThereAreNoPokemonInDiscardPileText ; 0x00b8
textpointer ConditionsForEvolvingToStage2NotFulfilledText ; 0x00b9
textpointer ThereAreNoCardsInHandThatYouCanChangeText ; 0x00ba
textpointer ThereAreNoCardsInTheDiscardPileText ; 0x00bb
textpointer ThereAreNoStage1PokemonText ; 0x00bc
textpointer NoEnergyCardsAttachedToPokemonInYourPlayAreaText ; 0x00bd
textpointer NoEnergyCardsAttachedToPokemonInOppPlayAreaText ; 0x00be
textpointer EnergyCardsRequiredToRetreatText ; 0x00bf
textpointer NotEnoughEnergyCardsText ; 0x00c0
textpointer Text00c1 ; 0x00c1
textpointer Text00c2 ; 0x00c2
textpointer Text00c3 ; 0x00c3
textpointer Text00c4 ; 0x00c4
textpointer Text00c5 ; 0x00c5
textpointer Text00c6 ; 0x00c6
textpointer Text00c7 ; 0x00c7
textpointer Text00c8 ; 0x00c8
textpointer Text00c9 ; 0x00c9
textpointer Text00ca ; 0x00ca
textpointer NotEnoughFireEnergyText ; 0x00c1
textpointer NotEnoughPsychicEnergyText ; 0x00c2
textpointer NotEnoughWaterEnergyText ; 0x00c3
textpointer ThereAreNoTrainerCardsInDiscardPileText ; 0x00c4
textpointer NoAttackMayBeChoosenText ; 0x00c5
textpointer YouDidNotReceiveAnAttackToMirrorMoveText ; 0x00c6
textpointer ThisAttackCannotBeUsedTwiceText ; 0x00c7
textpointer NoWeaknessText ; 0x00c8
textpointer NoResistanceText ; 0x00c9
textpointer OnlyOncePerTurnText ; 0x00ca
textpointer CannotUseDueToStatusText ; 0x00cb
textpointer Text00cc ; 0x00cc
textpointer Text00cd ; 0x00cd
textpointer Text00ce ; 0x00ce
textpointer Text00cf ; 0x00cf
textpointer Text00d0 ; 0x00d0
textpointer Text00d1 ; 0x00d1
textpointer Text00d2 ; 0x00d2
textpointer Text00d3 ; 0x00d3
textpointer CannotBeUsedInTurnWhichWasPlayedText ; 0x00cc
textpointer ThereIsNoEnergyCardAttachedText ; 0x00cd
textpointer NoGrassEnergyText ; 0x00ce
textpointer CannotUseSinceTheresOnly1PkmnText ; 0x00cf
textpointer CannotUseBecauseItWillBeKnockedOutText ; 0x00d0
textpointer CanOnlyBeUsedOnTheBenchText ; 0x00d1
textpointer ThereAreNoPokemonOnBenchText ; 0x00d2
textpointer OpponentIsNotAsleepText ; 0x00d3
textpointer UnableDueToToxicGasText ; 0x00d4
textpointer Text00d5 ; 0x00d5
textpointer BackUpIsBrokenText ; 0x00d6
@@ -230,18 +230,18 @@ TextOffsets:: ; 34000 (d:4000)
textpointer PoisonCheckText ; 0x00e2
textpointer ConfusionCheckText ; 0x00e3
textpointer VenomPowderCheckText ; 0x00e4
textpointer Text00e5 ; 0x00e5
textpointer Text00e6 ; 0x00e6
textpointer Text00e7 ; 0x00e7
textpointer Text00e8 ; 0x00e8
textpointer IfTailsYourPokemonBecomesConfusedText ; 0x00e5
textpointer DamageCheckIfTailsNoDamageText ; 0x00e6
textpointer IfHeadsDraw1CardFromDeckText ; 0x00e7
textpointer FlipUntilFailAppears10DamageForEachHeadsText ; 0x00e8
textpointer IfHeadPlus10IfTails10ToYourselfText ; 0x00e9
textpointer Text00ea ; 0x00ea
textpointer DamageToOppBenchIfHeadsDamageToYoursIfTailsText ; 0x00ea
textpointer IfHeadsChangeOpponentsActivePokemonText ; 0x00eb
textpointer Text00ec ; 0x00ec
textpointer Text00ed ; 0x00ed
textpointer Text00ee ; 0x00ee
textpointer IfHeadsHealIsSuccessfulText ; 0x00ec
textpointer IfTailsDamageToYourselfTooText ; 0x00ed
textpointer SuccessCheckIfHeadsAttackIsSuccessfulText ; 0x00ee
textpointer TrainerCardSuccessCheckText ; 0x00ef
textpointer Text00f0 ; 0x00f0
textpointer CardCheckIfHeads8CardsIfTails1CardText ; 0x00f0
textpointer IfHeadsNoDamageNextTurnText ; 0x00f1
textpointer Text00f2 ; 0x00f2
textpointer DamageCheckIfHeadsPlusDamageText ; 0x00f3
@@ -252,8 +252,8 @@ TextOffsets:: ; 34000 (d:4000)
textpointer ConfusionCheckRetreatText ; 0x00f8
textpointer PokemonsSleepCheckText ; 0x00f9
textpointer PoisonedIfHeadsConfusedIfTailsText ; 0x00fa
textpointer Text00fb ; 0x00fb
textpointer Text00fc ; 0x00fc
textpointer IfHeadsDoNotReceiveDamageOrEffectText ; 0x00fb
textpointer IfHeadsOpponentCannotAttackText ; 0x00fc
textpointer AttackUnsuccessfulText ; 0x00fd
textpointer UnableToRetreatDueToAcidText ; 0x00fe
textpointer UnableToUseTrainerDueToHeadacheText ; 0x00ff
@@ -270,126 +270,126 @@ TextOffsets:: ; 34000 (d:4000)
textpointer UnableToUseAttackDueToNShieldText ; 0x010a
textpointer NoDamageOrEffectDueToNShieldText ; 0x010b
textpointer NoDamageOrEffectDueToTransparencyText ; 0x010c
textpointer Text010d ; 0x010d
textpointer MetamorphsToText ; 0x010d
textpointer SelectPkmnOnBenchToSwitchWithActiveText ; 0x010e
textpointer SelectPokemonToPlaceInTheArenaText ; 0x010f
textpointer DuelistIsSelectingPokemonToPlaceInArenaText ; 0x0110
textpointer Text0111 ; 0x0111
textpointer Text0112 ; 0x0112
textpointer Text0113 ; 0x0113
textpointer Text0114 ; 0x0114
textpointer Text0115 ; 0x0115
textpointer Text0116 ; 0x0116
textpointer Text0117 ; 0x0117
textpointer ChooseWeaknessYouWishToChangeText ; 0x0111
textpointer ChooseResistanceYouWishToChangeText ; 0x0112
textpointer ChoosePokemonWishToColorChangeText ; 0x0113
textpointer ChangedTheWeaknessOfPokemonToColorText ; 0x0114
textpointer ChangedTheResistanceOfPokemonToColorText ; 0x0115
textpointer ChangedTheColorOfText ; 0x0116
textpointer Draw1CardFromTheDeckText ; 0x0117
textpointer DrawCardsFromTheDeckText ; 0x0118
textpointer CannotDrawCardBecauseNoCardsInDeckText ; 0x0119
textpointer Text011a ; 0x011a
textpointer Text011b ; 0x011b
textpointer Text011c ; 0x011c
textpointer Text011d ; 0x011d
textpointer ChoosePkmnInTheBenchToGiveDamageText ; 0x011a
textpointer ChooseUpTo3PkmnOnBenchToGiveDamageText ; 0x011b
textpointer Choose1BasicEnergyCardFromDeckText ; 0x011c
textpointer ChoosePokemonToAttachEnergyCardText ; 0x011d
textpointer Text011e ; 0x011e
textpointer Text011f ; 0x011f
textpointer Text0120 ; 0x0120
textpointer Text0121 ; 0x0121
textpointer Text0122 ; 0x0122
textpointer Text0123 ; 0x0123
textpointer Text0124 ; 0x0124
textpointer Text0125 ; 0x0125
textpointer Text0126 ; 0x0126
textpointer Text0127 ; 0x0127
textpointer Text0128 ; 0x0128
textpointer Text0129 ; 0x0129
textpointer Text012a ; 0x012a
textpointer Text012b ; 0x012b
textpointer Text012c ; 0x012c
textpointer Text012d ; 0x012d
textpointer Text012e ; 0x012e
textpointer Text012f ; 0x012f
textpointer Text0130 ; 0x0130
textpointer Text0131 ; 0x0131
textpointer Text0132 ; 0x0132
textpointer Text0133 ; 0x0133
textpointer Text0134 ; 0x0134
textpointer Text0135 ; 0x0135
textpointer Text0136 ; 0x0136
textpointer Text0137 ; 0x0137
textpointer Text0138 ; 0x0138
textpointer Text0139 ; 0x0139
textpointer Text013a ; 0x013a
textpointer Text013b ; 0x013b
textpointer Text013c ; 0x013c
textpointer Text013d ; 0x013d
textpointer Text013e ; 0x013e
textpointer Text013f ; 0x013f
textpointer Text0140 ; 0x0140
textpointer Text0141 ; 0x0141
textpointer Text0142 ; 0x0142
textpointer Text0143 ; 0x0143
textpointer Text0144 ; 0x0144
textpointer Text0145 ; 0x0145
textpointer Text0146 ; 0x0146
textpointer Text0147 ; 0x0147
textpointer Text0148 ; 0x0148
textpointer Text0149 ; 0x0149
textpointer ChooseAndDiscard2FireEnergyCardsText ; 0x011f
textpointer DiscardOppDeckAsManyFireEnergyCardsText ; 0x0120
textpointer ChooseAndDiscard2EnergyCardsText ; 0x0121
textpointer ChooseAKrabbyFromDeckText ; 0x0122
textpointer ChooseDiscardEnergyCardFromOpponentText ; 0x0123
textpointer ChooseAttackOpponentWillNotBeAbleToUseText ; 0x0124
textpointer ChooseBasicFightingPokemonFromDeckText ; 0x0125
textpointer ChooseAnOddishFromDeckText ; 0x0126
textpointer ChooseAnOddishText ; 0x0127
textpointer ChooseAKrabbyText ; 0x0128
textpointer ChooseBasicEnergyCardText ; 0x0129
textpointer ChooseNidoranFromDeckText ; 0x012a
textpointer ChooseNidoranText ; 0x012b
textpointer ChooseBasicFightingPokemonText ; 0x012c
textpointer ProcedureForEnergyTransferText ; 0x012d
textpointer ChooseABellsproutFromDeckText ; 0x012e
textpointer ChooseABellsproutText ; 0x012f
textpointer ChoosePkmnToRemoveDamageCounterText ; 0x0130
textpointer ProcedureForCurseText ; 0x0131
textpointer Choose2EnergyCardsFromDiscardPileToAttachText ; 0x0132
textpointer Choose2EnergyCardsFromDiscardPileForHandText ; 0x0133
textpointer ChooseAnEnergyCardText ; 0x0134
textpointer ProcedureForProphecyText ; 0x0135
textpointer ChooseTheOrderOfTheCardsText ; 0x0136
textpointer ProcedureForDamageSwapText ; 0x0137
textpointer ProcedureForDevolutionBeamText ; 0x0138
textpointer ProcedureForStrangeBehaviorText ; 0x0139
textpointer ChooseOppAttackToBeUsedWithMetronomeText ; 0x013a
textpointer ThereIsNoInTheDeckText ; 0x013b
textpointer WouldYouLikeToCheckTheDeckText ; 0x013c
textpointer PleaseSelectTheDeckText ; 0x013d
textpointer PleaseSelectThePlayAreaText ; 0x013e
textpointer NidoranMNidoranFText ; 0x013f
textpointer OddishText ; 0x0140
textpointer BellsproutText ; 0x0141
textpointer KrabbyText ; 0x0142
textpointer FightingPokemonDeckText ; 0x0143
textpointer BasicEnergyText ; 0x0144
textpointer PeekWasUsedToLookInYourHandText ; 0x0145
textpointer CardPeekWasUsedOnText ; 0x0146
textpointer PokemonAndAllAttachedCardsReturnedToHandText ; 0x0147
textpointer WasChosenForTheEffectOfAmnesiaText ; 0x0148
textpointer BasicPokemonWasPlacedOnEachBenchText ; 0x0149
textpointer WasUnsuccessfulText ; 0x014a
textpointer ThereWasNoEffectFromTxRam2Text ; 0x014b
textpointer Text014c ; 0x014c
textpointer Text014d ; 0x014d
textpointer Text014e ; 0x014e
textpointer TheEnergyCardFromPlayAreaWasMovedText ; 0x014c
textpointer DrewFireEnergyFromTheHandText ; 0x014d
textpointer ThePkmnCardsInHandAndDeckWereShuffledText ; 0x014e
textpointer Text014f ; 0x014f
textpointer Text0150 ; 0x0150
textpointer Text0151 ; 0x0151
textpointer Text0152 ; 0x0152
textpointer Text0153 ; 0x0153
textpointer ChoosePokemonToRemoveDamageCounterFromText ; 0x0150
textpointer ChooseCardToDiscardFromHandText ; 0x0151
textpointer ChoosePokemonToRemoveEnergyFromText ; 0x0152
textpointer Choose2BasicEnergyCardsFromDiscardPileText ; 0x0153
textpointer Text0154 ; 0x0154
textpointer Text0155 ; 0x0155
textpointer Text0156 ; 0x0156
textpointer Text0157 ; 0x0157
textpointer Text0158 ; 0x0158
textpointer Choose2CardsFromHandToDiscardText ; 0x0155
textpointer Choose2HandCardsFromHandToReturnToDeckText ; 0x0156
textpointer ChooseCardToPlaceInHandText ; 0x0157
textpointer ChoosePokemonToAttachDefenderToText ; 0x0158
textpointer Text0159 ; 0x0159
textpointer Text015a ; 0x015a
textpointer Text015b ; 0x015b
textpointer Text015c ; 0x015c
textpointer Text015d ; 0x015d
textpointer Text015e ; 0x015e
textpointer Text015f ; 0x015f
textpointer Text0160 ; 0x0160
textpointer Text0161 ; 0x0161
textpointer Text0162 ; 0x0162
textpointer Text0163 ; 0x0163
textpointer Text0164 ; 0x0164
textpointer Text0165 ; 0x0165
textpointer Text0166 ; 0x0166
textpointer Text0167 ; 0x0167
textpointer Text0168 ; 0x0168
textpointer ChoosePokemonToReturnToTheDeckText ; 0x015a
textpointer ChoosePokemonToPlaceInPlayText ; 0x015b
textpointer ChooseBasicPokemonToEvolveText ; 0x015c
textpointer ChoosePokemonToScoopUpText ; 0x015d
textpointer ChooseCardFromYourHandToSwitchText ; 0x015e
textpointer ChooseCardToSwitchText ; 0x015f
textpointer ChooseBasicOrEvolutionPokemonCardFromDeckText ; 0x0160
textpointer ChoosePokemonCardText ; 0x0161
textpointer RearrangeThe5CardsAtTopOfDeckText ; 0x0162
textpointer PleaseCheckTheOpponentsHandText ; 0x0163
textpointer EvolutionCardText ; 0x0164
textpointer CardWasChosenText ; 0x0165
textpointer ChooseBasicPokemonToPlaceOnBenchText ; 0x0166
textpointer ChooseEvolutionCardAndPressAButtonToDevolveText ; 0x0167
textpointer ChoosePokemonInYourAreaThenPokemonInYourOppText ; 0x0168
textpointer Text0169 ; 0x0169
textpointer Text016a ; 0x016a
textpointer Text016b ; 0x016b
textpointer Text016c ; 0x016c
textpointer Text016d ; 0x016d
textpointer Text016e ; 0x016e
textpointer Text016f ; 0x016f
textpointer PokemonAndAllAttachedCardsWereReturnedToDeckText ; 0x016b
textpointer PokemonWasReturnedFromArenaToHandText ; 0x016c
textpointer PokemonWasReturnedFromBenchToHandText ; 0x016d
textpointer PokemonWasReturnedToDeckText ; 0x016e
textpointer WasPlacedInTheHandText ; 0x016f
textpointer TheCardYouReceivedText ; 0x0170
textpointer YouReceivedTheseCardsText ; 0x0171
textpointer Text0172 ; 0x0172
textpointer Text0173 ; 0x0173
textpointer Text0174 ; 0x0174
textpointer ChooseTheCardToPutBackText ; 0x0172
textpointer ChooseTheCardToDiscardText ; 0x0173
textpointer DiscardedCardsFromDeckText ; 0x0174
textpointer Text0175 ; 0x0175
textpointer Text0176 ; 0x0176
textpointer Text0177 ; 0x0177
textpointer Text0178 ; 0x0178
textpointer Text0179 ; 0x0179
textpointer Text017a ; 0x017a
textpointer Text017b ; 0x017b
textpointer Text017c ; 0x017c
textpointer Text017d ; 0x017d
textpointer NoneCameText ; 0x0176
textpointer CameToTheBenchText ; 0x0177
textpointer DuelistHasNoCardsInHandText ; 0x0178
textpointer PokemonHealedDamageText ; 0x0179
textpointer PokemonDevolvedToText ; 0x017a
textpointer ThereWasNoFireEnergyText ; 0x017b
textpointer YouCanSelectMoreCardsQuitText ; 0x017c
textpointer ThereWasNoEffectText ; 0x017d
textpointer ThereWasNoEffectFromToxicText ; 0x017e
textpointer ThereWasNoEffectFromPoisonText ; 0x017f
textpointer ThereWasNoEffectFromSleepText ; 0x0180
textpointer ThereWasNoEffectFromParalysisText ; 0x0181
textpointer ThereWasNoEffectFromConfusionText ; 0x0182
textpointer ThereWasNoEffectFromPoisonConfusionText ; 0x0183
textpointer Text0184 ; 0x0184
textpointer ExchangedCardsInDuelistsHandText ; 0x0184
textpointer Text0185 ; 0x0185
textpointer Text0186 ; 0x0186
textpointer Text0187 ; 0x0187
@@ -2124,7 +2124,7 @@ TextOffsets:: ; 34000 (d:4000)
textpointer CobraName ; 0x0848
textpointer ArbokDescription ; 0x0849
textpointer NidoranFName ; 0x084a
textpointer FurySweepesName ; 0x084b
textpointer FurySwipesName ; 0x084b
textpointer TripleAttackX10Description ; 0x084c
textpointer CallForFamilyName ; 0x084d
textpointer NidoranFsCallForFamilyDescription ; 0x084e
+75 -15
View File
@@ -73,7 +73,10 @@ wPlayerArenaCard:: ; c2bb
wPlayerBench:: ; c2bc
ds MAX_BENCH_POKEMON + 1
ds $6
wPlayerArenaCardFlags:: ; c2c2
ds $1
ds $5
wPlayerArenaCardHP:: ; c2c8
ds $1
@@ -102,7 +105,7 @@ wPlayerBench5CardStage:: ; c2d3
ds $1
; changed type from Venomoth's Shift Pokemon Power
; if bit 7 == 1, then bits 0-3 override the Pokemon's actual type
; if bit 7 == 1, then bits 0-3 override the Pokemon's actual color
wPlayerArenaCardChangedType:: ; c2d4
ds $1
wPlayerBench1CardChangedType:: ; c2d5
@@ -196,7 +199,21 @@ wPlayerArenaCardLastTurnDamage:: ; c2f3
wPlayerArenaCardLastTurnStatus:: ; c2f5
ds $1
ds $a
; substatus2 that the opponent card got last turn
wPlayerArenaCardLastTurnSubstatus2:: ; c2f6
ds $1
; indicates color of weakness that was changed
; for this card last turn
wPlayerArenaCardLastTurnChangeWeak:: ; c2f7
ds $1
; stores an effect that was used on the Arena card last turn.
; see LAST_TURN_EFFECT_* constants.
wPlayerArenaCardLastTurnEffect:: ; c2f8
ds $1
ds $7
wOpponentDuelVariables:: ; c300
@@ -221,7 +238,10 @@ wOpponentArenaCard:: ; c3bb
wOpponentBench:: ; c3bc
ds MAX_BENCH_POKEMON + 1
ds $6
wOpponentArenaCardFlags:: ; c3c2
ds $1
ds $5
wOpponentArenaCardHP:: ; c3c8
ds $1
@@ -336,7 +356,20 @@ wOpponentArenaCardLastTurnDamage:: ; c3f3
wOpponentArenaCardLastTurnStatus:: ; c3f5
ds $1
ds $a
; substatus2 that the player card got last turn
wOpponentArenaCardLastTurnSubstatus2:: ; c3f6
ds $1
; indicates color of weakness that was changed
; for this card last turn
wOpponentArenaCardLastTurnChangeWeak:: ; c3f7
ds $1
; whether any attached energy card was discarded last turn (0 if not)
wOpponentArenaCardLastTurnEffect:: ; c3f8
ds $1
ds $7
UNION
@@ -704,11 +737,10 @@ wNoItemSelectionMenuKeys:: ; cbd6
wCardPageExitKeys:: ; cbd7
ds $1
; used to store function pointer for printing card order
; in card list reordering screen.
wcbd8:: ; cbd8
ds $1
wcbd9:: ; cbd9
ds $1
ds $2
; in the hand or discard pile card screen, id of the text printed in the bottom-left box
wCardListInfoBoxText:: ; cbda
@@ -919,6 +951,7 @@ wLoadedMove:: ; cca6
; the damage field of an used move is loaded here
; doubles as "wAIAverageDamage" when complementing wAIMinDamage and wAIMaxDamage
; little-endian
; second byte may have UNAFFECTED_BY_WEAKNESS_RESISTANCE_F set/unset
wDamage:: ; ccb9
ds $2
@@ -931,6 +964,7 @@ wAIMinDamage:: ; ccbb
wAIMaxDamage:: ; ccbc
ds $1
wccbd:: ; ccbd
ds $2
; damage dealt by an attack to a target
@@ -987,6 +1021,7 @@ wEffectFunctionsFeedback:: ; ccce
ds $18
; this is 1 (non-0) if dealing damage to self due to confusion
; or a self-destruct type attack
wIsDamageToSelf:: ; cce6
ds $1
@@ -1020,7 +1055,11 @@ wccee:: ; ccee
wccef:: ; ccef
ds $1
wccf0:: ; ccf0
; stores the energy cost of the Metronome attack being used.
; it's used to know how many attached Energy cards are being used
; to pay for the attack for damage calculation.
; if equal to 0, then the attack wasn't invoked by Metronome.
wMetronomeEnergyCost:: ; ccf0
ds $1
; effect functions return a status condition constant here when it had no effect
@@ -1193,8 +1232,8 @@ wAIPokedexCounter:: ; cda6
ds $1
; variable to keep track of Mewtwo1's Barrier usage during Player' turn.
; AI_FLAG_MEWTWO_MILL set means Player is running Mewtwo1 mill deck.
; - when flag is not set, this counts how many turns in a row
; AI_MEWTWO_MILL set means Player is running Mewtwo1 mill deck.
; - when flag is not set, this counts how many turns in a row
; Player used Mewtwo1's Barrier attack;
; - when flag is set, this counts how many turns in a row
; Player has NOT used Barrier attack.
@@ -1670,7 +1709,20 @@ wce70:: ; ce70
wce71:: ; ce71
ds $1
ds $a
wce72:: ; ce72
ds $1
; card index and its attack index chosen
; to be used by Metronome.
wMetronomeSelectedAttack:: ; ce73
ds $2
; stores the amount of cards that are being ordered.
wNumberOfCardsToOrder:: ; ce75
ds $1
wce76:: ; ce76
ds MAX_PLAY_AREA_POKEMON
; used in CountPokemonIDInPlayArea
wTempPokemonID_ce7c:: ; ce7c
@@ -2324,8 +2376,16 @@ wd4b1:: ; d4b1
wd4b2:: ; d4b2
ds $1
ds $b
wd4b3:: ; d4b3
ds $1
ds $5
wd4b9:: ; d4b9
ds $1
ds $4
wd4be:: ; d4be
ds $1