pokered/scripts/PokemonTower6F.asm

197 lines
5.5 KiB
NASM
Raw Permalink Normal View History

PokemonTower6F_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, PokemonTower6TrainerHeaders
ld de, PokemonTower6F_ScriptPointers
ld a, [wPokemonTower6FCurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
ld [wPokemonTower6FCurScript], a
2014-05-18 18:19:10 +00:00
ret
PokemonTower6FSetDefaultScript:
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld [wPokemonTower6FCurScript], a ; SCRIPT_POKEMONTOWER6F_DEFAULT
ld [wCurMapScript], a ; SCRIPT_POKEMONTOWER6F_DEFAULT
2014-05-18 18:19:10 +00:00
ret
PokemonTower6F_ScriptPointers:
def_script_pointers
dw_const PokemonTower6FDefaultScript, SCRIPT_POKEMONTOWER6F_DEFAULT
dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_POKEMONTOWER6F_START_BATTLE
dw_const EndTrainerBattle, SCRIPT_POKEMONTOWER6F_END_BATTLE
dw_const PokemonTower6FPlayerMovingScript, SCRIPT_POKEMONTOWER6F_PLAYER_MOVING
dw_const PokemonTower6FMarowakBattleScript, SCRIPT_POKEMONTOWER6F_MAROWAK_BATTLE
PokemonTower6FDefaultScript:
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_BEAT_GHOST_MAROWAK
2014-05-18 18:19:10 +00:00
jp nz, CheckFightingMapTrainers
ld hl, PokemonTower6FMarowakCoords
2014-05-18 18:19:10 +00:00
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ldh [hJoyHeld], a
ld a, TEXT_POKEMONTOWER6F_BEGONE
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld a, RESTLESS_SOUL
2015-08-31 02:38:41 +00:00
ld [wCurOpponent], a
2014-05-18 18:19:10 +00:00
ld a, 30
ld [wCurEnemyLevel], a
ld a, SCRIPT_POKEMONTOWER6F_MAROWAK_BATTLE
ld [wPokemonTower6FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
PokemonTower6FMarowakCoords:
dbmapcoord 10, 16
db -1 ; end
2014-05-18 18:19:10 +00:00
PokemonTower6FMarowakBattleScript:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, PokemonTower6FSetDefaultScript
ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, [wStatusFlags3]
bit BIT_TALKED_TO_TRAINER, a
2014-05-18 18:19:10 +00:00
ret nz
call UpdateSprites
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-08-09 05:39:13 +00:00
ld a, [wBattleResult]
2014-05-18 18:19:10 +00:00
and a
jr nz, .did_not_defeat
2015-07-21 17:36:03 +00:00
SetEvent EVENT_BEAT_GHOST_MAROWAK
ld a, TEXT_POKEMONTOWER6F_MAROWAK_DEPARTED
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, SCRIPT_POKEMONTOWER6F_DEFAULT
ld [wPokemonTower6FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
.did_not_defeat
2014-05-18 18:19:10 +00:00
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
2014-05-18 18:19:10 +00:00
ld a, $10
ld [wSimulatedJoypadStatesEnd], a
2014-05-18 18:19:10 +00:00
xor a
ld [wSpritePlayerStateData2MovementByte1], a
ld [wOverrideSimulatedJoypadStatesMask], a
ld hl, wStatusFlags5
set BIT_SCRIPTED_MOVEMENT_STATE, [hl]
ld a, SCRIPT_POKEMONTOWER6F_PLAYER_MOVING
ld [wPokemonTower6FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
PokemonTower6FPlayerMovingScript:
ld a, [wSimulatedJoypadStatesIndex]
2014-05-18 18:19:10 +00:00
and a
ret nz
call Delay3
xor a
ld [wPokemonTower6FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
PokemonTower6F_TextPointers:
def_text_pointers
dw_const PokemonTower6FChanneler1Text, TEXT_POKEMONTOWER6F_CHANNELER1
dw_const PokemonTower6FChanneler2Text, TEXT_POKEMONTOWER6F_CHANNELER2
dw_const PokemonTower6FChanneler3Text, TEXT_POKEMONTOWER6F_CHANNELER3
dw_const PickUpItemText, TEXT_POKEMONTOWER6F_RARE_CANDY
dw_const PickUpItemText, TEXT_POKEMONTOWER6F_X_ACCURACY
dw_const PokemonTower6FBeGoneText, TEXT_POKEMONTOWER6F_BEGONE
dw_const PokemonTower6FMarowakDepartedText, TEXT_POKEMONTOWER6F_MAROWAK_DEPARTED
2014-05-18 18:19:10 +00:00
PokemonTower6TrainerHeaders:
def_trainers
2016-06-12 00:24:04 +00:00
PokemonTower6TrainerHeader0:
trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_0, 3, PokemonTower6FChanneler1BattleText, PokemonTower6FChanneler1EndBattleText, PokemonTower6FChanneler1AfterBattleText
2016-06-12 00:24:04 +00:00
PokemonTower6TrainerHeader1:
trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_1, 3, PokemonTower6FChanneler2BattleText, PokemonTower6FChanneler2EndBattleText, PokemonTower6FChanneler2AfterBattleText
2016-06-12 00:24:04 +00:00
PokemonTower6TrainerHeader2:
trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_2, 2, PokemonTower6FChanneler3BattleText, PokemonTower6FChanneler3EndBattleText, PokemonTower6FChanneler3AfterBattleText
db -1 ; end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler1Text:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower6TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower6FChanneler2Text:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower6TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower6FChanneler3Text:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower6TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
PokemonTower6FMarowakDepartedText:
text_asm
ld hl, PokemonTower6FGhostWasCubonesMotherText
2014-05-18 18:19:10 +00:00
call PrintText
ld a, RESTLESS_SOUL
2014-05-18 18:19:10 +00:00
call PlayCry
call WaitForSoundToFinish
ld c, 30
2014-05-18 18:19:10 +00:00
call DelayFrames
ld hl, PokemonTower6FSoulWasCalmedText
2014-05-18 18:19:10 +00:00
call PrintText
jp TextScriptEnd
PokemonTower6FGhostWasCubonesMotherText:
text_far _PokemonTower6FGhostWasCubonesMotherText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FSoulWasCalmedText:
text_far _PokemonTower6FSoulWasCalmedText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler1BattleText:
text_far _PokemonTower6FChanneler1BattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler1EndBattleText:
text_far _PokemonTower6FChanneler1EndBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler1AfterBattleText:
text_far _PokemonTower6FChanneler1AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler2BattleText:
text_far _PokemonTower6FChanneler2BattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler2EndBattleText:
text_far _PokemonTower6FChanneler2EndBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler2AfterBattleText:
text_far _PokemonTower6FChanneler2AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler3BattleText:
text_far _PokemonTower6FChanneler3BattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler3EndBattleText:
text_far _PokemonTower6FChanneler3EndBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FChanneler3AfterBattleText:
text_far _PokemonTower6FChanneler3AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
PokemonTower6FBeGoneText:
text_far _PokemonTower6FBeGoneText
text_end