object_const_def const DRAGONSDENB1F_POKE_BALL1 const DRAGONSDENB1F_CLAIR const DRAGONSDENB1F_RIVAL const DRAGONSDENB1F_COOLTRAINER_M const DRAGONSDENB1F_COOLTRAINER_F const DRAGONSDENB1F_TWIN1 const DRAGONSDENB1F_TWIN2 const DRAGONSDENB1F_POKE_BALL2 const DRAGONSDENB1F_POKE_BALL3 DragonsDenB1F_MapScripts: def_scene_scripts scene_script DragonsDenB1FNoop1Scene, SCENE_DRAGONSDENB1F_NOOP scene_script DragonsDenB1FNoop2Scene, SCENE_DRAGONSDENB1F_CLAIR_GIVES_TM def_callbacks callback MAPCALLBACK_NEWMAP, DragonsDenB1FCheckRivalCallback DragonsDenB1FNoop1Scene: end DragonsDenB1FNoop2Scene: end DragonsDenB1FCheckRivalCallback: checkevent EVENT_BEAT_RIVAL_IN_MT_MOON iftrue .CheckDay disappear DRAGONSDENB1F_RIVAL endcallback .CheckDay: readvar VAR_WEEKDAY ifequal TUESDAY, .AppearRival ifequal THURSDAY, .AppearRival disappear DRAGONSDENB1F_RIVAL endcallback .AppearRival: appear DRAGONSDENB1F_RIVAL endcallback DragonsDenB1F_ClairScene: ; BUG: Clair can give TM24 Dragonbreath twice (see docs/bugs_and_glitches.md) appear DRAGONSDENB1F_CLAIR opentext writetext ClairText_Wait pause 30 closetext showemote EMOTE_SHOCK, PLAYER, 15 turnobject PLAYER, LEFT playmusic MUSIC_CLAIR applymovement DRAGONSDENB1F_CLAIR, MovementDragonsDen_ClairWalksToYou opentext writetext ClairText_GiveDragonbreathDragonDen promptbutton giveitem TM_DRAGONBREATH iffalse .BagFull getitemname STRING_BUFFER_3, TM_DRAGONBREATH writetext Text_ReceivedTM24 playsound SFX_ITEM waitsfx itemnotify setevent EVENT_GOT_TM24_DRAGONBREATH writetext ClairText_DescribeDragonbreathDragonDen promptbutton writetext ClairText_WhatsTheMatterDragonDen waitbutton closetext sjump .FinishClair .BagFull: writetext ClairText_NoRoom waitbutton closetext .FinishClair: applymovement DRAGONSDENB1F_CLAIR, MovementDragonsDen_ClairWalksAway special FadeOutMusic pause 30 special RestartMapMusic disappear DRAGONSDENB1F_CLAIR setscene SCENE_DRAGONSDENB1F_NOOP end TrainerCooltrainermDarin: trainer COOLTRAINERM, DARIN, EVENT_BEAT_COOLTRAINERM_DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, 0, .Script .Script: endifjustbattled opentext writetext CooltrainermDarinAfterBattleText waitbutton closetext end TrainerCooltrainerfCara: trainer COOLTRAINERF, CARA, EVENT_BEAT_COOLTRAINERF_CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, 0, .Script .Script: endifjustbattled opentext writetext CooltrainerfCaraAfterBattleText waitbutton closetext end TrainerTwinsLeaandpia1: trainer TWINS, LEAANDPIA1, EVENT_BEAT_TWINS_LEA_AND_PIA, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, 0, .Script .Script: endifjustbattled opentext writetext TwinsLeaandpia1AfterBattleText waitbutton closetext end TrainerTwinsLeaandpia2: trainer TWINS, LEAANDPIA1, EVENT_BEAT_TWINS_LEA_AND_PIA, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, 0, .Script .Script: endifjustbattled opentext writetext TwinsLeaandpia2AfterBattleText waitbutton closetext end DragonsDenB1FDragonFangScript: ; This whole script is written out rather than as an itemball ; because it's left over from the GS event. giveitem DRAGON_FANG iffalse .BagFull disappear DRAGONSDENB1F_POKE_BALL1 opentext getitemname STRING_BUFFER_3, DRAGON_FANG writetext Text_FoundDragonFang playsound SFX_ITEM waitsfx itemnotify closetext end .BagFull: opentext getitemname STRING_BUFFER_3, DRAGON_FANG writetext Text_FoundDragonFang promptbutton writetext Text_NoRoomForDragonFang waitbutton closetext end DragonsDenB1FRivalScript: playmusic MUSIC_RIVAL_ENCOUNTER faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iftrue .RivalTalkAgain writetext RivalText_Training1 waitbutton closetext setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 special RestartMapMusic end .RivalTalkAgain: writetext RivalText_Training2 waitbutton closetext special RestartMapMusic end DragonShrineSignpost: jumptext DragonShrineSignpostText DragonsDenB1FCalcium: itemball CALCIUM DragonsDenB1FMaxElixer: itemball MAX_ELIXER DragonsDenB1FHiddenRevive: hiddenitem REVIVE, EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE DragonsDenB1FHiddenMaxPotion: hiddenitem MAX_POTION, EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_POTION DragonsDenB1FHiddenMaxElixer: hiddenitem MAX_ELIXER, EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_ELIXER MovementDragonsDen_ClairWalksToYou: slow_step RIGHT slow_step RIGHT slow_step RIGHT slow_step RIGHT step_end MovementDragonsDen_ClairWalksAway: slow_step LEFT slow_step LEFT slow_step LEFT slow_step LEFT step_end ClairText_Wait: text "Wait!" done ClairText_GiveDragonbreathDragonDen: text "CLAIR: I'm sorry" line "about this." para "Here, take this as" line "my apology." done Text_ReceivedTM24: text " received" line "TM24." done ClairText_DescribeDragonbreathDragonDen: text "That contains" line "DRAGONBREATH." para "No, it doesn't" line "have anything to" cont "do with my breath." para "If you don't want" line "it, you don't have" cont "to take it." done ClairText_NoRoom: text "Oh? You don't have" line "any room for this." para "I'm going back to" line "the GYM, so make" para "room, then come" line "see me there." done ClairText_WhatsTheMatterDragonDen: text "CLAIR: What's the" line "matter? Aren't you" para "going on to the" line "#MON LEAGUE?" para "Do you know how to" line "get there?" para "From here, go to" line "NEW BARK TOWN." para "Then SURF east to" line "#MON LEAGUE." para "The route there is" line "very tough." para "Don't you dare" line "lose at the #-" cont "MON LEAGUE!" para "If you do, I'll" line "feel even worse" para "about having lost" line "to you!" para "Give it everything" line "you've got." done DragonShrineSignpostText: text "DRAGON SHRINE" para "A shrine honoring" line "the dragon #MON" para "said to have lived" line "in DRAGON'S DEN." done RivalText_Training1: text "…" line "What? ?" para "…No, I won't" line "battle you now…" para "My #MON aren't" line "ready to beat you." para "I can't push them" line "too hard now." para "I have to be dis-" line "ciplined to become" para "the greatest #-" line "MON trainer…" done RivalText_Training2: text "…" para "Whew…" para "Learn to stay out" line "of my way…" done CooltrainermDarinSeenText: text "You! How dare you" line "enter uninvited!" done CooltrainermDarinBeatenText: text "S-strong!" done CooltrainermDarinAfterBattleText: text "The SHRINE ahead" line "is home to the" para "MASTER of our" line "dragon-user clan." para "You're not allowed" line "to just go in!" done CooltrainerfCaraSeenText: text "You shouldn't be" line "in here!" done CooltrainerfCaraBeatenText: text "Oh yikes, I lost!" done CooltrainerfCaraAfterBattleText: text "Soon I'm going to" line "get permission" para "from our MASTER to" line "use dragons." para "When I do, I'm" line "going to become an" para "admirable dragon" line "trainer and gain" para "our MASTER's" line "approval." done TwinsLeaandpia1SeenText: text "It's a stranger we" line "don't know." done TwinsLeaandpia1BeatenText: text "Ouchies." done TwinsLeaandpia1AfterBattleText: text "It was like having" line "to battle LANCE." done TwinsLeaandpia2SeenText: text "Who are you?" done TwinsLeaandpia2BeatenText: text "Meanie." done TwinsLeaandpia2AfterBattleText: text "We'll tell on you." para "MASTER will be" line "angry with you." done Text_FoundDragonFang: text " found" line "@" text_ram wStringBuffer3 text "!" done Text_NoRoomForDragonFang: text "But can't" line "carry any more" cont "items." done DragonsDenB1F_MapEvents: db 0, 0 ; filler def_warp_events warp_event 20, 3, DRAGONS_DEN_1F, 3 warp_event 19, 29, DRAGON_SHRINE, 1 def_coord_events coord_event 19, 30, SCENE_DRAGONSDENB1F_CLAIR_GIVES_TM, DragonsDenB1F_ClairScene def_bg_events bg_event 18, 24, BGEVENT_READ, DragonShrineSignpost bg_event 33, 29, BGEVENT_ITEM, DragonsDenB1FHiddenRevive bg_event 21, 17, BGEVENT_ITEM, DragonsDenB1FHiddenMaxPotion bg_event 31, 15, BGEVENT_ITEM, DragonsDenB1FHiddenMaxElixer def_object_events object_event 35, 16, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonsDenB1FDragonFangScript, EVENT_DRAGONS_DEN_B1F_DRAGON_FANG object_event 14, 30, SPRITE_CLAIR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_DRAGONS_DEN_CLAIR object_event 20, 23, SPRITE_RIVAL, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonsDenB1FRivalScript, EVENT_RIVAL_DRAGONS_DEN object_event 20, 8, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerCooltrainermDarin, -1 object_event 8, 8, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainerfCara, -1 object_event 4, 17, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsLeaandpia1, -1 object_event 4, 18, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsLeaandpia2, -1 object_event 30, 4, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, DragonsDenB1FCalcium, EVENT_DRAGONS_DEN_B1F_CALCIUM object_event 5, 20, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, DragonsDenB1FMaxElixer, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER