mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 21:25:42 -05:00
366 lines
9.2 KiB
C++
366 lines
9.2 KiB
C++
.set LOCALID_POLICEMAN, 1
|
|
.set LOCALID_GRUNT, 2
|
|
.set LOCALID_SLOWBRO, 5
|
|
.set LOCALID_LASS, 6
|
|
.set LOCALID_RIVAL, 8
|
|
.set LOCALID_WOMAN, 11
|
|
|
|
CeruleanCity_MapScripts::
|
|
map_script MAP_SCRIPT_ON_TRANSITION, CeruleanCity_OnTransition
|
|
.byte 0
|
|
|
|
CeruleanCity_OnTransition::
|
|
setworldmapflag FLAG_WORLD_MAP_CERULEAN_CITY
|
|
call_if_unset FLAG_GOT_SS_TICKET, CeruleanCity_EventScript_BlockExits
|
|
end
|
|
|
|
CeruleanCity_EventScript_BlockExits::
|
|
setobjectxyperm LOCALID_POLICEMAN, 30, 12
|
|
setobjectxyperm LOCALID_SLOWBRO, 26, 31
|
|
setobjectxyperm LOCALID_LASS, 27, 31
|
|
return
|
|
|
|
CeruleanCity_EventScript_RivalTriggerLeft::
|
|
lockall
|
|
setvar VAR_TEMP_1, 0
|
|
goto CeruleanCity_EventScript_Rival
|
|
end
|
|
|
|
CeruleanCity_EventScript_RivalTriggerMid::
|
|
lockall
|
|
setvar VAR_TEMP_1, 1
|
|
setobjectxyperm LOCALID_RIVAL, 23, 0
|
|
goto CeruleanCity_EventScript_Rival
|
|
end
|
|
|
|
CeruleanCity_EventScript_RivalTriggerRight::
|
|
lockall
|
|
setvar VAR_TEMP_1, 2
|
|
setobjectxyperm LOCALID_RIVAL, 24, 0
|
|
goto CeruleanCity_EventScript_Rival
|
|
end
|
|
|
|
CeruleanCity_EventScript_Rival::
|
|
textcolor NPC_TEXT_COLOR_MALE
|
|
setvar VAR_MAP_SCENE_ROUTE22, 2
|
|
playbgm MUS_ENCOUNTER_RIVAL, 0
|
|
addobject LOCALID_RIVAL
|
|
applymovement LOCALID_RIVAL, CeruleanCity_Movement_RivalEnter
|
|
waitmovement 0
|
|
msgbox CeruleanCity_Text_RivalIntro
|
|
setvar VAR_LAST_TALKED, LOCALID_RIVAL
|
|
call_if_eq VAR_STARTER_MON, 2, CeruleanCity_EventScript_RivalSquirtle
|
|
call_if_eq VAR_STARTER_MON, 1, CeruleanCity_EventScript_RivalBulbasaur
|
|
call_if_eq VAR_STARTER_MON, 0, CeruleanCity_EventScript_RivalCharmander
|
|
famechecker FAMECHECKER_BILL, 0
|
|
msgbox CeruleanCity_Text_RivalPostBattle
|
|
closemessage
|
|
playbgm MUS_RIVAL_EXIT, 0
|
|
call_if_eq VAR_TEMP_1, 0, CeruleanCity_EventScript_RivalStartExit
|
|
call_if_eq VAR_TEMP_1, 1, CeruleanCity_EventScript_RivalStartExit
|
|
call_if_eq VAR_TEMP_1, 2, CeruleanCity_EventScript_RivalStartExitRight
|
|
msgbox CeruleanCity_Text_OhRightLittlePresentAsFavor
|
|
setvar VAR_MAP_SCENE_CERULEAN_CITY_RIVAL, 1
|
|
setflag FLAG_GOT_FAME_CHECKER
|
|
giveitem ITEM_FAME_CHECKER
|
|
msgbox CeruleanCity_Text_ExplainFameCheckerSmellYa
|
|
closemessage
|
|
applymovement LOCALID_RIVAL, CeruleanCity_Movement_RivalExit
|
|
waitmovement 0
|
|
fadedefaultbgm
|
|
removeobject LOCALID_RIVAL
|
|
releaseall
|
|
end
|
|
|
|
CeruleanCity_EventScript_RivalSquirtle::
|
|
trainerbattle_no_intro TRAINER_RIVAL_CERULEAN_SQUIRTLE, CeruleanCity_Text_RivalDefeat
|
|
return
|
|
|
|
CeruleanCity_EventScript_RivalBulbasaur::
|
|
trainerbattle_no_intro TRAINER_RIVAL_CERULEAN_BULBASAUR, CeruleanCity_Text_RivalDefeat
|
|
return
|
|
|
|
CeruleanCity_EventScript_RivalCharmander::
|
|
trainerbattle_no_intro TRAINER_RIVAL_CERULEAN_CHARMANDER, CeruleanCity_Text_RivalDefeat
|
|
return
|
|
|
|
CeruleanCity_EventScript_RivalStartExit::
|
|
applymovement OBJ_EVENT_ID_PLAYER, CeruleanCity_Movement_PlayerWatchRivalExit
|
|
applymovement LOCALID_RIVAL, CeruleanCity_Movement_RivalStartExit
|
|
waitmovement 0
|
|
return
|
|
|
|
CeruleanCity_EventScript_RivalStartExitRight::
|
|
applymovement OBJ_EVENT_ID_PLAYER, CeruleanCity_Movement_PlayerWatchRivalExitRight
|
|
applymovement LOCALID_RIVAL, CeruleanCity_Movement_RivalStartExitRight
|
|
waitmovement 0
|
|
return
|
|
|
|
CeruleanCity_Movement_PlayerWatchRivalExit::
|
|
delay_16
|
|
delay_8
|
|
walk_in_place_faster_right
|
|
delay_16
|
|
walk_in_place_faster_down
|
|
step_end
|
|
|
|
CeruleanCity_Movement_PlayerWatchRivalExitRight::
|
|
delay_16
|
|
delay_8
|
|
walk_in_place_faster_left
|
|
delay_16
|
|
walk_in_place_faster_down
|
|
step_end
|
|
|
|
CeruleanCity_Movement_RivalEnter::
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
step_end
|
|
|
|
CeruleanCity_Movement_RivalStartExit::
|
|
walk_right
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
delay_16
|
|
delay_16
|
|
walk_left
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
CeruleanCity_Movement_RivalStartExitRight::
|
|
walk_left
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
delay_16
|
|
delay_16
|
|
walk_right
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
CeruleanCity_Movement_RivalExit::
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
step_end
|
|
|
|
CeruleanCity_EventScript_Grunt::
|
|
lock
|
|
faceplayer
|
|
goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_5, CeruleanCity_EventScript_GruntDefeated
|
|
message CeruleanCity_Text_GruntIntro
|
|
waitmessage
|
|
playbgm MUS_ENCOUNTER_ROCKET, 0
|
|
waitbuttonpress
|
|
trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_5, CeruleanCity_Text_GruntDefeat
|
|
setvar VAR_MAP_SCENE_CERULEAN_CITY_ROCKET, 1
|
|
goto CeruleanCity_EventScript_GruntDefeated
|
|
end
|
|
|
|
CeruleanCity_EventScript_GruntDefeated::
|
|
msgbox CeruleanCity_Text_OkayIllReturnStolenTM
|
|
checkitemspace ITEM_TM28
|
|
goto_if_eq VAR_RESULT, FALSE, CeruleanCity_EventScript_NoRoomForTM28
|
|
giveitem_msg CeruleanCity_Text_RecoveredTM28FromGrunt, ITEM_TM28
|
|
msgbox CeruleanCity_Text_BetterGetMovingBye
|
|
closemessage
|
|
fadescreen FADE_TO_BLACK
|
|
removeobject LOCALID_GRUNT
|
|
fadescreen FADE_FROM_BLACK
|
|
setflag FLAG_GOT_TM28_FROM_ROCKET
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_NoRoomForTM28::
|
|
textcolor NPC_TEXT_COLOR_MALE
|
|
msgbox CeruleanCity_Text_MakeRoomForThisCantRun
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_GruntTriggerTop::
|
|
lockall
|
|
setvar VAR_TEMP_1, 0
|
|
applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterUp
|
|
waitmovement 0
|
|
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown
|
|
waitmovement 0
|
|
goto CeruleanCity_EventScript_GruntTrigger
|
|
end
|
|
|
|
CeruleanCity_EventScript_GruntTriggerBottom::
|
|
lockall
|
|
setvar VAR_TEMP_1, 1
|
|
applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterDown
|
|
waitmovement 0
|
|
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
|
|
waitmovement 0
|
|
goto CeruleanCity_EventScript_GruntTrigger
|
|
end
|
|
|
|
CeruleanCity_EventScript_GruntTrigger::
|
|
textcolor NPC_TEXT_COLOR_MALE
|
|
msgbox CeruleanCity_Text_GruntIntro
|
|
setvar VAR_LAST_TALKED, LOCALID_GRUNT
|
|
trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_5, CeruleanCity_Text_GruntDefeat
|
|
setvar VAR_MAP_SCENE_CERULEAN_CITY_ROCKET, 1
|
|
goto CeruleanCity_EventScript_GruntDefeated
|
|
end
|
|
|
|
CeruleanCity_EventScript_Policeman::
|
|
lock
|
|
faceplayer
|
|
msgbox CeruleanCity_Text_PeopleHereWereRobbed
|
|
closemessage
|
|
applymovement LOCALID_POLICEMAN, Common_Movement_FaceOriginalDirection
|
|
waitmovement 0
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_LittleBoy::
|
|
lock
|
|
faceplayer
|
|
goto_if_set FLAG_GOT_SS_TICKET, CeruleanCity_EventScript_LittleBoySlowbroMoved
|
|
msgbox CeruleanCity_Text_IfSlowbroWasntThereCouldCutTree
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_LittleBoySlowbroMoved::
|
|
msgbox CeruleanCity_Text_YouCanCutDownSmallTrees
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_BaldingMan::
|
|
msgbox CeruleanCity_Text_PokemonEncyclopediaAmusing, MSGBOX_NPC
|
|
end
|
|
|
|
CeruleanCity_EventScript_Youngster::
|
|
msgbox CeruleanCity_Text_TrainerLifeIsToughIsntIt, MSGBOX_NPC
|
|
end
|
|
|
|
CeruleanCity_EventScript_CeruleanCaveGuard::
|
|
msgbox CeruleanCity_Text_ThisIsCeruleanCave, MSGBOX_NPC
|
|
end
|
|
|
|
CeruleanCity_EventScript_Woman::
|
|
lock
|
|
faceplayer
|
|
msgbox CeruleanCity_Text_WantBrightRedBicycle
|
|
closemessage
|
|
applymovement LOCALID_WOMAN, Common_Movement_FaceOriginalDirection
|
|
waitmovement 0
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_Lass::
|
|
lock
|
|
random 3
|
|
copyvar VAR_0x8008, VAR_RESULT
|
|
call_if_eq VAR_0x8008, 0, CeruleanCity_EventScript_SlowbroCommand1
|
|
call_if_eq VAR_0x8008, 1, CeruleanCity_EventScript_SlowbroCommand2
|
|
call_if_eq VAR_0x8008, 2, CeruleanCity_EventScript_SlowbroCommand3
|
|
waitmessage
|
|
delay 40
|
|
playse SE_PIN
|
|
applymovement LOCALID_SLOWBRO, Common_Movement_QuestionMark
|
|
waitmovement 0
|
|
delay 30
|
|
call_if_eq VAR_0x8008, 0, CeruleanCity_EventScript_SlowbroFailed1
|
|
call_if_eq VAR_0x8008, 1, CeruleanCity_EventScript_SlowbroFailed2
|
|
call_if_eq VAR_0x8008, 2, CeruleanCity_EventScript_SlowbroFailed3
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_SlowbroCommand1::
|
|
message CeruleanCity_Text_SlowbroUseSonicboom
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroCommand2::
|
|
message CeruleanCity_Text_SlowbroPunch
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroCommand3::
|
|
message CeruleanCity_Text_SlowbroWithdraw
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroFailed1::
|
|
msgbox CeruleanCity_Text_SlowbroPayAttention
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroFailed2::
|
|
msgbox CeruleanCity_Text_NoYouBlewItAgain
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroFailed3::
|
|
msgbox CeruleanCity_Text_HardToControlMonsObedience
|
|
return
|
|
|
|
CeruleanCity_EventScript_Slowbro::
|
|
lock
|
|
random 4
|
|
copyvar VAR_0x8008, VAR_RESULT
|
|
call_if_eq VAR_0x8008, 0, CeruleanCity_EventScript_SlowbroText1
|
|
call_if_eq VAR_0x8008, 1, CeruleanCity_EventScript_SlowbroText2
|
|
call_if_eq VAR_0x8008, 2, CeruleanCity_EventScript_SlowbroText3
|
|
call_if_eq VAR_0x8008, 3, CeruleanCity_EventScript_SlowbroText4
|
|
release
|
|
end
|
|
|
|
CeruleanCity_EventScript_SlowbroText1::
|
|
msgbox CeruleanCity_Text_SlowbroTookSnooze
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroText2::
|
|
msgbox CeruleanCity_Text_SlowbroLoafingAround
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroText3::
|
|
msgbox CeruleanCity_Text_SlowbroTurnedAway
|
|
return
|
|
|
|
CeruleanCity_EventScript_SlowbroText4::
|
|
msgbox CeruleanCity_Text_SlowbroIgnoredOrders
|
|
return
|
|
|
|
CeruleanCity_EventScript_CitySign::
|
|
msgbox CeruleanCity_Text_CitySign, MSGBOX_SIGN
|
|
end
|
|
|
|
CeruleanCity_EventScript_TrainerTips::
|
|
msgbox CeruleanCity_Text_TrainerTipsHeldItems, MSGBOX_SIGN
|
|
end
|
|
|
|
CeruleanCity_EventScript_BikeShopSign::
|
|
msgbox CeruleanCity_Text_BikeShopSign, MSGBOX_SIGN
|
|
end
|
|
|
|
CeruleanCity_EventScript_GymSign::
|
|
lockall
|
|
famechecker FAMECHECKER_MISTY, 0
|
|
msgbox CeruleanCity_Text_GymSign
|
|
releaseall
|
|
end
|