summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/billshouse.asm250
-rwxr-xr-xscripts/billshouse2.asm4
-rwxr-xr-xscripts/celadondiner.asm36
-rwxr-xr-xscripts/celadondiner2.asm38
-rwxr-xr-xscripts/celadongamecorner.asm23
-rwxr-xr-xscripts/celadonmansion1.asm29
-rwxr-xr-xscripts/celadonmansion1_2.asm78
-rwxr-xr-xscripts/celadonmansion3.asm135
-rwxr-xr-xscripts/celadonmansion3_2.asm35
-rwxr-xr-xscripts/celadonmansion4.asm3
-rwxr-xr-xscripts/celadonmansion5.asm3
-rwxr-xr-xscripts/celadonmart1.asm3
-rwxr-xr-xscripts/celadonmart3.asm34
-rwxr-xr-xscripts/celadonmart3_2.asm38
-rwxr-xr-xscripts/celadonmart5.asm3
-rwxr-xr-xscripts/celadonmartroof.asm16
-rwxr-xr-xscripts/celadonpokecenter.asm10
-rwxr-xr-xscripts/celadonprizeroom.asm2
-rwxr-xr-xscripts/ceruleanpokecenter.asm6
-rwxr-xr-xscripts/cinnabargym.asm208
-rwxr-xr-xscripts/cinnabargym2.asm64
-rwxr-xr-xscripts/cinnabarpokecenter.asm10
-rwxr-xr-xscripts/fanclub.asm242
-rwxr-xr-xscripts/fuchsiamart.asm3
-rwxr-xr-xscripts/fuchsiapokecenter.asm6
-rwxr-xr-xscripts/gary.asm26
-rwxr-xr-xscripts/indigoplateaulobby.asm10
-rwxr-xr-xscripts/lance.asm13
-rwxr-xr-xscripts/lavenderpokecenter.asm10
-rwxr-xr-xscripts/mtmoonpokecenter.asm2
-rwxr-xr-xscripts/pewterpokecenter.asm6
-rwxr-xr-xscripts/pewterpokecenter2.asm2
-rwxr-xr-xscripts/pokemontower1.asm3
-rwxr-xr-xscripts/pokemontower2.asm24
-rwxr-xr-xscripts/pokemontower7.asm480
-rwxr-xr-xscripts/rockethideout4.asm428
-rwxr-xr-xscripts/rocktunnelpokecenter.asm2
-rwxr-xr-xscripts/route11gateupstairs.asm2
-rwxr-xr-xscripts/route22gate.asm10
-rwxr-xr-xscripts/safarizoneentrance.asm118
-rwxr-xr-xscripts/safarizoneentrance2.asm251
-rwxr-xr-xscripts/saffronpokecenter.asm10
-rwxr-xr-xscripts/seafoamislands5.asm3
-rwxr-xr-xscripts/silphco11_2.asm4
-rwxr-xr-xscripts/ssanne2.asm23
-rwxr-xr-xscripts/ssanne7.asm12
-rwxr-xr-xscripts/ssanne9.asm33
-rwxr-xr-xscripts/vermiliondock.asm6
-rwxr-xr-xscripts/vermilionhouse3.asm7
-rwxr-xr-xscripts/vermilionpokecenter.asm10
-rwxr-xr-xscripts/victoryroad1.asm3
-rwxr-xr-xscripts/victoryroad2.asm5
-rwxr-xr-xscripts/victoryroad3.asm3
-rwxr-xr-xscripts/viridianmart.asm2
-rwxr-xr-xscripts/viridianpokecenter.asm6
55 files changed, 1870 insertions, 923 deletions
diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm
index 4f01021e..5d6d668f 100755
--- a/scripts/billshouse.asm
+++ b/scripts/billshouse.asm
@@ -1,8 +1,10 @@
BillsHouseScript: ; 1e76a (7:676a)
+ call BillsHouseScript_1e09e
call EnableAutoTextBoxDrawing
ld a, [W_BILLSHOUSECURSCRIPT]
ld hl, BillsHouseScriptPointers
- jp JumpTable
+ call JumpTable
+ ret
BillsHouseScriptPointers: ; 1e776 (7:6776)
dw BillsHouseScript0
@@ -11,21 +13,65 @@ BillsHouseScriptPointers: ; 1e776 (7:6776)
dw BillsHouseScript3
dw BillsHouseScript4
dw BillsHouseScript5
+ dw BillsHouseScript6
+ dw BillsHouseScript7
+ dw BillsHouseScript8
+ dw BillsHouseScript9
+
+BillsHouseScript_1e09e:
+ ld hl, wPreventBlackout
+ bit 7, [hl]
+ set 7, [hl]
+ ret nz
+ ld hl, wd7f2
+ bit 5, [hl]
+ jr z, .asm_1e0af
+ jr .asm_1e0b3
+
+.asm_1e0af
+ ld a, $0
+ jr .asm_1e0b5
+
+.asm_1e0b3
+ ld a, $9
+.asm_1e0b5
+ ld [W_BILLSHOUSECURSCRIPT], a
+ ret
BillsHouseScript0: ; 1e782 (7:6782)
+ ld a, [wd472]
+ bit 7, a
+ jr z, .asm_1e0d2
+ callab Func_fce73
+ jr c, .asm_1e0d2
+ callab Func_f24d5
+.asm_1e0d2
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $1
+ ld [W_BILLSHOUSECURSCRIPT], a
ret
BillsHouseScript1: ; 1e783 (7:6783)
+ ret
+
+BillsHouseScript2:
+ ld a, $ff
+ ld [wJoyIgnore], a
ld a, [wSpriteStateData1 + 9]
and a ; cp SPRITE_FACING_DOWN
ld de, MovementData_1e79c
jr nz, .notDown
+ call CheckPikachuFollowingPlayer
+ jr nz, .asm_1e0f8
+ callab Func_f250b
+.asm_1e0f8
ld de, MovementData_1e7a0
.notDown
ld a, $1
ld [H_SPRITEINDEX], a
call MoveSprite
- ld a, $2
+ ld a, $3
ld [W_BILLSHOUSECURSCRIPT], a
ret
@@ -44,25 +90,58 @@ MovementData_1e7a0: ; 1e7a0 (7:67a0)
db NPC_MOVEMENT_UP
db $FF
-BillsHouseScript2: ; 1e7a6 (7:67a6)
+BillsHouseScript3: ; 1e7a6 (7:67a6)
ld a, [wd730]
bit 0, a
ret nz
ld a, HS_BILL_POKEMON
ld [wMissableObjectIndex], a
predef HideObject
- SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
+ call CheckPikachuFollowingPlayer
+ jr z, .asm_1e13e
+ ld hl, PikachuMovementData_1e14d
+ ld a, [wSpriteStateData1 + 9]
+ and a ; cp SPRITE_FACING_DOWN
+ jr nz, .asm_1e133
+ ld hl, PikachuMovementData_1e152
+.asm_1e133
+ call Func_159b
+ callab InitializePikachuTextID
+.asm_1e13e
xor a
ld [wJoyIgnore], a
- ld a, $3
+ SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
+ ld a, $4
ld [W_BILLSHOUSECURSCRIPT], a
ret
-BillsHouseScript3: ; 1e7c5 (7:67c5)
+PikachuMovementData_1e14d:
+ db $00
+ db $1e
+ db $1e
+ db $1e
+ db $3f
+
+PikachuMovementData_1e152:
+ db $00
+ db $1e
+ db $1f
+ db $1e
+ db $1e
+ db $20
+ db $36
+ db $3f
+
+BillsHouseScript4: ; 1e7c5 (7:67c5)
CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
ret z
- ld a, $f0
+ ld a, $fc
ld [wJoyIgnore], a
+ ld a, $5
+ ld [W_BILLSHOUSECURSCRIPT], a
+ ret
+
+BillsHouseScript5:
ld a, $2
ld [wSpriteIndex], a
ld a, $c
@@ -79,11 +158,30 @@ BillsHouseScript3: ; 1e7c5 (7:67c5)
predef ShowObject
ld c, 8
call DelayFrames
+ ld hl, wd472
+ bit 7, [hl]
+ jr z, .asm_1e1c6
+ call CheckPikachuFollowingPlayer
+ jr z, .asm_1e1c6
+ ld a, $2
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_DOWN
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
+ ld hl, PikachuMovementData_1e1a9
+ call Func_159b
+ ld a, $f
+ ld [wEmotionBubbleSpriteIndex], a
+ ld a, $0
+ ld [wWhichEmotionBubble], a
+ predef EmotionBubble
+ callab InitializePikachuTextID
+.asm_1e1c6
ld a, $2
ld [H_SPRITEINDEX], a
ld de, MovementData_1e807
call MoveSprite
- ld a, $4
+ ld a, $6
ld [W_BILLSHOUSECURSCRIPT], a
ret
@@ -95,26 +193,67 @@ MovementData_1e807: ; 1e807 (7:6807)
db NPC_MOVEMENT_DOWN
db $FF
-BillsHouseScript4: ; 1e80d (7:680d)
+PikachuMovementData_1e1a9:
+ db $00
+ db $37
+ db $3f
+
+BillsHouseScript6: ; 1e80d (7:680d)
ld a, [wd730]
bit 0, a
ret nz
- xor a
- ld [wJoyIgnore], a
SetEvent EVENT_MET_BILL_2 ; this event seems redundant
SetEvent EVENT_MET_BILL
- ld a, $0
+ ld a, $7
ld [W_BILLSHOUSECURSCRIPT], a
ret
-BillsHouseScript5: ; 1e827 (7:6827)
- ld a, $4
+BillsHouseScript7:
+ xor a
+ ld [wPlayerMovingDirection], a
+ ld a, SPRITE_FACING_UP
+ ld [wSpriteStateData1 + 9], a
+ ld a, $FF ^ (A_BUTTON | B_BUTTON)
+ ld [wJoyIgnore], a
+ ld de, RLE_1e219
+ ld hl, wSimulatedJoypadStatesEnd
+ call DecodeRLEList
+ dec a
+ ld [wSimulatedJoypadStatesIndex], a
+ call StartSimulatingJoypadStates
+ ld a, $8
+ ld [W_BILLSHOUSECURSCRIPT], a
+ ret
+
+RLE_1e219:
+ db D_RIGHT,$3
+ db $FF
+
+BillsHouseScript8:
+ ld a, [wSimulatedJoypadStatesIndex]
+ and a
+ ret nz
+ xor a
+ ld [wPlayerMovingDirection], a
+ ld a, SPRITE_FACING_UP
+ ld [wSpriteStateData1 + 9], a
+ ld a, $2
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_DOWN
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $2
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld a, $0
+ ld a, $9
ld [W_BILLSHOUSECURSCRIPT], a
ret
+BillsHouseScript9: ; 1e827 (7:6827)
+ ret
+
BillsHouseTextPointers: ; 1e834 (7:6834)
dw BillsHouseText1
dw BillsHouseText2
@@ -122,91 +261,20 @@ BillsHouseTextPointers: ; 1e834 (7:6834)
dw BillsHouseText4
BillsHouseText4: ; 1e83c (7:683c)
- db $fd
+ TX_FAR _BillsHouseDontLeaveText
+ db "@"
BillsHouseText1: ; 1e83d (7:683d)
TX_ASM
- ld hl, BillsHouseText_1e865
- call PrintText
- call YesNoChoice
- ld a, [wCurrentMenuItem]
- and a
- jr nz, .asm_1e85a
-.asm_1e84d
- ld hl, BillsHouseText_1e86a
- call PrintText
- ld a, $1
- ld [W_BILLSHOUSECURSCRIPT], a
- jr .asm_1e862
-.asm_1e85a
- ld hl, BillsHouseText_1e86f
- call PrintText
- jr .asm_1e84d
-.asm_1e862
+ callba Func_f2418
jp TextScriptEnd
-BillsHouseText_1e865: ; 1e865 (7:6865)
- TX_FAR _BillsHouseText_1e865
- db "@"
-
-BillsHouseText_1e86a: ; 1e86a (7:686a)
- TX_FAR _BillsHouseText_1e86a
- db "@"
-
-BillsHouseText_1e86f: ; 1e86f (7:686f)
- TX_FAR _BillsHouseText_1e86f
- db "@"
-
BillsHouseText2: ; 1e874 (7:6874)
TX_ASM
- CheckEvent EVENT_GOT_SS_TICKET
- jr nz, .asm_1e8a9
- ld hl, BillThankYouText
- call PrintText
- lb bc, S_S_TICKET, 1
- call GiveItem
- jr nc, .BagFull
- ld hl, SSTicketReceivedText
- call PrintText
- SetEvent EVENT_GOT_SS_TICKET
- ld a, HS_CERULEAN_GUARD_1
- ld [wMissableObjectIndex], a
- predef ShowObject
- ld a, HS_CERULEAN_GUARD_2
- ld [wMissableObjectIndex], a
- predef HideObject
-.asm_1e8a9
- ld hl, BillsHouseText_1e8cb
- call PrintText
- jr .asm_1e8b7
-.BagFull
- ld hl, SSTicketNoRoomText
- call PrintText
-.asm_1e8b7
+ callba Func_f244a
jp TextScriptEnd
-BillThankYouText: ; 1e8ba (7:68ba)
- TX_FAR _BillThankYouText
- db "@"
-
-SSTicketReceivedText: ; 1e8bf (7:68bf)
- TX_FAR _SSTicketReceivedText
- db $11, $6, "@"
-
-SSTicketNoRoomText: ; 1e8c6 (7:68c6)
- TX_FAR _SSTicketNoRoomText
- db "@"
-
-BillsHouseText_1e8cb: ; 1e8cb (7:68cb)
- TX_FAR _BillsHouseText_1e8cb
- db "@"
-
BillsHouseText3: ; 1e8d0 (7:68d0)
TX_ASM
- ld hl, BillsHouseText_1e8da
- call PrintText
+ callba Func_f24a2
jp TextScriptEnd
-
-BillsHouseText_1e8da: ; 1e8da (7:68da)
- TX_FAR _BillsHouseText_1e8da
- db "@"
diff --git a/scripts/billshouse2.asm b/scripts/billshouse2.asm
index 6f62a79f..87a39969 100755
--- a/scripts/billshouse2.asm
+++ b/scripts/billshouse2.asm
@@ -87,7 +87,7 @@ Func_f24ae: ; f24ae
ld a, [wCurMap]
cp BILLS_HOUSE
jr nz, .asm_f24d2
- call CheckPikachuAsleep
+ call CheckPikachuFollowingPlayer
jr z, .asm_f24d2
ld a, [W_BILLSHOUSECURSCRIPT]
cp $5
@@ -120,7 +120,7 @@ Func_f24d5:
ld a, $1
ld [wWhichEmotionBubble], a
predef EmotionBubble
- call SetPikachuAsleep
+ call DisablePikachuFollowingPlayer
callab InitializePikachuTextID
ret
diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm
index be1ed4c8..944a0952 100755
--- a/scripts/celadondiner.asm
+++ b/scripts/celadondiner.asm
@@ -27,39 +27,5 @@ CeladonDinerText4: ; 4916e (12:516e)
CeladonDinerText5: ; 49173 (12:5173)
TX_ASM
- CheckEvent EVENT_GOT_COIN_CASE
- jr nz, .asm_eb14d
- ld hl, CeladonDinerText_491a7
- call PrintText
- lb bc, COIN_CASE, 1
- call GiveItem
- jr nc, .BagFull
- SetEvent EVENT_GOT_COIN_CASE
- ld hl, ReceivedCoinCaseText
- call PrintText
- jr .asm_68b61
-.BagFull
- ld hl, CoinCaseNoRoomText
- call PrintText
- jr .asm_68b61
-.asm_eb14d
- ld hl, CeladonDinerText_491b7
- call PrintText
-.asm_68b61
+ callab Func_f1f31
jp TextScriptEnd
-
-CeladonDinerText_491a7: ; 491a7 (12:51a7)
- TX_FAR _CeladonDinerText_491a7
- db "@"
-
-ReceivedCoinCaseText: ; 491ac (12:51ac)
- TX_FAR _ReceivedCoinCaseText
- db $11, "@"
-
-CoinCaseNoRoomText: ; 491b2 (12:51b2)
- TX_FAR _CoinCaseNoRoomText
- db "@"
-
-CeladonDinerText_491b7: ; 491b7 (12:51b7)
- TX_FAR _CeladonDinerText_491b7
- db "@"
diff --git a/scripts/celadondiner2.asm b/scripts/celadondiner2.asm
new file mode 100755
index 00000000..cfab218b
--- /dev/null
+++ b/scripts/celadondiner2.asm
@@ -0,0 +1,38 @@
+Func_f1f31:
+ CheckEvent EVENT_GOT_COIN_CASE
+ jr nz, .asm_eb14d
+ ld hl, CeladonDinerText_491a7
+ call PrintText
+ lb bc, COIN_CASE, 1
+ call GiveItem
+ jr nc, .BagFull
+ SetEvent EVENT_GOT_COIN_CASE
+ ld hl, ReceivedCoinCaseText
+ call PrintText
+ jr .asm_68b61
+.BagFull
+ ld hl, CoinCaseNoRoomText
+ call PrintText
+ jr .asm_68b61
+.asm_eb14d
+ ld hl, CeladonDinerText_491b7
+ call PrintText
+.asm_68b61
+ ret
+
+CeladonDinerText_491a7: ; 491a7 (12:51a7)
+ TX_FAR _CeladonDinerText_491a7
+ db "@"
+
+ReceivedCoinCaseText: ; 491ac (12:51ac)
+ TX_FAR _ReceivedCoinCaseText
+ TX_SFX_KEY_ITEM
+ db "@"
+
+CoinCaseNoRoomText: ; 491b2 (12:51b2)
+ TX_FAR _CoinCaseNoRoomText
+ db "@"
+
+CeladonDinerText_491b7: ; 491b7 (12:51b7)
+ TX_FAR _CeladonDinerText_491b7
+ db "@"
diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm
index 5fc9cf97..0013be1b 100755
--- a/scripts/celadongamecorner.asm
+++ b/scripts/celadongamecorner.asm
@@ -71,8 +71,12 @@ CeladonGameCornerScript1: ; 48c19 (12:4c19)
.asm_48c43
ld a, [wXCoord]
cp $8
- jr nz, .asm_48c4d
+ jr nz, .pikachu
ld de, MovementData_48c63
+ jr .asm_48c4d
+.pikachu
+ callab Func_f1f23
+ ld de, MovementData_48c5a
.asm_48c4d
ld a, $b
ld [H_SPRITEINDEX], a
@@ -85,8 +89,8 @@ MovementData_48c5a: ; 48c5a (12:4c5a)
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
- db NPC_MOVEMENT_UP
db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_UP
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
@@ -144,7 +148,7 @@ CeladonGameCornerText2: ; 48ca9 (12:4ca9)
ld a, [wCurrentMenuItem]
and a
jr nz, .asm_48d0f
- ld b,COIN_CASE
+ ld b, COIN_CASE
call IsItemInBag
jr z, .asm_48d19
call Has9990Coins
@@ -267,7 +271,8 @@ CeladonGameCornerText_48d9c: ; 48d9c (12:4d9c)
Received10CoinsText: ; 48da1 (12:4da1)
TX_FAR _Received10CoinsText
- db $0B, "@"
+ TX_SFX_ITEM
+ db "@"
CeladonGameCornerText_48da7: ; 48da7 (12:4da7)
TX_FAR _CeladonGameCornerText_48da7
@@ -360,7 +365,7 @@ CeladonGameCornerText10: ; 48e3b (12:4e3b)
jr nz, .asm_48e75
ld hl, CeladonGameCornerText_48e88
call PrintText
- ld b,COIN_CASE
+ ld b, COIN_CASE
call IsItemInBag
jr z, .asm_48e7f
call Has9990Coins
@@ -472,13 +477,11 @@ CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e)
ld hl, wd730
set 6, [hl]
coord hl, 11, 0
- ld b, $5
- ld c, $7
+ lb bc, 5, 7
call TextBoxBorder
call UpdateSprites
coord hl, 12, 1
- ld b, 4
- ld c, 7
+ lb bc, 4, 7
call ClearScreenArea
coord hl, 12, 2
ld de, GameCornerMoneyText
@@ -488,7 +491,7 @@ CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e)
call PlaceString
coord hl, 12, 3
ld de, wPlayerMoney
- ld c, $a3
+ ld c, 3 | MONEY_SIGN | LEADING_ZEROES
call PrintBCDNumber
coord hl, 12, 4
ld de, GameCornerCoinText
diff --git a/scripts/celadonmansion1.asm b/scripts/celadonmansion1.asm
index 857c2e42..b29ee196 100755
--- a/scripts/celadonmansion1.asm
+++ b/scripts/celadonmansion1.asm
@@ -1,5 +1,6 @@
CeladonMansion1Script: ; 48694 (12:4694)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
CeladonMansion1TextPointers: ; 48697 (12:4697)
dw CeladonMansion1Text1
@@ -8,31 +9,39 @@ CeladonMansion1TextPointers: ; 48697 (12:4697)
dw CeladonMansion1Text4
dw CeladonMansion1Text5
-CeladonMansion1_486a1: ; 486a1 (12:46a1)
- call PlayCry
- jp TextScriptEnd
-
CeladonMansion1Text1: ; 486a7 (12:46a7)
TX_FAR _CeladonMansion1Text1
TX_ASM
ld a, MEOWTH
- jp CeladonMansion1_486a1
+ call PlayCry
+ jp TextScriptEnd
CeladonMansion1Text2: ; 486b1 (12:46b1)
- TX_FAR _CeladonMansion1Text2
- db "@"
+ TX_ASM
+ callba Func_f1e70
+ ld a, [wPikachuHappiness]
+ cp 251
+ jr c, .asm_485d9
+ ld c, 50
+ call DelayFrames
+ ldpikacry e, PikachuCry23
+ callab PlayPikachuSoundClip
+.asm_485d9
+ jp TextScriptEnd
CeladonMansion1Text3: ; 486b6 (12:46b6)
TX_FAR _CeladonMansion1Text3
TX_ASM
ld a, CLEFAIRY
- jp CeladonMansion1_486a1
+ call PlayCry
+ jp TextScriptEnd
CeladonMansion1Text4: ; 486c0 (12:46c0)
TX_FAR _CeladonMansion1Text4
TX_ASM
ld a, NIDORAN_F
- jp CeladonMansion1_486a1
+ call PlayCry
+ jp TextScriptEnd
CeladonMansion1Text5: ; 486ca (12:46ca)
TX_FAR _CeladonMansion1Text5
diff --git a/scripts/celadonmansion1_2.asm b/scripts/celadonmansion1_2.asm
new file mode 100755
index 00000000..0e1c2389
--- /dev/null
+++ b/scripts/celadonmansion1_2.asm
@@ -0,0 +1,78 @@
+Func_f1e70:
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld hl, CeladonMansion1Text_f1e96
+ call PrintText
+ callab IsStarterPikachuInOurParty
+ ret nc
+ ld hl, CeladonMansionText_f1e9c
+ call PrintText
+ ld a, $0
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ call Func_f1ea2
+ call PrintText
+ ret
+
+CeladonMansion1Text_f1e96:
+ TX_FAR _CeladonMansion1Text2
+ TX_WAIT_BUTTON
+ db "@"
+
+CeladonMansionText_f1e9c:
+ TX_FAR _CeladonMansion1Text6
+ TX_BUTTON_SOUND
+ db "@"
+
+Func_f1ea2:
+ ld hl, PikachuHappinessThresholds_f1eb9
+.asm_f1ea5
+ ld a, [hli]
+ inc hl
+ and a
+ jr z, .asm_f1eb5
+ ld b, a
+ ld a, [wPikachuHappiness]
+ cp b
+ jr c, .asm_f1eb5
+ inc hl
+ inc hl
+ jr .asm_f1ea5
+
+.asm_f1eb5
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+PikachuHappinessThresholds_f1eb9
+ dw 51, CeladonMansion1Text_f1ed5
+ dw 101, CeladonMansion1Text_f1eda
+ dw 131, CeladonMansion1Text_f1edf
+ dw 161, CeladonMansion1Text_f1ee4
+ dw 201, CeladonMansion1Text_f1ee9
+ dw 255, CeladonMansion1Text_f1eee
+ dbbw 0, $ff, CeladonMansion1Text_f1eee
+
+CeladonMansion1Text_f1ed5:
+ TX_FAR _CeladonMansion1Text7
+ db "@"
+
+CeladonMansion1Text_f1eda:
+ TX_FAR _CeladonMansion1Text8
+ db "@"
+
+CeladonMansion1Text_f1edf:
+ TX_FAR _CeladonMansion1Text9
+ db "@"
+
+CeladonMansion1Text_f1ee4:
+ TX_FAR _CeladonMansion1Text10
+ db "@"
+
+CeladonMansion1Text_f1ee9:
+ TX_FAR _CeladonMansion1Text11
+ db "@"
+
+CeladonMansion1Text_f1eee:
+ TX_FAR _CeladonMansion1Text12
+ db "@"
diff --git a/scripts/celadonmansion3.asm b/scripts/celadonmansion3.asm
index 11a8646d..191d9304 100755
--- a/scripts/celadonmansion3.asm
+++ b/scripts/celadonmansion3.asm
@@ -1,5 +1,13 @@
CeladonMansion3Script: ; 48790 (12:4790)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
+
+CeladonMansion3_PokedexCount:
+ ld hl, wPokedexOwned
+ ld b, wPokedexOwnedEnd - wPokedexOwned
+ call CountSetBits
+ ld a, [wNumSetBits]
+ ret
CeladonMansion3TextPointers: ; 48793 (12:4793)
dw ProgrammerText
@@ -12,31 +20,120 @@ CeladonMansion3TextPointers: ; 48793 (12:4793)
dw GameFreakSignText
ProgrammerText: ; 487a3 (12:47a3)
+ TX_ASM
+ call CeladonMansion3_PokedexCount
+ cp 150
+ ld hl, CeladonMansion3Text_486f5
+ jr nc, .print
+ ld hl, CeladonMansion3Text_486f0
+.print
+ call PrintText
+ jp TextScriptEnd
+
+CeladonMansion3Text_486f0:
TX_FAR _ProgrammerText
db "@"
+CeladonMansion3Text_486f5:
+ TX_FAR _ProgrammerText2
+ db "@"
+
GraphicArtistText: ; 487a8 (12:47a8)
+ TX_ASM
+ call CeladonMansion3_PokedexCount
+ cp 150
+ jr nc, .completed
+ ld hl, CeladonMansion3Text_48757
+ jr .print
+
+.completed
+ ld hl, CeladonMansion3Text_4875c
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ jr nz, .declined_print
+ call SaveScreenTilesToBuffer2
+ xor a
+ ld [wUpdateSpritesEnabled], a
+ ld hl, wd730
+ set 6, [hl]
+ callab Func_e8cb1
+ ld hl, wd730
+ res 6, [hl]
+ call GBPalWhiteOutWithDelay3
+ call ReloadTilesetTilePatterns
+ call RestoreScreenTilesAndReloadTilePatterns
+ call LoadScreenTilesFromBuffer2
+ call Delay3
+ call GBPalNormal
+ ld hl, CeladonMansion3Text_4876b
+ ld a, [$ffdb]
+ and a
+ jr nz, .print
+ ld hl, CeladonMansion3Text_48766
+ jr .print
+
+.declined_print
+ ld hl, CeladonMansion3Text_48761
+.print
+ call PrintText
+ jp TextScriptEnd
+
+CeladonMansion3Text_48757:
TX_FAR _GraphicArtistText
db "@"
+CeladonMansion3Text_4875c:
+ TX_FAR _GraphicArtistText2
+ db "@"
+
+CeladonMansion3Text_48761:
+ TX_FAR _GraphicArtistText3
+ db "@"
+
+CeladonMansion3Text_48766:
+ TX_FAR _GraphicArtistText4
+ db "@"
+
+CeladonMansion3Text_4876b:
+ TX_FAR _GraphicArtistText5
+ db "@"
+
WriterText: ; 487ad (12:47ad)
+ TX_ASM
+ call CeladonMansion3_PokedexCount
+ cp 150
+ ld hl, CeladonMansion3Text_48789
+ jr nc, .print
+ ld hl, CeladonMansion3Text_48784
+.print
+ call PrintText
+ jp TextScriptEnd
+
+CeladonMansion3Text_48784:
TX_FAR _WriterText
db "@"
+CeladonMansion3Text_48789:
+ TX_FAR _WriterText2
+ db "@"
+
DirectorText: ; 487b2 (12:47b2)
TX_ASM
-
+ call CeladonMansion3_PokedexCount
; check pokédex
- ld hl, wPokedexOwned
- ld b, wPokedexOwnedEnd - wPokedexOwned
- call CountSetBits
- ld a, [wNumSetBits]
cp 150
jr nc, .CompletedDex
ld hl, .GameDesigner
jr .done
.CompletedDex
ld hl, .CompletedDexText
+ call PrintText
+ call Delay3
+ xor a
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld hl, .UnlockedDiplomaPrinting
.done
call PrintText
jp TextScriptEnd
@@ -47,25 +144,33 @@ DirectorText: ; 487b2 (12:47b2)
.CompletedDexText
TX_FAR _CompletedDexText
- db $6
+ TX_BUTTON_SOUND
TX_ASM
callab DisplayDiploma
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
jp TextScriptEnd
-GameFreakPCText1: ; 487eb (12:47eb)
- TX_FAR _CeladonMansion3Text5
+.UnlockedDiplomaPrinting
+ TX_FAR _CompletedDexText2
db "@"
+GameFreakPCText1: ; 487eb (12:47eb)
+ TX_ASM
+ callba Func_f1ef3
+ jp TextScriptEnd
+
GameFreakPCText2: ; 487f0 (12:47f0)
- TX_FAR _CeladonMansion3Text6
- db "@"
+ TX_ASM
+ callba Func_f1eff
+ jp TextScriptEnd
GameFreakPCText3: ; 487f5 (12:47f5)
- TX_FAR _CeladonMansion3Text7
- db "@"
+ TX_ASM
+ callba Func_f1f0b
+ jp TextScriptEnd
GameFreakSignText: ; 487fa (12:47fa)
- TX_FAR _CeladonMansion3Text8
- db "@"
+ TX_ASM
+ callba Func_f1f17
+ jp TextScriptEnd
diff --git a/scripts/celadonmansion3_2.asm b/scripts/celadonmansion3_2.asm
new file mode 100755
index 00000000..2d5069d1
--- /dev/null
+++ b/scripts/celadonmansion3_2.asm
@@ -0,0 +1,35 @@
+Func_f1ef3:
+ ld hl, CeladonMansion3Text_f1efa
+ call PrintText
+ ret
+
+CeladonMansion3Text_f1efa: ; 487eb (12:47eb)
+ TX_FAR _CeladonMansion3Text5
+ db "@"
+
+Func_f1eff:
+ ld hl, CeladonMansion3Text_f1f06
+ call PrintText
+ ret
+
+CeladonMansion3Text_f1f06: ; 487f0 (12:47f0)
+ TX_FAR _CeladonMansion3Text6
+ db "@"
+
+Func_f1f0b:
+ ld hl, CeladonMansion3Text_f1f12
+ call PrintText
+ ret
+
+CeladonMansion3Text_f1f12: ; 487f5 (12:47f5)
+ TX_FAR _CeladonMansion3Text7
+ db "@"
+
+Func_f1f17:
+ ld hl, CeladonMansion3Text_f1f1e
+ call PrintText
+ ret
+
+CeladonMansion3Text_f1f1e: ; 487fa (12:47fa)
+ TX_FAR _CeladonMansion3Text8
+ db "@"
diff --git a/scripts/celadonmansion4.asm b/scripts/celadonmansion4.asm
index f9045bcd..475baff3 100755
--- a/scripts/celadonmansion4.asm
+++ b/scripts/celadonmansion4.asm
@@ -1,5 +1,6 @@
CeladonMansion4Script: ; 4886b (12:486b)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
CeladonMansion4TextPointers: ; 4886e (12:486e)
dw CeladonMansion4Text1
diff --git a/scripts/celadonmansion5.asm b/scripts/celadonmansion5.asm
index 6d979e04..346eb6bb 100755
--- a/scripts/celadonmansion5.asm
+++ b/scripts/celadonmansion5.asm
@@ -1,5 +1,6 @@
CeladonMansion5Script: ; 1dd3a (7:5d3a)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
CeladonMansion5TextPointers: ; 1dd3d (7:5d3d)
dw CeladonMansion5Text1
diff --git a/scripts/celadonmart1.asm b/scripts/celadonmart1.asm
index 041af8b3..4f297a6e 100755
--- a/scripts/celadonmart1.asm
+++ b/scripts/celadonmart1.asm
@@ -1,5 +1,6 @@
CeladonMart1Script: ; 60f86 (18:4f86)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
CeladonMart1TextPointers: ; 60f89 (18:4f89)
dw CeladonMart1Text1
diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm
index c6c6ecc7..49e5e84b 100755
--- a/scripts/celadonmart3.asm
+++ b/scripts/celadonmart3.asm
@@ -22,41 +22,9 @@ CeladonMart3TextPointers: ; 48228 (12:4228)
CeladonMart3Text1: ; 4824a (12:424a)
TX_ASM
- CheckEvent EVENT_GOT_TM18
- jr nz, .asm_a5463
- ld hl, TM18PreReceiveText
- call PrintText
- lb bc, TM_18, 1
- call GiveItem
- jr nc, .BagFull
- SetEvent EVENT_GOT_TM18
- ld hl, ReceivedTM18Text
- jr .asm_81359
-.BagFull
- ld hl, TM18NoRoomText
- jr .asm_81359
-.asm_a5463
- ld hl, TM18ExplanationText
-.asm_81359
- call PrintText
+ callab Func_f1e30
jp TextScriptEnd
-TM18PreReceiveText: ; 48278 (12:4278)
- TX_FAR _TM18PreReceiveText
- db "@"
-
-ReceivedTM18Text: ; 4827d (12:427d)
- TX_FAR _ReceivedTM18Text
- db $0B, "@"
-
-TM18ExplanationText: ; 48283 (12:4283)
- TX_FAR _TM18ExplanationText
- db "@"
-
-TM18NoRoomText: ; 48288 (12:4288)
- TX_FAR _TM18NoRoomText
- db "@"
-
CeladonMart3Text2: ; 4828d (12:428d)
TX_FAR _CeladonMart3Text2
db "@"
diff --git a/scripts/celadonmart3_2.asm b/scripts/celadonmart3_2.asm
new file mode 100755
index 00000000..1c9f0db1
--- /dev/null
+++ b/scripts/celadonmart3_2.asm
@@ -0,0 +1,38 @@
+Func_f1e30
+ CheckEvent EVENT_GOT_TM18
+ jr nz, .asm_f1e54
+ ld hl, CeladonMart3Text_f1e5b
+ call PrintText
+ lb bc, TM_18, 1
+ call GiveItem
+ jr nc, .asm_f1e4f
+ SetEvent EVENT_GOT_TM18
+ ld hl, CeladonMart3Text_f1e60
+ jr .asm_f1e57
+
+.asm_f1e4f
+ ld hl, CeladonMart3Text_f1e6b
+ jr .asm_f1e57
+
+.asm_f1e54
+ ld hl, CeladonMart3Text_f1e66
+.asm_f1e57
+ call PrintText
+ ret
+
+CeladonMart3Text_f1e5b:
+ TX_FAR _TM18PreReceiveText
+ db "@"
+
+CeladonMart3Text_f1e60:
+ TX_FAR _ReceivedTM18Text
+ TX_SFX_ITEM
+ db "@"
+
+CeladonMart3Text_f1e66:
+ TX_FAR _TM18ExplanationText
+ db "@"
+
+CeladonMart3Text_f1e6b:
+ TX_FAR _TM18NoRoomText
+ db "@"
diff --git a/scripts/celadonmart5.asm b/scripts/celadonmart5.asm
index 9bd7f991..bf63a7cc 100755
--- a/scripts/celadonmart5.asm
+++ b/scripts/celadonmart5.asm
@@ -1,5 +1,6 @@
CeladonMart5Script: ; 49069 (12:5069)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
CeladonMart5TextPointers: ; 4906c (12:506c)
dw CeladonMart5Text1
diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm
index 439ab62e..4d819be7 100755
--- a/scripts/celadonmartroof.asm
+++ b/scripts/celadonmartroof.asm
@@ -1,5 +1,6 @@
CeladonMartRoofScript: ; 483d5 (12:43d5)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
CeladonMartRoofScript_GetDrinksInBag: ; 483d8 (12:43d8)
; construct a list of all drinks in the player's bag
@@ -71,7 +72,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: ; 4840c (12:440c)
ld hl, wd730
res 6, [hl]
call HandleMenuInput
- bit 1, a ; pressed b
+ bit BIT_B_BUTTON, a ; pressed b
ret nz
ld hl, wFilteredBagItems
ld a, [wCurrentMenuItem]
@@ -125,13 +126,16 @@ CeladonMartRoofScript_GiveDrinkToGirl: ; 4840c (12:440c)
ret
.bagFull
ld hl, CeladonMartRoofText_48526
- jp PrintText
+ call PrintText
+ ret
.alreadyGaveDrink
ld hl, CeladonMartRoofText_4852c
- jp PrintText
+ call PrintText
+ ret
RemoveItemByIDBank12: ; 484e6 (12:44e6)
- jpba RemoveItemByID
+ callba RemoveItemByID
+ ret
CeladonMartRoofText_484ee: ; 484ee (12:44ee)
TX_FAR _CeladonMartRoofText_484ee
@@ -248,7 +252,7 @@ CeladonMartRoofText4: ; 4859d (12:459d)
db "@"
CeladonMartRoofText5: ; 485a2 (12:45a2)
- db $f5
+ TX_VENDING_MACHINE
CeladonMartRoofText6: ; 485a3 (12:45a3)
TX_FAR _CeladonMartRoofText6
diff --git a/scripts/celadonpokecenter.asm b/scripts/celadonpokecenter.asm
index 1b8d3a1b..4ff71c43 100755
--- a/scripts/celadonpokecenter.asm
+++ b/scripts/celadonpokecenter.asm
@@ -7,12 +7,13 @@ CeladonPokecenterTextPointers: ; 488be (12:48be)
dw CeladonPokecenterText2
dw CeladonPokecenterText3
dw CeladonPokecenterText4
+ dw CeladonPokecenterText5
CeladonPokecenterText4: ; 488c6 (12:48c6)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
CeladonPokecenterText1: ; 488c7 (12:48c7)
- db $ff
+ TX_POKECENTER_NURSE
CeladonPokecenterText2: ; 488c8 (12:48c8)
TX_FAR _CeladonPokecenterText2
@@ -21,3 +22,8 @@ CeladonPokecenterText2: ; 488c8 (12:48c8)
CeladonPokecenterText3: ; 488cd (12:48cd)
TX_FAR _CeladonPokecenterText3
db "@"
+
+CeladonPokecenterText5:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/celadonprizeroom.asm b/scripts/celadonprizeroom.asm
index 2cfd01d0..980778fe 100755
--- a/scripts/celadonprizeroom.asm
+++ b/scripts/celadonprizeroom.asm
@@ -17,4 +17,4 @@ CeladonPrizeRoomText2: ; 49102 (12:5102)
db "@"
CeladonPrizeRoomText3: ; 49107 (12:5107)
- db $f7
+ TX_PRIZE_VENDOR
diff --git a/scripts/ceruleanpokecenter.asm b/scripts/ceruleanpokecenter.asm
index f4eb68ae..5ee5d4a2 100755
--- a/scripts/ceruleanpokecenter.asm
+++ b/scripts/ceruleanpokecenter.asm
@@ -10,10 +10,10 @@ CeruleanPokecenterTextPointers: ; 5c64b (17:464b)
dw CeruleanPokecenterText5
CeruleanPokecenterText4: ; 5c653 (17:4653)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
CeruleanPokecenterText1: ; 5c654 (17:4654)
- db $ff
+ TX_POKECENTER_NURSE
CeruleanPokecenterText2: ; 5c655 (17:4655)
TX_FAR _CeruleanPokecenterText1
@@ -25,5 +25,5 @@ CeruleanPokecenterText3: ; 5c65a (17:465a)
CeruleanPokecenterText5:
TX_ASM
- callab Func_f0f12
+ callab PokecenterChanseyText
jp TextScriptEnd
diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm
index c5d462b3..8ae77507 100755
--- a/scripts/cinnabargym.asm
+++ b/scripts/cinnabargym.asm
@@ -35,11 +35,14 @@ CinnabarGymScript_75792: ; 75792 (1d:5792)
ld [wOpponentAfterWrongAnswer], a
ret
-CinnabarGymScript_757a0: ; 757a0 (1d:57a0)
+CinnabarGymScript_74f48: ; 757a0 (1d:57a0)
ld a, [hSpriteIndexOrTextID]
ld [wTrainerHeaderFlagBit], a
ret
+CinnabarGymFlagAction: ; 757f1 (1d:57f1)
+ predef_jump FlagActionPredef
+
CinnabarGymScriptPointers: ; 757a6 (1d:57a6)
dw CinnabarGymScript0
dw CinnabarGymScript1
@@ -55,12 +58,18 @@ CinnabarGymScript0: ; 757ae (1d:57ae)
jr nz, .asm_757c3
ld a, PLAYER_DIR_DOWN
ld [wPlayerMovingDirection], a
+ ld hl, PikachuMovementData_74f97
+ ld b, SPRITE_FACING_DOWN
+ call CinnabarGymScript_74fa3
ld de, MovementData_757d7
jr .asm_757cb
.asm_757c3
- ld de, MovementData_757da
ld a, PLAYER_DIR_RIGHT
ld [wPlayerMovingDirection], a
+ ld hl, PikachuMovementData_74f9e
+ ld b, SPRITE_FACING_RIGHT
+ call CinnabarGymScript_74fa3
+ ld de, MovementData_757da
.asm_757cb
call MoveSprite
ld a, $1
@@ -73,10 +82,39 @@ MovementData_757d7: ; 757d7 (1d:57d7)
db NPC_MOVEMENT_UP
db $FF
+PikachuMovementData_74f97:
+ db $00
+ db $20
+ db $1e
+ db $35
+ db $3f
+
MovementData_757da: ; 757da (1d:57da)
db NPC_MOVEMENT_LEFT
db $FF
+PikachuMovementData_74f9e:
+ db $00
+ db $1d
+ db $1f
+ db $38
+ db $3f
+
+CinnabarGymScript_74fa3:
+ ld a, [wd472]
+ bit 7, a
+ ret z
+ push hl
+ push bc
+ callab GetPikachuFacingDirectionAndReturnToE
+ pop bc
+ pop hl
+ ld a, b
+ cp e
+ ret nz
+ call Func_159b
+ ret
+
CinnabarGymScript1: ; 757dc (1d:57dc)
ld a, [wd730]
bit 0, a
@@ -88,52 +126,74 @@ CinnabarGymScript1: ; 757dc (1d:57dc)
ld [hSpriteIndexOrTextID], a
jp DisplayTextID
-CinnabarGymFlagAction: ; 757f1 (1d:57f1)
- predef_jump FlagActionPredef
-
CinnabarGymScript2: ; 757f6 (1d:57f6)
+ call CinnabarGymScript_753e9
ld a, [wIsInBattle]
cp $ff
jp z, CinnabarGymScript_75792
ld a, [wTrainerHeaderFlagBit]
- ld [$ffdb], a
- AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2
+ sub 2
ld c, a
ld b, FLAG_TEST
- EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
+ EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED
call CinnabarGymFlagAction
ld a, c
and a
- jr nz, .asm_7581b
+ jr nz, .asm_7500d
+ ld a, [wTrainerHeaderFlagBit]
+ cp 2
+ jr z, .asm_7500d
+ ld c, 30
+ call DelayFrames
+ call CinnabarGymScript_75023
+ call CinnabarGymScript_75041
call WaitForSoundToFinish
ld a, SFX_GO_INSIDE
call PlaySound
call WaitForSoundToFinish
-.asm_7581b
+ jr .asm_75013
+.asm_7500d
+ call CinnabarGymScript_75023
+ call CinnabarGymScript_75041
+.asm_75013
+ xor a
+ ld [wJoyIgnore], a
+ ld [wOpponentAfterWrongAnswer], a
+ ld a, $0
+ ld [W_CINNABARGYMCURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+CinnabarGymScript_75023:
ld a, [wTrainerHeaderFlagBit]
ld [$ffdb], a
- AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2
ld c, a
ld b, FLAG_SET
EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
call CinnabarGymFlagAction
+ ret
+
+CinnabarGymScript_75032:
ld a, [wTrainerHeaderFlagBit]
- sub $2
- AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0
+ ld [$ffdb], a
+ ld c, a
+ ld b, FLAG_TEST
+ EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
+ call CinnabarGymFlagAction
+ ret
+
+CinnabarGymScript_75041:
+ ld a, [wTrainerHeaderFlagBit]
+ sub 2
ld c, a
ld b, FLAG_SET
EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED
call CinnabarGymFlagAction
call UpdateCinnabarGymGateTileBlocks
- xor a
- ld [wJoyIgnore], a
- ld [wOpponentAfterWrongAnswer], a
- ld a, $0
- ld [W_CINNABARGYMCURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
ret
CinnabarGymScript3: ; 7584a (1d:584a)
+ call CinnabarGymScript_753e9
ld a, [wIsInBattle]
cp $ff
jp z, CinnabarGymScript_75792
@@ -184,7 +244,7 @@ CinnabarGymTextPointers: ; 7589f (1d:589f)
dw ReceivedTM38Text
dw TM38NoRoomText
-CinnabarGymScript_758b7: ; 758b7 (1d:58b7)
+CinnabarGymScript_750c3: ; 758b7 (1d:58b7)
ld a, [hSpriteIndexOrTextID]
ld [wSpriteIndex], a
call EngageMapTrainer
@@ -225,7 +285,7 @@ CinnabarGymText1: ; 758df (1d:58df)
call SaveEndBattleTextPointers
ld a, $7
ld [wGymLeaderNo], a
- jp CinnabarGymScript_758b7
+ jp CinnabarGymScript_750c3
BlaineBattleText: ; 75914 (1d:5914)
TX_FAR _BlaineBattleText
@@ -257,7 +317,7 @@ TM38NoRoomText: ; 75934 (1d:5934)
CinnabarGymText2: ; 75939 (1d:5939)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0
jr nz, .asm_46bb4
ld hl, CinnabarGymText_7595f
@@ -265,7 +325,7 @@ CinnabarGymText2: ; 75939 (1d:5939)
ld hl, CinnabarGymText_75964
ld de, CinnabarGymText_75964
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
+ jp CinnabarGymScript_750c3
.asm_46bb4
ld hl, CinnabarGymText_75969
call PrintText
@@ -285,16 +345,25 @@ CinnabarGymText_75969: ; 75969 (1d:5969)
CinnabarGymText3: ; 7596e (1d:596e)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1
- jr nz, .asm_4b406
+ jr nz, .asm_751a8
+ call CinnabarGymScript_753f3
+ jr nz, .asm_75196
+ CheckEvent EVENT_CINNABAR_GYM_GATE1_UNLOCKED
+ jr nz, .asm_75196
+ ld e, $00
+ jp CinnabarGymScript_753de
+
+.asm_75196
ld hl, CinnabarGymText_75994
call PrintText
ld hl, CinnabarGymText_75999
ld de, CinnabarGymText_75999
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
-.asm_4b406
+ jp CinnabarGymScript_750c3
+
+.asm_751a8
ld hl, CinnabarGymText_7599e
call PrintText
jp TextScriptEnd
@@ -313,16 +382,24 @@ CinnabarGymText_7599e: ; 7599e (1d:599e)
CinnabarGymText4: ; 759a3 (1d:59a3)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2
- jr nz, .asm_c0673
+ jr nz, .asm_751ee
+ call CinnabarGymScript_753f3
+ jr nz, .asm_751dc
+ CheckEvent EVENT_CINNABAR_GYM_GATE2_UNLOCKED
+ jr nz, .asm_751dc
+ ld e, $1
+ jp CinnabarGymScript_753de
+
+.asm_751dc
ld hl, CinnabarGymText_759c9
call PrintText
ld hl, CinnabarGymText_759ce
ld de, CinnabarGymText_759ce
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
-.asm_c0673
+ jp CinnabarGymScript_750c3
+.asm_751ee
ld hl, CinnabarGymText_759d3
call PrintText
jp TextScriptEnd
@@ -341,16 +418,24 @@ CinnabarGymText_759d3: ; 759d3 (1d:59d3)
CinnabarGymText5: ; 759d8 (1d:59d8)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3
- jr nz, .asm_5cfd7
+ jr nz, .asm_75234
+ call CinnabarGymScript_753f3
+ jr nz, .asm_75222
+ CheckEvent EVENT_CINNABAR_GYM_GATE3_UNLOCKED
+ jr nz, .asm_75222
+ ld e, $2
+ jp CinnabarGymScript_753de
+
+.asm_75222
ld hl, CinnabarGymText_759fe
call PrintText
ld hl, CinnabarGymText_75a03
ld de, CinnabarGymText_75a03
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
-.asm_5cfd7
+ jp CinnabarGymScript_750c3
+.asm_75234
ld hl, CinnabarGymText_75a08
call PrintText
jp TextScriptEnd
@@ -369,15 +454,23 @@ CinnabarGymText_75a08: ; 75a08 (1d:5a08)
CinnabarGymText6: ; 75a0d (1d:5a0d)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4
jr nz, .asm_776b4
+ call CinnabarGymScript_753f3
+ jr nz, .asm_75222
+ CheckEvent EVENT_CINNABAR_GYM_GATE4_UNLOCKED
+ jr nz, .asm_75222
+ ld e, $3
+ jp CinnabarGymScript_753de
+
+.asm_75222
ld hl, CinnabarGymText_75a33
call PrintText
ld hl, CinnabarGymText_75a38
ld de, CinnabarGymText_75a38
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
+ jp CinnabarGymScript_750c3
.asm_776b4
ld hl, CinnabarGymText_75a3d
call PrintText
@@ -397,15 +490,23 @@ CinnabarGymText_75a3d: ; 75a3d (1d:5a3d)
CinnabarGymText7: ; 75a42 (1d:5a42)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5
jr nz, .asm_2f755
+ call CinnabarGymScript_753f3
+ jr nz, .asm_75222
+ CheckEvent EVENT_CINNABAR_GYM_GATE5_UNLOCKED
+ jr nz, .asm_75222
+ ld e, $4
+ jp CinnabarGymScript_753de
+
+.asm_75222
ld hl, CinnabarGymText_75a68
call PrintText
ld hl, CinnabarGymText_75a6d
ld de, CinnabarGymText_75a6d
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
+ jp CinnabarGymScript_750c3
.asm_2f755
ld hl, CinnabarGymText_75a72
call PrintText
@@ -425,15 +526,23 @@ CinnabarGymText_75a72: ; 75a72 (1d:5a72)
CinnabarGymText8: ; 75a77 (1d:5a77)
TX_ASM
- call CinnabarGymScript_757a0
+ call CinnabarGymScript_74f48
CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6
jr nz, .asm_d87be
+ call CinnabarGymScript_753f3
+ jr nz, .asm_75222
+ CheckEvent EVENT_CINNABAR_GYM_GATE6_UNLOCKED
+ jr nz, .asm_75222
+ ld e, $5
+ jp CinnabarGymScript_753de
+
+.asm_75222
ld hl, CinnabarGymText_75a9d
call PrintText
ld hl, CinnabarGymText_75aa2
ld de, CinnabarGymText_75aa2
call SaveEndBattleTextPointers
- jp CinnabarGymScript_758b7
+ jp CinnabarGymScript_750c3
.asm_d87be
ld hl, CinnabarGymText_75aa7
call PrintText
@@ -453,20 +562,5 @@ CinnabarGymText_75aa7: ; 75aa7 (1d:5aa7)
CinnabarGymText9: ; 75aac (1d:5aac)
TX_ASM
- CheckEvent EVENT_BEAT_BLAINE
- jr nz, .asm_627d9
- ld hl, CinnabarGymText_75ac2
- jr .asm_0b11d
-.asm_627d9
- ld hl, CinnabarGymText_75ac7
-.asm_0b11d
- call PrintText
+ callab Func_f2133
jp TextScriptEnd
-
-CinnabarGymText_75ac2: ; 75ac2 (1d:5ac2)
- TX_FAR _CinnabarGymText_75ac2
- db "@"
-
-CinnabarGymText_75ac7: ; 75ac7 (1d:5ac7)
- TX_FAR _CinnabarGymText_75ac7
- db "@"
diff --git a/scripts/cinnabargym2.asm b/scripts/cinnabargym2.asm
new file mode 100755
index 00000000..a85a3206
--- /dev/null
+++ b/scripts/cinnabargym2.asm
@@ -0,0 +1,64 @@
+Func_f2133:
+ CheckEvent EVENT_BEAT_BLAINE
+ jr nz, .asm_627d9
+ ld hl, CinnabarGymText_75ac2
+ jr .asm_0b11d
+.asm_627d9
+ ld hl, CinnabarGymText_75ac7
+.asm_0b11d
+ call PrintText
+ ret
+
+CinnabarGymText_75ac2: ; 75ac2 (1d:5ac2)
+ TX_FAR _CinnabarGymText_75ac2
+ db "@"
+
+CinnabarGymText_75ac7: ; 75ac7 (1d:5ac7)
+ TX_FAR _CinnabarGymText_75ac7
+ db "@"
+
+Func_f2150:
+ ld hl, TextPointers_f215d
+ ld d, 0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp PrintText
+
+TextPointers_f215d:
+ dw CinnabarGymText_f2169
+ dw CinnabarGymText_f216e
+ dw CinnabarGymText_f2173
+ dw CinnabarGymText_f2178
+ dw CinnabarGymText_f217d
+ dw CinnabarGymText_f2182
+
+CinnabarGymText_f2169:
+ TX_FAR _CinnabarGymText_1
+ db "@"
+
+CinnabarGymText_f216e:
+ TX_FAR _CinnabarGymText_2
+ db "@"
+
+CinnabarGymText_f2173:
+ TX_FAR _CinnabarGymText_3
+ db "@"
+
+CinnabarGymText_f2178:
+ TX_FAR _CinnabarGymText_4
+ db "@"
+
+CinnabarGymText_f217d:
+ TX_FAR _CinnabarGymText_5
+ db "@"
+
+CinnabarGymText_f2182:
+ TX_FAR _CinnabarGymText_6
+ db "@"
+
+CinnabarGymText_f2187:
+ TX_FAR _CinnabarGymText_7 ; unused
+ db "@"
diff --git a/scripts/cinnabarpokecenter.asm b/scripts/cinnabarpokecenter.asm
index abae9d8d..fd49ae85 100755
--- a/scripts/cinnabarpokecenter.asm
+++ b/scripts/cinnabarpokecenter.asm
@@ -7,9 +7,10 @@ CinnabarPokecenterTextPointers: ; 75e32 (1d:5e32)
dw CinnabarPokecenterText2
dw CinnabarPokecenterText3
dw CinnabarPokecenterText4
+ dw CinnabarPokecenterText5
CinnabarPokecenterText1: ; 75e3a (1d:5e3a)
- db $ff
+ TX_POKECENTER_NURSE
CinnabarPokecenterText2: ; 75e3b (1d:5e3b)
TX_FAR _CinnabarPokecenterText1
@@ -20,4 +21,9 @@ CinnabarPokecenterText3: ; 75e40 (1d:5e40)
db "@"
CinnabarPokecenterText4: ; 75e45 (1d:5e45)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
+
+CinnabarPokecenterText5:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm
index cbafc034..a03fd2d7 100755
--- a/scripts/fanclub.asm
+++ b/scripts/fanclub.asm
@@ -1,15 +1,72 @@
FanClubScript: ; 59b70 (16:5b70)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ld hl, FanClubScriptPointers
+ ld a, [W_FANCLUBCURSCRIPT]
+ call JumpTable
+ ret
-FanClubBikeInBag:
-; check if any bike paraphernalia in bag
- CheckEvent EVENT_GOT_BIKE_VOUCHER
- ret nz
- ld b, BICYCLE
- call IsItemInBag
- ret nz
- ld b, BIKE_VOUCHER
- jp IsItemInBag
+FanClubScriptPointers:
+ dw FanClubScript1
+ dw FanClubScript2
+
+FanClubScript1:
+ ld hl, wPreventBlackout
+ bit 7, [hl]
+ call z, FanClubScript_59a44
+ ld hl, wPreventBlackout
+ set 7, [hl]
+ ret
+
+FanClubScript2:
+ ld hl, wPreventBlackout
+ bit 7, [hl]
+ call z, FanClubScript_59a39
+ ld hl, wPreventBlackout
+ set 7, [hl]
+ ret
+
+FanClubScript_59a39:
+ call Random
+ ld a, [hRandomAdd]
+ cp 25
+ call c, FanClubScript_59a44
+ ret
+
+FanClubScript_59a44:
+ ld a, [wd472]
+ bit 7, a
+ ret z
+ callab Func_fce73
+ ret c
+ ld a, $1
+ ld [W_FANCLUBCURSCRIPT], a
+ xor a
+ ld [wPlayerMovingDirection], a
+ call UpdateSprites
+ call UpdateSprites
+ ld a, $0
+ ld [wWhichEmotionBubble], a
+ ld a, $f ; Pikachu
+ ld [wEmotionBubbleSpriteIndex], a
+ predef EmotionBubble
+ ld hl, PikachuMovementScript_59a8c
+ call Func_159b
+ ld a, $2
+ ld [wSpriteStateData1 + 3 * $10 + 1], a ; Seel
+ xor a ; SPRITE_FACING_DOWN
+ ld [wSpriteStateData1 + 3 * $10 + 9], a
+ callab InitializePikachuTextID
+ call DisablePikachuFollowingPlayer
+ ret
+
+PikachuMovementScript_59a8c:
+ db $00
+ db $26
+ db $20
+ db $20
+ db $20
+ db $1e
+ db $3f
FanClubTextPointers: ; 59b84 (16:5b84)
dw FanClubText1
@@ -18,22 +75,28 @@ FanClubTextPointers: ; 59b84 (16:5b84)
dw FanClubText4
dw FanClubText5
dw FanClubText6
- dw FanClubText7
- dw FanClubText8
FanClubText1:
-; pikachu fan
+; clefairy fan
TX_ASM
- CheckEvent EVENT_PIKACHU_FAN_BOAST
+ CheckEventHL EVENT_152
+ jr z, .asm_59aaf
+ ld hl, .yellowtext
+ call PrintText
+ jr .done
+
+.asm_59aaf
+ CheckEventReuseHL EVENT_PIKACHU_FAN_BOAST
jr nz, .mineisbetter
+ SetEventReuseHL EVENT_SEEL_FAN_BOAST
ld hl, .normaltext
call PrintText
- SetEvent EVENT_SEEL_FAN_BOAST
jr .done
+
.mineisbetter
+ ResetEventReuseHL EVENT_PIKACHU_FAN_BOAST
ld hl, .bettertext
call PrintText
- ResetEvent EVENT_PIKACHU_FAN_BOAST
.done
jp TextScriptEnd
@@ -45,19 +108,29 @@ FanClubText1:
TX_FAR PikachuFanBetterText
db "@"
+.yellowtext
+ TX_FAR PikachuFanPrintText
+ db "@"
+
FanClubText2:
; seel fan
TX_ASM
- CheckEvent EVENT_SEEL_FAN_BOAST
+ CheckEventHL EVENT_152
+ jr z, .asm_59ae7
+ ld hl, .yellowtext
+ call PrintText
+ jr .done
+.asm_59ae7
+ CheckEventReuseHL EVENT_SEEL_FAN_BOAST
jr nz, .mineisbetter
+ SetEventReuseHL EVENT_PIKACHU_FAN_BOAST
ld hl, .normaltext
call PrintText
- SetEvent EVENT_PIKACHU_FAN_BOAST
jr .done
.mineisbetter
+ ResetEventReuseHL EVENT_SEEL_FAN_BOAST
ld hl, .bettertext
call PrintText
- ResetEvent EVENT_SEEL_FAN_BOAST
.done
jp TextScriptEnd
@@ -69,12 +142,16 @@ FanClubText2:
TX_FAR SeelFanBetterText
db "@"
+.yellowtext
+ TX_FAR SeelFanPrintText
+ db "@"
+
FanClubText3:
; pikachu
TX_ASM
ld hl, .text
call PrintText
- ld a, PIKACHU
+ ld a, CLEFAIRY
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
@@ -100,74 +177,131 @@ FanClubText4:
FanClubText5:
; chair
TX_ASM
- call FanClubBikeInBag
- jr nz, .nothingleft
-
- ld hl, .meetchairtext
+ CheckEventHL EVENT_152
+ jr z, .check_bike_voucher
+ ld hl, Text_59c1f
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
- jr nz, .nothanks
+ jr z, .select_mon_to_print
+ ld hl, Text_59c24
+ jr .gbpals_print_text
- ; tell the story
- ld hl, .storytext
+.check_bike_voucher
+ CheckEvent EVENT_GOT_BIKE_VOUCHER
+ jr nz, .got_bike_voucher_already
+ ld hl, Text_59bfc
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ jr nz, .declined_story
+ ld hl, Text_59c01
call PrintText
lb bc, BIKE_VOUCHER, 1
call GiveItem
- jr nc, .BagFull
- ld hl, .receivedvouchertext
+ jr nc, .no_room_for_voucher
+ ld hl, Text_59c06
call PrintText
SetEvent EVENT_GOT_BIKE_VOUCHER
- jr .done
-.BagFull
- ld hl, .bagfulltext
- call PrintText
- jr .done
-.nothanks
- ld hl, .nostorytext
- call PrintText
- jr .done
-.nothingleft
- ld hl, .finaltext
+ jp TextScriptEnd
+
+.no_room_for_voucher
+ ld hl, Text_59c1a
+ jr .gbpals_print_text
+
+.declined_story
+ ld hl, Text_59c10
+ jr .gbpals_print_text
+
+.got_bike_voucher_already
+ ld hl, Text_59c15
+.gbpals_print_text
+ push hl
+ call LoadGBPal
+ pop hl
call PrintText
-.done
jp TextScriptEnd
-.meetchairtext
+.select_mon_to_print
+ call GBPalWhiteOutWithDelay3
+ call LoadCurrentMapView
+ call SaveScreenTilesToBuffer2
+ ld a, $ff
+ ld [wUpdateSpritesEnabled], a
+ ld a, $00
+ ld [wTempTilesetNumTiles], a
+ call DisplayPartyMenu
+ jp nc, .print
+ call GBPalWhiteOutWithDelay3
+ call RestoreScreenTilesAndReloadTilePatterns
+ ld hl, Text_59c24
+ jr .gbpals_print_text
+
+.print
+ xor a
+ ld [wUpdateSpritesEnabled], a
+ ld hl, wd730
+ set 6, [hl]
+ callab Func_e8e24
+ ld hl, wd730
+ res 6, [hl]
+ call GBPalWhiteOutWithDelay3
+ call ReloadTilesetTilePatterns
+ call RestoreScreenTilesAndReloadTilePatterns
+ call LoadScreenTilesFromBuffer2
+ call Delay3
+ call GBPalNormal
+ ld hl, Text_59c2e
+ ld a, [hOaksAideResult]
+ and a
+ jr nz, .gbpals_print_text
+ ld hl, Text_59c29
+ jr .gbpals_print_text
+
+Text_59bfc:
TX_FAR FanClubMeetChairText
db "@"
-.storytext
+Text_59c01:
TX_FAR FanClubChairStoryText
db "@"
-.receivedvouchertext
+Text_59c06:
TX_FAR ReceivedBikeVoucherText
- db $11
+ TX_SFX_KEY_ITEM
TX_FAR ExplainBikeVoucherText
db "@"
-.nostorytext
+Text_59c10:
TX_FAR FanClubNoStoryText
db "@"
-.finaltext
+Text_59c15:
TX_FAR FanClubChairFinalText
db "@"
-.bagfulltext
+Text_59c1a:
TX_FAR FanClubBagFullText
db "@"
-FanClubText6: ; 59c88 (16:5c88)
- TX_FAR _FanClubText6
+Text_59c1f:
+ TX_FAR FanClubChairPrintText1
+ db "@"
+
+Text_59c24:
+ TX_FAR FanClubChairPrintText2
+ db "@"
+
+Text_59c29:
+ TX_FAR FanClubChairPrintText3
db "@"
-FanClubText7: ; 59c8d (16:5c8d)
- TX_FAR _FanClubText7
+Text_59c2e:
+ TX_FAR FanClubChairPrintText4
db "@"
-FanClubText8: ; 59c92 (16:5c92)
- TX_FAR _FanClubText8
+FanClubText6: ; 59c88 (16:5c88)
+ TX_FAR _FanClubText6
db "@"
diff --git a/scripts/fuchsiamart.asm b/scripts/fuchsiamart.asm
index 792dafa2..41aec49a 100755
--- a/scripts/fuchsiamart.asm
+++ b/scripts/fuchsiamart.asm
@@ -1,5 +1,6 @@
FuchsiaMartScript: ; 1dd88 (7:5d88)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
FuchsiaMartTextPointers: ; 1dd8b (7:5d8b)
dw FuchsiaMartText1
diff --git a/scripts/fuchsiapokecenter.asm b/scripts/fuchsiapokecenter.asm
index 26f88844..2ad3ac01 100755
--- a/scripts/fuchsiapokecenter.asm
+++ b/scripts/fuchsiapokecenter.asm
@@ -7,6 +7,7 @@ FuchsiaPokecenterTextPointers: ; 75069 (1d:5069)
dw FuchsiaPokecenterText2
dw FuchsiaPokecenterText3
dw FuchsiaPokecenterText4
+ dw FuchsiaPokecenterText5
FuchsiaPokecenterText1: ; 75071 (1d:5071)
db $ff
@@ -21,3 +22,8 @@ FuchsiaPokecenterText3: ; 75077 (1d:5077)
FuchsiaPokecenterText4: ; 7507c (1d:507c)
db $f6
+
+FuchsiaPokecenterText5:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/gary.asm b/scripts/gary.asm
index 64734c58..290bd753 100755
--- a/scripts/gary.asm
+++ b/scripts/gary.asm
@@ -2,7 +2,8 @@ GaryScript: ; 75f1d (1d:5f1d)
call EnableAutoTextBoxDrawing
ld hl, GaryScriptPointers
ld a, [W_GARYCURSCRIPT]
- jp JumpTable
+ call JumpTable
+ ret
GaryScript_75f29: ; 75f29 (1d:5f29)
xor a
@@ -40,9 +41,9 @@ GaryScript1: ; 75f48 (1d:5f48)
ret
RLEMovement75f63: ; 75f63 (1d:5f63)
- db D_UP,1
- db D_RIGHT,1
- db D_UP,3
+ db D_UP, 1
+ db D_RIGHT, 1
+ db D_UP, 3
db $ff
GaryScript2: ; 75f6a (1d:5f6a)
@@ -69,18 +70,7 @@ GaryScript2: ; 75f6a (1d:5f6a)
; select which team to use during the encounter
ld a, [W_RIVALSTARTER]
- cp STARTER2
- jr nz, .NotSquirtle
- ld a, $1
- jr .done
-.NotSquirtle
- cp STARTER3
- jr nz, .Charmander
- ld a, $2
- jr .done
-.Charmander
- ld a, $3
-.done
+ add $0 ; Wow GameFreak
ld [wTrainerNo], a
xor a
@@ -217,8 +207,8 @@ GaryScript9: ; 76099 (1d:6099)
ret
RLEMovement760b4: ; 760b4 (1d:60b4)
- db D_UP,4
- db D_LEFT,1
+ db D_UP, 4
+ db D_LEFT, 1
db $ff
GaryScript10: ; 760b9 (1d:60b9)
diff --git a/scripts/indigoplateaulobby.asm b/scripts/indigoplateaulobby.asm
index 7655d8c7..c639adb7 100755
--- a/scripts/indigoplateaulobby.asm
+++ b/scripts/indigoplateaulobby.asm
@@ -20,9 +20,10 @@ IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f)
dw IndigoPlateauLobbyText3
dw IndigoPlateauLobbyText4
dw IndigoPlateauLobbyText5
+ dw IndigoPlateauLobbyText6
IndigoPlateauLobbyText1: ; 19c89 (6:5c89)
- db $ff
+ TX_POKECENTER_NURSE
IndigoPlateauLobbyText2: ; 19c8a (6:5c8a)
TX_FAR _IndigoPlateauLobbyText1
@@ -33,4 +34,9 @@ IndigoPlateauLobbyText3: ; 19c8f (6:5c8f)
db "@"
IndigoPlateauLobbyText5: ; 19c94 (6:5c94)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
+
+IndigoPlateauLobbyText6:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/lance.asm b/scripts/lance.asm
index 4d9d393c..564e7ef1 100755
--- a/scripts/lance.asm
+++ b/scripts/lance.asm
@@ -17,22 +17,21 @@ LanceScript_5a2c4: ; 5a2c4 (16:62c4)
jr nz, .asm_5a2da
ld a, $31
ld b, $32
- jp LanceScript_5a2de
+ jp .asm_5a2de
+
.asm_5a2da
ld a, $72
ld b, $73
-
-LanceScript_5a2de: ; 5a2de (16:62de)
+.asm_5a2de
push bc
ld [wNewTileBlockID], a
lb bc, 6, 2
- call LanceScript_5a2f0
+ call .asm_5a2f0
pop bc
ld a, b
ld [wNewTileBlockID], a
lb bc, 6, 3
-
-LanceScript_5a2f0: ; 5a2f0 (16:62f0)
+.asm_5a2f0
predef_jump ReplaceTileBlock
LanceScript_5a2f5: ; 5a2f5 (16:62f5)
@@ -107,7 +106,7 @@ LanceScript_5a35b: ; 5a35b (16:635b)
ret
RLEList_5a379: ; 5a379 (16:6379)
- db D_UP, $0C
+ db D_UP, $0D
db D_LEFT, $0C
db D_DOWN, $07
db D_LEFT, $06
diff --git a/scripts/lavenderpokecenter.asm b/scripts/lavenderpokecenter.asm
index 452cc8a4..8f9c5454 100755
--- a/scripts/lavenderpokecenter.asm
+++ b/scripts/lavenderpokecenter.asm
@@ -7,12 +7,13 @@ LavenderPokecenterTextPointers: ; 5c8e0 (17:48e0)
dw LavenderPokecenterText2
dw LavenderPokecenterText3
dw LavenderPokecenterText4
+ dw LavenderPokecenterText5
LavenderPokecenterText4: ; 5c8e8 (17:48e8)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
LavenderPokecenterText1: ; 5c8e9 (17:48e9)
- db $ff
+ TX_POKECENTER_NURSE
LavenderPokecenterText2: ; 5c8ea (17:48ea)
TX_FAR _LavenderPokecenterText1
@@ -21,3 +22,8 @@ LavenderPokecenterText2: ; 5c8ea (17:48ea)
LavenderPokecenterText3: ; 5c8ef (17:48ef)
TX_FAR _LavenderPokecenterText3
db "@"
+
+LavenderPokecenterText5:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm
index 320ed070..9c35686f 100755
--- a/scripts/mtmoonpokecenter.asm
+++ b/scripts/mtmoonpokecenter.asm
@@ -36,5 +36,5 @@ MtMoonPokecenterText6: ; 49375 (12:5375)
MtMoonPokecenterText7:
TX_ASM
- callab Func_f0f12
+ callab PokecenterChanseyText
jp TextScriptEnd
diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm
index 90f5e2b9..70cf17f6 100755
--- a/scripts/pewterpokecenter.asm
+++ b/scripts/pewterpokecenter.asm
@@ -14,7 +14,7 @@ PewterPokecenterTextPointers: ; 5c58d (17:458d)
dw PewterPokecenterText6
PewterPokecenterText1: ; 5c595 (17:4595)
- db $ff
+ TX_POKECENTER_NURSE
PewterPokecenterText2: ; 5c596 (17:4596)
TX_FAR _PewterPokecenterText1
@@ -26,7 +26,7 @@ PewterPokecenterText3: ; 5c59b (17:459b)
jp TextScriptEnd
PewterPokecenterText4: ; 5c60c (17:460c)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
PewterPokecenterText5: ; 5c603 (17:4603)
TX_ASM
@@ -35,5 +35,5 @@ PewterPokecenterText5: ; 5c603 (17:4603)
PewterPokecenterText6:
TX_ASM
- callab Func_f0f12
+ callab PokecenterChanseyText
jp TextScriptEnd
diff --git a/scripts/pewterpokecenter2.asm b/scripts/pewterpokecenter2.asm
index 1aae37d1..c884ad65 100755
--- a/scripts/pewterpokecenter2.asm
+++ b/scripts/pewterpokecenter2.asm
@@ -57,7 +57,7 @@ Func_f1da4:
ret z
callab Func_fce73
ret c
- call SetPikachuAsleep
+ call DisablePikachuFollowingPlayer
ret
PewterPokecenterText_f1e19:
diff --git a/scripts/pokemontower1.asm b/scripts/pokemontower1.asm
index 4887e740..99b8efef 100755
--- a/scripts/pokemontower1.asm
+++ b/scripts/pokemontower1.asm
@@ -1,5 +1,6 @@
PokemonTower1Script: ; 6042c (18:442c)
- jp EnableAutoTextBoxDrawing
+ call EnableAutoTextBoxDrawing
+ ret
PokemonTower1TextPointers: ; 6042f (18:442f)
dw PokemonTower1Text1
diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm
index 7aebf81b..6b0c1f00 100755
--- a/scripts/pokemontower2.asm
+++ b/scripts/pokemontower2.asm
@@ -22,9 +22,7 @@ PokemonTower2Script0: ; 6050f (18:450f)
ld hl, CoordsData_6055e
call ArePlayerCoordsInArray
ret nc
- ld a, $ff
- ld [wNewSoundID], a
- call PlaySound
+ call StopAllMusic
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
@@ -71,14 +69,13 @@ PokemonTower2Script1: ; 60563 (18:4563)
ld de, MovementData_605b2
CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
jr nz, .asm_60589
+ callab Func_f1e22
ld de, MovementData_605a9
.asm_60589
ld a, $1
ld [H_SPRITEINDEX], a
call MoveSprite
- ld a, $ff
- ld [wNewSoundID], a
- call PlaySound
+ call StopAllMusic
callba Music_RivalAlternateStart
ld a, $2
ld [W_POKEMONTOWER2CURSCRIPT], a
@@ -144,21 +141,8 @@ PokemonTower2Text1: ; 605df (18:45df)
call SaveEndBattleTextPointers
ld a, OPP_SONY2
ld [wCurOpponent], a
-
- ; select which team to use during the encounter
ld a, [W_RIVALSTARTER]
- cp STARTER2
- jr nz, .NotSquirtle
- ld a, $4
- jr .done
-.NotSquirtle
- cp STARTER3
- jr nz, .Charmander
- ld a, $5
- jr .done
-.Charmander
- ld a, $6
-.done
+ add $1
ld [wTrainerNo], a
ld a, $1
diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm
index eb6d62e4..abf6104d 100755
--- a/scripts/pokemontower7.asm
+++ b/scripts/pokemontower7.asm
@@ -1,69 +1,234 @@
PokemonTower7Script: ; 60d05 (18:4d05)
call EnableAutoTextBoxDrawing
- ld hl, PokemonTower7TrainerHeaders
- ld de, PokemonTower7ScriptPointers
+ ld hl, PokemonTower7ScriptPointers
ld a, [W_POKEMONTOWER7CURSCRIPT]
- call ExecuteCurMapScriptInTable
- ld [W_POKEMONTOWER7CURSCRIPT], a
+ call JumpTable
ret
-PokemonTower7Script_60d18: ; 60d18 (18:4d18)
+PokemonTower7Script_60d01: ; 60d18 (18:4d18)
xor a
ld [wJoyIgnore], a
+PokemonTower7Script_60d05:
ld [W_POKEMONTOWER7CURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
ret
PokemonTower7ScriptPointers:
- dw CheckFightingMapTrainers
- dw DisplayEnemyTrainerTextAndStartBattle
- dw PokemonTower7Script2
- dw PokemonTower7Script3
- dw PokemonTower7Script4
+ dw PokemonTower7Script0 ; $4d21
+ dw PokemonTower7Script1 ; $4d7f
+ dw PokemonTower7Script2 ; $4d9e
+ dw PokemonTower7Script3 ; $4da9
+ dw PokemonTower7Script4 ; $4dbf
+ dw PokemonTower7Script5 ; $4dde
+ dw PokemonTower7Script6 ; $4de9
+ dw PokemonTower7Script7 ; $4e0e
+ dw PokemonTower7Script8 ; $4e34
+ dw PokemonTower7Script9 ; $4e7a
+ dw PokemonTower7Script10 ; $4e9b
+ dw PokemonTower7Script11 ; $4ec7
+
+PokemonTower7Script0:
+ CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
+ call z, PokemonTower7Script_60d2a
+ ret
-PokemonTower7Script2: ; 60d23 (18:4d23)
- ld hl, wFlags_0xcd60
- res 0, [hl]
- ld a, [wIsInBattle]
- cp $ff
- jp z, PokemonTower7Script_60d18
- call EndTrainerBattle
- ld a, $f0
+PokemonTower7Script_60d2a:
+ ld a, [wYCoord]
+ cp $c
+ ret nz
+ ResetEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+ ld a, [wXCoord]
+ cp $a
+ jr z, .asm_60d47
+ ld a, [wXCoord] ; why?
+ cp $b
+ ret nz
+ SetEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+.asm_60d47
+ call StopAllMusic
+ ld c, BANK(Music_JessieAndJames)
+ ld a, MUSIC_JESSIE_AND_JAMES
+ call PlayMusic
+ xor a
+ ld [hJoyHeld], a
+ ld a, $FF ^ (A_BUTTON | B_BUTTON)
ld [wJoyIgnore], a
- ld a, [wSpriteIndex]
+ ld a, HS_POKEMONTOWER_7_JESSIE
+ call PokemonTower7Script_60eaf
+ ld a, HS_POKEMONTOWER_7_JAMES
+ call PokemonTower7Script_60eaf
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld a, $4
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- call PokemonTower7Script_60db6
- ld a, $3
- ld [W_POKEMONTOWER7CURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $1
+ call PokemonTower7Script_60d05
ret
-PokemonTower7Script3: ; 60d56 (18:4d56)
+PokemonTower7MovementData_60d7a:
+ db $4
+PokemonTower7MovementData_60d7b:
+ db $4
+ db $4
+ db $4
+ db $FF
+
+PokemonTower7Script1:
+ ld de, PokemonTower7MovementData_60d7b
+ CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+ jr z, .asm_60d8c
+ ld de, PokemonTower7MovementData_60d7a
+.asm_60d8c
+ ld a, $1
+ ld [hSpriteIndexOrTextID], a
+ call MoveSprite
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $2
+ call PokemonTower7Script_60d05
+ ret
+
+PokemonTower7Script2:
+ ld a, $ff
+ ld [wJoyIgnore], a
ld a, [wd730]
bit 0, a
ret nz
- ld hl, wMissableObjectList
- ld a, [wSpriteIndex]
- ld b, a
-.missableObjectsListLoop
- ld a, [hli]
- cp b ; search for sprite ID in missing objects list
- ld a, [hli]
- jr nz, .missableObjectsListLoop
- ld [wMissableObjectIndex], a ; remove missable object
- predef HideObject
+PokemonTower7Script3:
+ ld a, $0
+ ld [wSpriteStateData1 + 1 * $10 + 9], a
+ CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+ jr z, .asm_60dba
+ ld a, $c
+ ld [wSpriteStateData1 + 1 * $10 + 9], a
+.asm_60dba
+ ld a, $2
+ ld [wSpriteStateData1 + 1 * $10 + 1], a
+PokemonTower7Script4:
+ ld de, PokemonTower7MovementData_60d7a
+ CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+ jr z, .asm_60dcc
+ ld de, PokemonTower7MovementData_60d7b
+.asm_60dcc
+ ld a, $2
+ ld [hSpriteIndexOrTextID], a
+ call MoveSprite
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $5
+ call PokemonTower7Script_60d05
+ ret
+PokemonTower7Script5:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, [wd730]
+ bit 0, a
+ ret nz
+PokemonTower7Script6:
+ ld a, $2
+ ld [wSpriteStateData1 + $2 * $10 + $1], a
+ ld a, $8
+ ld [wSpriteStateData1 + $2 * $10 + $9], a
+ CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+ jr z, .asm_60dff
+ ld a, $0
+ ld [wSpriteStateData1 + $2 * $10 + $9], a
+.asm_60dff
+ call Delay3
+ ld a, $FF ^ (A_BUTTON | B_BUTTON)
+ ld [wJoyIgnore], a
+ ld a, $5
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+PokemonTower7Script7:
+ ld hl, wd72d
+ set 6, [hl]
+ set 7, [hl]
+ ld hl, PokemonTower7JessieJamesEndBattleText ; 60f2c
+ ld de, PokemonTower7JessieJamesEndBattleText ; 60f2c
+ call SaveEndBattleTextPointers
+ ld a, OPP_ROCKET
+ ld [wCurOpponent], a
+ ld a, $2c
+ ld [wTrainerNo], a
+ xor a
+ ld [hJoyHeld], a
+ ld [wJoyIgnore], a
+ ld a, $8
+ call PokemonTower7Script_60d05
+ ret
+
+PokemonTower7Script8:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, [wIsInBattle]
+ cp $ff
+ jp z, PokemonTower7Script_60d01
+ ld a, $2
+ ld [wSpriteStateData1 + 1 * $10 + 1], a
+ ld [wSpriteStateData1 + 2 * $10 + 1], a
+ xor a
+ ld [wSpriteStateData1 + 1 * $10 + 9], a
+ ld [wSpriteStateData1 + 2 * $10 + 9], a
+ ld a, $FF ^ (A_BUTTON | B_BUTTON)
+ ld [wJoyIgnore], a
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld a, $6
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ xor a
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ call StopAllMusic
+ ld c, BANK(Music_JessieAndJames)
+ ld a, MUSIC_JESSIE_AND_JAMES
+ call PlayMusic
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $9
+ call PokemonTower7Script_60d05
+ ret
+
+PokemonTower7Script9:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ call GBFadeOutToBlack
+ ld a, HS_POKEMONTOWER_7_JESSIE
+ call PokemonTower7Script_60ebe
+ ld a, HS_POKEMONTOWER_7_JAMES
+ call PokemonTower7Script_60ebe
+ call UpdateSprites
+ call Delay3
+ call GBFadeInFromBlack
+ ld a, $a
+ call PokemonTower7Script_60d05
+ ret
+
+PokemonTower7Script10:
+ call PlayDefaultMusic
xor a
+ ld [hJoyHeld], a
ld [wJoyIgnore], a
- ld [wSpriteIndex], a
- ld [wTrainerHeaderFlagBit], a
- ld [wUnusedDA38], a
+ SetEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
ld a, $0
- ld [W_POKEMONTOWER7CURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ call PokemonTower7Script_60d05
ret
-PokemonTower7Script4: ; 60d86 (18:4d86)
+PokemonTower7Script_60eaf:
+ ld [wMissableObjectIndex], a
+ predef ShowObject
+ call UpdateSprites
+ call Delay3
+ ret
+
+PokemonTower7Script_60ebe
+ ld [wMissableObjectIndex], a
+ predef HideObject
+ ret
+
+PokemonTower7Script11:
ld a, $ff
ld [wJoyIgnore], a
ld a, HS_POKEMONTOWER_7_MR_FUJI
@@ -81,180 +246,54 @@ PokemonTower7Script4: ; 60d86 (18:4d86)
set 3, [hl]
ld a, $0
ld [W_POKEMONTOWER7CURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
ret
-PokemonTower7Script_60db6: ; 60db6 (18:4db6)
- ld hl, CoordsData_60de3
- ld a, [wSpriteIndex]
- dec a
- swap a
- ld d, $0
- ld e, a
- add hl, de
- ld a, [wYCoord]
- ld b, a
- ld a, [wXCoord]
- ld c, a
-.asm_60dcb
- ld a, [hli]
- cp b
- jr nz, .asm_60dde
- ld a, [hli]
- cp c
- jr nz, .asm_60ddf
- ld a, [hli]
- ld d, [hl]
- ld e, a
- ld a, [wSpriteIndex]
- ld [H_SPRITEINDEX], a
- jp MoveSprite
-.asm_60dde
- inc hl
-.asm_60ddf
- inc hl
- inc hl
- jr .asm_60dcb
-
-CoordsData_60de3: ; 60de3 (18:4de3)
- db $0C,$09
- dw MovementData_60e13
- db $0B,$0A
- dw MovementData_60e1b
- db $0B,$0B
- dw MovementData_60e22
- db $0B,$0C
- dw MovementData_60e22
- db $0A,$0C
- dw MovementData_60e28
- db $09,$0B
- dw MovementData_60e30
- db $09,$0A
- dw MovementData_60e22
- db $09,$09
- dw MovementData_60e22
- db $08,$09
- dw MovementData_60e37
- db $07,$0A
- dw MovementData_60e22
- db $07,$0B
- dw MovementData_60e22
- db $07,$0C
- dw MovementData_60e22
-
-MovementData_60e13: ; 60e13
- db NPC_MOVEMENT_RIGHT
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_LEFT
- db $FF
-
-MovementData_60e1b: ; 60e1b
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_RIGHT
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db $FF
-
-MovementData_60e22: ; 60e22
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db $FF
-
-MovementData_60e28: ; 60e28
- db NPC_MOVEMENT_LEFT
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db $FF
-
-MovementData_60e30: ; 60e30
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_LEFT
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db $FF
-
-MovementData_60e37: ; 60e37
- db NPC_MOVEMENT_RIGHT
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db $FF
-
-PokemonTower7TextPointers: ; 60e3f (18:4e3f)
+PokemonTower7TextPointers:
dw PokemonTower7Text1
dw PokemonTower7Text2
dw PokemonTower7Text3
- dw PokemonTower7FujiText
-
-PokemonTower7TrainerHeaders: ; 60e47 (18:4e47)
-PokemonTower7TrainerHeader0: ; 60e47 (18:4e47)
- dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
- db ($3 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
- dw PokemonTower7BattleText1 ; TextBeforeBattle
- dw PokemonTower7AfterBattleText1 ; TextAfterBattle
- dw PokemonTower7EndBattleText1 ; TextEndBattle
- dw PokemonTower7EndBattleText1 ; TextEndBattle
+ dw PokemonTower7Text4
+ dw PokemonTower7Text5
+ dw PokemonTower7Text6
-PokemonTower7TrainerHeader1: ; 60e53 (18:4e53)
- dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
- db ($3 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
- dw PokemonTower7BattleText2 ; TextBeforeBattle
- dw PokemonTower7AfterBattleText2 ; TextAfterBattle
- dw PokemonTower7EndBattleText2 ; TextEndBattle
- dw PokemonTower7EndBattleText2 ; TextEndBattle
-
-PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f)
- dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
- db ($3 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
- dw PokemonTower7BattleText3 ; TextBeforeBattle
- dw PokemonTower7AfterBattleText3 ; TextAfterBattle
- dw PokemonTower7EndBattleText3 ; TextEndBattle
- dw PokemonTower7EndBattleText3 ; TextEndBattle
-
- db $ff
+PokemonTower7Text1:
+PokemonTower7Text2:
+ db "@"
-PokemonTower7Text1: ; 60e6c (18:4e6c)
+PokemonTower7Text4:
+ TX_FAR _PokemonTowerJessieJamesText1
TX_ASM
- ld hl, PokemonTower7TrainerHeader0
- call TalkToTrainer
+ ld c, 10
+ call DelayFrames
+ ld a, PLAYER_DIR_UP
+ ld [wPlayerMovingDirection], a
+ ld a, $0
+ ld [wEmotionBubbleSpriteIndex], a
+ ld a, $0
+ ld [wWhichEmotionBubble], a
+ predef EmotionBubble
+ ld c, 20
+ call DelayFrames
jp TextScriptEnd
-PokemonTower7Text2: ; 60e76 (18:4e76)
- TX_ASM
- ld hl, PokemonTower7TrainerHeader1
- call TalkToTrainer
- jp TextScriptEnd
+PokemonTower7Text5:
+ TX_FAR _PokemonTowerJessieJamesText2
+ db "@"
-PokemonTower7Text3: ; 60e80 (18:4e80)
+PokemonTower7JessieJamesEndBattleText:
+ TX_FAR _PokemonTowerJessieJamesText3
+ db "@"
+
+PokemonTower7Text6:
+ TX_FAR _PokemonTowerJessieJamesText4
TX_ASM
- ld hl, PokemonTower7TrainerHeader2
- call TalkToTrainer
+ ld c, 64
+ call DelayFrames
jp TextScriptEnd
-PokemonTower7FujiText:
+PokemonTower7Text3:
TX_ASM
- ld hl, TowerRescueFujiText
+ ld hl, PokemonTower7Text_60f75
call PrintText
SetEvent EVENT_RESCUED_MR_FUJI
SetEvent EVENT_RESCUED_MR_FUJI_2
@@ -267,47 +306,10 @@ PokemonTower7FujiText:
ld a, HS_SAFFRON_CITY_F
ld [wMissableObjectIndex], a
predef ShowObject
- ld a, $4
+ ld a, $b
ld [W_POKEMONTOWER7CURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
jp TextScriptEnd
-TowerRescueFujiText:
+PokemonTower7Text_60f75:
TX_FAR _TowerRescueFujiText
db "@"
-
-PokemonTower7BattleText1: ; 60ec9 (18:4ec9)
- TX_FAR _PokemonTower7BattleText1
- db "@"
-
-PokemonTower7EndBattleText1: ; 60ece (18:4ece)
- TX_FAR _PokemonTower7EndBattleText1
- db "@"
-
-PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3)
- TX_FAR _PokemonTower7AfterBattleText1
- db "@"
-
-PokemonTower7BattleText2: ; 60ed8 (18:4ed8)
- TX_FAR _PokemonTower7BattleText2
- db "@"
-
-PokemonTower7EndBattleText2: ; 60edd (18:4edd)
- TX_FAR _PokemonTower7EndBattleText2
- db "@"
-
-PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2)
- TX_FAR _PokemonTower7AfterBattleText2
- db "@"
-
-PokemonTower7BattleText3: ; 60ee7 (18:4ee7)
- TX_FAR _PokemonTower7BattleText3
- db "@"
-
-PokemonTower7EndBattleText3: ; 60eec (18:4eec)
- TX_FAR _PokemonTower7EndBattleText3
- db "@"
-
-PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1)
- TX_FAR _PokemonTower7AfterBattleText3
- db "@"
diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm
index 815f6090..75cb7912 100755
--- a/scripts/rockethideout4.asm
+++ b/scripts/rockethideout4.asm
@@ -1,5 +1,4 @@
RocketHideout4Script: ; 4545d (11:545d)
- call RocketHideout4Script_45473
call EnableAutoTextBoxDrawing
ld hl, RocketHideout4TrainerHeader0
ld de, RocketHideout4ScriptPointers
@@ -8,47 +7,44 @@ RocketHideout4Script: ; 4545d (11:545d)
ld [W_ROCKETHIDEOUT4CURSCRIPT], a
ret
-RocketHideout4Script_45473: ; 45473 (11:5473)
- ld hl, wd126
- bit 5, [hl]
- res 5, [hl]
- ret z
- CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
- jr nz, .asm_45496
- CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2, 1
- jr z, .asm_4548c
- ld a, $2d
- jr .asm_45498
-.asm_4548c
- ld a, SFX_GO_INSIDE
- call PlaySound
- SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
-.asm_45496
- ld a, $e
-.asm_45498
- ld [wNewTileBlockID], a
- lb bc, 5, 12
- predef_jump ReplaceTileBlock
-
-RocketHideout4Script_454a3: ; 454a3 (11:54a3)
+RocketHideout4Script_45510: ; 45510 (11:54a3)
+ CheckAndResetEvent EVENT_6A0
+ call nz, RocketHideout4Script_45525
xor a
ld [wJoyIgnore], a
+RocketHideout4Script_4551e:
ld [W_ROCKETHIDEOUT4CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
+RocketHideout4Script_45525:
+ ld a, HS_ROCKET_HIDEOUT_4_JAMES
+ call RocketHideout4Script_45756
+ ld a, HS_ROCKET_HIDEOUT_4_JESSIE
+ call RocketHideout4Script_45756
+ ret
+
RocketHideout4ScriptPointers: ; 454ae (11:54ae)c
- dw CheckFightingMapTrainers
+ dw RocketHideout4Script0
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
dw RocketHideout4Script3
+ dw RocketHideout4Script4
+ dw RocketHideout4Script5
+ dw RocketHideout4Script6
+ dw RocketHideout4Script7
+ dw RocketHideout4Script8
+ dw RocketHideout4Script9
+ dw RocketHideout4Script10
+ dw RocketHideout4Script11
+ dw RocketHideout4Script12
+ dw RocketHideout4Script13
RocketHideout4Script3: ; 454b6 (11:54b6)
ld a, [wIsInBattle]
cp $ff
- jp z, RocketHideout4Script_454a3
- call UpdateSprites
- ld a, $f0
+ jp z, RocketHideout4Script_45510
+ ld a, $fc
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
ld a, $a
@@ -72,61 +68,296 @@ RocketHideout4Script3: ; 454b6 (11:54b6)
ld [W_CURMAPSCRIPT], a
ret
+RocketHideout4Script0:
+ CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
+ call z, RocketHideout4Script_455a5
+ CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3
+ call z, CheckFightingMapTrainers
+ ret
+
+RocketHideout4Script_455a5:
+ ld a, [wYCoord]
+ cp $e
+ ret nz
+ ResetEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+ ld a, [wXCoord]
+ cp $18
+ jr z, .asm_455c2
+ ld a, [wXCoord]
+ cp $19
+ ret nz
+ SetEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+.asm_455c2
+ xor a
+ ld [hJoyHeld], a
+ ld a, $fc
+ ld [wJoyIgnore], a
+ call StopAllMusic
+ ld c, BANK(Music_JessieAndJames)
+ ld a, MUSIC_JESSIE_AND_JAMES
+ call PlayMusic
+ call UpdateSprites
+ call Delay3
+ call UpdateSprites
+ call Delay3
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld a, $b
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ xor a
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, HS_ROCKET_HIDEOUT_4_JAMES
+ call RocketHideout4Script_45747
+ ld a, HS_ROCKET_HIDEOUT_4_JESSIE
+ call RocketHideout4Script_45747
+ ld a, $4
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4JessieJamesMovementData_45605:
+ db $4
+RocketHideout4JessieJamesMovementData_45606:
+ db $4
+ db $4
+ db $4
+ db $ff
+
+RocketHideout4Script4:
+ ld de, RocketHideout4JessieJamesMovementData_45605
+ CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+ jr z, .asm_45617
+ ld de, RocketHideout4JessieJamesMovementData_45606
+.asm_45617
+ ld a, $2
+ ld [hSpriteIndexOrTextID], a
+ call MoveSprite
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $5
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4Script5:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, [wd730]
+ bit 0, a
+ ret nz
+RocketHideout4Script6:
+ ld a, $2
+ ld [wSpriteStateData1 + 2 * $10 + 1], a
+ ld a, SPRITE_FACING_LEFT
+ ld [wSpriteStateData1 + 2 * $10 + 9], a
+ CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+ jr z, .asm_4564a
+ ld a, SPRITE_FACING_DOWN
+ ld [wSpriteStateData1 + 2 * $10 + 9], a
+.asm_4564a
+ call Delay3
+ ld a, $fc
+ ld [wJoyIgnore], a
+RocketHideout4Script7:
+ ld de, RocketHideout4JessieJamesMovementData_45606
+ CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+ jr z, .asm_4565f
+ ld de, RocketHideout4JessieJamesMovementData_45605
+.asm_4565f
+ ld a, $3
+ ld [hSpriteIndexOrTextID], a
+ call MoveSprite
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $8
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4Script8:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, [wd730]
+ bit 0, a
+ ret nz
+ ld a, $fc
+ ld [wJoyIgnore], a
+RocketHideout4Script9:
+ ld a, $2
+ ld [wSpriteStateData1 + 3 * $10 + 1], a
+ ld a, SPRITE_FACING_DOWN
+ ld [wSpriteStateData1 + 3 * $10 + 9], a
+ CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+ jr z, .asm_45697
+ ld a, SPRITE_FACING_RIGHT
+ ld [wSpriteStateData1 + 3 * $10 + 9], a
+.asm_45697
+ call Delay3
+ ld a, $c
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+RocketHideout4Script10:
+ ld hl, wd72d
+ set 6, [hl]
+ set 7, [hl]
+ ld hl, RocketHideout4JessieJamesEndBattleText ; 457b2
+ ld de, RocketHideout4JessieJamesEndBattleText ; 457b2
+ call SaveEndBattleTextPointers
+ ld a, OPP_ROCKET
+ ld [wCurOpponent], a
+ ld a, $2b
+ ld [wTrainerNo], a
+ xor a
+ ld [hJoyHeld], a
+ ld [wJoyIgnore], a
+ SetEvent EVENT_6A0
+ ld a, $b
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4Script11:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, [wIsInBattle]
+ cp $ff
+ jp z, RocketHideout4Script_45510
+ ld a, $2
+ ld [wSpriteStateData1 + 2 * $10 + 1], a
+ ld [wSpriteStateData1 + 3 * $10 + 1], a
+ xor a
+ ld [wSpriteStateData1 + 2 * $10 + 9], a
+ ld [wSpriteStateData1 + 3 * $10 + 9], a
+ ld a, $fc
+ ld [wJoyIgnore], a
+ ld a, $1
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld a, $d
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ xor a
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ call StopAllMusic
+ ld c, BANK(Music_JessieAndJames)
+ ld a, MUSIC_JESSIE_AND_JAMES
+ call PlayMusic
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, $c
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4Script12:
+ ld a, $ff
+ ld [wJoyIgnore], a
+ call GBFadeOutToBlack
+ ld a, HS_ROCKET_HIDEOUT_4_JAMES
+ call RocketHideout4Script_45756
+ ld a, HS_ROCKET_HIDEOUT_4_JESSIE
+ call RocketHideout4Script_45756
+ call UpdateSprites
+ call Delay3
+ call GBFadeInFromBlack
+ ld a, $d
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4Script13:
+ call PlayDefaultMusic
+ xor a
+ ld [hJoyHeld], a
+ ld [wJoyIgnore], a
+ ld hl, wd81b
+ set 2, [hl]
+ ld a, $0
+ call RocketHideout4Script_4551e
+ ret
+
+RocketHideout4Script_45747:
+ ld [wMissableObjectIndex], a
+ predef ShowObject
+ call UpdateSprites
+ call Delay3
+ ret
+
+RocketHideout4Script_45756:
+ ld [wMissableObjectIndex], a
+ predef HideObject
+ ret
+
RocketHideout4TextPointers: ; 45501 (11:5501)
+ dw RocketHideout4Text0
dw RocketHideout4Text1
dw RocketHideout4Text2
dw RocketHideout4Text3
- dw RocketHideout4Text4
dw PickUpItemText
dw PickUpItemText
dw PickUpItemText
dw PickUpItemText
dw PickUpItemText
+ dw RocketHideout4Text9
dw RocketHideout4Text10
+ dw RocketHideout4Text11
+ dw RocketHideout4Text12
-RocketHideout4TrainerHeaders: ; 45515 (11:5515)
-RocketHideout4TrainerHeader0: ; 45515 (11:5515)
- dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
- db ($0 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
- dw RocketHideout4BattleText2 ; TextBeforeBattle
- dw RocketHideout4AfterBattleText2 ; TextAfterBattle
- dw RocketHideout4EndBattleText2 ; TextEndBattle
- dw RocketHideout4EndBattleText2 ; TextEndBattle
-
-RocketHideout4TrainerHeader2: ; 45521 (11:5521)
- dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
- db ($0 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
- dw RocketHideout4BattleText3 ; TextBeforeBattle
- dw RocketHideout4AfterBattleText3 ; TextAfterBattle
- dw RocketHideout4EndBattleText3 ; TextEndBattle
- dw RocketHideout4EndBattleText3 ; TextEndBattle
-
-RocketHideout4TrainerHeader3: ; 4552d (11:552d)
+RocketHideout4TrainerHeaders:
+RocketHideout4TrainerHeader0:
dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3
- db ($1 << 4) ; trainer's view range
+ db ($1 << 4)
dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_3
- dw RocketHideout4BattleText4 ; TextBeforeBattle
- dw RocketHideout4AfterBattleText4 ; TextAfterBattle
- dw RocketHideout4EndBattleText4 ; TextEndBattle
- dw RocketHideout4EndBattleText4 ; TextEndBattle
-
+ dw RocketHideout4Trainer0BeforeText ; 4581d
+ dw RocketHideout4Trainer0AfterText ; 4583a
+ dw RocketHideout4Trainer0EndBattleText ; 45822
+ dw RocketHideout4Trainer0EndBattleText ; 45822
db $ff
-RocketHideout4Text1: ; 4553a (11:553a)
+RocketHideout4Text1:
+RocketHideout4Text2:
+ db "@"
+
+RocketHideout4Text10:
+ TX_FAR _RocketHideoutJessieJamesText1
+ TX_ASM
+ ld c, 10
+ call DelayFrames
+ ld a, $8
+ ld [wPlayerMovingDirection], a
+ ld a, $0
+ ld [wEmotionBubbleSpriteIndex], a
+ ld a, $0
+ ld [wWhichEmotionBubble], a
+ predef EmotionBubble
+ ld c, 20
+ call DelayFrames
+ jp TextScriptEnd
+
+RocketHideout4Text11:
+ TX_FAR _RocketHideoutJessieJamesText2
+ db "@"
+
+RocketHideout4JessieJamesEndBattleText:
+ TX_FAR _RocketHideoutJessieJamesText3
+ db "@"
+
+RocketHideout4Text12:
+ TX_FAR _RocketHideoutJessieJamesText4
+ TX_ASM
+ ld c, 64
+ call DelayFrames
+ jp TextScriptEnd
+
+RocketHideout4Text0:
TX_ASM
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
- jp nz, .asm_545571
- ld hl, RocketHideout4Text_4557a
+ jp nz, .asm_457fb
+ ld hl, RocketHideout4Text_45804
call PrintText
ld hl, wd72d
set 6, [hl]
set 7, [hl]
- ld hl, RocketHideout4Text_4557f
- ld de, RocketHideout4Text_4557f
+ ld hl, RocketHideout4Text_45809
+ ld de, RocketHideout4Text_45809
call SaveEndBattleTextPointers
- ld a, [H_SPRITEINDEX]
+ ld a, [hSpriteIndexOrTextID]
ld [wSpriteIndex], a
call EngageMapTrainer
call InitBattleEnemyParameters
@@ -135,87 +366,52 @@ RocketHideout4Text1: ; 4553a (11:553a)
ld a, $3
ld [W_ROCKETHIDEOUT4CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
- jr .asm_209f0
-.asm_545571
- ld hl, RocketHideout4Text10
+ jr .asm_45801
+
+.asm_457fb
+ ld hl, RocketHideout4Text9
call PrintText
-.asm_209f0
+.asm_45801
jp TextScriptEnd
-RocketHideout4Text_4557a: ; 4557a (11:557a)
+RocketHideout4Text_45804:
TX_FAR _RocketHideout4Text_4557a
db "@"
-RocketHideout4Text_4557f: ; 4557f (11:557f)
+RocketHideout4Text_45809:
TX_FAR _RocketHideout4Text_4557f
db "@"
-RocketHideout4Text10: ; 45584 (11:5584)
+RocketHideout4Text9:
TX_FAR _RocketHideout4Text_45584
db "@"
-RocketHideout4Text2: ; 45589 (11:5589)
+RocketHideout4Text3:
TX_ASM
ld hl, RocketHideout4TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
-RocketHideout4BattleText2: ; 45593 (11:5593)
- TX_FAR _RocketHideout4BattleText2
- db "@"
-
-RocketHideout4EndBattleText2: ; 45598 (11:5598)
- TX_FAR _RocketHideout4EndBattleText2
- db "@"
-
-RocketHideout4AfterBattleText2: ; 4559d (11:559d)
- TX_FAR _RocketHide4AfterBattleText2
- db "@"
-
-RocketHideout4Text3: ; 455a2 (11:55a2)
- TX_ASM
- ld hl, RocketHideout4TrainerHeader2
- call TalkToTrainer
- jp TextScriptEnd
-
-RocketHideout4BattleText3: ; 455ac (11:55ac)
- TX_FAR _RocketHideout4BattleText3
- db "@"
-
-RocketHideout4EndBattleText3: ; 455b1 (11:55b1)
- TX_FAR _RocketHideout4EndBattleText3
- db "@"
-
-RocketHideout4AfterBattleText3: ; 455b6 (11:55b6)
- TX_FAR _RocketHide4AfterBattleText3
- db "@"
-
-RocketHideout4Text4: ; 455bb (11:55bb)
- TX_ASM
- ld hl, RocketHideout4TrainerHeader3
- call TalkToTrainer
- jp TextScriptEnd
-
-RocketHideout4BattleText4: ; 455c5 (11:55c5)
+RocketHideout4Trainer0BeforeText:
TX_FAR _RocketHideout4BattleText4
db "@"
-RocketHideout4EndBattleText4: ; 455ca (11:55ca)
+RocketHideout4Trainer0EndBattleText:
TX_FAR _RocketHideout4EndBattleText4
- db "@"
-
-RocketHideout4AfterBattleText4: ; 455cf (11:55cf)
+ TX_BUTTON_SOUND
TX_ASM
- ld hl, RocketHideout4Text_455ec
- call PrintText
- CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
- jr nz, .asm_455e9
+ SetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
ld a, HS_ROCKET_HIDEOUT_4_ITEM_5
ld [wMissableObjectIndex], a
predef ShowObject
-.asm_455e9
jp TextScriptEnd
-RocketHideout4Text_455ec: ; 455ec (11:55ec)
+RocketHideout4Trainer0AfterText:
+ TX_ASM
+ ld hl, RocketHideout4Text_45844
+ call PrintText
+ jp TextScriptEnd
+
+RocketHideout4Text_45844:
TX_FAR _RocketHideout4Text_455ec
db "@"
diff --git a/scripts/rocktunnelpokecenter.asm b/scripts/rocktunnelpokecenter.asm
index 7d8f4bf6..3518bd8f 100755
--- a/scripts/rocktunnelpokecenter.asm
+++ b/scripts/rocktunnelpokecenter.asm
@@ -25,5 +25,5 @@ RockTunnelPokecenterText4: ; 493d3 (12:53d3)
RockTunnelPokecenterText5:
TX_ASM
- callab Func_f0f12
+ callab PokecenterChanseyText
jp TextScriptEnd
diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm
index ec543a6a..e41e46e5 100755
--- a/scripts/route11gateupstairs.asm
+++ b/scripts/route11gateupstairs.asm
@@ -9,7 +9,7 @@ Route11GateUpstairsTextPointers: ; 49457 (12:5457)
Route11GateUpstairsText1: ; 4945f (12:545f)
TX_ASM
- xor a
+ ld a, $0
ld [wWhichTrade], a
predef DoInGameTradeDialogue
Route11GateUpstairsScriptEnd: ; 49469 (12:5469)
diff --git a/scripts/route22gate.asm b/scripts/route22gate.asm
index 5fdd70c8..c957e4a6 100755
--- a/scripts/route22gate.asm
+++ b/scripts/route22gate.asm
@@ -23,9 +23,12 @@ Route22GateScript0: ; 1e6a4 (7:66a4)
ret nc
xor a
ld [hJoyHeld], a
+ ld a, SPRITE_FACING_LEFT
+ ld [wSpriteStateData1 + 1 * $10 + 9], a
ld a, $1
ld [hSpriteIndexOrTextID], a
- jp DisplayTextID
+ call DisplayTextID
+ ret
Route22GateScriptCoords: ; 1e6b5 (7:66b5)
db 2,4
@@ -59,7 +62,7 @@ Route22GateTextPointers: ; 1e6df (7:66df)
Route22GateText1: ; 1e6e1 (7:66e1)
TX_ASM
ld a, [wObtainedBadges]
- bit 0, a
+ bit 0, a ; BOULDERBADGE
jr nz, .asm_1e6f6
ld hl, Route22GateText_1e704
call PrintText
@@ -89,4 +92,5 @@ Route22GateText_1e715: ; 1e715 (7:6715)
Route22GateText_1e71a: ; 1e71a (7:671a)
TX_FAR _Route22GateText_1e71a
- db $0B, "@"
+ TX_SFX_ITEM
+ db "@"
diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm
index a0a0ffda..df80f4e1 100755
--- a/scripts/safarizoneentrance.asm
+++ b/scripts/safarizoneentrance.asm
@@ -2,7 +2,8 @@ SafariZoneEntranceScript: ; 751cd (1d:51cd)
call EnableAutoTextBoxDrawing
ld hl, SafariZoneEntranceScriptPointers
ld a, [wSafariZoneEntranceCurScript]
- jp JumpTable
+ call JumpTable
+ ret
SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9)
dw .SafariZoneEntranceScript0
@@ -43,8 +44,8 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9)
ret
.CoordsData_75221: ; 75221 (1d:5221)
- db $02,$03
- db $02,$04
+ db $02, $03
+ db $02, $04
db $FF
.SafariZoneEntranceScript1
@@ -85,6 +86,8 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9)
call DisplayTextID
xor a
ld [wNumSafariBalls], a
+ ld [wSafariSteps], a
+ ld [wSafariSteps], a ; ?????
ld a, D_DOWN
ld c, $3
call SafariZoneEntranceAutoWalk
@@ -117,10 +120,10 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9)
SafariZoneEntranceAutoWalk:
push af
- ld b,0
- ld a,c
- ld [wSimulatedJoypadStatesIndex],a
- ld hl,wSimulatedJoypadStatesEnd
+ ld b, 0
+ ld a, c
+ ld [wSimulatedJoypadStatesIndex], a
+ ld hl, wSimulatedJoypadStatesEnd
pop af
call FillMemory
jp StartSimulatingJoypadStates
@@ -143,89 +146,15 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9)
db "@"
.SafariZoneEntranceText4
- TX_FAR SafariZoneEntranceText_9e6e4
TX_ASM
- ld a, MONEY_BOX
- ld [wTextBoxID],a
- call DisplayTextBoxID
- call YesNoChoice
- ld a,[wCurrentMenuItem]
- and a
- jp nz,.PleaseComeAgain
- xor a
- ld [hMoney],a
- ld a,$05
- ld [hMoney + 1],a
- ld a,$00
- ld [hMoney + 2],a
- call HasEnoughMoney
- jr nc,.success
- ld hl,.NotEnoughMoneyText
- call PrintText
- jr .CantPayWalkDown
-
-.success
- xor a
- ld [wPriceTemp],a
- ld a,$05
- ld [wPriceTemp + 1],a
- ld a,$00
- ld [wPriceTemp + 2],a
- ld hl,wPriceTemp + 2
- ld de,wPlayerMoney + 2
- ld c,3
- predef SubBCDPredef
- ld a,MONEY_BOX
- ld [wTextBoxID],a
- call DisplayTextBoxID
- ld hl,.MakePaymentText
- call PrintText
- ld a,30
- ld [wNumSafariBalls],a
- ld a,502 / $100
- ld [wSafariSteps],a
- ld a, 502 % $100
- ld [wSafariSteps + 1],a
- ld a,D_UP
- ld c,3
- call SafariZoneEntranceAutoWalk
- SetEvent EVENT_IN_SAFARI_ZONE
- ResetEventReuseHL EVENT_SAFARI_GAME_OVER
- ld a,3
- ld [wSafariZoneEntranceCurScript],a
- jr .done
-
-.PleaseComeAgain
- ld hl,.PleaseComeAgainText
- call PrintText
-.CantPayWalkDown
- ld a,D_DOWN
- ld c,1
- call SafariZoneEntranceAutoWalk
- ld a,4
- ld [wSafariZoneEntranceCurScript],a
-.done
+ callab Func_f1f77
jp TextScriptEnd
-.MakePaymentText
- TX_FAR SafariZoneEntranceText_9e747
- db $b
- TX_FAR _SafariZoneEntranceText_75360
- db "@"
-
-.PleaseComeAgainText
- TX_FAR _SafariZoneEntranceText_75365
- db "@"
-
-.NotEnoughMoneyText
- TX_FAR _SafariZoneEntranceText_7536a
- db "@"
-
.SafariZoneEntranceText5
TX_FAR SafariZoneEntranceText_9e814
TX_ASM
call YesNoChoice
- ld a,[wCurrentMenuItem]
+ ld a, [wCurrentMenuItem]
and a
jr nz, .asm_7539c
ld hl, .SafariZoneEntranceText_753bb
@@ -268,26 +197,5 @@ SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9)
.SafariZoneEntranceText2
TX_ASM
- ld hl,.FirstTimeQuestionText
- call PrintText
- call YesNoChoice
- ld a,[wCurrentMenuItem]
- and a
- ld hl,.RegularText
- jr nz,.Explanation
- ld hl,.ExplanationText
-.Explanation
- call PrintText
+ callab Func_f203e
jp TextScriptEnd
-
-.FirstTimeQuestionText
- TX_FAR _SafariZoneEntranceText_753e6
- db "@"
-
-.ExplanationText
- TX_FAR _SafariZoneEntranceText_753eb
- db "@"
-
-.RegularText
- TX_FAR _SafariZoneEntranceText_753f0
- db "@"
diff --git a/scripts/safarizoneentrance2.asm b/scripts/safarizoneentrance2.asm
new file mode 100755
index 00000000..0eb50790
--- /dev/null
+++ b/scripts/safarizoneentrance2.asm
@@ -0,0 +1,251 @@
+Func_f1f77:
+ ld hl, .WelcomeText
+ call PrintText
+ ld a, MONEY_BOX
+ ld [wTextBoxID], a
+ call DisplayTextBoxID
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ jp nz, .declined
+ ld hl, wPlayerMoney
+ ld a, [hli]
+ or [hl]
+ inc hl
+ or [hl]
+ jr nz, .has_positive_balance
+ call SafariZoneEntranceGetLowCostAdmissionText
+ jr c, .deny_entry
+ jr .poor_mans_discount
+
+.has_positive_balance
+ xor a
+ ld [hMoney], a
+ ld a, $5
+ ld [hMoney + 1], a
+ ld a, $0
+ ld [hMoney + 2], a
+ call HasEnoughMoney
+ jr nc, .has_enough_money
+ ld hl, .NotEnoughMoneyText
+ call PrintText
+ call SafariZoneEntranceCalculateLowCostAdmission
+ jr c, .deny_entry
+ jr .poor_mans_discount
+
+.has_enough_money
+ xor a
+ ld [wPriceTemp + 0], a
+ ld a, $5
+ ld [wPriceTemp + 1], a
+ ld a, $0
+ ld [wPriceTemp + 2], a
+ ld hl, wTrainerInfoTextBoxNextRowOffset
+ ld de, wPlayerMoney + 2
+ ld c, 3
+ predef SubBCDPredef
+ ld a, SFX_PURCHASE
+ call PlaySoundWaitForCurrent
+ call WaitForSoundToFinish
+ ld a, MONEY_BOX
+ ld [wTextBoxID], a
+ call DisplayTextBoxID
+ ld hl, .MakePaymentText
+ call PrintText
+ ld a, 30
+ ld hl, 502
+.poor_mans_discount
+ ld [wNumSafariBalls], a
+ ld a, h
+ ld [wSafariSteps], a
+ ld a, l
+ ld [wSafariSteps + 1], a
+ ld a, D_UP
+ ld c, 3
+ call SafariZoneEntranceStartSimulatiingJoypadStates
+ SetEvent EVENT_IN_SAFARI_ZONE
+ ResetEventReuseHL EVENT_SAFARI_GAME_OVER
+ ld a, $3
+ ld [wSafariZoneEntranceCurScript], a
+ jr .asm_f2024
+.declined:
+ ld hl, .PleaseComeAgainText
+ call PrintText
+.deny_entry
+ ld a, D_DOWN
+ ld c, 1
+ call SafariZoneEntranceStartSimulatiingJoypadStates
+ ld a, $4
+ ld [wSafariZoneEntranceCurScript], a
+.asm_f2024
+ ret
+
+.WelcomeText
+ TX_FAR SafariZoneEntranceText_9e6e4
+ db "@"
+
+.MakePaymentText
+ TX_FAR SafariZoneEntranceText_9e747
+ TX_SFX_ITEM
+ TX_FAR _SafariZoneEntranceText_75360
+ db "@"
+
+.PleaseComeAgainText
+ TX_FAR _SafariZoneEntranceText_75365
+ db "@"
+
+.NotEnoughMoneyText
+ TX_FAR _SafariZoneEntranceText_7536a
+ db "@"
+
+Func_f203e:
+ ld hl, .FirstTimeQuestionText
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ ld hl, .RegularText
+ jr nz, .Explanation
+ ld hl, .ExplanationText
+.Explanation
+ call PrintText
+ ret
+
+.FirstTimeQuestionText
+ TX_FAR _SafariZoneEntranceText_753e6
+ db "@"
+
+.ExplanationText
+ TX_FAR _SafariZoneEntranceText_753eb
+ db "@"
+
+.RegularText
+ TX_FAR _SafariZoneEntranceText_753f0
+ db "@"
+
+SafariZoneEntranceStartSimulatiingJoypadStates:
+ push af
+ ld b, $0
+ ld a, c
+ ld [wSimulatedJoypadStatesIndex], a
+ ld hl, wParentMenuItem
+ pop af
+ call FillMemory
+ jp StartSimulatingJoypadStates
+
+SafariZoneEntranceCalculateLowCostAdmission:
+ ld hl, wPlayerMoney
+ ld de, hMoney
+ ld bc, $3
+ call CopyData
+ xor a
+ ld [hDivideBCDDivisor], a
+ ld [hDivideBCDDivisor + 1], a
+ ld a, 23
+ ld [hDivideBCDDivisor + 2], a
+ predef DivideBCDPredef3
+ ld a, [hDivideBCDQuotient + 2]
+ call SafariZoneEntranceConvertBCDtoNumber
+ push af
+ ld hl, wPlayerMoney
+ xor a
+ ld bc, $3
+ call FillMemory
+ ld hl, SafariZoneEntranceText_f20c4
+ call PrintText_NoCreatingTextBox
+ ld a, MONEY_BOX
+ ld [wTextBoxID], a
+ call DisplayTextBoxID
+ ld hl, SafariZoneEntranceText_f20c9
+ call PrintText
+ pop af
+ inc a
+ jr z, .max_balls
+ cp 29
+ jr c, .load_balls
+.max_balls
+ ld a, 29
+.load_balls
+ ld hl, 502
+ and a
+ ret
+
+SafariZoneEntranceText_f20c4:
+ TX_FAR _SafariZoneLowCostText1
+ db "@"
+
+SafariZoneEntranceText_f20c9:
+ TX_FAR _SafariZoneLowCostText2
+ db "@"
+
+SafariZoneEntranceGetLowCostAdmissionText:
+ ld hl, wSafariSteps
+ ld a, [hl]
+ push af
+ inc [hl]
+ ld e, a
+ ld d, $0
+ ld hl, Pointers_f2100
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call PrintText
+ pop af
+ cp $3
+ jr z, .give_one_ball
+ scf
+ ret
+
+.give_one_ball
+ ld hl, SafariZoneEntranceText_f20f6
+ call PrintText_NoCreatingTextBox
+ ld a, $1
+ ld hl, 502
+ and a
+ ret
+
+SafariZoneEntranceText_f20f6:
+ TX_FAR _SafariZoneLowCostText3
+ TX_SFX_ITEM
+ TX_FAR _SafariZoneLowCostText4
+ db "@"
+
+Pointers_f2100:
+ dw SafariZoneEntranceText_f210a
+ dw SafariZoneEntranceText_f210f
+ dw SafariZoneEntranceText_f2114
+ dw SafariZoneEntranceText_f2119
+ dw SafariZoneEntranceText_f2119
+
+SafariZoneEntranceText_f210a:
+ TX_FAR _SafariZoneLowCostText5
+ db "@"
+
+SafariZoneEntranceText_f210f:
+ TX_FAR _SafariZoneLowCostText6
+ db "@"
+
+SafariZoneEntranceText_f2114:
+ TX_FAR _SafariZoneLowCostText7
+ db "@"
+
+SafariZoneEntranceText_f2119:
+ TX_FAR _SafariZoneLowCostText8
+ db "@"
+
+SafariZoneEntranceConvertBCDtoNumber:
+ push hl
+ ld c, a
+ and $f
+ ld l, a
+ ld h, $0
+ ld a, c
+ and $f0
+ swap a
+ ld bc, 10
+ call AddNTimes
+ ld a, l
+ pop hl
+ ret
diff --git a/scripts/saffronpokecenter.asm b/scripts/saffronpokecenter.asm
index 8f569a8e..05420812 100755
--- a/scripts/saffronpokecenter.asm
+++ b/scripts/saffronpokecenter.asm
@@ -7,9 +7,10 @@ SaffronPokecenterTextPointers: ; 5d53b (17:553b)
dw SaffronPokecenterText2
dw SaffronPokecenterText3
dw SaffronPokecenterText4
+ dw SaffronPokecenterText5
SaffronPokecenterText1: ; 5d543 (17:5543)
- db $ff
+ TX_POKECENTER_NURSE
SaffronPokecenterText2: ; 5d544 (17:5544)
TX_FAR _SaffronPokecenterText1
@@ -20,4 +21,9 @@ SaffronPokecenterText3: ; 5d549 (17:5549)
db "@"
SaffronPokecenterText4: ; 5d54e (17:554e)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
+
+SaffronPokecenterText5:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm
index f8b7aed7..5901c5ca 100755
--- a/scripts/seafoamislands5.asm
+++ b/scripts/seafoamislands5.asm
@@ -6,8 +6,9 @@ SeafoamIslands5Script: ; 46799 (11:6799)
SeafoamIslands5Script_467a5: ; 467a5 (11:67a5)
xor a
- ld [wSeafoamIslands5CurScript], a
ld [wJoyIgnore], a
+ ld [wSeafoamIslands5CurScript], a
+ ld [W_CURMAPSCRIPT], a
ret
SeafoamIslands5ScriptPointers: ; 467ad (11:67ad)
diff --git a/scripts/silphco11_2.asm b/scripts/silphco11_2.asm
index e7b59757..22e19a02 100755
--- a/scripts/silphco11_2.asm
+++ b/scripts/silphco11_2.asm
@@ -71,6 +71,6 @@ MissableObjects_f25ce
db HS_SILPH_CO_10F_2
db HS_SILPH_CO_11F_1
db HS_SILPH_CO_11F_2
- db HS_SILPH_CO_11F_3
- db HS_MAP_F4_1
+ db HS_SILPH_CO_11F_JESSIE
+ db HS_SILPH_CO_11F_JAMES
db $ff \ No newline at end of file
diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm
index 7bdafe2c..3a2e207a 100755
--- a/scripts/ssanne2.asm
+++ b/scripts/ssanne2.asm
@@ -24,9 +24,7 @@ SSAnne2Script0: ; 613be (18:53be)
ld hl, CoordsData_61411
call ArePlayerCoordsInArray
ret nc
- ld a, $ff
- ld [wNewSoundID], a
- call PlaySound
+ call StopAllMusic
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
@@ -99,23 +97,8 @@ SSAnne2Script1: ; 61430 (18:5430)
call Delay3
ld a, OPP_SONY2
ld [wCurOpponent], a
-
- ; select which team to use during the encounter
- ld a, [W_RIVALSTARTER]
- cp STARTER2
- jr nz, .NotSquirtle
ld a, $1
- jr .done
-.NotSquirtle
- cp STARTER3
- jr nz, .Charmander
- ld a, $2
- jr .done
-.Charmander
- ld a, $3
-.done
ld [wTrainerNo], a
-
call SSAnne2Script_61416
ld a, $2
ld [W_SSANNE2CURSCRIPT], a
@@ -145,9 +128,7 @@ SSAnne2Script2: ; 6146d (18:546d)
ld a, $2
ld [H_SPRITEINDEX], a
call MoveSprite
- ld a, $ff
- ld [wNewSoundID], a
- call PlaySound
+ call StopAllMusic
callba Music_RivalAlternateStart
ld a, $3
ld [W_SSANNE2CURSCRIPT], a
diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm
index 911dac7f..6d07d308 100755
--- a/scripts/ssanne7.asm
+++ b/scripts/ssanne7.asm
@@ -3,7 +3,7 @@ SSAnne7Script: ; 61895 (18:5895)
jp EnableAutoTextBoxDrawing
SSAnne7Script_6189b: ; 6189b (18:589b)
- CheckEvent EVENT_RUBBED_CAPTAINS_BACK
+ CheckEvent EVENT_GOT_HM01
ret nz
ld hl, wd72d
set 5, [hl]
@@ -28,12 +28,12 @@ SSAnne7Text1: ; 618ad (18:58ad)
ld hl, ReceivedHM01Text
call PrintText
SetEvent EVENT_GOT_HM01
+ ld hl, wd72d
+ res 5, [hl]
jr .asm_0faf5
.BagFull
ld hl, HM01NoRoomText
call PrintText
- ld hl, wd72d
- set 5, [hl]
jr .asm_0faf5
.asm_797c4
ld hl, SSAnne7Text_61932
@@ -45,12 +45,10 @@ SSAnne7RubText: ; 618ec (18:58ec)
TX_FAR _SSAnne7RubText
TX_ASM
ld a, [wAudioROMBank]
- cp BANK(Audio3_UpdateMusic)
+ cp AUDIO_3
ld [wAudioSavedROMBank], a
jr nz, .asm_61908
- ld a, $ff
- ld [wNewSoundID], a
- call PlaySound
+ call StopAllMusic
ld a, Bank(Music_PkmnHealed)
ld [wAudioROMBank], a
.asm_61908
diff --git a/scripts/ssanne9.asm b/scripts/ssanne9.asm
index 525a2964..43c3991e 100755
--- a/scripts/ssanne9.asm
+++ b/scripts/ssanne9.asm
@@ -1,8 +1,5 @@
SSAnne9Script: ; 61b4b (18:5b4b)
- ld a, $1
- ld [wAutoTextBoxDrawingControl], a
- xor a
- ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ call DisableAutoTextBoxDrawing
ld hl, SSAnne9TrainerHeaders
ld de, SSAnne9ScriptPointers
ld a, [W_SSANNE9CURSCRIPT]
@@ -129,44 +126,24 @@ SSAnne9Text_61c10: ; 61c10 (18:5c10)
SSAnne9Text10: ; 61c15 (18:5c15)
TX_ASM
- ld hl, SSAnne9Text_61c1f
- call PrintText
+ callba Func_f2570
jp TextScriptEnd
-SSAnne9Text_61c1f: ; 61c1f (18:5c1f)
- TX_FAR _SSAnne9Text_61c1f
- db "@"
-
SSAnne9Text11: ; 61c24 (18:5c24)
TX_ASM
- ld hl, SSAnne9Text_61c2e
- call PrintText
+ callba Func_f257c
jp TextScriptEnd
-SSAnne9Text_61c2e: ; 61c2e (18:5c2e)
- TX_FAR _SSAnne9Text_61c2e
- db "@"
-
SSAnne9Text12: ; 61c33 (18:5c33)
TX_ASM
- ld hl, SSAnne9Text_61c3d
- call PrintText
+ callba Func_f2588
jp TextScriptEnd
-SSAnne9Text_61c3d: ; 61c3d (18:5c3d)
- TX_FAR _SSAnne9Text_61c3d
- db "@"
-
SSAnne9Text13: ; 61c42 (18:5c42)
TX_ASM
- ld hl, SSAnne9Text_61c4c
- call PrintText
+ callba Func_f2594
jp TextScriptEnd
-SSAnne9Text_61c4c: ; 61c4c (18:5c4c)
- TX_FAR _SSAnne9Text_61c4c
- db "@"
-
SSAnne9BattleText1: ; 61c51 (18:5c51)
TX_FAR _SSAnne9BattleText1
db "@"
diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm
index 78ada7cf..cef1766e 100755
--- a/scripts/vermiliondock.asm
+++ b/scripts/vermiliondock.asm
@@ -40,8 +40,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b)
SetEventForceReuseHL EVENT_SS_ANNE_LEFT
ld a, $ff
ld [wJoyIgnore], a
- ld [wNewSoundID], a
- call PlaySound
+ call StopAllMusic
ld c, BANK(Music_Surfing)
ld a, MUSIC_SURFING
call PlayMusic
@@ -63,6 +62,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b)
ld [H_AUTOBGTRANSFERENABLED], a
ld [wSSAnneSmokeDriftAmount], a
ld [rOBP1], a
+ call UpdateGBCPal_OBP1
ld a, 88
ld [wSSAnneSmokeX], a
ld hl, wMapViewVRAMPointer
@@ -124,7 +124,7 @@ VermilionDock_1db9b: ; 1db9b (7:5b9b)
VermilionDock_AnimSmokePuffDriftRight: ; 1dc42 (7:5c42)
push bc
push de
- ld hl, wOAMBuffer + $11
+ ld hl, wOAMBuffer + 4 * $4 + 1 ; x coord
ld a, [wSSAnneSmokeDriftAmount]
swap a
ld c, a
diff --git a/scripts/vermilionhouse3.asm b/scripts/vermilionhouse3.asm
index 478979da..fef07152 100755
--- a/scripts/vermilionhouse3.asm
+++ b/scripts/vermilionhouse3.asm
@@ -5,8 +5,5 @@ VermilionHouse3TextPointers: ; 19c15 (6:5c15)
dw VermilionHouse3Text1
VermilionHouse3Text1: ; 19c17 (6:5c17)
- TX_ASM
- ld a, $4
- ld [wWhichTrade], a
- predef DoInGameTradeDialogue
- jp TextScriptEnd
+ TX_FAR TeachingHMsText
+ db "@"
diff --git a/scripts/vermilionpokecenter.asm b/scripts/vermilionpokecenter.asm
index 6e85b3e3..72c232b7 100755
--- a/scripts/vermilionpokecenter.asm
+++ b/scripts/vermilionpokecenter.asm
@@ -7,9 +7,10 @@ VermilionPokecenterTextPointers: ; 5c995 (17:4995)
dw VermilionPokecenterText2
dw VermilionPokecenterText3
dw VermilionPokecenterText4
+ dw VermilionPokecenterText5
VermilionPokecenterText1: ; 5c99d (17:499d)
- db $ff
+ TX_POKECENTER_NURSE
VermilionPokecenterText2: ; 5c99e (17:499e)
TX_FAR _VermilionPokecenterText1
@@ -20,4 +21,9 @@ VermilionPokecenterText3: ; 5c9a3 (17:49a3)
db "@"
VermilionPokecenterText4: ; 5c9a8 (17:49a8)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
+
+VermilionPokecenterText5:
+ TX_ASM
+ callab PokecenterChanseyText
+ jp TextScriptEnd
diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm
index 11f5d5db..ee88d393 100755
--- a/scripts/victoryroad1.asm
+++ b/scripts/victoryroad1.asm
@@ -29,6 +29,9 @@ VictoryRoad1Script0: ; 5da40 (17:5a40)
ld hl, CoordsData_5da5c
call CheckBoulderCoords
jp nc, CheckFightingMapTrainers
+ ld a, [H_SPRITEINDEX]
+ cp $f
+ jp z, CheckFightingMapTrainers
ld hl, wd126
set 5, [hl]
SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm
index cb956b1c..87635c2e 100755
--- a/scripts/victoryroad2.asm
+++ b/scripts/victoryroad2.asm
@@ -17,7 +17,6 @@ VictoryRoad2Script: ; 5179d (14:579d)
VictoryRoad2Script_517c4: ; 517c4 (14:57c4)
ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
-
VictoryRoad2Script_517c9: ; 517c9 (14:57c9)
CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
jr z, .asm_517da
@@ -31,7 +30,6 @@ VictoryRoad2Script_517c9: ; 517c9 (14:57c9)
ret z
ld a, $1d
lb bc, 7, 11
-
VictoryRoad2Script_517e2: ; 517e2 (14:57e2)
ld [wNewTileBlockID], a
predef ReplaceTileBlock
@@ -46,6 +44,9 @@ VictoryRoad2Script0: ; 517f1 (14:57f1)
ld hl, CoordsData_51816
call CheckBoulderCoords
jp nc, CheckFightingMapTrainers
+ ld a, [hSpriteIndexOrTextID]
+ cp $f
+ jp z, CheckFightingMapTrainers
EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
ld a, [wCoordIndex]
cp $2
diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm
index 22e6813a..72e13775 100755
--- a/scripts/victoryroad3.asm
+++ b/scripts/victoryroad3.asm
@@ -36,6 +36,9 @@ VictoryRoad3Script0: ; 449b7 (11:49b7)
ld a, [wCoordIndex]
cp $1
jr nz, .asm_449dc
+ ld a, [hSpriteIndexOrTextID]
+ cp $f ; Pikachu
+ jp z, .asm_449fe
ld hl, wd126
set 5, [hl]
SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm
index 05e566fb..b69e24c2 100755
--- a/scripts/viridianmart.asm
+++ b/scripts/viridianmart.asm
@@ -93,7 +93,7 @@ ViridianMartText4: ; 1d4f5 (7:54f5)
ViridianMartText5: ; 1d4fa (7:54fa)
TX_FAR ViridianMartParcelQuestText
- db $11
+ TX_SFX_KEY_ITEM
db "@"
ViridianMartText2: ; 1d500 (7:5500)
diff --git a/scripts/viridianpokecenter.asm b/scripts/viridianpokecenter.asm
index f8aed602..c2e2d283 100755
--- a/scripts/viridianpokecenter.asm
+++ b/scripts/viridianpokecenter.asm
@@ -10,7 +10,7 @@ ViridianPokecenterTextPointers: ; 44263 (11:4263)
dw ViridianPokeCenterText5
ViridianPokeCenterText1: ; 4426b (11:426b)
- db $ff
+ TX_POKECENTER_NURSE
ViridianPokeCenterText2: ; 4426c (11:426c)
TX_FAR _ViridianPokeCenterText1
@@ -21,9 +21,9 @@ ViridianPokeCenterText3: ; 44271 (11:4271)
db "@"
ViridianPokeCenterText4: ; 44276 (11:4276)
- db $f6
+ TX_CABLE_CLUB_RECEPTIONIST
ViridianPokeCenterText5:
TX_ASM
- callab Func_f0f12
+ callab PokecenterChanseyText
jp TextScriptEnd