tumbledemerald-legacy/data/scripts/pkmn_center_nurse.inc
2022-05-19 17:14:13 +00:00

120 lines
3.8 KiB
C++

Common_EventScript_PkmnCenterNurse::
lock
faceplayer
setvar VAR_0x8004, 0
specialvar VAR_RESULT, CountPlayerTrainerStars
goto_if_eq VAR_RESULT, 4, EventScript_PkmnCenterNurse_GoldCard
goto EventScript_PkmnCenterNurse_HealPkmn
end
EventScript_PkmnCenterNurse_Goodbye::
return
@ VAR_0x8004 is 1 when player has Gold Card; jumps are identical
EventScript_PkmnCenterNurse_HealPkmn::
incrementgamestat GAME_STAT_USED_POKECENTER
call EventScript_PkmnCenterNurse_IllTakeYourPkmn
waitmessage
call EventScript_PkmnCenterNurse_TakeAndHealPkmn
goto_if_unset FLAG_POKERUS_EXPLAINED, EventScript_PkmnCenterNurse_CheckPokerus
goto EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
end
EventScript_PkmnCenterNurse_IllTakeYourPkmn::
return
EventScript_PkmnCenterNurse_IllTakeYourPkmn2::
return
EventScript_PkmnCenterNurse_TakeAndHealPkmn::
applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
dofieldeffect FLDEFF_POKECENTER_HEAL
waitfieldeffect FLDEFF_POKECENTER_HEAL
applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
special HealPlayerParty
return
EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom::
specialvar VAR_RESULT, PlayerNotAtTrainerHillEntrance
goto_if_eq VAR_RESULT, 0, EventScript_PkmnCenterNurse_ReturnPkmn
specialvar VAR_RESULT, BufferUnionRoomPlayerName
copyvar VAR_0x8008, VAR_RESULT
goto_if_eq VAR_0x8008, 0, EventScript_PkmnCenterNurse_ReturnPkmn
goto_if_eq VAR_0x8008, 1, EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom
end
@ VAR_0x8004 is 1 when player has Gold Card
EventScript_PkmnCenterNurse_ReturnPkmn::
goto_if_eq VAR_0x8004, 1, EventScript_PkmnCenterNurse_ReturnPkmn2
applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
waitmovement 0
goto EventScript_PkmnCenterNurse_PlayerTurn
return
EventScript_PkmnCenterNurse_ReturnPkmn2:: @ unreferenced and unused in tumbledemerald, as it's identical to EventScript_PkmnCenterNurse_ReturnPkmn.
message gText_ThankYouForWaiting
waitmessage
applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
waitmovement 0
goto EventScript_PkmnCenterNurse_PlayerTurn
return
EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom::
goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, EventScript_PkmnCenterNurse_ReturnPkmn
msgbox gText_RestoredPkmnToFullHealth, MSGBOX_DEFAULT
setflag FLAG_NURSE_UNION_ROOM_REMINDER
message CableClub_Text_PlayerIsWaiting
waitmessage
applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
waitmovement 0
message gText_WeHopeToSeeYouAgain
return
EventScript_PkmnCenterNurse_CheckPokerus::
specialvar VAR_RESULT, IsPokerusInParty
goto_if_eq VAR_RESULT, TRUE, EventScript_PkmnCenterNurse_ExplainPokerus
goto_if_eq VAR_RESULT, FALSE, EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
end
EventScript_PkmnCenterNurse_ExplainPokerus::
message gText_PokerusExplanation
setflag FLAG_POKERUS_EXPLAINED
return
EventScript_PkmnCenterNurse_GoldCard::
goto_if_set FLAG_NURSE_MENTIONS_GOLD_CARD, EventScript_PkmnCenterNurse_AskForUsual
setflag FLAG_NURSE_MENTIONS_GOLD_CARD
playse SE_PIN
applymovement VAR_0x800B, Common_Movement_ExclamationMark
waitmovement 0
applymovement VAR_0x800B, Common_Movement_Delay48
waitmovement 0
msgbox gText_NoticesGoldCard, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, EventScript_PkmnCenterNurse_GoldCardHealPkmn
return
EventScript_PkmnCenterNurse_AskForUsual::
msgbox gText_YouWantTheUsual, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, EventScript_PkmnCenterNurse_GoldCardHealPkmn
return
EventScript_PkmnCenterNurse_GoldCardHealPkmn::
setvar VAR_0x8004, 1
goto EventScript_PkmnCenterNurse_HealPkmn
end
Movement_PkmnCenterNurse_Bow:
nurse_joy_bow
delay_4
step_end
EventScript_PkmnCenterNurse_PlayerTurn::
closemessage
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceDown
waitmovement 0
release
end