diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-09-30 16:41:16 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-09-30 16:41:16 -0700 |
commit | 4c5bfdc153a8484c00aae30ed22badf006d7f8d9 (patch) | |
tree | 47bfb4286c03f021d48ffadde5da675a9f903f61 /data/scripts/mauville_man.inc | |
parent | aaa09d735451cced915bc6bacfce45ced8e33fa1 (diff) | |
parent | f74d4742f597a423b7a8685d72c06597c8c78db7 (diff) |
Merge remote-tracking branch 'upstream/master' into name_labels
Diffstat (limited to 'data/scripts/mauville_man.inc')
-rw-r--r-- | data/scripts/mauville_man.inc | 357 |
1 files changed, 357 insertions, 0 deletions
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc new file mode 100644 index 000000000..997b5a31c --- /dev/null +++ b/data/scripts/mauville_man.inc @@ -0,0 +1,357 @@ +@ From mauville_old_man.h +@ TODO: Put these in a header + +MAUVILLE_MAN_BARD = 0 +MAUVILLE_MAN_HIPSTER = 1 +MAUVILLE_MAN_TRADER = 2 +MAUVILLE_MAN_STORYTELLER = 3 +MAUVILLE_MAN_GIDDY = 4 + +MauvilleCity_PokemonCenter_1F_EventScript_1AE744:: @ 81AE744 + special ScrSpecial_GetCurrentMauvilleMan + switch RESULT + case MAUVILLE_MAN_BARD, SpeakToBard + case MAUVILLE_MAN_HIPSTER, SpeakToHipster + case MAUVILLE_MAN_TRADER, SpeakToTrader + case MAUVILLE_MAN_STORYTELLER, SpeakToStoryteller + case MAUVILLE_MAN_GIDDY, SpeakToGiddy + end + + +@------------------------------------------------------------------------------- +@ Bard +@------------------------------------------------------------------------------- + +SpeakToBard: + lock + faceplayer + msgbox gTextBard_HiImTheBard, MSGBOX_YESNO + compare RESULT, YES + jumpeq yes_hear_song + compare RESULT, NO + jumpeq dont_hear_song + end + +yes_hear_song: + setvar 0x8004, 0 + @ Give the player ear rape + special ScrSpecial_PlayBardSong + pause 60 + special ScrSpecial_HasBardSongBeenChanged + compare RESULT, FALSE + @ Prompt new lyrics only if song hasn't been changed + jumpeq prompt_write_lyrics + msgbox gTextBard_OhWhatAMovingSong, 4 + release + end + +dont_hear_song: + msgbox gTextBard_OhYouveLeftMe, 4 + release + end + +prompt_write_lyrics: + msgbox gTextBard_SoHowDoYouLikeMySong, MSGBOX_YESNO + compare RESULT, YES + jumpeq write_lyrics + compare RESULT, NO + jumpeq dont_write_lyrics + end + +write_lyrics: + setvar 0x8004, 6 + call MauvilleCity_PokemonCenter_1F_EventScript_1A00F3 + lock + faceplayer + compare RESULT, NO + jumpeq dont_write_lyrics + msgbox gTextBard_ThankYouKindly, 4 + setvar 0x8004, 1 + @ Give the player ear rape again + special ScrSpecial_PlayBardSong + pause 60 + msgbox gTextBard_WasThatHowYouWanted, MSGBOX_YESNO + compare RESULT, NO + jumpeq write_lyrics @ Keep looping until player responds YES + special ScrSpecial_SaveBardSongLyrics + msgbox gTextBard_OkayThatsIt, 4 + release + end + +dont_write_lyrics: + msgbox gTextBard_OhYouveLeftMe2, 4 + release + end + + +@------------------------------------------------------------------------------- +@ Hipster +@------------------------------------------------------------------------------- + +SpeakToHipster: + lock + faceplayer + setflag 2054 + msgbox gTextHipster_TheyCallMeTheHipster, 4 + special ScrSpecial_GetHipsterSpokenFlag + compare RESULT, FALSE + jumpeq hipster_first_time + msgbox gTextHipster_TaughtYouAlready, 4 + release + end + +hipster_first_time: + special ScrSpecial_HipsterTeachWord + compare RESULT, TRUE @ TRUE if player learned a new word + jumpeq teach_new_word + msgbox gTextHipster_YouAlreadyKnowALot, 4 + release + end + +teach_new_word: + msgbox gTextHipster_HaveYouHeardAbout, 4 + special ScrSpecial_SetHipsterSpokenFlag + release + end + + +@------------------------------------------------------------------------------- +@ Trader +@------------------------------------------------------------------------------- + + .include "data/text/trader.inc" + +SpeakToTrader: + lock + faceplayer + msgbox gTextTrader_Introduction, MSGBOX_YESNO + compare RESULT, NO + jumpeq dont_want_to_trade + special ScrSpecial_GetTraderTradedFlag + compare RESULT, TRUE + jumpeq already_traded + message gTextTrader_MenuPrompt + waittext + jump do_trader_menu_get + end + +dont_want_to_trade: + msgbox gTextTrader_FeelUnwanted1, 2 + end + +already_traded: + msgbox gTextTrader_TradedAlready, 2 + end + +do_trader_menu_get: + special ScrSpecial_TraderMenuGetDecoration + waitstate + compare 0x8004, 0 + jumpeq cancelled_get_menu + compare 0x8004, 65535 + jumpeq rare_item_cant_trade_away + msgbox gTextTrader_ItemOnceBelongedTo, MSGBOX_YESNO + compare RESULT, NO + jumpeq dont_want_item + special ScrSpecial_DoesPlayerHaveNoDecorations + compare RESULT, TRUE + jumpeq player_has_no_decorations + jump do_trader_menu_give + end + +cancelled_get_menu: + msgbox gTextTrader_DontWantAnything, 2 + end + +rare_item_cant_trade_away: + message gTextTrader_ICantTradeThatOneAway + waittext + jump do_trader_menu_get + end + +dont_want_item: + message gTextTrader_MenuPrompt + waittext + jump do_trader_menu_get + end + +player_has_no_decorations: + msgbox gTextTrader_YouDontHaveDecorations, 2 + end + +do_trader_menu_give: + msgbox gTextTrader_PickDecorationYoullTrade, 4 + special ScrSpecial_TraderMenuGiveDecoration + waitstate + compare 0x8006, 0 + jumpeq cancelled_give_menu + compare 0x8006, 65535 + jumpeq decoration_is_in_use + special ScrSpecial_IsDecorationFull + compare RESULT, 1 + jumpeq decorations_full + msgbox gTextTrader_SoWellTrade, MSGBOX_YESNO + compare RESULT, NO + jumpeq do_trader_menu_give + special ScrSpecial_TraderDoDecorationTrade + msgbox gTextTrader_ThenWellTrade, 2 + end + +cancelled_give_menu: + msgbox gTextTrader_FeelUnwanted2, 2 + end + +decoration_is_in_use: + msgbox gTextTrader_InUseYouCantTradeIt, 4 + jump do_trader_menu_give + end + +decorations_full: + msgbox gTextTrader_NoRoomForThis, 2 + end + + +@------------------------------------------------------------------------------- +@ Storyteller +@------------------------------------------------------------------------------- + + .include "data/text/storyteller.inc" + +SpeakToStoryteller: + setvar 0x8008, 0 + setvar 0x8009, 0 + setvar 0x800a, 0 + setvar 0x800b, 0 + lock + faceplayer + msgbox gTextStoryteller_Introduction, MSGBOX_YESNO + compare RESULT, NO + jumpeq dont_hear_story + specialval RESULT, ScrSpecial_StorytellerGetFreeStorySlot + compare RESULT, 0 @ If slot is 0, then the list is empty + jumpeq no_stories_recorded +choose_story: + message gTextStoryteller_WhichTale + waittext + special ScrSpecial_StorytellerStoryListMenu + waitstate + compare RESULT, FALSE + jumpeq cancel_story_menu + setvar 0x8008, 1 + special ScrSpecial_StorytellerDisplayStory + waittext + waitbutton + specialval RESULT, ScrSpecial_StorytellerUpdateStat + compare RESULT, FALSE + jumpeq no_stat_update + jump stat_update +cancel_story_menu: + compare 0x8008, 0 + jumpeq dont_hear_story + jump yes_hear_story +no_stat_update: + msgbox gTextStoryteller_CouldThereBeOtherTrainers, 4 + msgbox gTextStoryteller_HearAnotherLegendaryTale, MSGBOX_YESNO + compare RESULT, YES + jumpeq choose_story +yes_hear_story: + specialval RESULT, ScrSpecial_HasStorytellerAlreadyRecorded + compare RESULT, TRUE + jumpeq cant_record_story @ already recorded story + specialval RESULT, ScrSpecial_StorytellerGetFreeStorySlot + compare RESULT, 4 + jumpeq cant_record_story @ story list is full + jump prompt_record_story +no_stories_recorded: + msgbox gTextStoryteller_ButIKnowOfNoLegendaryTrainers, 4 +prompt_record_story: + msgbox gTextStoryteller_HaveYouAnyTales, MSGBOX_YESNO + compare RESULT, NO + jumpeq dont_hear_story + specialval RESULT, ScrSpecial_StorytellerInitializeRandomStat + compare RESULT, TRUE + jumpeq stat_update + msgbox gTextStoryteller_ImNotSatisfied, 4 + closebutton + release + end + +stat_update: + msgbox gTextStoryteller_BirthOfANewLegend, 4 + closebutton + release + end + +dont_hear_story: + msgbox gTextStoryteller_OhIFeelStifled, 4 + closebutton + release + end + +cant_record_story: + msgbox gTextStoryteller_WishMorePeopleWould, 4 + closebutton + release + end + + +@------------------------------------------------------------------------------- +@ Giddy +@------------------------------------------------------------------------------- + + .include "data/text/giddy.inc" + +SpeakToGiddy: + lock + faceplayer + msgbox gTextGiddy_Introduction, MSGBOX_YESNO + compare RESULT, YES + jumpeq yes_hear_giddy + compare RESULT, NO + jumpeq dont_hear_giddy + end + +yes_hear_giddy: + special ScrSpecial_GiddyShouldTellAnotherTale + compare RESULT, TRUE + jumpeq tell_giddy_tale + compare RESULT, FALSE + jumpeq bye_bye + end + +tell_another_giddy_tale: + special ScrSpecial_GiddyShouldTellAnotherTale + compare RESULT, TRUE + jumpeq also_i_was_thinking + compare RESULT, FALSE + jumpeq bye_bye + end + +also_i_was_thinking: + msgbox gTextGiddy_AlsoIWasThinking, 4 + jump tell_giddy_tale + end + +tell_giddy_tale: + special ScrSpecial_GenerateGiddyLine + special ShowFieldMessageStringVar4 + waittext + yesnobox 20, 8 + compare RESULT, 1 + jumpeq tell_another_giddy_tale + compare RESULT, 0 + jumpeq tell_another_giddy_tale + end + +dont_hear_giddy: + msgbox gTextGiddy_YouveDeflatedMe, 4 + release + end + +bye_bye: + msgbox gTextGiddy_ByeBye, 4 + release + end + + .include "data/text/bard.inc" + .include "data/text/hipster.inc" |