ref: c8599831992c91e521cf1d467ccae3d9498e42ef
dir: /scripts/mtmoon3.asm/
MtMoon3Script: call EnableAutoTextBoxDrawing ld hl, MtMoon3TrainerHeader0 ld de, MtMoon3ScriptPointers ld a, [wMtMoon3CurScript] call ExecuteCurMapScriptInTable ld [wMtMoon3CurScript], a CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD ret z ld hl, CoordsData_49d37 call ArePlayerCoordsInArray jr nc, .asm_49d31 ld hl, wd72e set 4, [hl] ret .asm_49d31 ld hl, wd72e res 4, [hl] ret CoordsData_49d37: db $05,$0B db $05,$0C db $05,$0D db $05,$0E db $06,$0B db $06,$0C db $06,$0D db $06,$0E db $07,$0B db $07,$0C db $07,$0D db $07,$0E db $08,$0B db $08,$0C db $08,$0D db $08,$0E db $FF MtMoon3Script_49d58: xor a ld [wJoyIgnore], a ld [wMtMoon3CurScript], a ld [wCurMapScript], a ret MtMoon3ScriptPointers: dw MtMoon3Script0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw MtMoon3Script3 dw MtMoon3Script4 dw MtMoon3Script5 MtMoon3Script0: CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jp nz, MtMoon3Script_49d91 ld a, [wYCoord] cp $8 jp nz, MtMoon3Script_49d91 ld a, [wXCoord] cp $d jp nz, MtMoon3Script_49d91 xor a ld [hJoyHeld], a ld a, $1 ld [hSpriteIndexOrTextID], a jp DisplayTextID MtMoon3Script_49d91: CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL jp z, CheckFightingMapTrainers ret MtMoon3Script3: ld a, [wIsInBattle] cp $ff jp z, MtMoon3Script_49d58 call UpdateSprites call Delay3 SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD xor a ld [wJoyIgnore], a ld a, $0 ld [wMtMoon3CurScript], a ld [wCurMapScript], a ret MtMoon3Script4: ld a, $1 ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray jr c, .asm_49dd7 ld hl, CoordsData_49df1 call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers ld de, MovementData_49df9 jr .asm_49dda .asm_49dd7 ld de, MovementData_49df8 .asm_49dda ld a, $1 ld [H_SPRITEINDEX], a call MoveSprite ld a, $5 ld [wMtMoon3CurScript], a ld [wCurMapScript], a ret CoordsData_49dea: db $07,$0C db $06,$0B db $05,$0C db $FF CoordsData_49df1: db $07,$0D db $06,$0E db $05,$0E db $FF MovementData_49df8: db NPC_MOVEMENT_RIGHT MovementData_49df9: db NPC_MOVEMENT_UP,$FF MtMoon3Script5: ld a, [wd730] bit 0, a ret nz ld a, $f0 ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID CheckEvent EVENT_GOT_DOME_FOSSIL jr z, .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_2 jr .asm_49e1f .asm_49e1d ld a, HS_MT_MOON_3_FOSSIL_1 .asm_49e1f ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a ld a, $0 ld [wMtMoon3CurScript], a ld [wCurMapScript], a ret MtMoon3TextPointers: dw MtMoon3Text1 dw MtMoon3Text2 dw MtMoon3Text3 dw MtMoon3Text4 dw MtMoon3Text5 dw MtMoon3Text6 dw MtMoon3Text7 dw PickUpItemText dw PickUpItemText dw MtMoon3Text_49f99 MtMoon3TrainerHeader0: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0 db ($4 << 4) ; trainer's view range dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0 dw MtMoon3BattleText2 ; TextBeforeBattle dw MtMoon3AfterBattleText2 ; TextAfterBattle dw MtMoon3EndBattleText2 ; TextEndBattle dw MtMoon3EndBattleText2 ; TextEndBattle MtMoon3TrainerHeader1: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1 db ($4 << 4) ; trainer's view range dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1 dw MtMoon3BattleText3 ; TextBeforeBattle dw MtMoon3AfterBattleText3 ; TextAfterBattle dw MtMoon3EndBattleText3 ; TextEndBattle dw MtMoon3EndBattleText3 ; TextEndBattle MtMoon3TrainerHeader2: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 db ($4 << 4) ; trainer's view range dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 dw MtMoon3BattleText4 ; TextBeforeBattle dw MtMoon3AfterBattleText4 ; TextAfterBattle dw MtMoon3EndBattleText4 ; TextEndBattle dw MtMoon3EndBattleText4 ; TextEndBattle MtMoon3TrainerHeader3: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 db ($4 << 4) ; trainer's view range dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 dw MtMoon3BattleText5 ; TextBeforeBattle dw MtMoon3AfterBattleText5 ; TextAfterBattle dw MtMoon3EndBattleText5 ; TextEndBattle dw MtMoon3EndBattleText5 ; TextEndBattle db $ff MtMoon3Text1: TX_ASM CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jr z, .asm_49e8d and $c0 jr nz, .asm_49eb8 ld hl, MtMoon3Text_49f8f call PrintText jr .asm_49ebe .asm_49e8d ld hl, MtMoon3Text_49f85 call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] ld hl, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a call SaveEndBattleTextPointers ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 ld [wMtMoon3CurScript], a ld [wCurMapScript], a jr .asm_49ebe .asm_49eb8 ld hl, MtMoon3Text_49f94 call PrintText .asm_49ebe jp TextScriptEnd MtMoon3Text2: TX_ASM ld hl, MtMoon3TrainerHeader0 call TalkToTrainer jp TextScriptEnd MtMoon3Text3: TX_ASM ld hl, MtMoon3TrainerHeader1 call TalkToTrainer jp TextScriptEnd MtMoon3Text4: TX_ASM ld hl, MtMoon3TrainerHeader2 call TalkToTrainer jp TextScriptEnd MtMoon3Text5: TX_ASM ld hl, MtMoon3TrainerHeader3 call TalkToTrainer jp TextScriptEnd MtMoon3Text6: TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, MtMoon3Text_49f24 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a jr nz, .asm_49f21 lb bc, DOME_FOSSIL, 1 call GiveItem jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 ld a, HS_MT_MOON_3_FOSSIL_1 ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_GOT_DOME_FOSSIL ld a, $4 ld [wMtMoon3CurScript], a ld [wCurMapScript], a .asm_49f21 jp TextScriptEnd MtMoon3Text_49f24: TX_FAR _MtMoon3Text_49f24 db "@" MtMoon3Text7: TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, MtMoon3Text_49f64 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a jr nz, .asm_49f61 lb bc, HELIX_FOSSIL, 1 call GiveItem jp nc, MtMoon3Script_49f76 call MtMoon3Script_49f69 ld a, HS_MT_MOON_3_FOSSIL_2 ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_GOT_HELIX_FOSSIL ld a, $4 ld [wMtMoon3CurScript], a ld [wCurMapScript], a .asm_49f61 jp TextScriptEnd MtMoon3Text_49f64: TX_FAR _MtMoon3Text_49f64 db "@" MtMoon3Script_49f69: ld hl, MtMoon3Text_49f6f jp PrintText MtMoon3Text_49f6f: TX_FAR _MtMoon3Text_49f6f TX_SFX_KEY_ITEM TX_WAIT db "@" MtMoon3Script_49f76: ld hl, MtMoon3Text_49f7f call PrintText jp TextScriptEnd MtMoon3Text_49f7f: TX_FAR _MtMoon3Text_49f7f TX_WAIT db "@" MtMoon3Text_49f85: TX_FAR _MtMoon3Text_49f85 db "@" MtMoon3Text_49f8a: TX_FAR _MtMoon3Text_49f8a db "@" MtMoon3Text_49f8f: TX_FAR _MtMoon3Text_49f8f db "@" MtMoon3Text_49f94: TX_FAR _MtMoon3Text_49f94 db "@" MtMoon3Text_49f99: TX_FAR _MtMoon3Text_49f99 TX_SFX_KEY_ITEM db "@" MtMoon3BattleText2: TX_FAR _MtMoon3BattleText2 db "@" MtMoon3EndBattleText2: TX_FAR _MtMoon3EndBattleText2 db "@" MtMoon3AfterBattleText2: TX_FAR _MtMoon3AfterBattleText2 db "@" MtMoon3BattleText3: TX_FAR _MtMoon3BattleText3 db "@" MtMoon3EndBattleText3: TX_FAR _MtMoon3EndBattleText3 db "@" MtMoon3AfterBattleText3: TX_FAR _MtMoon3AfterBattleText3 db "@" MtMoon3BattleText4: TX_FAR _MtMoon3BattleText4 db "@" MtMoon3EndBattleText4: TX_FAR _MtMoon3EndBattleText4 db "@" MtMoon3AfterBattleText4: TX_FAR _MtMoon3AfterBattleText4 db "@" MtMoon3BattleText5: TX_FAR _MtMoon3BattleText5 db "@" MtMoon3EndBattleText5: TX_FAR _MtMoon3EndBattleText5 db "@" MtMoon3AfterBattleText5: TX_FAR _MtMoon3AfterBattleText5 db "@"