ref: 53e1c480922fb3e6aaf1790a2c6ba10fcada9bb6
dir: /maps/KurtsHouse.asm/
object_const_def const KURTSHOUSE_KURT1 const KURTSHOUSE_TWIN1 const KURTSHOUSE_SLOWPOKE const KURTSHOUSE_KURT2 const KURTSHOUSE_TWIN2 KurtsHouse_MapScripts: def_scene_scripts def_callbacks callback MAPCALLBACK_OBJECTS, KurtsHouseKurtCallback KurtsHouseKurtCallback: checkevent EVENT_CLEARED_SLOWPOKE_WELL iffalse .Done checkevent EVENT_FOREST_IS_RESTLESS iftrue .Done checkflag ENGINE_KURT_MAKING_BALLS iftrue .MakingBalls disappear KURTSHOUSE_KURT2 appear KURTSHOUSE_KURT1 disappear KURTSHOUSE_TWIN2 appear KURTSHOUSE_TWIN1 endcallback .MakingBalls: disappear KURTSHOUSE_KURT1 appear KURTSHOUSE_KURT2 disappear KURTSHOUSE_TWIN1 appear KURTSHOUSE_TWIN2 .Done: endcallback Kurt1: faceplayer opentext checkevent EVENT_KURT_GAVE_YOU_LURE_BALL iftrue .GotLureBall checkevent EVENT_CLEARED_SLOWPOKE_WELL iftrue .ClearedSlowpokeWell writetext KurtsHouseKurtMakingBallsMustWaitText waitbutton closetext special FadeOutMusic setevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET readvar VAR_FACING ifequal UP, .RunAround turnobject PLAYER, DOWN playsound SFX_FLY applymovement KURTSHOUSE_KURT1, KurtsHouseKurtExitHouseMovement playsound SFX_EXIT_BUILDING disappear KURTSHOUSE_KURT1 waitsfx special RestartMapMusic end .RunAround: turnobject PLAYER, DOWN playsound SFX_FLY applymovement KURTSHOUSE_KURT1, KurtsHouseKurtGoAroundPlayerThenExitHouseMovement playsound SFX_EXIT_BUILDING disappear KURTSHOUSE_KURT1 waitsfx special RestartMapMusic end .ClearedSlowpokeWell: writetext KurtsHouseKurtHonoredToMakeBallsText promptbutton verbosegiveitem LURE_BALL iffalse .NoRoomForBall setevent EVENT_KURT_GAVE_YOU_LURE_BALL .GotLureBall: checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iftrue .WaitForApricorns checkevent EVENT_GAVE_KURT_RED_APRICORN iftrue .GiveLevelBall checkevent EVENT_GAVE_KURT_BLU_APRICORN iftrue .GiveLureBall checkevent EVENT_GAVE_KURT_YLW_APRICORN iftrue .GiveMoonBall checkevent EVENT_GAVE_KURT_GRN_APRICORN iftrue .GiveFriendBall checkevent EVENT_GAVE_KURT_WHT_APRICORN iftrue .GiveFastBall checkevent EVENT_GAVE_KURT_BLK_APRICORN iftrue .GiveHeavyBall checkevent EVENT_GAVE_KURT_PNK_APRICORN iftrue .GiveLoveBall checkevent EVENT_CAN_GIVE_GS_BALL_TO_KURT iftrue .CanGiveGSBallToKurt .NoGSBall: checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 iftrue .CheckApricorns checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3 iftrue .CheckApricorns writetext KurtsHouseKurtBallsFromApricornsText waitbutton .CheckApricorns: checkitem RED_APRICORN iftrue .AskApricorn checkitem BLU_APRICORN iftrue .AskApricorn checkitem YLW_APRICORN iftrue .AskApricorn checkitem GRN_APRICORN iftrue .AskApricorn checkitem WHT_APRICORN iftrue .AskApricorn checkitem BLK_APRICORN iftrue .AskApricorn checkitem PNK_APRICORN iftrue .AskApricorn checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 iftrue .ThatTurnedOutGreat checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3 iftrue .IMakeBallsFromApricorns closetext end .IMakeBallsFromApricorns: writetext KurtsHouseKurtBallsFromApricornsText waitbutton closetext end .AskApricorn: writetext KurtsHouseKurtAskYouHaveAnApricornText promptbutton setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3 special SelectApricornForKurt ifequal FALSE, .Cancel ifequal BLU_APRICORN, .Blu ifequal YLW_APRICORN, .Ylw ifequal GRN_APRICORN, .Grn ifequal WHT_APRICORN, .Wht ifequal BLK_APRICORN, .Blk ifequal PNK_APRICORN, .Pnk ; .Red setevent EVENT_GAVE_KURT_RED_APRICORN sjump .GaveKurtApricorns .Blu: setevent EVENT_GAVE_KURT_BLU_APRICORN sjump .GaveKurtApricorns .Ylw: setevent EVENT_GAVE_KURT_YLW_APRICORN sjump .GaveKurtApricorns .Grn: setevent EVENT_GAVE_KURT_GRN_APRICORN sjump .GaveKurtApricorns .Wht: setevent EVENT_GAVE_KURT_WHT_APRICORN sjump .GaveKurtApricorns .Blk: setevent EVENT_GAVE_KURT_BLK_APRICORN sjump .GaveKurtApricorns .Pnk: setevent EVENT_GAVE_KURT_PNK_APRICORN sjump .GaveKurtApricorns .GaveKurtApricorns: setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 setflag ENGINE_KURT_MAKING_BALLS .WaitForApricorns: writetext KurtsHouseKurtItWillTakeADayText waitbutton closetext end .Cancel: writetext KurtsHouseKurtThatsALetdownText waitbutton closetext end ._ThatTurnedOutGreat: setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 .ThatTurnedOutGreat: writetext KurtsHouseKurtTurnedOutGreatText waitbutton .NoRoomForBall: closetext end .GiveLevelBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar LEVEL_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_RED_APRICORN sjump ._ThatTurnedOutGreat .GiveLureBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar LURE_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_BLU_APRICORN sjump ._ThatTurnedOutGreat .GiveMoonBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar MOON_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_YLW_APRICORN sjump ._ThatTurnedOutGreat .GiveFriendBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar FRIEND_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_GRN_APRICORN sjump ._ThatTurnedOutGreat .GiveFastBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar FAST_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_WHT_APRICORN sjump ._ThatTurnedOutGreat .GiveHeavyBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar HEAVY_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_BLK_APRICORN sjump ._ThatTurnedOutGreat .GiveLoveBall: checkflag ENGINE_KURT_MAKING_BALLS iftrue KurtMakingBallsScript writetext KurtsHouseKurtJustFinishedYourBallText promptbutton verbosegiveitemvar LOVE_BALL, VAR_KURT_APRICORNS iffalse .NoRoomForBall clearevent EVENT_GAVE_KURT_PNK_APRICORN sjump ._ThatTurnedOutGreat .CanGiveGSBallToKurt: checkevent EVENT_GAVE_GS_BALL_TO_KURT iftrue .GaveGSBallToKurt checkitem GS_BALL iffalse .NoGSBall writetext KurtsHouseKurtWhatIsThatText waitbutton closetext setevent EVENT_GAVE_GS_BALL_TO_KURT takeitem GS_BALL setflag ENGINE_KURT_MAKING_BALLS end .GaveGSBallToKurt: checkflag ENGINE_KURT_MAKING_BALLS iffalse .NotMakingBalls writetext KurtsHouseKurtImCheckingItNowText waitbutton writetext KurtsHouseKurtAhHaISeeText waitbutton closetext end .NotMakingBalls: writetext KurtsHouseKurtThisBallStartedToShakeText waitbutton closetext setevent EVENT_FOREST_IS_RESTLESS clearevent EVENT_CAN_GIVE_GS_BALL_TO_KURT clearevent EVENT_GAVE_GS_BALL_TO_KURT special FadeOutMusic pause 20 showemote EMOTE_SHOCK, KURTSHOUSE_KURT1, 30 readvar VAR_FACING ifequal UP, .GSBallRunAround turnobject PLAYER, DOWN playsound SFX_FLY applymovement KURTSHOUSE_KURT1, KurtsHouseKurtExitHouseMovement sjump .KurtHasLeftTheBuilding .GSBallRunAround: turnobject PLAYER, DOWN playsound SFX_FLY applymovement KURTSHOUSE_KURT1, KurtsHouseKurtGoAroundPlayerThenExitHouseMovement .KurtHasLeftTheBuilding: playsound SFX_EXIT_BUILDING disappear KURTSHOUSE_KURT1 clearevent EVENT_AZALEA_TOWN_KURT waitsfx special RestartMapMusic setmapscene AZALEA_TOWN, SCENE_AZALEATOWN_KURT_RETURNS_GS_BALL end Kurt2: faceplayer opentext checkevent EVENT_GAVE_GS_BALL_TO_KURT iftrue KurtScript_ImCheckingItNow KurtMakingBallsScript: checkevent EVENT_BUGGING_KURT_TOO_MUCH iffalse Script_FirstTimeBuggingKurt writetext KurtsHouseKurtDontBotherMeText waitbutton closetext turnobject KURTSHOUSE_KURT2, UP end Script_FirstTimeBuggingKurt: writetext KurtsHouseKurtGranddaughterHelpingWorkFasterText waitbutton closetext turnobject KURTSHOUSE_KURT2, UP setevent EVENT_BUGGING_KURT_TOO_MUCH end KurtScript_ImCheckingItNow: writetext KurtsHouseKurtImCheckingItNowText waitbutton turnobject KURTSHOUSE_KURT2, UP writetext KurtsHouseKurtAhHaISeeText waitbutton closetext end KurtsGranddaughter1: faceplayer checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iftrue KurtsGranddaughter2Subscript checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 iftrue KurtsGranddaughterFunScript checkevent EVENT_FOREST_IS_RESTLESS iftrue .Lonely checkevent EVENT_FAST_SHIP_FIRST_TIME iftrue .Dad checkevent EVENT_CLEARED_SLOWPOKE_WELL iftrue .SlowpokeBack checkevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET iftrue .Lonely opentext writetext KurtsGranddaughterSlowpokeGoneText waitbutton closetext end .SlowpokeBack: opentext writetext KurtsGranddaughterSlowpokeBackText waitbutton closetext end .Lonely: opentext writetext KurtsGranddaughterLonelyText waitbutton closetext end .Dad: opentext writetext KurtsGranddaughterDadText waitbutton closetext end KurtsGranddaughter2: faceplayer KurtsGranddaughter2Subscript: opentext checkevent EVENT_GAVE_GS_BALL_TO_KURT iftrue .GSBall writetext KurtsGranddaughterHelpText waitbutton closetext turnobject KURTSHOUSE_TWIN2, RIGHT end .GSBall: writetext KurtsGranddaughterGSBallText waitbutton closetext turnobject KURTSHOUSE_TWIN2, RIGHT end KurtsGranddaughterFunScript: opentext writetext KurtsGranddaughterFunText waitbutton closetext end KurtsHouseSlowpoke: faceplayer opentext writetext KurtsHouseSlowpokeText cry SLOWPOKE waitbutton closetext end KurtsHouseOakPhoto: jumptext KurtsHouseOakPhotoText KurtsHouseCelebiStatue: jumptext KurtsHouseCelebiStatueText KurtsHouseBookshelf: jumpstd DifficultBookshelfScript KurtsHouseRadio: jumpstd Radio2Script KurtsHouseKurtExitHouseMovement: big_step DOWN big_step DOWN big_step DOWN big_step DOWN big_step DOWN step_end KurtsHouseKurtGoAroundPlayerThenExitHouseMovement: big_step RIGHT big_step DOWN big_step DOWN big_step DOWN big_step DOWN big_step DOWN step_end KurtsHouseKurtMakingBallsMustWaitText: text "Hm? Who are you?" para "<PLAYER>, eh? You" line "want me to make" cont "some BALLS?" para "Sorry, but that'll" line "have to wait." para "Do you know TEAM" line "ROCKET? Ah, don't" para "worry. I'll tell" line "you anyhow." para "TEAM ROCKET's an" line "evil gang that" para "uses #MON for" line "their dirty work." para "They're supposed" line "to have disbanded" cont "three years ago." para "Anyway, they're at" line "the WELL, cutting" para "off SLOWPOKETAILS" line "for sale!" para "So I'm going to" line "go give them a" cont "lesson in pain!" para "Hang on, SLOWPOKE!" line "Old KURT is on his" cont "way!" done KurtsHouseKurtHonoredToMakeBallsText: text "KURT: Hi, <PLAYER>!" para "You handled your-" line "self like a real" cont "hero at the WELL." para "I like your style!" para "I would be honored" line "to make BALLS for" para "a trainer like" line "you." para "This is all I have" line "now, but take it." done KurtsHouseKurtBallsFromApricornsText: text "KURT: I make BALLS" line "from APRICORNS." para "Collect them from" line "trees and bring" cont "'em to me." para "I'll make BALLS" line "out of them." done KurtsHouseKurtAskYouHaveAnApricornText: text "KURT: You have an" line "APRICORN for me?" para "Fine! I'll turn it" line "into a BALL." done KurtsHouseKurtItWillTakeADayText: text "KURT: It'll take a" line "day to make you a" para "BALL. Come back" line "for it later." done KurtsHouseKurtThatsALetdownText: text "KURT: Oh…" line "That's a letdown." done KurtsHouseKurtDontBotherMeText: text "KURT: I'm working!" line "Don't bother me!" done KurtsHouseKurtJustFinishedYourBallText: text "KURT: Ah, <PLAYER>!" line "I just finished" cont "your BALL. Here!" done KurtsHouseKurtTurnedOutGreatText: text "KURT: That turned" line "out great." para "Try catching" line "#MON with it." done KurtsHouseKurtGranddaughterHelpingWorkFasterText: text "KURT: Now that my" line "granddaughter is" para "helping me, I can" line "work much faster." done KurtsHouseKurtWhatIsThatText: text "Wh-what is that?" para "I've never seen" line "one before." para "It looks a lot" line "like a # BALL," para "but it appears to" line "be something else." para "Let me check it" line "for you." done KurtsHouseKurtImCheckingItNowText: text "I'm checking it" line "now." done KurtsHouseKurtAhHaISeeText: text "Ah-ha! I see!" line "So…" done KurtsHouseKurtThisBallStartedToShakeText: text "<PLAYER>!" para "This BALL started" line "to shake while I" cont "was checking it." para "There must be" line "something to this!" done KurtsGranddaughterSlowpokeGoneText: text "The SLOWPOKE are" line "gone… Were they" para "taken away by bad" line "people?" done KurtsGranddaughterLonelyText: text "Grandpa's gone…" line "I'm so lonely…" done KurtsGranddaughterSlowpokeBackText: text "The SLOWPOKE my" line "dad gave me came" para "back! Its TAIL is" line "growing back too!" done KurtsGranddaughterDadText: text "Dad works at SILPH" line "where he studies" cont "# BALLS." para "I have to stay" line "home with Grandpa" cont "and SLOWPOKE." done KurtsGranddaughterHelpText: text "I get to help" line "Grandpa now!" para "We'll make good" line "BALLS for you, so" cont "please wait!" done KurtsGranddaughterFunText: text "It's fun to make" line "BALLS!" done KurtsGranddaughterGSBallText: text "Grandpa's checking" line "a BALL right now." para "So I'm waiting" line "till he's done." done KurtsHouseSlowpokeText: text "SLOWPOKE: …" line "Yawn?" done KurtsHouseOakPhotoText: text "…A young PROF." line "OAK?" done KurtsHouseCelebiStatueText: text "It's a statue of" line "the forest's pro-" cont "tector." done KurtsHouse_MapEvents: db 0, 0 ; filler def_warp_events warp_event 3, 7, AZALEA_TOWN, 4 warp_event 4, 7, AZALEA_TOWN, 4 def_coord_events def_bg_events bg_event 6, 1, BGEVENT_READ, KurtsHouseRadio bg_event 8, 0, BGEVENT_READ, KurtsHouseOakPhoto bg_event 9, 0, BGEVENT_READ, KurtsHouseOakPhoto bg_event 5, 1, BGEVENT_READ, KurtsHouseBookshelf bg_event 2, 1, BGEVENT_READ, KurtsHouseBookshelf bg_event 3, 1, BGEVENT_READ, KurtsHouseBookshelf bg_event 4, 1, BGEVENT_READ, KurtsHouseCelebiStatue def_object_events object_event 3, 2, SPRITE_KURT, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Kurt1, EVENT_KURTS_HOUSE_KURT_1 object_event 5, 3, SPRITE_TWIN, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, KurtsGranddaughter1, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1 object_event 6, 3, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE object_event 14, 3, SPRITE_KURT, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Kurt2, EVENT_KURTS_HOUSE_KURT_2 object_event 11, 4, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, KurtsGranddaughter2, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2