diff options
| author | Rangi <35663410+Rangi42@users.noreply.github.com> | 2025-03-08 11:16:42 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-08 11:16:42 -0500 |
| commit | 147914d179f29f0d5c08bad027040731e323ed92 (patch) | |
| tree | 51c1546b6ad01c5b827c95c472a6a9de3656a81b /engine | |
| parent | Use "command -v" instead of "which" (diff) | |
| download | pokeyellow-147914d179f29f0d5c08bad027040731e323ed92.tar.gz pokeyellow-147914d179f29f0d5c08bad027040731e323ed92.tar.xz pokeyellow-147914d179f29f0d5c08bad027040731e323ed92.zip | |
Use constants for trade text indexes (#501)
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/events/in_game_trades.asm | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index 228c6bf8..f69b829f 100644 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -1,3 +1,12 @@ +; TradeTextPointers1-3 indexes + const_def + const TRADETEXT_WANNA_TRADE ; 0 + const TRADETEXT_NO_TRADE ; 1 + const TRADETEXT_WRONG_MON ; 2 + const TRADETEXT_THANKS ; 3 + const TRADETEXT_AFTER_TRADE ; 4 +DEF NUM_TRADE_TEXTS EQU const_value + DoInGameTradeDialogue: ; trigger the trade offer/action specified by wWhichTrade call SaveScreenTilesToBuffer2 @@ -42,14 +51,15 @@ DoInGameTradeDialogue: predef FlagActionPredef ld a, c and a - ld a, $4 + ld a, TRADETEXT_AFTER_TRADE ld [wInGameTradeTextPointerTableIndex], a jr nz, .printText ; if the trade hasn't been done yet + ASSERT TRADETEXT_WANNA_TRADE == 0 xor a ld [wInGameTradeTextPointerTableIndex], a call .printText - ld a, $1 + ld a, TRADETEXT_NO_TRADE ld [wInGameTradeTextPointerTableIndex], a call YesNoChoice ld a, [wCurrentMenuItem] @@ -95,13 +105,13 @@ InGameTrade_DoTrade: push af call InGameTrade_RestoreScreen pop af - ld a, $1 + ld a, TRADETEXT_NO_TRADE jp c, .tradeFailed ; jump if the player didn't select a pokemon ld a, [wInGameTradeGiveMonSpecies] ld b, a ld a, [wCurPartySpecies] cp b - ld a, $2 + ld a, TRADETEXT_WRONG_MON jr nz, .tradeFailed ; jump if the selected mon's species is not the required one ld a, [wWhichPokemon] ld hl, wPartyMon1Level @@ -142,7 +152,7 @@ InGameTrade_DoTrade: call InGameTrade_RestoreScreen farcall RedrawMapView and a - ld a, $3 + ld a, TRADETEXT_THANKS jr .tradeSucceeded .tradeFailed scf @@ -234,30 +244,38 @@ InGameTrade_TrainerString: InGameTradeTextPointers: ; entries correspond to TRADE_DIALOGSET_* constants + table_width 2 dw TradeTextPointers1 dw TradeTextPointers2 dw TradeTextPointers3 + assert_table_length NUM_TRADE_DIALOGSETS TradeTextPointers1: + table_width 2 dw WannaTrade1Text dw NoTrade1Text dw WrongMon1Text dw Thanks1Text dw AfterTrade1Text + assert_table_length NUM_TRADE_TEXTS TradeTextPointers2: + table_width 2 dw WannaTrade2Text dw NoTrade2Text dw WrongMon2Text dw Thanks2Text dw AfterTrade2Text + assert_table_length NUM_TRADE_TEXTS TradeTextPointers3: + table_width 2 dw WannaTrade3Text dw NoTrade3Text dw WrongMon3Text dw Thanks3Text dw AfterTrade3Text + assert_table_length NUM_TRADE_TEXTS ConnectCableText: text_far _ConnectCableText |
