2015-11-19 15:07:20 -08:00
|
|
|
|
NPCTrade:: ; fcba8
|
|
|
|
|
ld a, e
|
|
|
|
|
ld [wJumptableIndex], a
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetDialog
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld b, CHECK_FLAG
|
|
|
|
|
call TradeFlagAction
|
|
|
|
|
ld a, TRADE_AFTER
|
|
|
|
|
jr nz, .done
|
|
|
|
|
|
|
|
|
|
ld a, TRADE_INTRO
|
|
|
|
|
call PrintTradeText
|
|
|
|
|
|
|
|
|
|
call YesNoBox
|
|
|
|
|
ld a, TRADE_CANCEL
|
|
|
|
|
jr c, .done
|
|
|
|
|
|
|
|
|
|
; Select givemon from party
|
2017-11-30 11:27:25 -08:00
|
|
|
|
ld b, PARTYMENUACTION_GIVE_MON
|
2017-12-24 09:47:30 -08:00
|
|
|
|
farcall SelectTradeOrDayCareMon
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, TRADE_CANCEL
|
|
|
|
|
jr c, .done
|
|
|
|
|
|
|
|
|
|
ld e, TRADE_GIVEMON
|
|
|
|
|
call GetTradeAttribute
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld a, [wCurPartySpecies]
|
2015-11-19 15:07:20 -08:00
|
|
|
|
cp [hl]
|
|
|
|
|
ld a, TRADE_WRONG
|
|
|
|
|
jr nz, .done
|
|
|
|
|
|
|
|
|
|
call CheckTradeGender
|
|
|
|
|
ld a, TRADE_WRONG
|
|
|
|
|
jr c, .done
|
|
|
|
|
|
|
|
|
|
ld b, SET_FLAG
|
|
|
|
|
call TradeFlagAction
|
|
|
|
|
|
|
|
|
|
ld hl, ConnectLinkCableText
|
|
|
|
|
call PrintText
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call DoNPCTrade
|
|
|
|
|
call .TradeAnimation
|
2015-11-19 15:07:20 -08:00
|
|
|
|
call GetTradeMonNames
|
|
|
|
|
|
|
|
|
|
ld hl, TradedForText
|
|
|
|
|
call PrintText
|
|
|
|
|
|
|
|
|
|
call RestartMapMusic
|
|
|
|
|
|
|
|
|
|
ld a, TRADE_COMPLETE
|
|
|
|
|
|
|
|
|
|
.done
|
|
|
|
|
call PrintTradeText
|
|
|
|
|
ret
|
|
|
|
|
; fcc07
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
.TradeAnimation: ; fcc07
|
2015-11-19 15:07:20 -08:00
|
|
|
|
call DisableSpriteUpdates
|
|
|
|
|
ld a, [wJumptableIndex]
|
|
|
|
|
push af
|
|
|
|
|
ld a, [wcf64]
|
|
|
|
|
push af
|
2018-01-16 11:30:10 -08:00
|
|
|
|
predef TradeAnimation
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop af
|
|
|
|
|
ld [wcf64], a
|
|
|
|
|
pop af
|
|
|
|
|
ld [wJumptableIndex], a
|
2015-12-18 17:07:09 -08:00
|
|
|
|
call ReturnToMapWithSpeechTextbox
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ret
|
|
|
|
|
; fcc23
|
|
|
|
|
|
|
|
|
|
CheckTradeGender: ; fcc23
|
|
|
|
|
xor a
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld [wMonType], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_GENDER
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
2018-01-11 09:00:01 -08:00
|
|
|
|
and a ; TRADE_EITHER_GENDER
|
2015-12-13 17:33:56 -08:00
|
|
|
|
jr z, .matching
|
2018-01-11 09:00:01 -08:00
|
|
|
|
cp TRADE_MALE_ONLY
|
2015-12-13 17:33:56 -08:00
|
|
|
|
jr z, .check_male
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-16 11:30:10 -08:00
|
|
|
|
farcall GetGender
|
2015-12-13 17:33:56 -08:00
|
|
|
|
jr nz, .not_matching
|
|
|
|
|
jr .matching
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2015-12-13 17:33:56 -08:00
|
|
|
|
.check_male
|
2018-01-16 11:30:10 -08:00
|
|
|
|
farcall GetGender
|
2015-12-13 17:33:56 -08:00
|
|
|
|
jr z, .not_matching
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2015-12-13 17:33:56 -08:00
|
|
|
|
.matching
|
2015-11-19 15:07:20 -08:00
|
|
|
|
and a
|
|
|
|
|
ret
|
|
|
|
|
|
2015-12-13 17:33:56 -08:00
|
|
|
|
.not_matching
|
2015-11-19 15:07:20 -08:00
|
|
|
|
scf
|
|
|
|
|
ret
|
|
|
|
|
; fcc4a
|
|
|
|
|
|
|
|
|
|
TradeFlagAction: ; fcc4a
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld hl, wTradeFlags
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, [wJumptableIndex]
|
|
|
|
|
ld c, a
|
2018-01-16 11:30:10 -08:00
|
|
|
|
predef SmallFarFlagAction
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, c
|
|
|
|
|
and a
|
|
|
|
|
ret
|
|
|
|
|
; fcc59
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
Trade_GetDialog: ; fcc59
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld e, TRADE_DIALOG
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [wcf64], a
|
|
|
|
|
ret
|
|
|
|
|
; fcc63
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
DoNPCTrade: ; fcc63
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld e, TRADE_GIVEMON
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld [wPlayerTrademonSpecies], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_GETMON
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld [wOTTrademonSpecies], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld a, [wPlayerTrademonSpecies]
|
|
|
|
|
ld de, wPlayerTrademonSpeciesName
|
|
|
|
|
call GetTradeMonName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld a, [wOTTrademonSpecies]
|
|
|
|
|
ld de, wOTTrademonSpeciesName
|
|
|
|
|
call GetTradeMonName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMonOT
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, NAME_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfCurrentPartymon
|
|
|
|
|
ld de, wPlayerTrademonOTName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPlayerName
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld de, wPlayerTrademonSenderName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1ID
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfCurrentPartymon
|
|
|
|
|
ld de, wPlayerTrademonID
|
|
|
|
|
call Trade_CopyTwoBytes
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1DVs
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfCurrentPartymon
|
|
|
|
|
ld de, wPlayerTrademonDVs
|
|
|
|
|
call Trade_CopyTwoBytes
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1Species
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfCurrentPartymon
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld b, h
|
|
|
|
|
ld c, l
|
2017-12-24 09:47:30 -08:00
|
|
|
|
farcall GetCaughtGender
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, c
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld [wPlayerTrademonCaughtData], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_DIALOG
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
2018-01-11 09:00:01 -08:00
|
|
|
|
cp TRADE_DIALOG_GIRL
|
|
|
|
|
ld a, CAUGHT_BY_GIRL
|
2015-11-22 21:21:21 -08:00
|
|
|
|
jr c, .okay
|
2018-01-11 09:00:01 -08:00
|
|
|
|
ld a, CAUGHT_BY_BOY
|
2015-11-22 21:21:21 -08:00
|
|
|
|
.okay
|
|
|
|
|
ld [wOTTrademonCaughtData], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1Level
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfCurrentPartymon
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, [hl]
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld [wCurPartyLevel], a
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld a, [wOTTrademonSpecies]
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld [wCurPartySpecies], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
xor a
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld [wMonType], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld [wPokemonWithdrawDepositParameter], a
|
2017-12-24 09:47:30 -08:00
|
|
|
|
callfar RemoveMonFromPartyOrBox
|
2018-01-16 11:30:10 -08:00
|
|
|
|
predef TryAddMonToParty
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_DIALOG
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp TRADE_COMPLETE
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld b, RESET_FLAG
|
2015-12-13 17:33:56 -08:00
|
|
|
|
jr c, .incomplete
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld b, SET_FLAG
|
2015-12-13 17:33:56 -08:00
|
|
|
|
.incomplete
|
2017-12-24 09:47:30 -08:00
|
|
|
|
farcall SetGiftPartyMonCaughtData
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_NICK
|
|
|
|
|
call GetTradeAttribute
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld de, wOTTrademonNickname
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMonNicknames
|
2018-01-20 09:25:55 -08:00
|
|
|
|
ld bc, MON_NAME_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfLastPartymon
|
|
|
|
|
ld hl, wOTTrademonNickname
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_OT_NAME
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
push hl
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld de, wOTTrademonOTName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop hl
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld de, wOTTrademonSenderName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMonOT
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, NAME_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfLastPartymon
|
|
|
|
|
ld hl, wOTTrademonOTName
|
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_DVS
|
|
|
|
|
call GetTradeAttribute
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld de, wOTTrademonDVs
|
|
|
|
|
call Trade_CopyTwoBytes
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1DVs
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfLastPartymon
|
|
|
|
|
ld hl, wOTTrademonDVs
|
|
|
|
|
call Trade_CopyTwoBytes
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_OT_ID
|
|
|
|
|
call GetTradeAttribute
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld de, wOTTrademonID + 1
|
|
|
|
|
call Trade_CopyTwoBytesReverseEndian
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1ID
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfLastPartymon
|
|
|
|
|
ld hl, wOTTrademonID
|
|
|
|
|
call Trade_CopyTwoBytes
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_ITEM
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
push hl
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wPartyMon1Item
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call Trade_GetAttributeOfLastPartymon
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop hl
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [de], a
|
|
|
|
|
|
|
|
|
|
push af
|
|
|
|
|
push bc
|
|
|
|
|
push de
|
|
|
|
|
push hl
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld a, [wCurPartyMon]
|
2015-11-19 15:07:20 -08:00
|
|
|
|
push af
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld a, [wPartyCount]
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dec a
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld [wCurPartyMon], a
|
2017-12-24 09:47:30 -08:00
|
|
|
|
farcall ComputeNPCTrademonStats
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop af
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld [wCurPartyMon], a
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop hl
|
|
|
|
|
pop de
|
|
|
|
|
pop bc
|
|
|
|
|
pop af
|
|
|
|
|
ret
|
|
|
|
|
; fcdc2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetTradeAttribute: ; 0xfcdc2
|
|
|
|
|
ld d, 0
|
|
|
|
|
push de
|
|
|
|
|
ld a, [wJumptableIndex]
|
|
|
|
|
and $f
|
|
|
|
|
swap a
|
|
|
|
|
ld e, a
|
|
|
|
|
ld d, 0
|
|
|
|
|
ld hl, NPCTrades
|
|
|
|
|
add hl, de
|
2016-05-04 08:46:23 -07:00
|
|
|
|
add hl, de
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop de
|
|
|
|
|
add hl, de
|
|
|
|
|
ret
|
|
|
|
|
; 0xfcdd7
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
Trade_GetAttributeOfCurrentPartymon: ; fcdd7
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld a, [wCurPartyMon]
|
2015-11-19 15:07:20 -08:00
|
|
|
|
call AddNTimes
|
|
|
|
|
ret
|
|
|
|
|
; fcdde
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
Trade_GetAttributeOfLastPartymon: ; fcdde
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld a, [wPartyCount]
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dec a
|
|
|
|
|
call AddNTimes
|
|
|
|
|
ld e, l
|
|
|
|
|
ld d, h
|
|
|
|
|
ret
|
|
|
|
|
; fcde8
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
GetTradeMonName: ; fcde8
|
2015-11-19 15:07:20 -08:00
|
|
|
|
push de
|
|
|
|
|
ld [wd265], a
|
|
|
|
|
call GetBasePokemonName
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wStringBuffer1
|
2015-11-19 15:07:20 -08:00
|
|
|
|
pop de
|
|
|
|
|
ret
|
|
|
|
|
; fcdf4
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
CopyTradeName: ; fcdf4
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, NAME_LENGTH
|
|
|
|
|
call CopyBytes
|
|
|
|
|
ret
|
|
|
|
|
; fcdfb
|
|
|
|
|
|
2018-01-02 07:04:21 -08:00
|
|
|
|
Unreferenced_Functionfcdfb: ; fcdfb
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, 4
|
|
|
|
|
call CopyBytes
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld a, "@"
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld [de], a
|
|
|
|
|
ret
|
|
|
|
|
; fce05
|
|
|
|
|
|
2018-01-02 07:04:21 -08:00
|
|
|
|
Unreferenced_Functionfce05: ; fce05
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld bc, 3
|
|
|
|
|
call CopyBytes
|
2015-11-22 21:21:21 -08:00
|
|
|
|
ld a, "@"
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld [de], a
|
|
|
|
|
ret
|
|
|
|
|
; fce0f
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
Trade_CopyTwoBytes: ; fce0f
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [de], a
|
|
|
|
|
ret
|
|
|
|
|
; fce15
|
|
|
|
|
|
2015-11-22 21:21:21 -08:00
|
|
|
|
Trade_CopyTwoBytesReverseEndian: ; fce15
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
dec de
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [de], a
|
|
|
|
|
ret
|
|
|
|
|
; fce1b
|
|
|
|
|
|
|
|
|
|
GetTradeMonNames: ; fce1b
|
|
|
|
|
ld e, TRADE_GETMON
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call GetTradeMonName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld de, wStringBuffer2
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
ld e, TRADE_GIVEMON
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call GetTradeMonName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2015-12-18 17:07:09 -08:00
|
|
|
|
ld de, wMonOrItemNameBuffer
|
2015-11-22 21:21:21 -08:00
|
|
|
|
call CopyTradeName
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
2018-01-23 14:39:09 -08:00
|
|
|
|
ld hl, wStringBuffer1
|
2015-11-19 15:07:20 -08:00
|
|
|
|
.loop
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp "@"
|
|
|
|
|
jr nz, .loop
|
|
|
|
|
|
|
|
|
|
dec hl
|
|
|
|
|
push hl
|
|
|
|
|
ld e, TRADE_GENDER
|
|
|
|
|
call GetTradeAttribute
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
pop hl
|
|
|
|
|
and a
|
|
|
|
|
ret z
|
|
|
|
|
|
2018-01-11 09:00:01 -08:00
|
|
|
|
cp TRADE_MALE_ONLY
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, "♂"
|
|
|
|
|
jr z, .done
|
|
|
|
|
ld a, "♀"
|
|
|
|
|
.done
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hl], "@"
|
|
|
|
|
ret
|
|
|
|
|
; fce58
|
|
|
|
|
|
|
|
|
|
|
2017-12-11 10:47:58 -08:00
|
|
|
|
INCLUDE "data/npc_trades.asm"
|
2015-11-19 15:07:20 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PrintTradeText: ; fcf38
|
|
|
|
|
push af
|
|
|
|
|
call GetTradeMonNames
|
|
|
|
|
pop af
|
|
|
|
|
ld bc, 2 * 4
|
|
|
|
|
ld hl, TradeTexts
|
|
|
|
|
call AddNTimes
|
|
|
|
|
ld a, [wcf64]
|
|
|
|
|
ld c, a
|
|
|
|
|
add hl, bc
|
2016-05-04 08:46:23 -07:00
|
|
|
|
add hl, bc
|
2015-11-19 15:07:20 -08:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
call PrintText
|
|
|
|
|
ret
|
|
|
|
|
; fcf53
|
|
|
|
|
|
|
|
|
|
TradeTexts: ; fcf53
|
2018-01-11 09:00:01 -08:00
|
|
|
|
; entries correspond to TRADE_* × TRADE_DIALOG_* constants
|
|
|
|
|
; TRADE_INTRO
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dw TradeIntroText1
|
|
|
|
|
dw TradeIntroText2
|
|
|
|
|
dw TradeIntroText3
|
|
|
|
|
dw TradeIntroText4
|
2018-01-11 09:00:01 -08:00
|
|
|
|
; TRADE_CANCEL
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dw TradeCancelText1
|
|
|
|
|
dw TradeCancelText2
|
|
|
|
|
dw TradeCancelText3
|
|
|
|
|
dw TradeCancelText4
|
2018-01-11 09:00:01 -08:00
|
|
|
|
; TRADE_WRONG
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dw TradeWrongText1
|
|
|
|
|
dw TradeWrongText2
|
|
|
|
|
dw TradeWrongText3
|
|
|
|
|
dw TradeWrongText4
|
2018-01-11 09:00:01 -08:00
|
|
|
|
; TRADE_COMPLETE
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dw TradeCompleteText1
|
|
|
|
|
dw TradeCompleteText2
|
|
|
|
|
dw TradeCompleteText3
|
|
|
|
|
dw TradeCompleteText4
|
2018-01-11 09:00:01 -08:00
|
|
|
|
; TRADE_AFTER
|
2015-11-19 15:07:20 -08:00
|
|
|
|
dw TradeAfterText1
|
|
|
|
|
dw TradeAfterText2
|
|
|
|
|
dw TradeAfterText3
|
|
|
|
|
dw TradeAfterText4
|
|
|
|
|
; fcf7b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ConnectLinkCableText: ; 0xfcf7b
|
|
|
|
|
; OK, connect the Game Link Cable.
|
|
|
|
|
text_jump UnknownText_0x1bd407
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcf80
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TradedForText: ; 0xfcf80
|
|
|
|
|
; traded givemon for getmon
|
|
|
|
|
text_jump UnknownText_0x1bd429
|
|
|
|
|
start_asm
|
|
|
|
|
ld de, MUSIC_NONE
|
|
|
|
|
call PlayMusic
|
|
|
|
|
call DelayFrame
|
|
|
|
|
ld hl, .done
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
.done
|
2015-11-23 18:19:53 -08:00
|
|
|
|
; sound_dex_fanfare_80_109
|
2015-11-19 15:07:20 -08:00
|
|
|
|
; interpret_data
|
|
|
|
|
text_jump UnknownText_0x1bd445
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcf97
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TradeIntroText1: ; 0xfcf97
|
|
|
|
|
; I collect #MON. Do you have @ ? Want to trade it for my @ ?
|
|
|
|
|
text_jump UnknownText_0x1bd449
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcf9c
|
|
|
|
|
|
|
|
|
|
TradeCancelText1: ; 0xfcf9c
|
|
|
|
|
; You don't want to trade? Aww…
|
|
|
|
|
text_jump UnknownText_0x1bd48c
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfa1
|
|
|
|
|
|
|
|
|
|
TradeWrongText1: ; 0xfcfa1
|
|
|
|
|
; Huh? That's not @ . What a letdown…
|
|
|
|
|
text_jump UnknownText_0x1bd4aa
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfa6
|
|
|
|
|
|
|
|
|
|
TradeCompleteText1: ; 0xfcfa6
|
|
|
|
|
; Yay! I got myself @ ! Thanks!
|
|
|
|
|
text_jump UnknownText_0x1bd4d2
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfab
|
|
|
|
|
|
|
|
|
|
TradeAfterText1: ; 0xfcfab
|
|
|
|
|
; Hi, how's my old @ doing?
|
|
|
|
|
text_jump UnknownText_0x1bd4f4
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfb0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TradeIntroText2:
|
|
|
|
|
TradeIntroText3: ; 0xfcfb0
|
|
|
|
|
; Hi, I'm looking for this #MON. If you have @ , would you trade it for my @ ?
|
|
|
|
|
text_jump UnknownText_0x1bd512
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfb5
|
|
|
|
|
|
|
|
|
|
TradeCancelText2:
|
|
|
|
|
TradeCancelText3: ; 0xfcfb5
|
|
|
|
|
; You don't have one either? Gee, that's really disappointing…
|
|
|
|
|
text_jump UnknownText_0x1bd565
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfba
|
|
|
|
|
|
|
|
|
|
TradeWrongText2:
|
|
|
|
|
TradeWrongText3: ; 0xfcfba
|
|
|
|
|
; You don't have @ ? That's too bad, then.
|
|
|
|
|
text_jump UnknownText_0x1bd5a1
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfbf
|
|
|
|
|
|
|
|
|
|
TradeCompleteText2: ; 0xfcfbf
|
|
|
|
|
; Great! Thank you! I finally got @ .
|
|
|
|
|
text_jump UnknownText_0x1bd5cc
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfc4
|
|
|
|
|
|
|
|
|
|
TradeAfterText2: ; 0xfcfc4
|
|
|
|
|
; Hi! The @ you traded me is doing great!
|
|
|
|
|
text_jump UnknownText_0x1bd5f4
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfc9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TradeIntroText4: ; 0xfcfc9
|
|
|
|
|
; 's cute, but I don't have it. Do you have @ ? Want to trade it for my @ ?
|
|
|
|
|
text_jump UnknownText_0x1bd621
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfce
|
|
|
|
|
|
|
|
|
|
TradeCancelText4: ; 0xfcfce
|
|
|
|
|
; You don't want to trade? Oh, darn…
|
|
|
|
|
text_jump UnknownText_0x1bd673
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfd3
|
|
|
|
|
|
|
|
|
|
TradeWrongText4: ; 0xfcfd3
|
|
|
|
|
; That's not @ . Please trade with me if you get one.
|
|
|
|
|
text_jump UnknownText_0x1bd696
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfd8
|
|
|
|
|
|
|
|
|
|
TradeCompleteText4: ; 0xfcfd8
|
|
|
|
|
; Wow! Thank you! I always wanted @ !
|
|
|
|
|
text_jump UnknownText_0x1bd6cd
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfdd
|
|
|
|
|
|
|
|
|
|
TradeAfterText4: ; 0xfcfdd
|
|
|
|
|
; How is that @ I traded you doing? Your @ 's so cute!
|
|
|
|
|
text_jump UnknownText_0x1bd6f5
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfe2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TradeCompleteText3: ; 0xfcfe2
|
|
|
|
|
; Uh? What happened?
|
|
|
|
|
text_jump UnknownText_0x1bd731
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfe7
|
|
|
|
|
|
|
|
|
|
TradeAfterText3: ; 0xfcfe7
|
|
|
|
|
; Trading is so odd… I still have a lot to learn about it.
|
|
|
|
|
text_jump UnknownText_0x1bd745
|
|
|
|
|
db "@"
|
|
|
|
|
; 0xfcfec
|