pokefirered/data/maps/CeladonCity_GameCorner/scripts.inc

473 lines
14 KiB
C++

CeladonCity_GameCorner_MapScripts:: @ 816C646
map_script MAP_SCRIPT_ON_LOAD, CeladonCity_GameCorner_OnLoad
.byte 0
CeladonCity_GameCorner_OnLoad:: @ 816C64C
call_if_unset FLAG_OPENED_ROCKET_HIDEOUT, CeladonCity_GameCorner_EventScript_HideRocketHideout
end
CeladonCity_GameCorner_EventScript_HideRocketHideout:: @ 816C656
setmetatile 15, 2, METATILE_GameCorner_Floor_ShadeFull, 0
setmetatile 16, 2, METATILE_GameCorner_Floor_ShadeFull, 0
setmetatile 17, 2, METATILE_GameCorner_Floor_ShadeFull, 0
setmetatile 16, 3, METATILE_GameCorner_PurpleWall_Floor, 1
setmetatile 17, 3, METATILE_GameCorner_PurpleWall_Floor, 1
return
CeladonCity_GameCorner_EventScript_InfoClerk:: @ 816C684
msgbox CeladonCity_GameCorner_Text_CanExchangeCoinsNextDoor, MSGBOX_NPC
end
CeladonCity_GameCorner_EventScript_CoinsClerk:: @ 816C68D
goto_if_questlog EventScript_ReleaseEnd
lock
faceplayer
showmoneybox 0, 0, 0
showcoinsbox 0, 5
message CeladonCity_GameCorner_Text_WelcomeBuySomeCoins
waitmessage
multichoice 13, 0, MULTICHOICE_GAME_CORNER_COIN_PURCHASE_COUNTER, FALSE
copyvar VAR_0x8009, VAR_RESULT
switch VAR_RESULT
case 0, CeladonCity_GameCorner_EventScript_BuyCoins
case 1, CeladonCity_GameCorner_EventScript_BuyCoins
case 2, CeladonCity_GameCorner_EventScript_ClerkDeclineBuy
case 127, CeladonCity_GameCorner_EventScript_ClerkDeclineBuy
end
CeladonCity_GameCorner_EventScript_BuyCoins:: @ 816C6E6
goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_ClerkNoCoinCase
compare VAR_0x8009, 0
goto_if_eq CeladonCity_GameCorner_EventScript_Buy50Coins
compare VAR_0x8009, 1
goto_if_eq CeladonCity_GameCorner_EventScript_Buy500Coins
end
CeladonCity_GameCorner_EventScript_Buy500Coins:: @ 816C706
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, (MAX_COINS + 1) - 500
goto_if_ge CeladonCity_GameCorner_EventScript_ClerkNoRoomForCoins
checkmoney 10000, 0
compare VAR_RESULT, FALSE
goto_if_eq CeladonCity_GameCorner_EventScript_ClerkNotEnoughMoney
addcoins 500
removemoney 10000, 0
goto CeladonCity_GameCorner_EventScript_BoughtCoins
end
CeladonCity_GameCorner_EventScript_Buy50Coins:: @ 816C734
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, (MAX_COINS + 1) - 50
goto_if_ge CeladonCity_GameCorner_EventScript_ClerkNoRoomForCoins
checkmoney 1000, 0
compare VAR_RESULT, FALSE
goto_if_eq CeladonCity_GameCorner_EventScript_ClerkNotEnoughMoney
addcoins 50
removemoney 1000, 0
goto CeladonCity_GameCorner_EventScript_BoughtCoins
end
CeladonCity_GameCorner_EventScript_BoughtCoins:: @ 816C762
updatemoneybox 0, 0, 0
updatecoinsbox 0, 5
playse SE_SHOP
msgbox CeladonCity_GameCorner_Text_HereAreYourCoins
goto CeladonCity_GameCorner_EventScript_ClerkEnd
end
CeladonCity_GameCorner_EventScript_ClerkEnd:: @ 816C77A
hidemoneybox 0, 0
hidecoinsbox 0, 5
release
end
CeladonCity_GameCorner_EventScript_ClerkDeclineBuy:: @ 816C782
msgbox CeladonCity_GameCorner_Text_ComePlaySometime
goto CeladonCity_GameCorner_EventScript_ClerkEnd
end
CeladonCity_GameCorner_EventScript_ClerkNoCoinCase:: @ 816C790
msgbox CeladonCity_GameCorner_Text_SorryDontHaveCoinCase
goto CeladonCity_GameCorner_EventScript_ClerkEnd
end
CeladonCity_GameCorner_EventScript_ClerkNoRoomForCoins:: @ 816C79E
msgbox CeladonCity_GameCorner_Text_CoinCaseIsFull
goto CeladonCity_GameCorner_EventScript_ClerkEnd
end
CeladonCity_GameCorner_EventScript_ClerkNotEnoughMoney:: @ 816C7AC
msgbox CeladonCity_GameCorner_Text_CantAffordCoins
goto CeladonCity_GameCorner_EventScript_ClerkEnd
end
CeladonCity_GameCorner_EventScript_BaldingMan:: @ 816C7BA
lock
faceplayer
msgbox CeladonCity_GameCorner_Text_RumoredTeamRocketRunsThisPlace
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_FaceSlotMachine:: @ 816C7CA
closemessage
applymovement VAR_LAST_TALKED, Movement_FaceOriginalDirection
waitmovement 0
release
end
CeladonCity_GameCorner_EventScript_Woman1:: @ 816C7D7
lock
faceplayer
msgbox CeladonCity_GameCorner_Text_ThinkMachinesHaveDifferentOdds
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_Fisher:: @ 816C7E7
lock
faceplayer
goto_if_set FLAG_GOT_10_COINS_FROM_GAMBLER, CeladonCity_GameCorner_EventScript_FisherAlreadyGotCoins
msgbox CeladonCity_GameCorner_Text_DoYouWantToPlay
goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_GamblerNoCoinCase
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, (MAX_COINS + 1) - 10
goto_if_ge CeladonCity_GameCorner_EventScript_FisherNoRoomForCoins
addcoins 10
textcolor 3
msgbox CeladonCity_GameCorner_Text_Received10CoinsFromMan
playse SE_SHOP
waitse
setflag FLAG_GOT_10_COINS_FROM_GAMBLER
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_FisherNoRoomForCoins:: @ 816C82B
msgbox CeladonCity_GameCorner_Text_DontNeedMyCoins
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_GamblerNoCoinCase:: @ 816C839
textcolor 3
msgbox CeladonCity_GameCorner_Text_DontHaveCoinCase
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_FisherAlreadyGotCoins:: @ 816C849
msgbox CeladonCity_GameCorner_Text_WinsComeAndGo
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_GymGuy:: @ 816C857
lock
faceplayer
goto_if_set FLAG_DEFEATED_ERIKA, CeladonCity_GameCorner_EventScript_GymGuyPostVictory
msgbox CeladonCity_GameCorner_Text_GymGuyAdvice
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_GymGuyPostVictory:: @ 816C870
msgbox CeladonCity_GameCorner_Text_RareMonsForCoins
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_Woman2:: @ 816C87E
lock
faceplayer
msgbox CeladonCity_GameCorner_Text_WinOrLoseItsOnlyLuck
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_OldMan:: @ 816C88E
lock
faceplayer
msgbox CeladonCity_GameCorner_Text_SoEasyToGetHooked
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_Scientist:: @ 816C89E
lock
faceplayer
goto_if_set FLAG_GOT_20_COINS_FROM_GAMBLER, CeladonCity_GameCorner_EventScript_ScientistAlreadyGotCoins
msgbox CeladonCity_GameCorner_Text_WantSomeCoins
goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_GamblerNoCoinCase
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, (MAX_COINS + 1) - 20
goto_if_ge CeladonCity_GameCorner_EventScript_ScientistNoRoomForCoins
addcoins 20
textcolor 3
msgbox CeladonCity_GameCorner_Text_Received20CoinsFromNiceGuy
playse SE_SHOP
waitse
setflag FLAG_GOT_20_COINS_FROM_GAMBLER
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_ScientistNoRoomForCoins:: @ 816C8E2
msgbox CeladonCity_GameCorner_Text_YouHaveLotsOfCoins
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_ScientistAlreadyGotCoins:: @ 816C8F0
msgbox CeladonCity_GameCorner_Text_NeedMoreCoinsForMonIWant
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_Gentleman:: @ 816C8FE
lock
faceplayer
goto_if_set FLAG_GOT_20_COINS_FROM_GAMBLER_2, CeladonCity_GameCorner_EventScript_GentlemanAlreadyGotCoins
msgbox CeladonCity_GameCorner_Text_HereAreSomeCoinsShoo
goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_GamblerNoCoinCase
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, (MAX_COINS + 1) - 20
goto_if_ge CeladonCity_GameCorner_EventScript_GentlemanNoRoomForCoins
addcoins 20
textcolor 3
msgbox CeladonCity_GameCorner_Text_Received20CoinsFromMan
playse SE_SHOP
waitse
setflag FLAG_GOT_20_COINS_FROM_GAMBLER_2
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_GentlemanNoRoomForCoins:: @ 816C942
msgbox CeladonCity_GameCorner_Text_YouveGotPlentyCoins
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_GentlemanAlreadyGotCoins:: @ 816C950
msgbox CeladonCity_GameCorner_Text_WatchReelsClosely
goto CeladonCity_GameCorner_EventScript_FaceSlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine0:: @ 816C95E
lockall
setvar VAR_0x8004, 0
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_DontPlaySlotMachine:: @ 816C96A
releaseall
end
CeladonCity_GameCorner_EventScript_SlotMachine:: @ 816C96C
goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_SlotMachineNoCoinCase
msgbox CeladonCity_GameCorner_Text_SlotMachineWantToPlay, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq CeladonCity_GameCorner_EventScript_DontPlaySlotMachine
setfieldeffectarg 0, 255
setfieldeffectarg 1, 10
setfieldeffectarg 2, 14
dofieldeffect FLDEFF_SMILEY_FACE_ICON
waitfieldeffect FLDEFF_SMILEY_FACE_ICON
specialvar VAR_RESULT, GetRandomSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
CeladonCity_GameCorner_EventScript_SlotMachine1:: @ 816C9A4
lockall
setvar VAR_0x8004, 1
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine2:: @ 816C9B0
lockall
setvar VAR_0x8004, 2
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine3:: @ 816C9BC
lockall
setvar VAR_0x8004, 3
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine4:: @ 816C9C8
lockall
setvar VAR_0x8004, 4
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine5:: @ 816C9D4
lockall
setvar VAR_0x8004, 5
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine6:: @ 816C9E0
lockall
setvar VAR_0x8004, 6
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine7:: @ 816C9EC
lockall
setvar VAR_0x8004, 7
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine8:: @ 816C9F8
lockall
setvar VAR_0x8004, 8
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine9:: @ 816CA04
lockall
setvar VAR_0x8004, 9
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine10:: @ 816CA10
lockall
setvar VAR_0x8004, 10
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine11:: @ 816CA1C
lockall
setvar VAR_0x8004, 11
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine12:: @ 816CA28
lockall
setvar VAR_0x8004, 12
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine13:: @ 816CA34
lockall
setvar VAR_0x8004, 13
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine14:: @ 816CA40
lockall
setvar VAR_0x8004, 14
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine15:: @ 816CA4C
lockall
setvar VAR_0x8004, 15
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine16:: @ 816CA58
lockall
setvar VAR_0x8004, 16
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine17:: @ 816CA64
lockall
setvar VAR_0x8004, 17
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine18:: @ 816CA70
lockall
setvar VAR_0x8004, 18
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine19:: @ 816CA7C
lockall
setvar VAR_0x8004, 19
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine20:: @ 816CA88
lockall
setvar VAR_0x8004, 20
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachine21:: @ 816CA94
lockall
setvar VAR_0x8004, 21
goto CeladonCity_GameCorner_EventScript_SlotMachine
end
CeladonCity_GameCorner_EventScript_SlotMachineNoCoinCase:: @ 816CAA0
msgbox CeladonCity_GameCorner_Text_CoinCaseIsRequired
releaseall
end
CeladonCity_GameCorner_EventScript_Poster:: @ 816CAAA
lockall
msgbox CeladonCity_GameCorner_Text_SwitchBehindPosterPushIt
call_if_unset FLAG_OPENED_ROCKET_HIDEOUT, CeladonCity_GameCorner_EventScript_OpenRocketHideout
releaseall
end
CeladonCity_GameCorner_EventScript_OpenRocketHideout:: @ 816CABE
playse SE_KI_GASYAN
setmetatile 15, 2, METATILE_GameCorner_Floor_StairsTop, 0
setmetatile 16, 2, METATILE_GameCorner_StairsTop, 1
setmetatile 17, 2, METATILE_GameCorner_StairsBottom, 1
setmetatile 16, 3, METATILE_GameCorner_PurpleWall_StairsTop, 1
setmetatile 17, 3, METATILE_GameCorner_PurpleWall_stairsBottom, 1
special DrawWholeMapView
setflag FLAG_OPENED_ROCKET_HIDEOUT
return
CeladonCity_GameCorner_EventScript_RocketGrunt:: @ 816CAF5
trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_7, CeladonCity_GameCorner_Text_GruntIntro, CeladonCity_GameCorner_Text_GruntDefeat, CeladonCity_GameCorner_Text_DefeatedGrunt
msgbox CeladonCity_GameCorner_Text_GruntPostBattle, MSGBOX_AUTOCLOSE
end
CeladonCity_GameCorner_Text_DefeatedGrunt:: @ 816CB10
msgbox CeladonCity_GameCorner_Text_GruntPostBattle
closemessage
compare VAR_FACING, DIR_WEST
call_if_eq CeladonCity_GameCorner_Text_GruntExitWest
compare VAR_FACING, DIR_WEST
call_if_ne CeladonCity_GameCorner_Text_GruntExit
removeobject 11
release
end
CeladonCity_GameCorner_Text_GruntExitWest:: @ 816CB34
applymovement 11, CeladonCity_GameCorner_Movement_GruntExitWest
waitmovement 0
return
CeladonCity_GameCorner_Text_GruntExit:: @ 816CB3F
applymovement 11, CeladonCity_GameCorner_Movement_GruntExit
waitmovement 0
return
CeladonCity_GameCorner_Movement_GruntExitWest:: @ 816CB4A
walk_down
walk_right
walk_right
walk_up
walk_right
walk_right
walk_right
walk_right
step_end
CeladonCity_GameCorner_Movement_GruntExit:: @ 816CB53
walk_right
walk_right
walk_right
walk_right
walk_right
walk_right
step_end
CeladonCity_GameCorner_EventScript_UnusableSlotMachine1:: @ 816CB5A
msgbox CeladonCity_GameCorner_Text_OutOfOrder, MSGBOX_SIGN
end
CeladonCity_GameCorner_EventScript_UnusableSlotMachine2:: @ 816CB63
msgbox CeladonCity_GameCorner_Text_OutToLunch, MSGBOX_SIGN
end
CeladonCity_GameCorner_EventScript_UnusableSlotMachine3:: @ 816CB6C
msgbox CeladonCity_GameCorner_Text_SomeonesKeys, MSGBOX_SIGN
end