pokecrystal-board/maps/TrainerHouseB1F.asm
Remy Oukaour 62f5913943 All map triggers use the maptrigger macro, not dw
.MapTriggers and .MapCallbacks lists are formatted consistently with .Warps, .XYTriggers, .Signposts, and .PersonEvents
2017-12-10 17:53:21 -05:00

191 lines
3.5 KiB
NASM

const_value set 2
const TRAINERHOUSEB1F_RECEPTIONIST
const TRAINERHOUSEB1F_CHRIS
TrainerHouseB1F_MapScriptHeader:
.MapTriggers:
db 1
maptrigger .DummyTrigger
.MapCallbacks:
db 0
.DummyTrigger:
end
TrainerHouseReceptionistScript:
spriteface PLAYER, UP
opentext
checkflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
iftrue .FoughtTooManyTimes
writetext TrainerHouseB1FIntroText
buttonsound
special SpecialTrainerHouse
iffalse .GetCal3Name
trainertotext CAL, CAL2, $0
jump .GotName
.GetCal3Name:
trainertotext CAL, CAL3, $0
.GotName:
writetext TrainerHouseB1FYourOpponentIsText
buttonsound
writetext TrainerHouseB1FAskWantToBattleText
yesorno
iffalse .Declined
setflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
writetext TrainerHouseB1FGoRightInText
waitbutton
closetext
applymovement PLAYER, Movement_EnterTrainerHouseBattleRoom
opentext
writetext TrainerHouseB1FCalBeforeText
waitbutton
closetext
special SpecialTrainerHouse
iffalse .NoSpecialBattle
winlosstext TrainerHouseB1FCalBeatenText, 0
setlasttalked TRAINERHOUSEB1F_CHRIS
loadtrainer CAL, CAL2
startbattle
reloadmapafterbattle
iffalse .End
.NoSpecialBattle:
winlosstext TrainerHouseB1FCalBeatenText, 0
setlasttalked TRAINERHOUSEB1F_CHRIS
loadtrainer CAL, CAL3
startbattle
reloadmapafterbattle
.End:
applymovement PLAYER, Movement_ExitTrainerHouseBattleRoom
end
.Declined:
writetext TrainerHouseB1FPleaseComeAgainText
waitbutton
closetext
applymovement PLAYER, Movement_TrainerHouseTurnBack
end
.FoughtTooManyTimes:
writetext TrainerHouseB1FSecondChallengeDeniedText
waitbutton
closetext
applymovement PLAYER, Movement_TrainerHouseTurnBack
end
Movement_EnterTrainerHouseBattleRoom:
step LEFT
step LEFT
step LEFT
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step LEFT
turn_head RIGHT
step_end
Movement_ExitTrainerHouseBattleRoom:
step UP
step UP
step UP
step RIGHT
step UP
step UP
step UP
step UP
step UP
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end
Movement_TrainerHouseTurnBack:
step RIGHT
turn_head LEFT
step_end
TrainerHouseB1FIntroText:
text "Hi. Welcome to our"
line "TRAINING HALL."
para "You may battle a"
line "trainer once per"
cont "day."
done
TrainerHouseB1FYourOpponentIsText:
text_from_ram StringBuffer3
text " is your"
line "opponent today."
done
TrainerHouseB1FAskWantToBattleText:
text "Would you like to"
line "battle?"
done
TrainerHouseB1FGoRightInText:
text "Please go right"
line "through."
para "You may begin"
line "right away."
done
TrainerHouseB1FPleaseComeAgainText:
text "Sorry. Only those"
line "trainers who will"
para "be battling are"
line "allowed to go in."
done
TrainerHouseB1FSecondChallengeDeniedText:
text "I'm sorry."
line "This would be your"
para "second time today."
line "You're permitted"
para "to enter just once"
line "a day."
done
TrainerHouseB1FCalBeatenText:
text "I lost…"
line "Darn…"
done
TrainerHouseB1FCalBeforeText:
text "I traveled out"
line "here just so I"
cont "could battle you."
done
TrainerHouseB1F_MapEventHeader:
; filler
db 0, 0
.Warps:
db 1
warp_def $4, $9, 3, TRAINER_HOUSE_1F
.XYTriggers:
db 1
xy_trigger 0, $3, $7, $0, TrainerHouseReceptionistScript, $0, $0
.Signposts:
db 0
.PersonEvents:
db 2
person_event SPRITE_RECEPTIONIST, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, ObjectEvent, -1
person_event SPRITE_CHRIS, 11, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, ObjectEvent, -1