mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-16 18:30:50 +12:00

Rhyperior files are dummies and will need to be properly edited with sprites, Rhydon evo data, etc, but it (and the other files included) show that the trainer and pokemon sprite indexes have been separated, which allows us to add the other KEP mons
197 lines
3.8 KiB
NASM
197 lines
3.8 KiB
NASM
PokemonTower2F_Script:
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, PokemonTower2F_ScriptPointers
|
|
ld a, [wPokemonTower2FCurScript]
|
|
jp CallFunctionInTable
|
|
|
|
PokemonTower2Script_604fe:
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld [wPokemonTower2FCurScript], a
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
PokemonTower2F_ScriptPointers:
|
|
dw PokemonTower2Script0
|
|
dw PokemonTower2Script1
|
|
dw PokemonTower2Script2
|
|
|
|
PokemonTower2Script0:
|
|
IF DEF(_DEBUG)
|
|
call DebugPressedOrHeldB
|
|
ret nz
|
|
ENDC
|
|
CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
|
|
ret nz
|
|
ld hl, CoordsData_6055e
|
|
call ArePlayerCoordsInArray
|
|
ret nc
|
|
ld a, SFX_STOP_ALL_MUSIC
|
|
ld [wNewSoundID], a
|
|
call PlaySound
|
|
ld c, BANK(Music_MeetRival)
|
|
ld a, MUSIC_MEET_RIVAL
|
|
call PlayMusic
|
|
ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
|
|
ld a, [wCoordIndex]
|
|
cp $1
|
|
ld a, PLAYER_DIR_UP
|
|
ld b, SPRITE_FACING_DOWN
|
|
jr nz, .asm_60544
|
|
; the rival is on the left side and the player is on the right side
|
|
SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
|
|
ld a, PLAYER_DIR_LEFT
|
|
ld b, SPRITE_FACING_RIGHT
|
|
.asm_60544
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, $1
|
|
ldh [hSpriteIndex], a
|
|
ld a, b
|
|
ldh [hSpriteFacingDirection], a
|
|
call SetSpriteFacingDirectionAndDelay
|
|
ld a, $1
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ldh [hJoyHeld], a
|
|
ldh [hJoyPressed], a
|
|
ret
|
|
|
|
CoordsData_6055e:
|
|
dbmapcoord 15, 5
|
|
dbmapcoord 14, 6
|
|
db -1 ; fixes coord termination which can have adverse effects
|
|
|
|
PokemonTower2Script1:
|
|
ld a, [wIsInBattle]
|
|
cp $ff
|
|
jp z, PokemonTower2Script_604fe
|
|
xor a
|
|
ld [wIsTrainerBattle], a
|
|
ld a, $f0
|
|
ld [wJoyIgnore], a
|
|
SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
|
|
ld a, $1
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
ld de, MovementData_605b2
|
|
CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
|
|
jr nz, .asm_60589
|
|
ld de, MovementData_605a9
|
|
.asm_60589
|
|
ld a, $1
|
|
ldh [hSpriteIndex], a
|
|
call MoveSprite
|
|
ld a, SFX_STOP_ALL_MUSIC
|
|
ld [wNewSoundID], a
|
|
call PlaySound
|
|
farcall Music_RivalAlternateStart
|
|
ld a, $2
|
|
ld [wPokemonTower2FCurScript], a
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
MovementData_605a9:
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_RIGHT
|
|
db -1 ; end
|
|
|
|
MovementData_605b2:
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db -1 ; end
|
|
|
|
PokemonTower2Script2:
|
|
ld a, [wd730]
|
|
bit 0, a
|
|
ret nz
|
|
ld a, HS_POKEMON_TOWER_2F_RIVAL
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
call PlayDefaultMusic
|
|
ld a, $0
|
|
ld [wPokemonTower2FCurScript], a
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
PokemonTower2F_TextPointers:
|
|
dw PokemonTower2Text1
|
|
dw PokemonTower2Text2
|
|
|
|
PokemonTower2Text1:
|
|
text_asm
|
|
CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
|
|
jr z, .asm_16f24
|
|
ld hl, PokemonTower2Text_6063c
|
|
call PrintText
|
|
jr .asm_41852
|
|
.asm_16f24
|
|
ld hl, PokemonTower2Text_6062d
|
|
call PrintText
|
|
ld hl, wd72d
|
|
set 6, [hl]
|
|
set 7, [hl]
|
|
ld hl, PokemonTower2Text_60632
|
|
ld de, PokemonTower2Text_60637
|
|
call SaveEndBattleTextPointers
|
|
ld a, OPP_RIVAL2
|
|
ld [wCurOpponent], a
|
|
|
|
; select which team to use during the encounter
|
|
ld a, [wRivalStarter]
|
|
cp STARTER2
|
|
jr nz, .NotSquirtle
|
|
ld a, $4
|
|
jr .done
|
|
.NotSquirtle
|
|
cp STARTER3
|
|
jr nz, .Charmander
|
|
ld a, $5
|
|
jr .done
|
|
.Charmander
|
|
ld a, $6
|
|
.done
|
|
ld [wTrainerNo], a
|
|
ld a, 1
|
|
ld [wIsTrainerBattle], a
|
|
|
|
ld a, $1
|
|
ld [wPokemonTower2FCurScript], a
|
|
ld [wCurMapScript], a
|
|
.asm_41852
|
|
jp TextScriptEnd
|
|
|
|
PokemonTower2Text_6062d:
|
|
text_far _PokemonTower2Text_6062d
|
|
text_end
|
|
|
|
PokemonTower2Text_60632:
|
|
text_far _PokemonTower2Text_60632
|
|
text_end
|
|
|
|
PokemonTower2Text_60637:
|
|
text_far _PokemonTower2Text_60637
|
|
text_end
|
|
|
|
PokemonTower2Text_6063c:
|
|
text_far _PokemonTower2Text_6063c
|
|
text_end
|
|
|
|
PokemonTower2Text2:
|
|
text_far _PokemonTower2Text2
|
|
text_end
|