Blue's Lab First Pass

This largely finishes the Blue's Lab commit from last night, adding all the bits and bobs to make the first initial cutscene. This essentially puts all the first plot threads into place: Impostor Oak, the Nihon League, and so on. This stuff is stupid unorthodox, I expect it to be an uphill battle.
This commit is contained in:
Llinos Evans 2024-07-20 12:56:20 +01:00
parent 30e57c9e38
commit 9f29e38e59
5 changed files with 232 additions and 131 deletions

View file

@ -342,8 +342,7 @@ CheckTileEvent:
call RandomEncounter call RandomEncounter
ret c ret c
jr .ok ; pointless ; pointless jr replaced with fallthrough
.ok .ok
xor a xor a
ret ret

View file

@ -12,12 +12,16 @@
const BLUELAB_CHIKORITA const BLUELAB_CHIKORITA
const BLUELAB_KEN const BLUELAB_KEN
const BLUELAB_OAK const BLUELAB_OAK
const BLUELAB_POKEDEX1
const BLUELAB_POKEDEX2
const BLUELAB_DAISY
const BLUELAB_AIDE
BlueLab_MapScripts: BlueLab_MapScripts:
def_scene_scripts def_scene_scripts
scene_script EnterLabWithBlue, SCENE_ENTER_LAB_WITH_BLUE scene_script EnterLabWithBlue, SCENE_ENTER_LAB_WITH_BLUE
scene_script EnterStarterRoomWithBlue, SCENE_ENTER_STARTER_ROOM_WITH_BLUE scene_script EnterStarterRoomWithBlue, SCENE_ENTER_STARTER_ROOM_WITH_BLUE
scene_script BlueLabWhereGoing, SCENE_BLUELAB_WHERE_GOING scene_script BlueLabNoopScene, SCENE_BLUELAB_WHERE_GOING
scene_script BlueLabNoopScene, SCENE_BLUELAB_NOOP scene_script BlueLabNoopScene, SCENE_BLUELAB_NOOP
def_callbacks def_callbacks
@ -27,22 +31,12 @@ BlueLabNoopScene:
end end
BlueLabSetup: BlueLabSetup:
checkevent EVENT_DRAGGED_BY_BLUE
iffalse .skip1
moveobject BLUELAB_BLUE, 4, 18
.skip1
checkevent EVENT_GONE_THROUGH_STARTER_DOOR
iffalse .skip2
appear BLUELAB_BLUE
appear BLUELAB_KEN
moveobject BLUELAB_BLUE, 20, 2
moveobject BLUELAB_KEN, 19, 4
.skip2
checkevent EVENT_BRIEFED_BY_BLUE checkevent EVENT_BRIEFED_BY_BLUE
iffalse .skip3 iffalse .skip
moveobject BLUELAB_OAK, 6, 2 moveobject BLUELAB_OAK, 6, 2
moveobject BLUELAB_KEN, 23, 19 moveobject BLUELAB_KEN, 23, 19
.skip3 disappear BLUELAB_POKEDEX2
.skip
endcallback endcallback
end end
@ -63,20 +57,18 @@ EnterLabWithBlue:
writetext OakAhYesIAmOak writetext OakAhYesIAmOak
waitbutton waitbutton
closetext closetext
.No1
opentext opentext
writetext OakStoryAskText writetext OakStoryAskText
waitbutton
closetext
yesorno yesorno
iffalse .No1 iffalse .discerningEye
sjump .Yes1 sjump .Yes1
.No1 .discerningEye
opentext opentext
writetext OakDiscerningEye writetext OakDiscerningEye
waitbutton waitbutton
closetext closetext
yesorno sjump .No1
iffalse .No1
.Yes1 .Yes1
opentext opentext
writetext OakStoryText writetext OakStoryText
@ -106,11 +98,27 @@ EnterLabWithBlue:
playsound SFX_ENTER_DOOR playsound SFX_ENTER_DOOR
pause 10 pause 10
applymovement PLAYER, EnterStarterRoomMovement1 applymovement PLAYER, EnterStarterRoomMovement1
setscene SCENE_BLUELAB_NOOP
; So get this: GSC never actually moves you into a warp. You'll be bounced back.
; Here, we use Lance's Room's method: An illusion of it actually happening.
disappear PLAYER
playsound SFX_ENTER_DOOR
special FadeOutPalettes
pause 15
warpfacing UP, BLUE_LAB, 20, 9
moveobject BLUELAB_KEN, 19, 4
setscene SCENE_ENTER_STARTER_ROOM_WITH_BLUE
setevent EVENT_GONE_THROUGH_STARTER_DOOR
end end
EnterStarterRoomWithBlue: EnterStarterRoomWithBlue:
appear BLUELAB_KEN
; moveobject BLUELAB_KEN, 19, 4
appear BLUELAB_BLUE
moveobject BLUELAB_BLUE, 20, 2
applymovement PLAYER, EnterStarterRoomMovement2 applymovement PLAYER, EnterStarterRoomMovement2
;turnobject BLUELAB_BLUE, DOWN ; It didn't work the other way, but this makes it kind of sick actually.
opentext opentext
writetext BlueChooseText writetext BlueChooseText
waitbutton waitbutton
@ -121,18 +129,18 @@ EnterStarterRoomWithBlue:
closetext closetext
applymovement BLUELAB_KEN, KenPickMovement1 applymovement BLUELAB_KEN, KenPickMovement1
opentext opentext
writetext KenChikoritaText writetext KenChikoritaText ; No one wants Chikorita, so...
waitbutton waitbutton
closetext closetext
disappear BLUELAB_CHIKORITA disappear BLUELAB_CHIKORITA
opentext opentext
writetext KenReceivedChikoritaText writetext KenReceivedChikoritaText
waitbutton
closetext
playsound SFX_CAUGHT_MON playsound SFX_CAUGHT_MON
waitsfx waitsfx
waitbutton
closetext
applymovement BLUELAB_KEN, KenPickMovement2 applymovement BLUELAB_KEN, KenPickMovement2
moveobject BLUELAB_KEN, 23, 19 disappear BLUELAB_KEN
playsound SFX_ENTER_DOOR playsound SFX_ENTER_DOOR
pause 10 pause 10
opentext opentext
@ -142,16 +150,12 @@ EnterStarterRoomWithBlue:
.goBack .goBack
opentext opentext
writetext BlueProposalText writetext BlueProposalText
waitbutton
closetext
yesorno yesorno
iffalse .No iffalse .No
sjump .Yes sjump .Yes
.No .No
opentext opentext
writetext BlueLabINeedYouText writetext BlueLabINeedYouText
waitbutton
closetext
yesorno yesorno
iffalse .goBack iffalse .goBack
.Yes .Yes
@ -296,6 +300,7 @@ BlueAfterStarterScript:
closetext closetext
moveobject BLUELAB_OAK, 6, 2 moveobject BLUELAB_OAK, 6, 2
setevent EVENT_BRIEFED_BY_BLUE setevent EVENT_BRIEFED_BY_BLUE
setevent EVENT_GOT_POKEMON_FROM_BLUE
end end
BlueDidntChooseStarterScript: BlueDidntChooseStarterScript:
@ -390,7 +395,10 @@ KenIfItIsntYouText:
line "around!" line "around!"
done done
PCText: BlueLabPC:
jumptext BlueLabPCText
BlueLabPCText:
text "There's some mail" text "There's some mail"
line "here!" line "here!"
@ -421,19 +429,28 @@ PCText:
line "AIDE" line "AIDE"
done done
ReportText: BlueLabReport:
jumptext BlueLabReportText
BlueLabReportText:
text "Don't forget to" text "Don't forget to"
line "SAVE!" line "SAVE!"
done done
PokedexText: BlueLabPokedex:
jumptext BlueLabPokedexText
BlueLabPokedexText:
text "It's a #DEX!" text "It's a #DEX!"
line "It looks diff-" line "It looks diff-"
cont "erent to the" cont "erent to the"
cont "ones in JOHTO!" cont "ones in JOHTO!"
done done
DoorLockedText: BlueLabDoorLocked:
jumptext BlueLabDoorLockedText
BlueLabDoorLockedText:
text "The door is" text "The door is"
line "locked." line "locked."
done done
@ -495,11 +512,12 @@ OakDiscerningEye:
para "Hmm…" para "Hmm…"
done done
; Mostly translated from the SW97 dialogue, but adapted to KEP/JEP's AU.
OakStoryText: OakStoryText:
text "OAK: Right! A year" text "OAK: Right! A year" ; In the SW demo, this was technically correct. In modern GSC, it's set 3 years later, coinciding with the game's release schedule. Given the storyline, let's keep the original quote, naturally creating an inconsistency.
line "ago, I gave two" line "ago, I gave two"
cont "boys #MON so" cont "boys #MON so"
cont "they could carry" cont "they could carry" ; This can surely be expressed in fewer lines...
cont "out my dream of" cont "out my dream of"
cont "filling the" cont "filling the"
cont "#DEX!" cont "#DEX!"
@ -510,18 +528,18 @@ OakStoryText:
cont "with aplomb!" cont "with aplomb!"
para "They documented" para "They documented"
line "all 190 #MON!" line "all 190 #MON!" ; Adjusted for KEP. I accidentally made it the RG prototype numbers, but I actually like this.
para "But…the world is" para "But…the world is"
line "a big place! One" line "a big place! One"
cont "after another, new" cont "after another,"
cont "#MON have been" cont "#MON have been"
cont "discovered!" cont "discovered!"
para "I moved to this" para "I moved to this"
line "place, SILENT" line "place, SILENT"
cont "HILLS, to cont-" cont "HILLS, to conti-"
cont "inue my research!" cont "nue my research!"
para "I must see all" para "I must see all"
line "#MON up close!" line "#MON up close!"
@ -530,7 +548,7 @@ OakStoryText:
para "… … …" para "… … …"
para "As you can see," para "As you can see,"
line "my nephew is here" line "my nephew is here" ; He does say this, yes.
cont "to help, as are" cont "to help, as are"
cont "everyone else." cont "everyone else."
@ -542,6 +560,8 @@ OakStoryText:
para "I need your help!" para "I need your help!"
done done
; Ken often words things like this.
; He seems impressionable and kind, so let's establish him like that.
KenResponseText: KenResponseText:
text "KEN: Oh, <PLAYER>!" text "KEN: Oh, <PLAYER>!"
line "This is super" line "This is super"
@ -561,8 +581,7 @@ OakThanksText:
BlueChooseText: BlueChooseText:
text "BLUE: So here we" text "BLUE: So here we"
line "have 3 #" line "have 3 # BALLS!"
cont "BALLS!"
para "Haha! They contain" para "Haha! They contain"
line "#MON." line "#MON."
@ -596,19 +615,19 @@ KenPickText:
done done
KenPickMovement1: KenPickMovement1:
step RIGHT
step RIGHT
step UP step UP
step RIGHT
step RIGHT
turn_head UP
step_end step_end
KenChikoritaText: KenChikoritaText:
text "CHIKORITA!" text "CHIKORITA!"
line "It's so cute" line "It's so cute and"
cont "and cuddly!" cont "cuddly!"
para "Let's go on" para "Let's go on an"
line "an adventure" line "adventure!"
cont "together!"
para "I'll show CAL!" para "I'll show CAL!"
done done
@ -619,6 +638,8 @@ KenReceivedChikoritaText:
done done
KenPickMovement2: KenPickMovement2:
step DOWN
step DOWN
step LEFT step LEFT
step DOWN step DOWN
step DOWN step DOWN
@ -630,15 +651,12 @@ KenPickMovement2:
BlueWeirdText: BlueWeirdText:
text "BLUE: Such a" text "BLUE: Such a"
line "starry-eyed" line "starry-eyed kid…"
cont "kid…"
para "Well, champ…" para "Well, champ…"
para "You saw it too," para "You saw it too,"
line "right? I mean," line "right?"
cont "you have to be"
cont "blind to not."
para "That ain't gramps." para "That ain't gramps."
@ -647,7 +665,7 @@ BlueWeirdText:
cont "DAISY! Gramps's" cont "DAISY! Gramps's"
cont "research is top-" cont "research is top-"
cont "notch, but this" cont "notch, but this"
cont "one hardly responds" cont "one hardly replies"
cont "to e-mails!" cont "to e-mails!"
para "#MON TALK is" para "#MON TALK is"
@ -657,27 +675,25 @@ BlueWeirdText:
done done
BlueProposalText: BlueProposalText:
text "So here's the" text "So here's the deal."
line "deal. I want you" line "I want you to find"
cont "to search for"
cont "gramps." cont "gramps."
para "In return, I" para "In return, I'll"
line "will give you" line "give you one of"
cont "one of these" cont "these #MON."
cont "#MON. Capische?"
para "Capische?"
done done
BlueAcceptText: BlueAcceptText:
text "They're super" text "I'm counting on"
line "rare! I'm sure" line "you, <PLAYER>!"
cont "they'll be safe"
cont "with you!"
done done
BlueAfterStarterText: BlueAfterStarterText:
text "Right place at" text "BLUE: Right place"
line "the right time," line "at the right time,"
cont "huh, <PLAYER>?" cont "huh, <PLAYER>?"
para "I don't have any" para "I don't have any"
@ -685,9 +701,9 @@ BlueAfterStarterText:
cont "has disappeared," cont "has disappeared,"
cont "only a hunch." cont "only a hunch."
para "I don't know" para "I don't even know"
line "where he could" line "where he could"
cont "have gone, even." cont "have gone!"
para "The NIHON LEAGUE" para "The NIHON LEAGUE"
line "is wicked tough," line "is wicked tough,"
@ -701,7 +717,7 @@ BlueAfterStarterText:
line "want my #GEAR" line "want my #GEAR"
cont "number? I'll call" cont "number? I'll call"
cont "you if anything" cont "you if anything"
cont "comes up" cont "comes up."
done done
BlueLabWhereAreYouGoingMovement: BlueLabWhereAreYouGoingMovement:
@ -748,10 +764,17 @@ KenRegularText:
text "?" text "?"
done done
; To be expanded on later. ; To be expanded on later, a la Elm.
ProfBlueScript: ProfBlueScript:
faceplayer
opentext opentext
checkevent EVENT_GOT_POKEMON_FROM_BLUE
iftrue .skip
writetext BlueDidntChooseStarterText
sjump .omniSkip
.skip
writetext BlueRegularText writetext BlueRegularText
.omniSkip
waitbutton waitbutton
closetext closetext
end end
@ -764,6 +787,39 @@ BlueRegularText:
cont "up." cont "up."
done done
BlueLabBookshelf:
jumpstd DifficultBookshelfScript
BlueLabDaisyScript:
jumptextfaceplayer BlueLabDaisyText
BlueLabDaisyText:
text "DAISY: Yup, this"
line "is my day job."
para "At the same time,"
line "seeing BLUE work"
cont "so hard warms my"
cont "heart!"
para "But I wonder if"
line "the stress gets"
cont "to him?"
done
BlueLabAideScript:
jumptextfaceplayer BlueLabAideText
BlueLabAideText:
text "I'm glad OAK fina-"
line "lly sees the value"
cont "in my research!"
para "Legendary #-"
line "MON need more"
cont "study!"
done
BlueLab_MapEvents: BlueLab_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler
@ -780,11 +836,34 @@ BlueLab_MapEvents:
coord_event 19, 9, SCENE_BLUELAB_WHERE_GOING, BlueLabWhereGoing coord_event 19, 9, SCENE_BLUELAB_WHERE_GOING, BlueLabWhereGoing
def_bg_events def_bg_events
bg_event 6, 1, BGEVENT_READ, BlueLabPC
bg_event 2, 0, BGEVENT_READ, BlueLabReport
bg_event 22, 0, BGEVENT_READ, BlueLabReport
bg_event 7, 9, BGEVENT_READ, BlueLabBookshelf
bg_event 6, 9, BGEVENT_READ, BlueLabBookshelf
bg_event 5, 9, BGEVENT_READ, BlueLabBookshelf
bg_event 2, 9, BGEVENT_READ, BlueLabBookshelf
bg_event 1, 9, BGEVENT_READ, BlueLabBookshelf
bg_event 0, 9, BGEVENT_READ, BlueLabBookshelf
bg_event 7, 13, BGEVENT_READ, BlueLabBookshelf
bg_event 6, 13, BGEVENT_READ, BlueLabBookshelf
bg_event 19, 1, BGEVENT_READ, BlueLabBookshelf
bg_event 18, 1, BGEVENT_READ, BlueLabBookshelf
bg_event 17, 1, BGEVENT_READ, BlueLabBookshelf
bg_event 16, 1, BGEVENT_READ, BlueLabBookshelf
bg_event 5, 13, BGEVENT_READ, BlueLabBookshelf
bg_event 2, 13, BGEVENT_READ, BlueLabBookshelf
bg_event 1, 13, BGEVENT_READ, BlueLabBookshelf
bg_event 0, 13, BGEVENT_READ, BlueLabBookshelf
def_object_events def_object_events
object_event 4, 2, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ProfBlueScript, -1 object_event 4, 2, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ProfBlueScript, -1
object_event 22, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CubburnPokeBallScript, EVENT_CUBBURN_POKEBALL_IN_BLUES_LAB object_event 22, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CubburnPokeBallScript, EVENT_CUBBURN_POKEBALL_IN_BLUES_LAB
object_event 23, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PalssioPokeBallScript, EVENT_PALSSIO_POKEBALL_IN_BLUES_LAB object_event 23, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PalssioPokeBallScript, EVENT_PALSSIO_POKEBALL_IN_BLUES_LAB
object_event 21, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueChikoritaPokeBallScript, -1 object_event 21, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueChikoritaPokeBallScript, -1
object_event 3, 4, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, KenRegularScript, -1 object_event 3, 4, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, KenRegularScript, -1
object_event 4, 2, SPRITE_OAK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OakRegularScript, -1 object_event 4, 2, SPRITE_OAK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OakRegularScript, -1
object_event 1, 1, SPRITE_POKEDEX, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueLabPokedex, -1
object_event 0, 1, SPRITE_POKEDEX, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueLabPokedex, -1
object_event 6, 14, SPRITE_DAISY, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueLabDaisyScript, -1
object_event 1, 10, SPRITE_SCIENTIST, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueLabAideScript, -1

View file

@ -602,9 +602,6 @@ ElmsLabTrashcan:
ElmsLabPC: ElmsLabPC:
jumptext ElmsLabPCText jumptext ElmsLabPCText
ElmsLabTrashcan2: ; unreferenced
jumpstd TrashCanScript
ElmsLabBookshelf: ElmsLabBookshelf:
jumpstd DifficultBookshelfScript jumpstd DifficultBookshelfScript

View file

@ -1 +1 @@
IJHF|}+BF~E/JIJ !A|}G~E$AAAAAATnnnnUX5555Y IJHF|}+BF~-/JIJ !A|}G~-$AAAAAATnnnnUX5555Y

View file

@ -8,9 +8,7 @@
SilentHills_MapScripts: SilentHills_MapScripts:
def_scene_scripts def_scene_scripts
scene_script SilentHillsNoopScene, SCENE_SILENT_HILLS_NOOP scene_script SilentHillsNoopScene, SCENE_SILENT_HILLS_BLUE
scene_script SilentHillsBlue1, SCENE_SILENT_HILLS_BLUE1
scene_script SilentHillsBlue2, SCENE_SILENT_HILLS_BLUE2
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, SilentHillsFlypointCallback callback MAPCALLBACK_NEWMAP, SilentHillsFlypointCallback
@ -19,63 +17,83 @@ SilentHillsNoopScene:
end end
SilentHillsBlue1: SilentHillsBlue1:
checkevent EVENT_DRAGGED_BY_BLUE playmusic MUSIC_PROF_OAK
iftrue .end
moveobject SILENT_HILLS_BLUE, 4, 8
opentext opentext
writetext BlueWaitText1 writetext BlueWaitText1
waitbutton waitbutton
closetext closetext
pause 15 pause 15
applymovement PLAYER, KrisWantsLefties
moveobject SILENT_HILLS_BLUE, 6, 9
disappear SILENT_HILLS_BLUE
appear SILENT_HILLS_BLUE
opentext opentext
writetext BlueWaitText2 writetext BlueWaitText2
waitbutton waitbutton
closetext closetext
opentext
writetext BlueFollowMeText
playmusic MUSIC_SHOW_ME_AROUND
appear SILENT_HILLS_BLUE appear SILENT_HILLS_BLUE
turnobject PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
applymovement SILENT_HILLS_BLUE, BlueStrideMovement applymovement SILENT_HILLS_BLUE, BlueStrideMovement
opentext opentext
writetext BlueFollowMeText writetext BlueFollowMeText
waitbutton waitbutton
closetext closetext
follow SILENT_HILLS_BLUE, PLAYER, BlueFollowMeMovement1 follow SILENT_HILLS_BLUE, PLAYER
applymovement SILENT_HILLS_BLUE, BlueFollowMeMovement1A
applymovement SILENT_HILLS_BLUE, BlueFollowMeMovement1
applymovement SILENT_HILLS_BLUE, BlueFollowMeMovement1B
disappear SILENT_HILLS_BLUE
playsound SFX_ENTER_DOOR
stopfollow stopfollow
pause 10
applymovement PLAYER, KrisWantsUppies
disappear PLAYER
playsound SFX_ENTER_DOOR
special FadeOutPalettes
pause 15
warpfacing UP, BLUE_LAB, 4, 19
setevent EVENT_DRAGGED_BY_BLUE setevent EVENT_DRAGGED_BY_BLUE
setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios. setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios.
.end
setscene SCENE_SILENT_HILLS_NOOP
end end
SilentHillsBlue2: SilentHillsBlue2:
checkevent EVENT_DRAGGED_BY_BLUE playmusic MUSIC_PROF_OAK
iftrue .end
moveobject SILENT_HILLS_BLUE, 4, 8
opentext opentext
writetext BlueWaitText1 writetext BlueWaitText1
waitbutton waitbutton
closetext closetext
pause 15 pause 15
applymovement PLAYER, KrisWantsLefties
moveobject SILENT_HILLS_BLUE, 6, 8
disappear SILENT_HILLS_BLUE
appear SILENT_HILLS_BLUE
opentext opentext
writetext BlueWaitText2 writetext BlueWaitText2
waitbutton waitbutton
closetext closetext
opentext turnobject PLAYER, RIGHT
writetext BlueFollowMeText showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_SHOW_ME_AROUND
appear SILENT_HILLS_BLUE
applymovement SILENT_HILLS_BLUE, BlueStrideMovement applymovement SILENT_HILLS_BLUE, BlueStrideMovement
opentext opentext
writetext BlueFollowMeText writetext BlueFollowMeText
waitbutton waitbutton
closetext closetext
follow SILENT_HILLS_BLUE, PLAYER, BlueFollowMeMovement2 follow SILENT_HILLS_BLUE, PLAYER
applymovement SILENT_HILLS_BLUE, BlueFollowMeMovement1A
applymovement SILENT_HILLS_BLUE, BlueFollowMeMovement2 ; don't need 1B as we use a fallthrough instead
disappear SILENT_HILLS_BLUE
playsound SFX_ENTER_DOOR
stopfollow stopfollow
pause 10
applymovement PLAYER, KrisWantsUppies
disappear PLAYER
playsound SFX_ENTER_DOOR
special FadeOutPalettes
pause 15
warpfacing UP, BLUE_LAB, 4, 19
setevent EVENT_DRAGGED_BY_BLUE setevent EVENT_DRAGGED_BY_BLUE
setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios. setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios.
.end
setscene SCENE_SILENT_HILLS_NOOP
end end
SilentHillsFlypointCallback: SilentHillsFlypointCallback:
@ -142,6 +160,7 @@ SilentHillManText:
BlueWaitText1: BlueWaitText1:
text "Hey! Hey! Wait!" text "Hey! Hey! Wait!"
line "Don't go out!"
done done
BlueWaitText2: BlueWaitText2:
@ -153,8 +172,8 @@ BlueFollowMeText:
line "know--" line "know--"
para "Huh?! It's you!" para "Huh?! It's you!"
line "You wiped the floor" line "You wiped the flo-"
cont "with me before!" cont "or with me before!"
para "What are you doing" para "What are you doing"
line "in NIHON?!" line "in NIHON?!"
@ -162,26 +181,44 @@ BlueFollowMeText:
para "…" para "…"
para "You may be useful," para "You may be useful,"
line "actually. Come with" line "actually. Come on,"
cont "me!" cont "follow me!"
done done
BlueStrideMovement: BlueStrideMovement:
step LEFT step LEFT
step LEFT step LEFT
step LEFT step LEFT
step LEFT
step LEFT
step_end
; I got really annoyed at the inefficiency and decided to do things like this.
; There is probably a fallthrough you can use somewhere.
BlueFollowMeMovement1A:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end step_end
BlueFollowMeMovement1: BlueFollowMeMovement1:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step DOWN step DOWN
step DOWN step DOWN
step DOWN step DOWN
step_end
BlueFollowMeMovement2:
step DOWN
step DOWN
step DOWN
step DOWN
; fallthrough
BlueFollowMeMovement1B:
step RIGHT
step RIGHT
step RIGHT step RIGHT
step RIGHT step RIGHT
step RIGHT step RIGHT
@ -191,25 +228,14 @@ BlueFollowMeMovement1:
step UP step UP
step_end step_end
BlueFollowMeMovement2: KrisWantsUppies:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step DOWN
step DOWN
step DOWN
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step UP step UP
step_end step_end
KrisWantsLefties: ; Wasn't funny enough
step LEFT
step_end
; A little message for the cheaters. ; A little message for the cheaters.
SilentHillsWhatScript: SilentHillsWhatScript:
jumptextfaceplayer SilentHillsWhatText jumptextfaceplayer SilentHillsWhatText
@ -223,7 +249,7 @@ SilentHillsWhatText:
para "…" para "…"
para "Well, you must be" para "Well, you must be"
line "smart…and dedicated." line "smart…."
para "So, props! Thanks" para "So, props! Thanks"
line "for playing!" line "for playing!"
@ -240,8 +266,8 @@ SilentHills_MapEvents:
warp_event 3, 12, SILVERS_HOUSE, 1 warp_event 3, 12, SILVERS_HOUSE, 1
def_coord_events def_coord_events
coord_event 1, 9, SCENE_SILENT_HILLS_BLUE1, SilentHillsBlue1 coord_event 1, 9, SCENE_SILENT_HILLS_BLUE, SilentHillsBlue1
coord_event 1, 8, SCENE_SILENT_HILLS_BLUE2, SilentHillsBlue2 coord_event 1, 8, SCENE_SILENT_HILLS_BLUE, SilentHillsBlue2
def_bg_events def_bg_events
bg_event 8, 4, BGEVENT_READ, SilentHillsSign1 bg_event 8, 4, BGEVENT_READ, SilentHillsSign1
@ -255,4 +281,4 @@ SilentHills_MapEvents:
def_object_events def_object_events
object_event 8, 7, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillPokefanF, -1 object_event 8, 7, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillPokefanF, -1
object_event 9, 13, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillYoungster, -1 object_event 9, 13, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillYoungster, -1
object_event 0, 0, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SilentHillsWhatText, -1 object_event 0, 0, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillsWhatScript, -1