diff options
-rw-r--r-- | constants/npc_trade_constants.asm | 2 | ||||
-rw-r--r-- | data/events/npc_trades.asm | 16 | ||||
-rw-r--r-- | engine/events/npc_trade.asm | 478 | ||||
-rw-r--r-- | engine/tilesets/tileset_anims.asm | 167 | ||||
-rw-r--r-- | main.asm | 4 | ||||
-rw-r--r-- | wram.asm | 2 |
6 files changed, 581 insertions, 88 deletions
diff --git a/constants/npc_trade_constants.asm b/constants/npc_trade_constants.asm index f84db5df..6e1d45c9 100644 --- a/constants/npc_trade_constants.asm +++ b/constants/npc_trade_constants.asm @@ -18,7 +18,6 @@ NPCTRADE_PADDING EQU 31 ; db const NPC_TRADE_EMY ; 3 const NPC_TRADE_CHRIS ; 4 const NPC_TRADE_KIM ; 5 - const NPC_TRADE_FOREST ; 6 NUM_NPC_TRADES EQU const_value ; trade gender limits @@ -42,4 +41,3 @@ NUM_NPC_TRADES EQU const_value const TRADE_DIALOGSET_COLLECTOR const TRADE_DIALOGSET_HAPPY const TRADE_DIALOGSET_NEWBIE - const TRADE_DIALOGSET_GIRL diff --git a/data/events/npc_trades.asm b/data/events/npc_trades.asm new file mode 100644 index 00000000..dae70fe0 --- /dev/null +++ b/data/events/npc_trades.asm @@ -0,0 +1,16 @@ +npctrade: MACRO +; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested + db \1, \2, \3, \4, \5, \6, \7 + shift + dw \7 + db \8, \9, 0 +ENDM + +NPCTrades: +; entries correspond to NPCTRADE_* constants + npctrade TRADE_DIALOGSET_COLLECTOR, DROWZEE, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_GENDER_EITHER + npctrade TRADE_DIALOGSET_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_GENDER_EITHER + npctrade TRADE_DIALOGSET_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_GENDER_EITHER + npctrade TRADE_DIALOGSET_NEWBIE, DRAGONAIR, RHYDON, "DON@@@@@@@@", $77, $66, BITTER_BERRY, 00283, "EMY@@@@@@@@", TRADE_GENDER_FEMALE + npctrade TRADE_DIALOGSET_HAPPY, GLOOM, RAPIDASH, "RUNNY@@@@@@", $96, $66, BURNT_BERRY, 15616, "CHRIS@@@@@@", TRADE_GENDER_EITHER + npctrade TRADE_DIALOGSET_NEWBIE, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_GENDER_EITHER diff --git a/engine/events/npc_trade.asm b/engine/events/npc_trade.asm new file mode 100644 index 00000000..ce8a64d6 --- /dev/null +++ b/engine/events/npc_trade.asm @@ -0,0 +1,478 @@ +NPCTrade:: + ld a, e + ld [wJumptableIndex], a + call Trade_GetDialog + ld b, CHECK_FLAG + call TradeFlagAction + ld a, TRADE_DIALOG_AFTER + jr nz, .done + + ld a, TRADE_DIALOG_INTRO + call PrintTradeText + + call YesNoBox + ld a, TRADE_DIALOG_CANCEL + jr c, .done + +; Select givemon from party + ld b, PARTYMENUACTION_GIVE_MON + farcall SelectTradeOrDayCareMon + ld a, TRADE_DIALOG_CANCEL + jr c, .done + + ld e, NPCTRADE_GIVEMON + call GetTradeAttribute + ld a, [wCurPartySpecies] + cp [hl] + ld a, TRADE_DIALOG_WRONG + jr nz, .done + + call CheckTradeGender + ld a, TRADE_DIALOG_WRONG + jr c, .done + + ld b, SET_FLAG + call TradeFlagAction + + ld hl, NPCTradeCableText + call PrintText + + call DoNPCTrade + call .TradeAnimation + call GetTradeMonNames + + ld hl, TradedForText + call PrintText + + call RestartMapMusic + + ld a, TRADE_DIALOG_COMPLETE + +.done + call PrintTradeText + ret + +.TradeAnimation: + call DisableSpriteUpdates + ld a, [wJumptableIndex] + push af + ld a, [wce64] + push af + predef TradeAnimation + pop af + ld [wce64], a + pop af + ld [wJumptableIndex], a + call ReturnToMapWithSpeechTextbox + ret + +CheckTradeGender: + xor a + ld [wMonType], a + + ld e, NPCTRADE_GENDER + call GetTradeAttribute + ld a, [hl] + and a ; TRADE_GENDER_EITHER + jr z, .matching + cp TRADE_GENDER_MALE + jr z, .check_male + ; TRADE_GENDER_FEMALE + farcall GetGender + jr nz, .not_matching + jr .matching + +.check_male + farcall GetGender + jr z, .not_matching + +.matching + and a + ret + +.not_matching + scf + ret + +TradeFlagAction: + ld hl, wTradeFlags + ld a, [wJumptableIndex] + ld c, a + predef SmallFarFlagAction + ld a, c + and a + ret + +Trade_GetDialog: + ld e, NPCTRADE_DIALOG + call GetTradeAttribute + ld a, [hl] + ld [wce64], a + ret + +DoNPCTrade: + ld e, NPCTRADE_GIVEMON + call GetTradeAttribute + ld a, [hl] + ld [wPlayerTrademonSpecies], a + + ld e, NPCTRADE_GETMON + call GetTradeAttribute + ld a, [hl] + ld [wOTTrademonSpecies], a + + ld a, [wPlayerTrademonSpecies] + ld de, wPlayerTrademonSpeciesName + call GetTradeMonName + call CopyTradeName + + ld a, [wOTTrademonSpecies] + ld de, wOTTrademonSpeciesName + call GetTradeMonName + call CopyTradeName + + ld hl, wPartyMonOT + ld bc, NAME_LENGTH + call Trade_GetAttributeOfCurrentPartymon + ld de, wPlayerTrademonOTName + call CopyTradeName + + ld hl, wPlayerName + ld de, wPlayerTrademonSenderName + call CopyTradeName + + ld hl, wPartyMon1ID + ld bc, PARTYMON_STRUCT_LENGTH + call Trade_GetAttributeOfCurrentPartymon + ld de, wPlayerTrademonID + call Trade_CopyTwoBytes + + ld hl, wPartyMon1DVs + ld bc, PARTYMON_STRUCT_LENGTH + call Trade_GetAttributeOfCurrentPartymon + ld de, wPlayerTrademonDVs + call Trade_CopyTwoBytes + + ld hl, wPartyMon1Level + ld bc, PARTYMON_STRUCT_LENGTH + call Trade_GetAttributeOfCurrentPartymon + ld a, [hl] + ld [wCurPartyLevel], a + ld a, [wOTTrademonSpecies] + ld [wCurPartySpecies], a + xor a + ld [wMonType], a ; PARTYMON + ld [wPokemonWithdrawDepositParameter], a ; REMOVE_PARTY + callfar RemoveMonFromPartyOrBox + predef TryAddMonToParty + + ld e, NPCTRADE_NICK + call GetTradeAttribute + ld de, wOTTrademonNickname + call CopyTradeName + + ld hl, wPartyMonNicknames + ld bc, MON_NAME_LENGTH + call Trade_GetAttributeOfLastPartymon + ld hl, wOTTrademonNickname + call CopyTradeName + + ld e, NPCTRADE_OT_NAME + call GetTradeAttribute + push hl + ld de, wOTTrademonOTName + call CopyTradeName + pop hl + ld de, wOTTrademonSenderName + call CopyTradeName + + ld hl, wPartyMonOT + ld bc, NAME_LENGTH + call Trade_GetAttributeOfLastPartymon + ld hl, wOTTrademonOTName + call CopyTradeName + + ld e, NPCTRADE_DVS + call GetTradeAttribute + ld de, wOTTrademonDVs + call Trade_CopyTwoBytes + + ld hl, wPartyMon1DVs + ld bc, PARTYMON_STRUCT_LENGTH + call Trade_GetAttributeOfLastPartymon + ld hl, wOTTrademonDVs + call Trade_CopyTwoBytes + + ld e, NPCTRADE_OT_ID + call GetTradeAttribute + ld de, wOTTrademonID + 1 + call Trade_CopyTwoBytesReverseEndian + + ld hl, wPartyMon1ID + ld bc, PARTYMON_STRUCT_LENGTH + call Trade_GetAttributeOfLastPartymon + ld hl, wOTTrademonID + call Trade_CopyTwoBytes + + ld e, NPCTRADE_ITEM + call GetTradeAttribute + push hl + ld hl, wPartyMon1Item + ld bc, PARTYMON_STRUCT_LENGTH + call Trade_GetAttributeOfLastPartymon + pop hl + ld a, [hl] + ld [de], a + + push af + push bc + push de + push hl + ld a, [wCurPartyMon] + push af + ld a, [wPartyCount] + dec a + ld [wCurPartyMon], a + farcall ComputeNPCTrademonStats + pop af + ld [wCurPartyMon], a + pop hl + pop de + pop bc + pop af + ret + +GetTradeAttribute: + ld d, 0 + push de + ld a, [wJumptableIndex] + and $f + swap a + ld e, a + ld d, 0 + ld hl, NPCTrades + add hl, de + add hl, de + pop de + add hl, de + ret + +Trade_GetAttributeOfCurrentPartymon: + ld a, [wCurPartyMon] + call AddNTimes + ret + +Trade_GetAttributeOfLastPartymon: + ld a, [wPartyCount] + dec a + call AddNTimes + ld e, l + ld d, h + ret + +GetTradeMonName: + push de + ld [wNamedObjectIndexBuffer], a + call GetBasePokemonName + ld hl, wStringBuffer1 + pop de + ret + +CopyTradeName: + ld bc, NAME_LENGTH + call CopyBytes + ret + +Unreferenced_Functionfcdfb: + ld bc, 4 + call CopyBytes + ld a, "@" + ld [de], a + ret + +Unreferenced_Functionfce05: + ld bc, 3 + call CopyBytes + ld a, "@" + ld [de], a + ret + +Trade_CopyTwoBytes: + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + ret + +Trade_CopyTwoBytesReverseEndian: + ld a, [hli] + ld [de], a + dec de + ld a, [hl] + ld [de], a + ret + +GetTradeMonNames: + ld e, NPCTRADE_GETMON + call GetTradeAttribute + ld a, [hl] + call GetTradeMonName + + ld de, wStringBuffer2 + call CopyTradeName + + ld e, NPCTRADE_GIVEMON + call GetTradeAttribute + ld a, [hl] + call GetTradeMonName + + ld de, wMonOrItemNameBuffer + call CopyTradeName + + ld hl, wStringBuffer1 +.loop + ld a, [hli] + cp "@" + jr nz, .loop + + dec hl + push hl + ld e, NPCTRADE_GENDER + call GetTradeAttribute + ld a, [hl] + pop hl + and a ; TRADE_GENDER_EITHER + ret z + cp TRADE_GENDER_MALE + ld a, "♂" + jr z, .done + ; TRADE_GENDER_FEMALE + ld a, "♀" +.done + ld [hli], a + ld [hl], "@" + ret + +INCLUDE "data/events/npc_trades.asm" + +PrintTradeText: + push af + call GetTradeMonNames + pop af + ld e, a + ld d, 0 + ld hl, TradeTexts +rept 6 + add hl, de +endr + ld a, [wce64] + ld e, a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + ret + +TradeTexts: +; entries correspond to TRADE_DIALOG_* × TRADE_DIALOGSET_* constants +; TRADE_DIALOG_INTRO + dw NPCTradeIntroText1 + dw NPCTradeIntroText2 + dw NPCTradeIntroText3 +; TRADE_DIALOG_CANCEL + dw NPCTradeCancelText1 + dw NPCTradeCancelText2 + dw NPCTradeCancelText3 +; TRADE_DIALOG_WRONG + dw NPCTradeWrongText1 + dw NPCTradeWrongText2 + dw NPCTradeWrongText3 +; TRADE_DIALOG_COMPLETE + dw NPCTradeCompleteText1 + dw NPCTradeCompleteText2 + dw NPCTradeCompleteText3 +; TRADE_DIALOG_AFTER + dw NPCTradeAfterText1 + dw NPCTradeAfterText2 + dw NPCTradeAfterText3 + +NPCTradeCableText: + text_far _NPCTradeCableText + text_end + +TradedForText: + ; traded givemon for getmon + text_far Text_NPCTraded + text_asm + ld de, MUSIC_NONE + call PlayMusic + call DelayFrame + ld hl, .done + ret + +.done + text_far _NPCTradeFanfareText + text_end + +NPCTradeIntroText1: + text_far _NPCTradeIntroText1 + text_end + +NPCTradeCancelText1: + text_far _NPCTradeCancelText1 + text_end + +NPCTradeWrongText1: + text_far _NPCTradeWrongText1 + text_end + +NPCTradeCompleteText1: + text_far _NPCTradeCompleteText1 + text_end + +NPCTradeAfterText1: + text_far _NPCTradeAfterText1 + text_end + +NPCTradeIntroText2: + text_far _NPCTradeIntroText2 + text_end + +NPCTradeCancelText2: + text_far _NPCTradeCancelText2 + text_end + +NPCTradeWrongText2: + text_far _NPCTradeWrongText2 + text_end + +NPCTradeCompleteText2: + text_far _NPCTradeCompleteText2 + text_end + +NPCTradeAfterText2: + text_far _NPCTradeAfterText2 + text_end + +NPCTradeIntroText3: + text_far _NPCTradeIntroText3 + text_end + +NPCTradeCancelText3: + text_far _NPCTradeCancelText3 + text_end + +NPCTradeWrongText3: + text_far _NPCTradeWrongText3 + text_end + +NPCTradeCompleteText3: + text_far _NPCTradeCompleteText3 + text_end + +NPCTradeAfterText3: + text_far _NPCTradeAfterText3 + text_end diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index 813965e5..a7b35c54 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -59,68 +59,68 @@ TilesetForestAnim:: TilesetJohtoAnim: dw vTiles2 tile $14, AnimateWaterTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, AnimateWaterPalette - dw NULL, WaitTileAnimation - dw NULL, AnimateFlowerTile + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, AnimateWaterPalette + dw NULL, WaitTileAnimation + dw NULL, AnimateFlowerTile dw WhirlpoolFrames1, AnimateWhirlpoolTile dw WhirlpoolFrames2, AnimateWhirlpoolTile dw WhirlpoolFrames3, AnimateWhirlpoolTile dw WhirlpoolFrames4, AnimateWhirlpoolTile - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation + dw NULL, WaitTileAnimation + dw NULL, StandingTileFrame8 + dw NULL, DoneTileAnimation UnusedTilesetAnim_fc07e: dw vTiles2 tile $03, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $03, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, AnimateFlowerTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, AnimateFlowerTile + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, DoneTileAnimation UnusedTilesetAnim_fc0aa: dw vTiles2 tile $14, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $14, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, DoneTileAnimation TilesetPortAnim: dw vTiles2 tile $14, AnimateWaterTile - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, AnimateWaterPalette - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, AnimateWaterPalette + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, StandingTileFrame8 + dw NULL, DoneTileAnimation TilesetEliteFourRoomAnim: - dw NULL, LavaBubbleAnim2 - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, LavaBubbleAnim1 - dw NULL, WaitTileAnimation - dw NULL, StandingTileFrame8 - dw NULL, DoneTileAnimation + dw NULL, LavaBubbleAnim2 + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, LavaBubbleAnim1 + dw NULL, WaitTileAnimation + dw NULL, StandingTileFrame8 + dw NULL, DoneTileAnimation UnusedTilesetAnim_fc126: dw vTiles2 tile $53, WriteTileToBuffer @@ -134,66 +134,66 @@ UnusedTilesetAnim_fc126: dw wTileAnimBuffer, ScrollTileDown dw wTileAnimBuffer, ScrollTileDown dw vTiles2 tile $53, WriteTileFromBuffer - dw NULL, DoneTileAnimation + dw NULL, DoneTileAnimation UnusedTilesetAnim_fc156: dw vTiles2 tile $54, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileDown dw wTileAnimBuffer, ScrollTileDown dw vTiles2 tile $54, WriteTileFromBuffer - dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation dw vTiles2 tile $03, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $03, WriteTileFromBuffer - dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation dw vTiles2 tile $54, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileDown dw wTileAnimBuffer, ScrollTileDown dw vTiles2 tile $54, WriteTileFromBuffer - dw NULL, DoneTileAnimation + dw NULL, DoneTileAnimation TilesetCaveAnim: TilesetDarkCaveAnim: dw vTiles2 tile $14, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileRightLeft - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw vTiles2 tile $14, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, AnimateWaterPalette - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette + dw NULL, AnimateWaterPalette + dw NULL, FlickeringCaveEntrancePalette dw vTiles2 tile $40, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw vTiles2 tile $40, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, DoneTileAnimation + dw NULL, FlickeringCaveEntrancePalette + dw NULL, DoneTileAnimation TilesetIcePathAnim: dw vTiles2 tile $35, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileRightLeft - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw vTiles2 tile $35, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, AnimateWaterPalette - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette + dw NULL, AnimateWaterPalette + dw NULL, FlickeringCaveEntrancePalette dw vTiles2 tile $31, WriteTileToBuffer - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw wTileAnimBuffer, ScrollTileDown - dw NULL, FlickeringCaveEntrancePalette + dw NULL, FlickeringCaveEntrancePalette dw vTiles2 tile $31, WriteTileFromBuffer - dw NULL, FlickeringCaveEntrancePalette - dw NULL, DoneTileAnimation + dw NULL, FlickeringCaveEntrancePalette + dw NULL, DoneTileAnimation TilesetTowerAnim: dw TowerPillarTilePointer9, AnimateTowerPillarTile @@ -206,22 +206,22 @@ TilesetTowerAnim: dw TowerPillarTilePointer4, AnimateTowerPillarTile dw TowerPillarTilePointer1, AnimateTowerPillarTile dw TowerPillarTilePointer2, AnimateTowerPillarTile - dw NULL, StandingTileFrame - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation + dw NULL, StandingTileFrame + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, DoneTileAnimation dw vTiles2 tile $4f, WriteTileToBuffer dw wTileAnimBuffer, ScrollTileRightLeft dw vTiles2 tile $4f, WriteTileFromBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, WaitTileAnimation + dw NULL, DoneTileAnimation TilesetHouseAnim: TilesetPlayersHouseAnim: @@ -748,3 +748,6 @@ WhirlpoolTiles1: INCBIN "gfx/tilesets/whirlpool/1.2bpp" WhirlpoolTiles2: INCBIN "gfx/tilesets/whirlpool/2.2bpp" WhirlpoolTiles3: INCBIN "gfx/tilesets/whirlpool/3.2bpp" WhirlpoolTiles4: INCBIN "gfx/tilesets/whirlpool/4.2bpp" + +;unused + ret @@ -830,9 +830,7 @@ DoBadgeTypeBoosts:: SECTION "bank3f", ROMX INCLUDE "engine/tilesets/tileset_anims.asm" - ret -NPCTrade:: - dr $fc9ae, $fcd87 +INCLUDE "engine/events/npc_trade.asm" MomTriesToBuySomething:: dr $fcd87, $fcf6a StagePartyDataForMysteryGift:: @@ -2142,7 +2142,7 @@ wRegisteredItem:: db ; d681 wPlayerState:: db ; d682 wHallOfFameCount:: dw -wd685:: ds 1 ; d685 +wTradeFlags:: flag_array NUM_NPC_TRADES ; d685 wd686:: ds 1 ; d686 wd687:: ds 1 ; d687 wd688:: ds 1 ; d688 |