mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-22 07:02:17 +13:00
Add subdirectories to engine/ similar to pokecrystal
This commit is contained in:
parent
5559d51c86
commit
f275790aec
124 changed files with 342 additions and 346 deletions
112
engine/events/card_key.asm
Executable file
112
engine/events/card_key.asm
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
PrintCardKeyText:
|
||||
ld hl, SilphCoMapList
|
||||
ld a, [wCurMap]
|
||||
ld b, a
|
||||
.silphCoMapListLoop
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
ret z
|
||||
cp b
|
||||
jr nz, .silphCoMapListLoop
|
||||
predef GetTileAndCoordsInFrontOfPlayer
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $18
|
||||
jr z, .cardKeyDoorInFrontOfPlayer
|
||||
cp $24
|
||||
jr z, .cardKeyDoorInFrontOfPlayer
|
||||
ld b, a
|
||||
ld a, [wCurMap]
|
||||
cp SILPH_CO_11F
|
||||
ret nz
|
||||
ld a, b
|
||||
cp $5e
|
||||
ret nz
|
||||
.cardKeyDoorInFrontOfPlayer
|
||||
ld b, CARD_KEY
|
||||
call IsItemInBag
|
||||
jr z, .noCardKey
|
||||
call GetCoordsInFrontOfPlayer
|
||||
push de
|
||||
tx_pre_id CardKeySuccessText
|
||||
ld [hSpriteIndexOrTextID], a
|
||||
call PrintPredefTextID
|
||||
pop de
|
||||
srl d
|
||||
ld a, d
|
||||
ld b, a
|
||||
ld [wCardKeyDoorY], a
|
||||
srl e
|
||||
ld a, e
|
||||
ld c, a
|
||||
ld [wCardKeyDoorX], a
|
||||
ld a, [wCurMap]
|
||||
cp SILPH_CO_11F
|
||||
jr nz, .notSilphCo11F
|
||||
ld a, $3
|
||||
jr .replaceCardKeyDoorTileBlock
|
||||
.notSilphCo11F
|
||||
ld a, $e
|
||||
.replaceCardKeyDoorTileBlock
|
||||
ld [wNewTileBlockID], a
|
||||
predef ReplaceTileBlock
|
||||
ld hl, wCurrentMapScriptFlags
|
||||
set 5, [hl]
|
||||
ld a, SFX_GO_INSIDE
|
||||
jp PlaySound
|
||||
.noCardKey
|
||||
tx_pre_id CardKeyFailText
|
||||
ld [hSpriteIndexOrTextID], a
|
||||
jp PrintPredefTextID
|
||||
|
||||
SilphCoMapList:
|
||||
db SILPH_CO_2F
|
||||
db SILPH_CO_3F
|
||||
db SILPH_CO_4F
|
||||
db SILPH_CO_5F
|
||||
db SILPH_CO_6F
|
||||
db SILPH_CO_7F
|
||||
db SILPH_CO_8F
|
||||
db SILPH_CO_9F
|
||||
db SILPH_CO_10F
|
||||
db SILPH_CO_11F
|
||||
db $FF
|
||||
|
||||
CardKeySuccessText::
|
||||
TX_FAR _CardKeySuccessText1
|
||||
TX_SFX_ITEM_1
|
||||
TX_FAR _CardKeySuccessText2
|
||||
db "@"
|
||||
|
||||
CardKeyFailText::
|
||||
TX_FAR _CardKeyFailText
|
||||
db "@"
|
||||
|
||||
; d = Y
|
||||
; e = X
|
||||
GetCoordsInFrontOfPlayer:
|
||||
ld a, [wYCoord]
|
||||
ld d, a
|
||||
ld a, [wXCoord]
|
||||
ld e, a
|
||||
ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
|
||||
and a
|
||||
jr nz, .notFacingDown
|
||||
; facing down
|
||||
inc d
|
||||
ret
|
||||
.notFacingDown
|
||||
cp SPRITE_FACING_UP
|
||||
jr nz, .notFacingUp
|
||||
; facing up
|
||||
dec d
|
||||
ret
|
||||
.notFacingUp
|
||||
cp SPRITE_FACING_LEFT
|
||||
jr nz, .notFacingLeft
|
||||
; facing left
|
||||
dec e
|
||||
ret
|
||||
.notFacingLeft
|
||||
; facing right
|
||||
inc e
|
||||
ret
|
||||
Loading…
Add table
Add a link
Reference in a new issue