pokered/scripts/PokemonMansion1F.asm

132 lines
3.3 KiB
NASM
Raw Normal View History

PokemonMansion1F_Script:
call Mansion1CheckReplaceSwitchDoorBlocks
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, Mansion1TrainerHeaders
ld de, PokemonMansion1F_ScriptPointers
ld a, [wPokemonMansion1FCurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
ld [wPokemonMansion1FCurScript], a
2014-05-18 18:19:10 +00:00
ret
Mansion1CheckReplaceSwitchDoorBlocks:
2016-01-03 19:17:10 +00:00
ld hl, wCurrentMapScriptFlags
bit BIT_CUR_MAP_LOADED_1, [hl]
res BIT_CUR_MAP_LOADED_1, [hl]
2014-05-18 18:19:10 +00:00
ret z
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_MANSION_SWITCH_ON
jr nz, .switchTurnedOn
2015-08-05 21:20:29 +00:00
lb bc, 6, 12
call Mansion1LoadEmptyFloorTileBlock
2015-08-05 21:20:29 +00:00
lb bc, 3, 8
call Mansion1LoadHorizontalGateBlock
2015-08-05 21:20:29 +00:00
lb bc, 8, 10
call Mansion1LoadHorizontalGateBlock
2015-08-05 21:20:29 +00:00
lb bc, 13, 13
jp Mansion1LoadHorizontalGateBlock
.switchTurnedOn
2015-08-05 21:20:29 +00:00
lb bc, 6, 12
call Mansion1LoadHorizontalGateBlock
2015-08-05 21:20:29 +00:00
lb bc, 3, 8
call Mansion1LoadEmptyFloorTileBlock
2015-08-05 21:20:29 +00:00
lb bc, 8, 10
call Mansion1LoadEmptyFloorTileBlock
2015-08-05 21:20:29 +00:00
lb bc, 13, 13
jp Mansion1LoadEmptyFloorTileBlock
2014-05-18 18:19:10 +00:00
Mansion1LoadHorizontalGateBlock:
2014-05-18 18:19:10 +00:00
ld a, $2d
2015-07-24 21:39:45 +00:00
ld [wNewTileBlockID], a
jr Mansion1ReplaceBlock
2014-05-18 18:19:10 +00:00
Mansion1LoadEmptyFloorTileBlock:
2014-05-18 18:19:10 +00:00
ld a, $e
2015-07-24 21:39:45 +00:00
ld [wNewTileBlockID], a
2016-06-12 00:24:04 +00:00
Mansion1ReplaceBlock:
2014-09-14 18:29:18 +00:00
predef ReplaceTileBlock
2014-05-18 18:19:10 +00:00
ret
Mansion1Script_Switches::
ld a, [wSpritePlayerStateData1FacingDirection]
cp SPRITE_FACING_UP
2014-05-18 18:19:10 +00:00
ret nz
xor a
ldh [hJoyHeld], a
ld a, TEXT_POKEMONMANSION1F_SWITCH
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
jp DisplayTextID
PokemonMansion1F_ScriptPointers:
def_script_pointers
dw_const CheckFightingMapTrainers, SCRIPT_POKEMONMANSION1F_DEFAULT
dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_POKEMONMANSION1F_START_BATTLE
dw_const EndTrainerBattle, SCRIPT_POKEMONMANSION1F_END_BATTLE
2014-05-18 18:19:10 +00:00
PokemonMansion1F_TextPointers:
def_text_pointers
dw_const PokemonMansion1FScientistText, TEXT_POKEMONMANSION1F_SCIENTIST
dw_const PickUpItemText, TEXT_POKEMONMANSION1F_ESCAPE_ROPE
dw_const PickUpItemText, TEXT_POKEMONMANSION1F_CARBOS
dw_const PokemonMansion1FSwitchText, TEXT_POKEMONMANSION1F_SWITCH
2014-05-18 18:19:10 +00:00
Mansion1TrainerHeaders:
def_trainers
2016-06-12 00:24:04 +00:00
Mansion1TrainerHeader0:
trainer EVENT_BEAT_MANSION_1_TRAINER_0, 3, PokemonMansion1FScientistBattleText, PokemonMansion1FScientistEndBattleText, PokemonMansion1FScientistAfterBattleText
db -1 ; end
2014-05-18 18:19:10 +00:00
PokemonMansion1FScientistText:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, Mansion1TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonMansion1FScientistBattleText:
text_far _PokemonMansion1FScientistBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonMansion1FScientistEndBattleText:
text_far _PokemonMansion1FScientistEndBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonMansion1FScientistAfterBattleText:
text_far _PokemonMansion1FScientistAfterBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonMansion1FSwitchText:
text_asm
ld hl, .Text
2014-05-18 18:19:10 +00:00
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
2014-05-18 18:19:10 +00:00
and a
jr nz, .not_pressed
2014-05-18 18:19:10 +00:00
ld a, $1
2014-09-13 07:50:56 +00:00
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
2016-01-03 19:17:10 +00:00
ld hl, wCurrentMapScriptFlags
set BIT_CUR_MAP_LOADED_1, [hl]
ld hl, .PressedText
2014-05-18 18:19:10 +00:00
call PrintText
2015-07-19 08:46:12 +00:00
ld a, SFX_GO_INSIDE
2014-05-18 18:19:10 +00:00
call PlaySound
2015-07-21 17:36:03 +00:00
CheckAndSetEvent EVENT_MANSION_SWITCH_ON
jr z, .done
2015-07-21 17:36:03 +00:00
ResetEventReuseHL EVENT_MANSION_SWITCH_ON
jr .done
.not_pressed
ld hl, .NotPressedText
2014-05-18 18:19:10 +00:00
call PrintText
.done
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.Text:
text_far _PokemonMansion1FSwitchText
text_end
2014-05-18 18:19:10 +00:00
.PressedText:
text_far _PokemonMansion1FSwitchPressedText
text_end
2014-05-18 18:19:10 +00:00
.NotPressedText:
text_far _PokemonMansion1FSwitchNotPressedText
text_end