summaryrefslogtreecommitdiff
path: root/en/scripts/pewtercity.asm
diff options
context:
space:
mode:
Diffstat (limited to 'en/scripts/pewtercity.asm')
-rwxr-xr-xen/scripts/pewtercity.asm322
1 files changed, 322 insertions, 0 deletions
diff --git a/en/scripts/pewtercity.asm b/en/scripts/pewtercity.asm
new file mode 100755
index 00000000..80acede8
--- /dev/null
+++ b/en/scripts/pewtercity.asm
@@ -0,0 +1,322 @@
+PewterCityScript:
+ call EnableAutoTextBoxDrawing
+ ld hl, PewterCityScriptPointers
+ ld a, [wPewterCityCurScript]
+ jp CallFunctionInTable
+
+PewterCityScriptPointers:
+ dw PewterCityScript0
+ dw PewterCityScript1
+ dw PewterCityScript2
+ dw PewterCityScript3
+ dw PewterCityScript4
+ dw PewterCityScript5
+ dw PewterCityScript6
+
+PewterCityScript0:
+ xor a
+ ld [wMuseum1fCurScript], a
+ ResetEvent EVENT_BOUGHT_MUSEUM_TICKET
+ call PewterCityScript_1925e
+ ret
+
+PewterCityScript_1925e:
+ CheckEvent EVENT_BEAT_BROCK
+ ret nz
+ ld hl, CoordsData_19277
+ call ArePlayerCoordsInArray
+ ret nc
+ ld a, $f0
+ ld [wJoyIgnore], a
+ ld a, $5
+ ld [hSpriteIndexOrTextID], a
+ jp DisplayTextID
+
+CoordsData_19277:
+ db $11,$23
+ db $11,$24
+ db $12,$25
+ db $13,$25
+ db $ff
+
+PewterCityScript1:
+ ld a, [wNPCMovementScriptPointerTableNum]
+ and a
+ ret nz
+ ld a, $3
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_UP
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
+ ld a, ($3 << 4) | SPRITE_FACING_UP
+ ld [hSpriteImageIndex], a
+ call SetSpriteImageIndexAfterSettingFacingDirection
+ call PlayDefaultMusic
+ ld hl, wFlags_0xcd60
+ set 4, [hl]
+ ld a, $d
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ ld a, $3c
+ ld [$ffeb], a
+ ld a, $30
+ ld [$ffec], a
+ ld a, $c
+ ld [$ffed], a
+ ld a, $11
+ ld [$ffee], a
+ ld a, $3
+ ld [wSpriteIndex], a
+ call SetSpritePosition1
+ ld a, $3
+ ld [H_SPRITEINDEX], a
+ ld de, MovementData_PewterMuseumGuyExit
+ call MoveSprite
+ ld a, $2
+ ld [wPewterCityCurScript], a
+ ret
+
+MovementData_PewterMuseumGuyExit:
+ db NPC_MOVEMENT_DOWN
+ db NPC_MOVEMENT_DOWN
+ db NPC_MOVEMENT_DOWN
+ db NPC_MOVEMENT_DOWN
+ db $FF
+
+PewterCityScript2:
+ ld a, [wd730]
+ bit 0, a
+ ret nz
+ ld a, HS_MUSEUM_GUY
+ ld [wMissableObjectIndex], a
+ predef HideObject
+ ld a, $3
+ ld [wPewterCityCurScript], a
+ ret
+
+PewterCityScript3:
+ ld a, $3
+ ld [wSpriteIndex], a
+ call SetSpritePosition2
+ ld a, HS_MUSEUM_GUY
+ ld [wMissableObjectIndex], a
+ predef ShowObject
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $0
+ ld [wPewterCityCurScript], a
+ ret
+
+PewterCityScript4:
+ ld a, [wNPCMovementScriptPointerTableNum]
+ and a
+ ret nz
+ ld a, $5
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_LEFT
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
+ ld a, ($1 << 4) | SPRITE_FACING_LEFT
+ ld [hSpriteImageIndex], a
+ call SetSpriteImageIndexAfterSettingFacingDirection
+ call PlayDefaultMusic
+ ld hl, wFlags_0xcd60
+ set 4, [hl]
+ ld a, $e
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ ld a, $3c
+ ld [$ffeb], a
+ ld a, $40
+ ld [$ffec], a
+ ld a, $16
+ ld [$ffed], a
+ ld a, $10
+ ld [$ffee], a
+ ld a, $5
+ ld [wSpriteIndex], a
+ call SetSpritePosition1
+ ld a, $5
+ ld [H_SPRITEINDEX], a
+ ld de, MovementData_PewterGymGuyExit
+ call MoveSprite
+ ld a, $5
+ ld [wPewterCityCurScript], a
+ ret
+
+MovementData_PewterGymGuyExit:
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db $FF
+
+PewterCityScript5:
+ ld a, [wd730]
+ bit 0, a
+ ret nz
+ ld a, HS_GYM_GUY
+ ld [wMissableObjectIndex], a
+ predef HideObject
+ ld a, $6
+ ld [wPewterCityCurScript], a
+ ret
+
+PewterCityScript6:
+ ld a, $5
+ ld [wSpriteIndex], a
+ call SetSpritePosition2
+ ld a, HS_GYM_GUY
+ ld [wMissableObjectIndex], a
+ predef ShowObject
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $0
+ ld [wPewterCityCurScript], a
+ ret
+
+PewterCityTextPointers:
+ dw PewterCityText1
+ dw PewterCityText2
+ dw PewterCityText3
+ dw PewterCityText4
+ dw PewterCityText5
+ dw PewterCityText6
+ dw PewterCityText7
+ dw MartSignText
+ dw PokeCenterSignText
+ dw PewterCityText10
+ dw PewterCityText11
+ dw PewterCityText12
+ dw PewterCityText13
+ dw PewterCityText14
+
+PewterCityText1:
+ TX_FAR _PewterCityText1
+ db "@"
+
+PewterCityText2:
+ TX_FAR _PewterCityText2
+ db "@"
+
+PewterCityText3:
+ TX_ASM
+ ld hl, PewterCityText_193f1
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ jr nz, .asm_193c9
+ ld hl, PewterCityText_193f6
+ call PrintText
+ jr .asm_193ee
+.asm_193c9
+ ld hl, PewterCityText_193fb
+ call PrintText
+ xor a
+ ld [hJoyPressed], a
+ ld [hJoyHeld], a
+ ld [wNPCMovementScriptFunctionNum], a
+ ld a, $2
+ ld [wNPCMovementScriptPointerTableNum], a
+ ld a, [H_LOADEDROMBANK]
+ ld [wNPCMovementScriptBank], a
+ ld a, $3
+ ld [wSpriteIndex], a
+ call GetSpritePosition2
+ ld a, $1
+ ld [wPewterCityCurScript], a
+.asm_193ee
+ jp TextScriptEnd
+
+PewterCityText_193f1:
+ TX_FAR _PewterCityText_193f1
+ db "@"
+
+PewterCityText_193f6:
+ TX_FAR _PewterCityText_193f6
+ db "@"
+
+PewterCityText_193fb:
+ TX_FAR _PewterCityText_193fb
+ db "@"
+
+PewterCityText13:
+ TX_FAR _PewterCityText13
+ db "@"
+
+PewterCityText4:
+ TX_ASM
+ ld hl, PewterCityText_19427
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ cp $0
+ jr nz, .asm_1941e
+ ld hl, PewterCityText_1942c
+ call PrintText
+ jr .asm_19424
+.asm_1941e
+ ld hl, PewterCityText_19431
+ call PrintText
+.asm_19424
+ jp TextScriptEnd
+
+PewterCityText_19427:
+ TX_FAR _PewterCityText_19427
+ db "@"
+
+PewterCityText_1942c:
+ TX_FAR _PewterCityText_1942c
+ db "@"
+
+PewterCityText_19431:
+ TX_FAR _PewterCityText_19431
+ db "@"
+
+PewterCityText5:
+ TX_ASM
+ ld hl, PewterCityText_1945d
+ call PrintText
+ xor a
+ ld [hJoyHeld], a
+ ld [wNPCMovementScriptFunctionNum], a
+ ld a, $3
+ ld [wNPCMovementScriptPointerTableNum], a
+ ld a, [H_LOADEDROMBANK]
+ ld [wNPCMovementScriptBank], a
+ ld a, $5
+ ld [wSpriteIndex], a
+ call GetSpritePosition2
+ ld a, $4
+ ld [wPewterCityCurScript], a
+ jp TextScriptEnd
+
+PewterCityText_1945d:
+ TX_FAR _PewterCityText_1945d
+ db "@"
+
+PewterCityText14:
+ TX_FAR _PewterCityText14
+ db "@"
+
+PewterCityText6:
+ TX_FAR _PewterCityText6
+ db "@"
+
+PewterCityText7:
+ TX_FAR _PewterCityText7
+ db "@"
+
+PewterCityText10:
+ TX_FAR _PewterCityText10
+ db "@"
+
+PewterCityText11:
+ TX_FAR _PewterCityText11
+ db "@"
+
+PewterCityText12:
+ TX_FAR _PewterCityText12
+ db "@"