2019-01-01 20:06:23 +00:00
|
|
|
VermilionCity_Script:
|
2014-05-18 18:19:10 +00:00
|
|
|
call EnableAutoTextBoxDrawing
|
2016-01-03 19:17:10 +00:00
|
|
|
ld hl, wCurrentMapScriptFlags
|
2024-09-24 15:39:44 +00:00
|
|
|
bit BIT_CUR_MAP_LOADED_2, [hl]
|
|
|
|
res BIT_CUR_MAP_LOADED_2, [hl]
|
2014-05-18 18:19:10 +00:00
|
|
|
push hl
|
2023-07-14 01:27:56 +00:00
|
|
|
call nz, VermilionCityLeftSSAnneCallbackScript
|
2014-05-18 18:19:10 +00:00
|
|
|
pop hl
|
2024-09-24 15:39:44 +00:00
|
|
|
bit BIT_CUR_MAP_LOADED_1, [hl]
|
|
|
|
res BIT_CUR_MAP_LOADED_1, [hl]
|
2020-05-03 06:00:01 +00:00
|
|
|
call nz, .setFirstLockTrashCanIndex
|
2019-01-01 20:06:23 +00:00
|
|
|
ld hl, VermilionCity_ScriptPointers
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wVermilionCityCurScript]
|
2014-05-18 18:19:10 +00:00
|
|
|
jp CallFunctionInTable
|
|
|
|
|
2020-05-03 06:00:01 +00:00
|
|
|
.setFirstLockTrashCanIndex
|
2014-05-24 18:40:38 +00:00
|
|
|
call Random
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh a, [hRandomSub]
|
2014-05-18 18:19:10 +00:00
|
|
|
and $e
|
2015-07-25 03:27:59 +00:00
|
|
|
ld [wFirstLockTrashCanIndex], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityLeftSSAnneCallbackScript:
|
2015-07-21 01:32:02 +00:00
|
|
|
CheckEventHL EVENT_SS_ANNE_LEFT
|
2014-05-18 18:19:10 +00:00
|
|
|
ret z
|
2015-07-21 17:36:03 +00:00
|
|
|
CheckEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT
|
|
|
|
SetEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nz
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_PLAYER_EXIT_SHIP
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
VermilionCity_ScriptPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_script_pointers
|
|
|
|
dw_const VermilionCityDefaultScript, SCRIPT_VERMILIONCITY_DEFAULT
|
|
|
|
dw_const VermilionCityPlayerMovingUp1Script, SCRIPT_VERMILIONCITY_PLAYER_MOVING_UP1
|
|
|
|
dw_const VermilionCityPlayerExitShipScript, SCRIPT_VERMILIONCITY_PLAYER_EXIT_SHIP
|
|
|
|
dw_const VermilionCityPlayerMovingUp2Script, SCRIPT_VERMILIONCITY_PLAYER_MOVING_UP2
|
|
|
|
dw_const VermilionCityPlayerAllowedToPassScript, SCRIPT_VERMILIONCITY_PLAYER_ALLOWED_TO_PASS
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityDefaultScript:
|
2020-07-05 21:29:11 +00:00
|
|
|
ld a, [wSpritePlayerStateData1FacingDirection]
|
2015-07-04 05:44:12 +00:00
|
|
|
and a ; cp SPRITE_FACING_DOWN
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nz
|
2020-05-03 18:25:01 +00:00
|
|
|
ld hl, SSAnneTicketCheckCoords
|
2014-05-18 18:19:10 +00:00
|
|
|
call ArePlayerCoordsInArray
|
|
|
|
ret nc
|
|
|
|
xor a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hJoyHeld], a
|
2023-11-20 23:53:23 +00:00
|
|
|
ld [wSavedCoordIndex], a ; unnecessary
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, TEXT_VERMILIONCITY_SAILOR1
|
2024-09-19 01:01:18 +00:00
|
|
|
ldh [hTextID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextID
|
2015-07-21 01:32:02 +00:00
|
|
|
CheckEvent EVENT_SS_ANNE_LEFT
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .ship_departed
|
2015-12-15 04:09:30 +00:00
|
|
|
ld b, S_S_TICKET
|
2015-08-13 05:14:31 +00:00
|
|
|
predef GetQuantityOfItemInBag
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, b
|
|
|
|
and a
|
|
|
|
ret nz
|
2023-07-14 01:27:56 +00:00
|
|
|
.ship_departed
|
2015-07-17 07:52:25 +00:00
|
|
|
ld a, D_UP
|
2014-09-10 03:55:19 +00:00
|
|
|
ld [wSimulatedJoypadStatesEnd], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, $1
|
2014-09-10 03:55:19 +00:00
|
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
|
|
call StartSimulatingJoypadStates
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_PLAYER_MOVING_UP1
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2020-05-03 18:25:01 +00:00
|
|
|
SSAnneTicketCheckCoords:
|
2020-07-16 16:32:19 +00:00
|
|
|
dbmapcoord 18, 30
|
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityPlayerAllowedToPassScript:
|
2020-05-03 18:25:01 +00:00
|
|
|
ld hl, SSAnneTicketCheckCoords
|
2014-05-18 18:19:10 +00:00
|
|
|
call ArePlayerCoordsInArray
|
|
|
|
ret c
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_DEFAULT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityPlayerExitShipScript:
|
|
|
|
ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2015-07-17 07:52:25 +00:00
|
|
|
ld a, D_UP
|
2014-09-10 03:55:19 +00:00
|
|
|
ld [wSimulatedJoypadStatesEnd], a
|
2015-07-26 02:26:54 +00:00
|
|
|
ld [wSimulatedJoypadStatesEnd + 1], a
|
|
|
|
ld a, 2
|
2014-09-10 03:55:19 +00:00
|
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
|
|
call StartSimulatingJoypadStates
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_PLAYER_MOVING_UP2
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityPlayerMovingUp2Script:
|
2014-09-10 03:55:19 +00:00
|
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
|
|
|
ret nz
|
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hJoyHeld], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_DEFAULT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityPlayerMovingUp1Script:
|
2014-09-10 03:55:19 +00:00
|
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
|
|
|
ret nz
|
2015-07-03 19:38:12 +00:00
|
|
|
ld c, 10
|
2014-05-18 18:19:10 +00:00
|
|
|
call DelayFrames
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_DEFAULT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
VermilionCity_TextPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_text_pointers
|
|
|
|
dw_const VermilionCityBeautyText, TEXT_VERMILIONCITY_BEAUTY
|
|
|
|
dw_const VermilionCityGambler1Text, TEXT_VERMILIONCITY_GAMBLER1
|
|
|
|
dw_const VermilionCitySailor1Text, TEXT_VERMILIONCITY_SAILOR1
|
|
|
|
dw_const VermilionCityGambler2Text, TEXT_VERMILIONCITY_GAMBLER2
|
|
|
|
dw_const VermilionCityMachopText, TEXT_VERMILIONCITY_MACHOP
|
|
|
|
dw_const VermilionCitySailor2Text, TEXT_VERMILIONCITY_SAILOR2
|
|
|
|
dw_const VermilionCitySignText, TEXT_VERMILIONCITY_SIGN
|
|
|
|
dw_const VermilionCityNoticeSignText, TEXT_VERMILIONCITY_NOTICE_SIGN
|
|
|
|
dw_const MartSignText, TEXT_VERMILIONCITY_MART_SIGN
|
|
|
|
dw_const PokeCenterSignText, TEXT_VERMILIONCITY_POKECENTER_SIGN
|
|
|
|
dw_const VermilionCityPokemonFanClubSignText, TEXT_VERMILIONCITY_POKEMON_FAN_CLUB_SIGN
|
|
|
|
dw_const VermilionCityGymSignText, TEXT_VERMILIONCITY_GYM_SIGN
|
|
|
|
dw_const VermilionCityHarborSignText, TEXT_VERMILIONCITY_HARBOR_SIGN
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityBeautyText:
|
|
|
|
text_far _VermilionCityBeautyText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityGambler1Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 01:32:02 +00:00
|
|
|
CheckEvent EVENT_SS_ANNE_LEFT
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .ship_departed
|
|
|
|
ld hl, .DidYouSeeText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .text_script_end
|
|
|
|
.ship_departed
|
|
|
|
ld hl, .SSAnneDepartedText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
.text_script_end
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.DidYouSeeText:
|
|
|
|
text_far _VermilionCityGambler1DidYouSeeText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.SSAnneDepartedText:
|
|
|
|
text_far _VermilionCityGambler1SSAnneDepartedText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCitySailor1Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 01:32:02 +00:00
|
|
|
CheckEvent EVENT_SS_ANNE_LEFT
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .ship_departed
|
2020-07-05 21:29:11 +00:00
|
|
|
ld a, [wSpritePlayerStateData1FacingDirection]
|
2015-07-04 05:44:12 +00:00
|
|
|
cp SPRITE_FACING_RIGHT
|
2023-07-14 01:27:56 +00:00
|
|
|
jr z, .greet_player
|
2020-05-03 18:25:01 +00:00
|
|
|
ld hl, .inFrontOfOrBehindGuardCoords
|
2014-05-18 18:19:10 +00:00
|
|
|
call ArePlayerCoordsInArray
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nc, .greet_player_and_check_ticket
|
|
|
|
.greet_player
|
|
|
|
ld hl, .WelcomeToSSAnneText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2020-05-03 18:25:01 +00:00
|
|
|
jr .end
|
2023-07-14 01:27:56 +00:00
|
|
|
.greet_player_and_check_ticket
|
|
|
|
ld hl, .DoYouHaveATicketText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2015-12-15 04:09:30 +00:00
|
|
|
ld b, S_S_TICKET
|
2015-08-13 05:14:31 +00:00
|
|
|
predef GetQuantityOfItemInBag
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, b
|
|
|
|
and a
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .player_has_ticket
|
|
|
|
ld hl, .YouNeedATicketText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2020-05-03 18:25:01 +00:00
|
|
|
jr .end
|
2023-07-14 01:27:56 +00:00
|
|
|
.player_has_ticket
|
|
|
|
ld hl, .FlashedTicketText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_VERMILIONCITY_PLAYER_ALLOWED_TO_PASS
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wVermilionCityCurScript], a
|
2020-05-03 18:25:01 +00:00
|
|
|
jr .end
|
2023-07-14 01:27:56 +00:00
|
|
|
.ship_departed
|
|
|
|
ld hl, .ShipSetSailText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2020-05-03 18:25:01 +00:00
|
|
|
.end
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2020-05-03 18:25:01 +00:00
|
|
|
.inFrontOfOrBehindGuardCoords
|
2020-07-16 16:32:19 +00:00
|
|
|
dbmapcoord 19, 29 ; in front of guard
|
|
|
|
dbmapcoord 19, 31 ; behind guard
|
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.WelcomeToSSAnneText:
|
|
|
|
text_far _VermilionCitySailor1WelcomeToSSAnneText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.DoYouHaveATicketText:
|
|
|
|
text_far _VermilionCitySailor1DoYouHaveATicketText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.FlashedTicketText:
|
|
|
|
text_far _VermilionCitySailor1FlashedTicketText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.YouNeedATicketText:
|
|
|
|
text_far _VermilionCitySailor1YouNeedATicketText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.ShipSetSailText:
|
|
|
|
text_far _VermilionCitySailor1ShipSetSailText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityGambler2Text:
|
|
|
|
text_far _VermilionCityGambler2Text
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityMachopText:
|
|
|
|
text_far _VermilionCityMachopText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, MACHOP
|
|
|
|
call PlayCry
|
|
|
|
call WaitForSoundToFinish
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .StompingTheLandFlatText
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.StompingTheLandFlatText:
|
|
|
|
text_far _VermilionCityMachopStompingTheLandFlatText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCitySailor2Text:
|
|
|
|
text_far _VermilionCitySailor2Text
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCitySignText:
|
|
|
|
text_far _VermilionCitySignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityNoticeSignText:
|
|
|
|
text_far _VermilionCityNoticeSignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityPokemonFanClubSignText:
|
|
|
|
text_far _VermilionCityPokemonFanClubSignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityGymSignText:
|
|
|
|
text_far _VermilionCityGymSignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
VermilionCityHarborSignText:
|
|
|
|
text_far _VermilionCityHarborSignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|