pokered/scripts/PewterCity.asm

327 lines
5.9 KiB
NASM
Raw Normal View History

PewterCity_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, PewterCity_ScriptPointers
2015-08-31 02:38:41 +00:00
ld a, [wPewterCityCurScript]
2014-05-18 18:19:10 +00:00
jp CallFunctionInTable
PewterCity_ScriptPointers:
2014-05-18 18:19:10 +00:00
dw PewterCityScript0
dw PewterCityScript1
dw PewterCityScript2
dw PewterCityScript3
dw PewterCityScript4
dw PewterCityScript5
dw PewterCityScript6
2016-06-12 00:24:04 +00:00
PewterCityScript0:
2014-05-18 18:19:10 +00:00
xor a
ld [wMuseum1FCurScript], a
2015-07-21 17:36:03 +00:00
ResetEvent EVENT_BOUGHT_MUSEUM_TICKET
2014-05-18 18:19:10 +00:00
call PewterCityScript_1925e
ret
2016-06-12 00:24:04 +00:00
PewterCityScript_1925e:
2015-07-21 02:41:23 +00:00
CheckEvent EVENT_BEAT_BROCK
2014-05-18 18:19:10 +00:00
ret nz
2020-07-15 17:35:39 +00:00
IF DEF(_DEBUG)
call DebugPressedOrHeldB
ret nz
ENDC
2014-05-18 18:19:10 +00:00
ld hl, CoordsData_19277
call ArePlayerCoordsInArray
ret nc
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $5
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
jp DisplayTextID
2016-06-12 00:24:04 +00:00
CoordsData_19277:
dbmapcoord 35, 17
dbmapcoord 36, 17
dbmapcoord 37, 18
dbmapcoord 37, 19
db -1 ; end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityScript1:
ld a, [wNPCMovementScriptPointerTableNum]
2014-05-18 18:19:10 +00:00
and a
ret nz
ld a, $3
ldh [hSpriteIndex], a
ld a, SPRITE_FACING_UP
ldh [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
ld a, ($3 << 4) | SPRITE_FACING_UP
ldh [hSpriteImageIndex], a
call SetSpriteImageIndexAfterSettingFacingDirection
call PlayDefaultMusic
2014-05-18 18:19:10 +00:00
ld hl, wFlags_0xcd60
set 4, [hl]
ld a, $d
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld a, $3c
ldh [hSpriteScreenYCoord], a
2014-05-18 18:19:10 +00:00
ld a, $30
ldh [hSpriteScreenXCoord], a
ld a, 12
ldh [hSpriteMapYCoord], a
ld a, 17
ldh [hSpriteMapXCoord], a
2014-05-18 18:19:10 +00:00
ld a, $3
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
call SetSpritePosition1
2014-05-18 18:19:10 +00:00
ld a, $3
ldh [hSpriteIndex], a
ld de, MovementData_PewterMuseumGuyExit
2014-05-18 18:19:10 +00:00
call MoveSprite
ld a, $2
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
MovementData_PewterMuseumGuyExit:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db -1 ; end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityScript2:
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld a, HS_MUSEUM_GUY
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
2014-05-18 18:19:10 +00:00
ld a, $3
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PewterCityScript3:
2014-05-18 18:19:10 +00:00
ld a, $3
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
call SetSpritePosition2
ld a, HS_MUSEUM_GUY
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $0
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PewterCityScript4:
ld a, [wNPCMovementScriptPointerTableNum]
2014-05-18 18:19:10 +00:00
and a
ret nz
ld a, $5
ldh [hSpriteIndex], a
ld a, SPRITE_FACING_LEFT
ldh [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
ld a, ($1 << 4) | SPRITE_FACING_LEFT
ldh [hSpriteImageIndex], a
call SetSpriteImageIndexAfterSettingFacingDirection
call PlayDefaultMusic
2014-05-18 18:19:10 +00:00
ld hl, wFlags_0xcd60
set 4, [hl]
ld a, $e
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld a, $3c
ldh [hSpriteScreenYCoord], a
2014-05-18 18:19:10 +00:00
ld a, $40
ldh [hSpriteScreenXCoord], a
ld a, 22
ldh [hSpriteMapYCoord], a
ld a, 16
ldh [hSpriteMapXCoord], a
2014-05-18 18:19:10 +00:00
ld a, $5
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
call SetSpritePosition1
2014-05-18 18:19:10 +00:00
ld a, $5
ldh [hSpriteIndex], a
2014-05-18 18:19:10 +00:00
ld de, MovementData_PewterGymGuyExit
call MoveSprite
ld a, $5
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
MovementData_PewterGymGuyExit:
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db -1 ; end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityScript5:
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld a, HS_GYM_GUY
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
2014-05-18 18:19:10 +00:00
ld a, $6
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PewterCityScript6:
2014-05-18 18:19:10 +00:00
ld a, $5
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
call SetSpritePosition2
ld a, HS_GYM_GUY
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $0
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
ret
PewterCity_TextPointers:
2014-05-18 18:19:10 +00:00
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
2016-06-12 00:24:04 +00:00
PewterCityText1:
text_far _PewterCityText1
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText2:
text_far _PewterCityText2
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText3:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_193f1
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
2014-05-18 18:19:10 +00:00
and a
2019-10-07 13:53:27 +00:00
jr nz, .playerDidNotGoIntoMuseum
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_193f6
call PrintText
2019-10-07 13:53:27 +00:00
jr .done
.playerDidNotGoIntoMuseum
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_193fb
call PrintText
xor a
ldh [hJoyPressed], a
ldh [hJoyHeld], a
ld [wNPCMovementScriptFunctionNum], a
2014-05-18 18:19:10 +00:00
ld a, $2
ld [wNPCMovementScriptPointerTableNum], a
ldh a, [hLoadedROMBank]
ld [wNPCMovementScriptBank], a
2014-05-18 18:19:10 +00:00
ld a, $3
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
call GetSpritePosition2
2014-05-18 18:19:10 +00:00
ld a, $1
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2019-10-07 13:53:27 +00:00
.done
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
PewterCityText_193f1:
text_far _PewterCityText_193f1
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText_193f6:
text_far _PewterCityText_193f6
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText_193fb:
text_far _PewterCityText_193fb
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText13:
text_far _PewterCityText13
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText4:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_19427
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
2014-05-18 18:19:10 +00:00
cp $0
2019-10-07 13:53:27 +00:00
jr nz, .playerDoesNotKnow
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_1942c
call PrintText
2019-10-07 13:53:27 +00:00
jr .done
.playerDoesNotKnow
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_19431
call PrintText
2019-10-07 13:53:27 +00:00
.done
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
PewterCityText_19427:
text_far _PewterCityText_19427
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText_1942c:
text_far _PewterCityText_1942c
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText_19431:
text_far _PewterCityText_19431
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText5:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, PewterCityText_1945d
call PrintText
xor a
ldh [hJoyHeld], a
ld [wNPCMovementScriptFunctionNum], a
2014-05-18 18:19:10 +00:00
ld a, $3
ld [wNPCMovementScriptPointerTableNum], a
ldh a, [hLoadedROMBank]
ld [wNPCMovementScriptBank], a
2014-05-18 18:19:10 +00:00
ld a, $5
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
call GetSpritePosition2
2014-05-18 18:19:10 +00:00
ld a, $4
2015-08-31 02:38:41 +00:00
ld [wPewterCityCurScript], a
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
PewterCityText_1945d:
text_far _PewterCityText_1945d
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText14:
text_far _PewterCityText14
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText6:
text_far _PewterCityText6
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText7:
text_far _PewterCityText7
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText10:
text_far _PewterCityText10
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText11:
text_far _PewterCityText11
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PewterCityText12:
text_far _PewterCityText12
text_end