mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00

Also used in PureRGB. Gives the player the option to use another Repel after the last one runs out. I had to remove some debug features in order to fit it in, but it won't have an effect on the regular game. Hopefully.
55 lines
1.1 KiB
NASM
55 lines
1.1 KiB
NASM
; not zero if an NPC movement script is running, the player character is
|
|
; automatically stepping down from a door, or joypad states are being simulated
|
|
IsPlayerCharacterBeingControlledByGame::
|
|
ld a, [wNPCMovementScriptPointerTableNum]
|
|
and a
|
|
ret nz
|
|
ld a, [wd736]
|
|
bit 1, a ; currently stepping down from door bit
|
|
ret nz
|
|
ld a, [wd730]
|
|
and $80
|
|
ret
|
|
|
|
RunNPCMovementScript::
|
|
ld hl, wd736
|
|
bit 0, [hl]
|
|
res 0, [hl]
|
|
jr nz, .playerStepOutFromDoor
|
|
ld a, [wNPCMovementScriptPointerTableNum]
|
|
and a
|
|
ret z
|
|
dec a
|
|
add a
|
|
ld d, 0
|
|
ld e, a
|
|
ld hl, .NPCMovementScriptPointerTables
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ldh a, [hLoadedROMBank]
|
|
push af
|
|
ld a, [wNPCMovementScriptBank]
|
|
ldh [hLoadedROMBank], a
|
|
ld [MBC1RomBank], a
|
|
ld a, [wNPCMovementScriptFunctionNum]
|
|
call CallFunctionInTable
|
|
pop af
|
|
ldh [hLoadedROMBank], a
|
|
ld [MBC1RomBank], a
|
|
ret
|
|
|
|
.NPCMovementScriptPointerTables
|
|
dw PalletMovementScriptPointerTable
|
|
dw PewterMuseumGuyMovementScriptPointerTable
|
|
dw PewterGymGuyMovementScriptPointerTable
|
|
.playerStepOutFromDoor
|
|
farjp PlayerStepOutFromDoor
|
|
|
|
EndNPCMovementScript::
|
|
farjp _EndNPCMovementScript
|
|
|
|
DebugPressedOrHeldB::
|
|
ret
|