pokecrystal/maps/PlayersHouse1F.asm

410 lines
7.6 KiB
NASM

const_def 2 ; object constants
const PLAYERSHOUSE1F_MOM1
const PLAYERSHOUSE1F_MOM2
const PLAYERSHOUSE1F_MOM3
const PLAYERSHOUSE1F_MOM4
const PLAYERSHOUSE1F_POKEFAN_F
PlayersHouse1F_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0 ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_FINISHED
db 0 ; callbacks
.DummyScene0:
end
.DummyScene1:
end
MeetMomLeftScript:
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
MeetMomRightScript:
playmusic MUSIC_MOM
showemote EMOTE_SHOCK, PLAYERSHOUSE1F_MOM1, 15
turnobject PLAYER, LEFT
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
iffalse .OnRight
applymovement PLAYERSHOUSE1F_MOM1, Movement_MomTurnsTowardPlayer
jump MeetMomScript
.OnRight:
applymovement PLAYERSHOUSE1F_MOM1, Movement_MomWalksToPlayer
MeetMomScript:
opentext
writetext Text_ElmsLookingForYou
buttonsound
stringtotext GearName, MEM_BUFFER_1
scall PlayersHouse1FReceiveItemStd
setflag ENGINE_POKEGEAR
setflag ENGINE_PHONE_CARD
addcellnum PHONE_MOM
setscene SCENE_FINISHED
setevent EVENT_PLAYERS_HOUSE_MOM_1
clearevent EVENT_PLAYERS_HOUSE_MOM_2
writetext Text_MomGivePokegear
buttonsound
special SetDayOfWeek
.SetDayOfWeek:
writetext Text_IsItDSTNow
yesorno
iffalse .WrongDay
special InitialSetDSTFlag
yesorno
iffalse .SetDayOfWeek
jump .DayOfWeekDone
.WrongDay:
special InitialClearDSTFlag
yesorno
iffalse .SetDayOfWeek
.DayOfWeekDone:
writetext Text_ComeHomeForDST
yesorno
iffalse .ExplainPhone
jump .KnowPhone
.KnowPhone:
writetext Text_KnowThePhoneInstructions
buttonsound
jump .FinishPhone
.ExplainPhone:
writetext Text_DontKnowThePhoneInstructions
buttonsound
jump .FinishPhone
.FinishPhone:
writetext Text_PhoneInstructionsNext
waitbutton
closetext
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
iftrue .FromRight
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
iffalse .FromLeft
jump .Finish
.FromRight:
applymovement PLAYERSHOUSE1F_MOM1, Movement_MomTurnsBack
jump .Finish
.FromLeft:
applymovement PLAYERSHOUSE1F_MOM1, Movement_MomWalksBack
jump .Finish
.Finish:
special RestartMapMusic
turnobject PLAYERSHOUSE1F_MOM1, LEFT
end
MeetMomTalkedScript:
playmusic MUSIC_MOM
jump MeetMomScript
GearName:
db "#GEAR@"
PlayersHouse1FReceiveItemStd:
jumpstd receiveitem
end
MomScript:
faceplayer
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
checkscene
iffalse MeetMomTalkedScript ; SCENE_DEFAULT
opentext
checkevent EVENT_FIRST_TIME_BANKING_WITH_MOM
iftrue .FirstTimeBanking
checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
iftrue .BankOfMom
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iftrue .GaveMysteryEgg
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue .GotAPokemon
writetext Text_HurryUpElmIsWaiting
waitbutton
closetext
end
.GotAPokemon:
writetext Text_AfterGotAMon
waitbutton
closetext
end
.FirstTimeBanking:
writetext Text_ImBehindYou
waitbutton
closetext
end
.GaveMysteryEgg:
setevent EVENT_FIRST_TIME_BANKING_WITH_MOM
.BankOfMom:
setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
special BankOfMom
waitbutton
closetext
end
NeighborScript:
faceplayer
opentext
checktime MORN
iftrue .MornScript
checktime DAY
iftrue .DayScript
checktime NITE
iftrue .NiteScript
.MornScript:
writetext NeighborMornIntroText
buttonsound
jump .Main
.DayScript:
writetext NeighborDayIntroText
buttonsound
jump .Main
.NiteScript:
writetext NeighborNiteIntroText
buttonsound
jump .Main
.Main:
writetext NeighborText
waitbutton
closetext
turnobject PLAYERSHOUSE1F_POKEFAN_F, RIGHT
end
TVScript:
jumptext TVText
StoveScript:
jumptext StoveText
SinkScript:
jumptext SinkText
FridgeScript:
jumptext FridgeText
Movement_MomTurnsTowardPlayer:
turn_head RIGHT
step_end
Movement_MomWalksToPlayer:
slow_step RIGHT
step_end
Movement_MomTurnsBack:
turn_head LEFT
step_end
Movement_MomWalksBack:
slow_step LEFT
step_end
Text_ElmsLookingForYou:
text "Oh, <PLAYER>…! Our"
line "neighbor, PROF."
para "ELM, was looking"
line "for you."
para "He said he wanted"
line "you to do some-"
cont "thing for him."
para "Oh! I almost for-"
line "got! Your #MON"
para "GEAR is back from"
line "the repair shop."
para "Here you go!"
done
Text_MomGivePokegear:
text "#MON GEAR, or"
line "just #GEAR."
para "It's essential if"
line "you want to be a"
cont "good trainer."
para "Oh, the day of the"
line "week isn't set."
para "You mustn't forget"
line "that!"
done
Text_IsItDSTNow:
text "Is it Daylight"
line "Saving Time now?"
done
Text_ComeHomeForDST:
text "Come home to"
line "adjust your clock"
para "for Daylight"
line "Saving Time."
para "By the way, do you"
line "know how to use"
cont "the PHONE?"
done
Text_KnowThePhoneInstructions:
text "Don't you just"
line "turn the #GEAR"
para "on and select the"
line "PHONE icon?"
done
Text_DontKnowThePhoneInstructions:
text "I'll read the"
line "instructions."
para "Turn the #GEAR"
line "on and select the"
cont "PHONE icon."
done
Text_PhoneInstructionsNext:
text "Phone numbers are"
line "stored in memory."
para "Just choose a name"
line "you want to call."
para "Gee, isn't that"
line "convenient?"
done
Text_HurryUpElmIsWaiting:
text "PROF.ELM is wait-"
line "ing for you."
para "Hurry up, baby!"
done
Text_AfterGotAMon:
text "So, what was PROF."
line "ELM's errand?"
para "…"
para "That does sound"
line "challenging."
para "But, you should be"
line "proud that people"
cont "rely on you."
done
Text_ImBehindYou:
text "<PLAYER>, do it!"
para "I'm behind you all"
line "the way!"
done
NeighborMornIntroText:
text "Good morning,"
line "<PLAY_G>!"
para "I'm visiting!"
done
NeighborDayIntroText:
text "Hello, <PLAY_G>!"
line "I'm visiting!"
done
NeighborNiteIntroText:
text "Good evening,"
line "<PLAY_G>!"
para "I'm visiting!"
done
NeighborText:
text "<PLAY_G>, have you"
line "heard?"
para "My daughter is"
line "adamant about"
para "becoming PROF."
line "ELM's assistant."
para "She really loves"
line "#MON!"
done
StoveText:
text "Mom's specialty!"
para "CINNABAR VOLCANO"
line "BURGER!"
done
SinkText:
text "The sink is spot-"
line "less. Mom likes it"
cont "clean."
done
FridgeText:
text "Let's see what's"
line "in the fridge…"
para "FRESH WATER and"
line "tasty LEMONADE!"
done
TVText:
text "There's a movie on"
line "TV: Stars dot the"
para "sky as two boys"
line "ride on a train…"
para "I'd better get"
line "rolling too!"
done
PlayersHouse1F_MapEvents:
db 0, 0 ; filler
db 3 ; warp events
warp_event 6, 7, NEW_BARK_TOWN, 2
warp_event 7, 7, NEW_BARK_TOWN, 2
warp_event 9, 0, PLAYERS_HOUSE_2F, 1
db 2 ; coord events
coord_event 8, 4, SCENE_DEFAULT, MeetMomLeftScript
coord_event 9, 4, SCENE_DEFAULT, MeetMomRightScript
db 4 ; bg events
bg_event 0, 1, BGEVENT_READ, StoveScript
bg_event 1, 1, BGEVENT_READ, SinkScript
bg_event 2, 1, BGEVENT_READ, FridgeScript
bg_event 4, 1, BGEVENT_READ, TVScript
db 5 ; object events
object_event 7, 4, SPRITE_MOM, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MomScript, EVENT_PLAYERS_HOUSE_MOM_1
object_event 2, 2, SPRITE_MOM, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, MORN, 0, OBJECTTYPE_SCRIPT, 0, MomScript, EVENT_PLAYERS_HOUSE_MOM_2
object_event 7, 4, SPRITE_MOM, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, DAY, 0, OBJECTTYPE_SCRIPT, 0, MomScript, EVENT_PLAYERS_HOUSE_MOM_2
object_event 0, 2, SPRITE_MOM, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, NITE, 0, OBJECTTYPE_SCRIPT, 0, MomScript, EVENT_PLAYERS_HOUSE_MOM_2
object_event 4, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, NeighborScript, EVENT_PLAYERS_HOUSE_1F_NEIGHBOR